/* ================================================================
   AURA INTERACTIVE DEMO DASHBOARD — tokens from real app
   ================================================================ */
/* ── Shell + scaling ── */
.ad-shell{width:100%;overflow:hidden;position:relative;line-height:normal;font-size:0}
.ad-inner{
  width:1340px;height:730px;transform-origin:top left;
  display:flex;position:relative;
  font-family:'DM Sans','Outfit',system-ui,sans-serif;
  font-size:13px;line-height:1.4;
  background:#1a1410;color:#fdf6ec;user-select:none;
}
html[data-theme="light"] .ad-inner{background:#f5efe6;color:#2c1d0e}
/* ── Sidebar (floating pill — exact copy of real Sidebar) ── */
.ad-sb{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:52px;
  background:rgba(30,22,14,0.75);
  backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);
  border:1px solid rgba(255,220,150,0.06);
  border-radius:28px;padding:10px 6px;
  z-index:10;max-height:calc(100% - 40px);
  overflow-y:auto;overflow-x:hidden;scrollbar-width:none;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  box-shadow:0 8px 32px rgba(0,0,0,0.45),inset 0 1px 0 rgba(255,255,255,0.03);
  transition:background .4s,border-color .4s;
}
html[data-theme="light"] .ad-sb{
  background:rgba(255,252,247,0.55);
  border-color:rgba(0,0,0,0.06);
  box-shadow:0 8px 32px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.5);
}
.ad-sb::-webkit-scrollbar{display:none}
.ad-ni{
  width:38px;height:38px;border-radius:50%;border:none;
  background:transparent;
  color:rgba(253,246,236,0.38);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;padding:0;
  flex-shrink:0;
}
html[data-theme="light"] .ad-ni{color:rgba(44,29,14,0.30)}
.ad-ni:hover{background:rgba(255,245,235,0.07);color:rgba(253,246,236,0.75);transform:scale(1.08)}
html[data-theme="light"] .ad-ni:hover{background:rgba(0,0,0,0.04);color:rgba(44,29,14,0.55)}
.ad-ni.act{color:#D97706;background:rgba(217,119,6,0.13);box-shadow:0 0 16px rgba(217,119,6,0.22)}
html[data-theme="light"] .ad-ni.act{color:#B45309;background:rgba(180,83,9,0.10)}
.ad-ni.act::before{content:'';position:absolute;left:-8px;top:8px;bottom:8px;width:3px;border-radius:2px;background:#D97706;box-shadow:0 0 8px rgba(217,119,6,0.5)}
html[data-theme="light"] .ad-ni.act::before{background:#B45309}
.ad-ni svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ad-ni-gap{flex:1}
/* ── Main content area ── */
.ad-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;padding-left:76px}
/* ── Header (floating pill — exact copy of real Header) ── */
.ad-hdr{
  display:flex;justify-content:space-between;align-items:center;
  margin:10px 12px 0;padding:6px 16px;
  background:rgba(30,22,14,0.70);
  backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);
  border:1px solid rgba(255,220,150,0.07);
  border-radius:9999px;
  box-shadow:0 2px 10px rgba(0,0,0,0.30);
  transition:background .4s,border-color .4s;
  flex-shrink:0;
}
html[data-theme="light"] .ad-hdr{
  background:rgba(255,252,247,0.55);
  border-color:rgba(180,130,60,0.08);
  box-shadow:0 2px 10px rgba(120,80,20,0.05);
}
.ad-user-row{display:flex;align-items:center;gap:10px;min-width:170px}
.ad-av{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,#D97706,#B45309);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13px;color:#fff;
}
.ad-uname{font-size:14px;font-weight:600;color:#fdf6ec;letter-spacing:-.3px;line-height:1.2}
html[data-theme="light"] .ad-uname{color:#2c1d0e}
.ad-udate{font-size:10px;color:rgba(253,246,236,0.55);margin-top:1px}
html[data-theme="light"] .ad-udate{color:rgba(44,29,14,0.55)}
.ad-search{
  flex:0 1 320px;display:flex;align-items:center;gap:8px;
  background:rgba(255,245,235,0.06);
  border:1px solid rgba(255,220,150,0.10);
  border-radius:9999px;padding:6px 14px;
  cursor:pointer;transition:border-color .25s,box-shadow .25s;
}
html[data-theme="light"] .ad-search{background:rgba(180,130,60,0.06);border-color:rgba(180,130,60,0.14)}
.ad-search:hover{border-color:rgba(217,119,6,0.4);box-shadow:0 0 0 3px rgba(217,119,6,0.1)}
html[data-theme="light"] .ad-search:hover{border-color:rgba(180,83,9,0.35)}
.ad-search svg{width:14px;height:14px;fill:none;stroke:rgba(253,246,236,0.32);stroke-width:2;flex-shrink:0}
html[data-theme="light"] .ad-search svg{stroke:rgba(44,29,14,0.32)}
.ad-srcph{font-size:12px;color:rgba(253,246,236,0.32);flex:1}
html[data-theme="light"] .ad-srcph{color:rgba(44,29,14,0.32)}
.ad-kbd{
  font-size:9px;background:rgba(255,245,235,0.05);
  border:1px solid rgba(255,220,150,0.10);border-radius:4px;
  padding:1px 5px;color:rgba(253,246,236,0.30);white-space:nowrap;
}
html[data-theme="light"] .ad-kbd{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.10);color:rgba(44,29,14,0.30)}
.ad-hdr-right{display:flex;align-items:center;gap:6px}
.ad-thbtn{
  height:30px;padding:0 10px;border-radius:9999px;border:none;
  background:rgba(255,245,235,0.06);color:rgba(253,246,236,0.55);
  cursor:pointer;display:flex;align-items:center;gap:4px;
  font-size:10px;font-weight:600;font-family:inherit;
  transition:all .2s;
}
html[data-theme="light"] .ad-thbtn{background:rgba(180,130,60,0.06);color:rgba(44,29,14,0.55)}
.ad-thbtn:hover{background:rgba(217,119,6,0.15);color:#D97706}
html[data-theme="light"] .ad-thbtn:hover{background:rgba(180,83,9,0.10);color:#B45309}
.ad-thbtn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.ad-iconbtn{
  width:30px;height:30px;border-radius:9999px;border:none;
  background:rgba(255,245,235,0.06);color:rgba(253,246,236,0.55);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
html[data-theme="light"] .ad-iconbtn{background:rgba(180,130,60,0.06);color:rgba(44,29,14,0.55)}
.ad-iconbtn:hover{background:rgba(217,119,6,0.15);color:#D97706}
html[data-theme="light"] .ad-iconbtn:hover{background:rgba(180,83,9,0.10);color:#B45309}
.ad-iconbtn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
/* ── Tabs bar ── */
.ad-tabs{
  display:flex;align-items:center;padding:6px 12px 0;
  gap:2px;flex-shrink:0;overflow:hidden;
}
.ad-tab{
  height:32px;padding:0 12px;border-radius:10px;
  display:flex;align-items:center;gap:5px;cursor:pointer;
  font-size:12px;font-weight:500;
  color:rgba(253,246,236,0.42);
  transition:all .2s;white-space:nowrap;border:none;background:transparent;
  font-family:inherit;
}
html[data-theme="light"] .ad-tab{color:rgba(44,29,14,0.42)}
.ad-tab:hover{background:rgba(255,245,235,0.05);color:rgba(253,246,236,0.75)}
html[data-theme="light"] .ad-tab:hover{background:rgba(0,0,0,0.04);color:rgba(44,29,14,0.75)}
.ad-tab.act{background:rgba(255,245,235,0.08);color:#fdf6ec;font-weight:600}
html[data-theme="light"] .ad-tab.act{background:rgba(0,0,0,0.06);color:#2c1d0e}
.ad-td{width:6px;height:6px;border-radius:50%;background:#D97706;flex-shrink:0;box-shadow:0 0 5px rgba(217,119,6,0.5)}
html[data-theme="light"] .ad-td{background:#B45309}
.ad-tabplus{
  width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:rgba(253,246,236,0.30);cursor:pointer;font-size:16px;transition:all .2s;
  border:none;background:transparent;margin-left:2px;
}
html[data-theme="light"] .ad-tabplus{color:rgba(44,29,14,0.30)}
.ad-tabplus:hover{background:rgba(255,245,235,0.05);color:rgba(253,246,236,0.7)}
html[data-theme="light"] .ad-tabplus:hover{background:rgba(0,0,0,0.04);color:rgba(44,29,14,0.7)}
.ad-tab-actions{margin-left:auto;display:flex;gap:6px;align-items:center}
.ad-btn-ghost{
  height:26px;padding:0 10px;
  background:rgba(255,245,235,0.05);border:1px solid rgba(255,220,150,0.10);border-radius:8px;
  color:rgba(253,246,236,0.50);font-size:11px;cursor:pointer;
  display:flex;align-items:center;gap:4px;font-family:inherit;transition:all .2s;
}
html[data-theme="light"] .ad-btn-ghost{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.07);color:rgba(44,29,14,0.50)}
.ad-btn-ghost:hover{background:rgba(255,245,235,0.09);color:#fdf6ec}
html[data-theme="light"] .ad-btn-ghost:hover{background:rgba(0,0,0,0.08);color:#2c1d0e}
.ad-btn-ghost svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}
.ad-btn-accent{
  height:26px;padding:0 11px;
  background:linear-gradient(135deg,#D97706,#B45309);
  border:none;border-radius:8px;color:#fff;font-size:11px;
  cursor:pointer;display:flex;align-items:center;gap:4px;font-family:inherit;font-weight:600;
  transition:all .2s;box-shadow:0 4px 12px rgba(217,119,6,0.35);
}
.ad-btn-accent:hover{box-shadow:0 4px 18px rgba(217,119,6,0.55);transform:translateY(-1px)}
.ad-btn-accent svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2.5}
/* ── Widget grid ── */
.ad-grid{
  flex:1;padding:10px 12px 10px 0;
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-template-rows:repeat(2,1fr);gap:9px;overflow:hidden;
}
/* ── Widget card (glass, warm dark) ── */
.ad-w{
  background:rgba(255,245,235,0.07);
  border:1px solid rgba(255,220,150,0.13);
  border-radius:20px;padding:14px;
  transition:border-color .25s,box-shadow .25s;
  position:relative;overflow:hidden;display:flex;flex-direction:column;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 4px 20px rgba(0,0,0,.25);
}
html[data-theme="light"] .ad-w{
  background:rgba(255,252,247,0.90);
  border-color:rgba(180,130,60,0.15);
  box-shadow:0 2px 12px rgba(120,80,20,0.09),0 1px 3px rgba(0,0,0,.04);
}
.ad-w::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent 5%,rgba(255,255,255,0.10) 30%,rgba(255,255,255,0.10) 70%,transparent 95%);
}
html[data-theme="light"] .ad-w::before{
  background:linear-gradient(90deg,transparent 5%,rgba(255,255,255,0.65) 30%,rgba(255,255,255,0.65) 70%,transparent 95%);
}
.ad-w:hover{border-color:rgba(255,220,150,0.25);box-shadow:0 8px 28px rgba(0,0,0,0.40)}
html[data-theme="light"] .ad-w:hover{border-color:rgba(180,130,60,0.25);box-shadow:0 8px 24px rgba(120,80,20,0.14)}
/* ── Widget icon box ── */
.ad-wic{
  width:36px;height:36px;border-radius:13px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(217,119,6,0.15);border:1px solid rgba(217,119,6,0.25);
  box-shadow:0 2px 8px rgba(217,119,6,0.15),inset 0 1px 0 rgba(255,255,255,0.1);
}
.ad-wic svg{width:15px;height:15px;fill:none;stroke:#D97706;stroke-width:2;stroke-linecap:round}
.ad-wic.blue{background:rgba(96,165,250,0.12);border-color:rgba(96,165,250,0.22)}
.ad-wic.blue svg{stroke:#60A5FA}
.ad-wic.grn{background:rgba(52,211,153,0.12);border-color:rgba(52,211,153,0.22)}
.ad-wic.grn svg{stroke:#34D399}
html[data-theme="light"] .ad-wic{background:rgba(180,83,9,0.10);border-color:rgba(180,83,9,0.18)}
html[data-theme="light"] .ad-wic svg{stroke:#B45309}
html[data-theme="light"] .ad-wic.blue{background:rgba(37,99,235,0.08);border-color:rgba(37,99,235,0.16)}
html[data-theme="light"] .ad-wic.blue svg{stroke:#2563EB}
html[data-theme="light"] .ad-wic.grn{background:rgba(5,150,105,0.08);border-color:rgba(5,150,105,0.16)}
html[data-theme="light"] .ad-wic.grn svg{stroke:#059669}
.ad-whd{display:flex;align-items:flex-start;gap:9px;margin-bottom:8px}
.ad-wtit{flex:1;min-width:0}
.ad-wname{font-size:13px;font-weight:600;color:#fdf6ec;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme="light"] .ad-wname{color:#2c1d0e}
.ad-wsub{font-size:10px;color:rgba(253,246,236,0.38);margin-top:1px}
html[data-theme="light"] .ad-wsub{color:rgba(44,29,14,0.38)}
.ad-wexp{
  width:22px;height:22px;border-radius:7px;flex-shrink:0;
  background:rgba(255,245,235,0.05);border:1px solid rgba(255,220,150,0.08);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;
}
html[data-theme="light"] .ad-wexp{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.07)}
.ad-wexp:hover{background:rgba(255,245,235,0.10)}
html[data-theme="light"] .ad-wexp:hover{background:rgba(0,0,0,0.08)}
.ad-wexp svg{width:10px;height:10px;fill:none;stroke:rgba(253,246,236,0.32);stroke-width:2}
html[data-theme="light"] .ad-wexp svg{stroke:rgba(44,29,14,0.32)}
/* ── Toggle (exact copy of real Toggle component) ── */
.ad-tgl{
  width:44px;height:24px;border-radius:12px;border:none;
  position:relative;cursor:pointer;flex-shrink:0;
  background:rgba(253,246,236,0.12);
  transition:background .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;
}
html[data-theme="light"] .ad-tgl{background:rgba(44,29,14,0.12)}
.ad-tgl.on{background:linear-gradient(135deg,#D97706,#B45309);box-shadow:0 0 12px rgba(217,119,6,0.4)}
.ad-tgl::after{
  content:'';width:20px;height:20px;border-radius:50%;background:#fff;
  position:absolute;top:2px;left:2px;
  transition:left .35s cubic-bezier(.34,1.56,.64,1),transform .2s ease;
  box-shadow:0 2px 4px rgba(0,0,0,0.2);transform:scale(0.95);
}
.ad-tgl.on::after{left:22px;transform:scale(1)}
/* ── Widget footer separator ── */
.ad-wft{
  margin-top:auto;padding-top:8px;
  border-top:1px solid rgba(255,220,150,0.05);
  display:flex;align-items:center;justify-content:space-between;
}
html[data-theme="light"] .ad-wft{border-top-color:rgba(0,0,0,0.05)}
/* ── Status (online dot) ── */
.ad-online{display:flex;align-items:center;gap:4px;font-size:9.5px;color:#34D399;font-weight:600}
html[data-theme="light"] .ad-online{color:#059669}
.ad-dot{width:5px;height:5px;border-radius:50%;background:#34D399;box-shadow:0 0 5px rgba(52,211,153,0.5);animation:adPls 2.4s ease-in-out infinite;flex-shrink:0}
html[data-theme="light"] .ad-dot{background:#059669}
@keyframes adPls{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,0.5),0 0 6px rgba(52,211,153,0.4);transform:scale(1)}50%{box-shadow:0 0 0 4px rgba(52,211,153,0),0 0 10px rgba(52,211,153,0.6);transform:scale(1.1)}}
/* ── Clock widget ── */
.ad-clk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.ad-clk-hm{font-size:66px;font-weight:800;letter-spacing:-2px;line-height:1;color:#fdf6ec;font-family:'Syne',system-ui,sans-serif;display:flex;align-items:center}
html[data-theme="light"] .ad-clk-hm{color:#2c1d0e}
.ad-clk-col{animation:adBlink 1s ease-in-out infinite;opacity:.5;margin:0 2px}
@keyframes adBlink{0%,100%{opacity:.5}50%{opacity:.1}}
.ad-clk-date{font-size:11.5px;color:rgba(253,246,236,0.38);letter-spacing:.2px}
html[data-theme="light"] .ad-clk-date{color:rgba(44,29,14,0.38)}
/* ── LED strip ── */
.ad-led-strip{display:flex;align-items:center;gap:2.5px;overflow:hidden;height:18px;flex-shrink:0}
.ad-led-dot{width:7px;height:7px;border-radius:50%;background:#34D399;flex-shrink:0;animation:adBreath 2.5s ease-in-out infinite}
.ad-led-dot:nth-child(2n){animation-delay:.25s}
.ad-led-dot:nth-child(3n){animation-delay:.5s}
.ad-led-dot:nth-child(4n){animation-delay:.8s}
.ad-led-dot:nth-child(5n){animation-delay:1.1s}
.ad-led-dot:nth-child(6n){animation-delay:1.35s}
@keyframes adBreath{0%,100%{opacity:.15;box-shadow:none}50%{opacity:1;box-shadow:0 0 7px rgba(52,211,153,0.8)}}
.ad-led-glow{flex:1;position:relative;overflow:hidden;border-radius:10px;background:rgba(52,211,153,0.03)}
.ad-led-gbg{position:absolute;inset:0;background:radial-gradient(ellipse 100% 140% at 50% 0%,rgba(52,211,153,0.12),transparent 65%);animation:adGP 2.5s ease-in-out infinite}
html[data-theme="light"] .ad-led-gbg{background:radial-gradient(ellipse 100% 140% at 50% 0%,rgba(5,150,105,0.08),transparent 65%)}
@keyframes adGP{0%,100%{opacity:.5}50%{opacity:1}}
.ad-led-pct{font-size:9.5px;font-weight:700;color:#34D399;position:absolute;bottom:5px;left:7px;background:rgba(52,211,153,0.08);border:1px solid rgba(52,211,153,0.18);border-radius:4px;padding:1px 5px}
html[data-theme="light"] .ad-led-pct{color:#059669;background:rgba(5,150,105,0.07);border-color:rgba(5,150,105,0.14)}
.ad-led-mode{font-size:9px;position:absolute;bottom:7px;right:7px;color:rgba(253,246,236,0.38);cursor:pointer}
html[data-theme="light"] .ad-led-mode{color:rgba(44,29,14,0.38)}
/* ── Stat pill (neumorphism, real app style) ── */
.ad-pill{
  display:flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:99px;flex:1;
  background:rgba(255,245,235,0.048);border:1px solid rgba(255,245,235,0.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
}
html[data-theme="light"] .ad-pill{background:rgba(0,0,0,0.035);border-color:rgba(0,0,0,0.07);box-shadow:none}
.ad-pill-val{font-size:10px;font-weight:700;color:#fdf6ec;line-height:1.2;font-variant-numeric:tabular-nums}
html[data-theme="light"] .ad-pill-val{color:#2c1d0e}
.ad-pill-lbl{font-size:9px;color:rgba(253,246,236,0.32)}
html[data-theme="light"] .ad-pill-lbl{color:rgba(44,29,14,0.32)}
/* ── Subscriptions widget rows ── */
.ad-sub-row{display:flex;align-items:center;gap:7px;padding:3px 2px;border-radius:7px;cursor:pointer;transition:background .2s}
.ad-sub-row:hover{background:rgba(255,245,235,0.04)}
html[data-theme="light"] .ad-sub-row:hover{background:rgba(0,0,0,0.03)}
.ad-sub-logo{width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}
.ad-sub-det{font-size:8.5px;color:rgba(253,246,236,0.38)}
html[data-theme="light"] .ad-sub-det{color:rgba(44,29,14,0.38)}
.ad-sub-amt{font-size:10.5px;font-weight:700}
.ad-sub-badge{font-size:8px;background:rgba(248,113,113,0.12);border-radius:3px;padding:1px 4px;color:#F87171;margin-left:3px}
.ad-warn{
  background:rgba(251,191,36,0.07);border:1px solid rgba(251,191,36,0.18);
  border-radius:7px;padding:4px 7px;font-size:9px;
  color:rgba(251,191,36,0.85);display:flex;align-items:center;gap:4px;margin-bottom:5px;
}
.ad-warn svg{width:10px;height:10px;fill:none;stroke:#FBBF24;flex-shrink:0;stroke-width:2}
.ad-subs-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:6px;margin-top:3px;
  border-top:1px solid rgba(255,220,150,0.06);font-size:9px;
}
html[data-theme="light"] .ad-subs-foot{border-top-color:rgba(0,0,0,0.06)}
.ad-subs-fl{color:rgba(253,246,236,0.38)}
html[data-theme="light"] .ad-subs-fl{color:rgba(44,29,14,0.38)}
.ad-subs-fv{font-size:11px;font-weight:700;color:#fdf6ec}
html[data-theme="light"] .ad-subs-fv{color:#2c1d0e}
/* ── Temperature gauges ── */
.ad-gauges{flex:1;display:flex;align-items:center;justify-content:center;gap:14px;padding:2px 0}
.ad-gauge-lbl{font-size:7.5px;letter-spacing:.8px;text-transform:uppercase;color:rgba(253,246,236,0.32);text-align:center;margin-top:3px}
html[data-theme="light"] .ad-gauge-lbl{color:rgba(44,29,14,0.32)}
.ad-temp-tags{display:flex;gap:4px;margin-top:4px}
.ad-ttag{font-size:8.5px;background:rgba(96,165,250,0.08);border:1px solid rgba(96,165,250,0.20);border-radius:4px;padding:2px 7px;color:#60A5FA;display:flex;align-items:center;gap:3px;white-space:nowrap}
html[data-theme="light"] .ad-ttag{background:rgba(37,99,235,0.07);border-color:rgba(37,99,235,0.16);color:#2563EB}
.ad-ttag::before{content:'';width:4px;height:4px;border-radius:50%;background:#60A5FA;flex-shrink:0}
html[data-theme="light"] .ad-ttag::before{background:#2563EB}
.ad-temp-src{font-size:9px;color:rgba(253,246,236,0.35)}
html[data-theme="light"] .ad-temp-src{color:rgba(44,29,14,0.35)}
/* ── Door sensor widget ── */
.ad-door-dev{
  width:54px;height:78px;border-radius:12px;
  background:linear-gradient(160deg,#2c2520,#1e1a16);
  border:1px solid rgba(255,220,150,0.08);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  position:relative;
}
html[data-theme="light"] .ad-door-dev{background:linear-gradient(160deg,#2c2838,#22202e);border-color:rgba(255,255,255,0.10)}
.ad-door-dev::before{content:'';position:absolute;top:12px;width:18px;height:3px;background:rgba(255,255,255,0.07);border-radius:2px}
.ad-door-ic{width:22px;height:22px;border-radius:7px;background:rgba(52,211,153,0.12);border:1px solid rgba(52,211,153,0.25);display:flex;align-items:center;justify-content:center}
.ad-door-ic svg{width:11px;height:11px;fill:none;stroke:#34D399;stroke-width:2}
html[data-theme="light"] .ad-door-ic{background:rgba(5,150,105,0.10);border-color:rgba(5,150,105,0.20)}
html[data-theme="light"] .ad-door-ic svg{stroke:#059669}
.ad-door-st{font-size:9px;font-weight:700;color:#34D399;letter-spacing:.5px}
html[data-theme="light"] .ad-door-st{color:#059669}
@media(max-width:768px){.dg{grid-template-columns:repeat(2,1fr)}}
@media(max-width:400px){.dg{grid-template-columns:1fr}}


/* (Legacy dashboard CSS removed — using interactive demo dashboard above) */
