:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--brand-gobee-orange:#f37021;--brand-gobee-green:#4daf4e;--brand-gobee-black:#231f20;--brand-industrial-blue:#2563eb;--brand-industrial-cyan:#0891b2;--brand-industrial-violet:#6d5dfc;--brand-primary:var(--brand-gobee-orange);--brand-secondary:var(--brand-gobee-green);--brand-accent:var(--brand-industrial-blue);--surface-canvas:#e9eef5;--surface-page:#f4f7fb;--surface-nav:#edf2f7;--surface-panel:#f7f9fc;--surface-card:#ffffff;--surface-raised:#ffffff;--surface-inset:#e5ebf3;--surface-technical:#eef3f8;--surface-popover:#ffffff;--surface-scrim:rgba(15,23,42,0.32);--surface-ai:rgba(109,93,252,0.08);--surface-ai-solid:#f2f0ff;--surface-ai-border:rgba(109,93,252,0.26);--text-primary:#111827;--text-secondary:#334155;--text-muted:#64748b;--text-disabled:#94a3b8;--text-inverse:#f8fafc;--border-subtle:rgba(148,163,184,0.24);--border-default:#cbd5e1;--border-strong:#94a3b8;--border-ai:var(--surface-ai-border);--radius-xs:6px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--shadow-panel:0 1px 2px rgba(15,23,42,0.06),0 18px 40px rgba(15,23,42,0.08);--shadow-card:0 1px 1px rgba(15,23,42,0.04),0 10px 24px rgba(15,23,42,0.07);--shadow-popover:0 20px 44px rgba(15,23,42,0.18),0 1px 0 rgba(255,255,255,0.72) inset;--shadow-focus:0 0 0 3px rgba(77,175,78,0.24);--shadow-inset-subtle:inset 0 1px 2px rgba(15,23,42,0.08);--focus-ring-color:color-mix(in srgb,var(--brand-gobee-green) 70%,var(--text-primary));--focus-ring-offset:2px;--focus-ring-shadow:var(--shadow-focus);--motion-duration-fast:120ms;--motion-duration-standard:180ms;--motion-duration-slow:260ms;--motion-easing-standard:cubic-bezier(0.2,0,0,1);--motion-easing-emphasized:cubic-bezier(0.2,0,0,1.2);--status-success:#16a34a;--status-success-bg:#e8f6ed;--status-success-border:#9bd3aa;--status-warning:#d97706;--status-warning-bg:#fff4d6;--status-warning-border:#f1c76b;--status-danger:#dc2626;--status-danger-bg:#fdecec;--status-danger-border:#f3a3a3;--status-info:#2563eb;--status-info-bg:#e8f0ff;--status-info-border:#a8c2ff;--status-neutral:#64748b;--status-neutral-bg:#eef2f7;--status-neutral-border:#cbd5e1;--status-offline:#475569;--status-offline-bg:#e2e8f0;--status-offline-border:#94a3b8;--data-temperature:#f97316;--data-humidity:#0ea5e9;--data-pressure:#8b5cf6;--data-energy:#eab308;--data-motion:#22c55e;--data-location:#14b8a6;--data-alert:var(--status-danger);--data-maintenance:#64748b;--chart-1:#2563eb;--chart-2:#14b8a6;--chart-3:#f97316;--chart-4:#8b5cf6;--chart-5:#eab308;--chart-6:#ef4444;--chart-grid:rgba(100,116,139,0.18);--chart-axis:rgba(71,85,105,0.74);--health-band-good:var(--status-success);--health-band-watch:var(--status-warning);--health-band-risk:#f97316;--health-band-critical:var(--status-danger);--health-band-offline:var(--status-offline);--health-band-unknown:var(--status-neutral);--bg:var(--surface-canvas);--panel:var(--surface-panel);--text:var(--text-primary);--text-soft:var(--text-secondary);--text-subtle:var(--text-muted);--border:var(--border-default);--accent:var(--brand-accent);--gobee-orange:var(--brand-gobee-orange);--gobee-green:var(--brand-gobee-green);--gobee-black:var(--brand-gobee-black);--success:var(--status-success);--warn:var(--status-warning);--warning:var(--status-warning);--danger:var(--status-danger);--info:var(--status-info);--ui-gap:0.9rem;--ui-gap-tight:0.65rem;--ui-radius:var(--radius-md);--ui-radius-sm:var(--radius-sm);--z-popover:40;--z-modal:420;--z-drawer:360;--input-bg:var(--surface-inset);--nm-bg:var(--surface-canvas);--nm-surface:var(--surface-panel);--nm-shadow-outer:var(--shadow-panel);--nm-shadow-inner:inset 3px 3px 6px rgba(163,177,198,0.36),inset -3px -3px 6px rgba(255,255,255,0.72);--nm-shadow-soft:var(--shadow-card);--gold-border:color-mix(in srgb,var(--gobee-orange) 38%,var(--border));--gold-bg:color-mix(in srgb,var(--gobee-orange) 10%,var(--nm-surface));background-color:var(--bg);color:var(--text)}:root[data-theme=dark]{color-scheme:dark;--surface-canvas:#050816;--surface-page:#0b1020;--surface-nav:#0f172a;--surface-panel:#0f172a;--surface-card:#111827;--surface-raised:#172033;--surface-inset:rgba(255,255,255,0.06);--surface-technical:#0b1220;--surface-popover:#111827;--surface-scrim:rgba(2,6,23,0.64);--surface-ai:rgba(129,140,248,0.12);--surface-ai-solid:#1f2444;--surface-ai-border:rgba(129,140,248,0.36);--text-primary:#e5e7eb;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-disabled:#64748b;--text-inverse:#0f172a;--border-subtle:rgba(148,163,184,0.2);--border-default:#64748b;--border-strong:#94a3b8;--border-ai:var(--surface-ai-border);--shadow-panel:12px 12px 24px rgba(0,0,0,0.45),-10px -10px 20px rgba(255,255,255,0.04);--shadow-card:6px 6px 12px rgba(0,0,0,0.25),-6px -6px 12px rgba(255,255,255,0.05);--shadow-popover:0 22px 48px rgba(0,0,0,0.55);--shadow-focus:0 0 0 3px rgba(56,189,248,0.22);--shadow-inset-subtle:inset 0 1px 2px rgba(0,0,0,0.36);--focus-ring-color:#38bdf8;--status-success-bg:rgba(34,197,94,0.15);--status-success-border:rgba(34,197,94,0.4);--status-warning-bg:rgba(245,158,11,0.16);--status-warning-border:rgba(245,158,11,0.42);--status-danger-bg:rgba(239,68,68,0.16);--status-danger-border:rgba(239,68,68,0.42);--status-info-bg:rgba(56,189,248,0.14);--status-info-border:rgba(56,189,248,0.38);--status-neutral-bg:rgba(100,116,139,0.18);--status-neutral-border:rgba(148,163,184,0.34);--status-offline-bg:rgba(71,85,105,0.22);--status-offline-border:rgba(148,163,184,0.34);--bg:var(--surface-canvas);--panel:var(--surface-panel);--text:var(--text-primary);--text-soft:var(--text-secondary);--text-subtle:var(--text-muted);--border:var(--border-default);--accent:#38bdf8;--input-bg:var(--surface-inset);--nm-bg:var(--surface-canvas);--nm-surface:var(--surface-panel);--nm-shadow-outer:var(--shadow-panel);--nm-shadow-inner:inset 2px 2px 6px rgba(0,0,0,0.55),inset -2px -2px 6px rgba(255,255,255,0.06);--nm-shadow-soft:var(--shadow-card);--gold-border:color-mix(in srgb,var(--gobee-orange) 28%,var(--border));--gold-bg:color-mix(in srgb,var(--gobee-orange) 8%,var(--nm-surface))}:root[data-theme=light]{color-scheme:light;--surface-canvas:#e9eef5;--surface-page:#f4f7fb;--surface-nav:#edf2f7;--surface-panel:#f7f9fc;--surface-card:#ffffff;--surface-raised:#ffffff;--surface-inset:#e5ebf3;--surface-technical:#eef3f8;--surface-popover:#ffffff;--surface-scrim:rgba(15,23,42,0.32);--surface-ai:rgba(109,93,252,0.08);--surface-ai-solid:#f2f0ff;--surface-ai-border:rgba(109,93,252,0.26);--text-primary:#111827;--text-secondary:#334155;--text-muted:#64748b;--text-disabled:#94a3b8;--text-inverse:#f8fafc;--border-subtle:rgba(148,163,184,0.24);--border-default:#cbd5e1;--border-strong:#94a3b8;--border-ai:var(--surface-ai-border);--shadow-panel:0 1px 2px rgba(15,23,42,0.06),0 18px 40px rgba(15,23,42,0.08);--shadow-card:0 1px 1px rgba(15,23,42,0.04),0 10px 24px rgba(15,23,42,0.07);--shadow-popover:0 20px 44px rgba(15,23,42,0.18),0 1px 0 rgba(255,255,255,0.72) inset;--shadow-focus:0 0 0 3px rgba(77,175,78,0.24);--shadow-inset-subtle:inset 0 1px 2px rgba(15,23,42,0.08);--focus-ring-color:color-mix(in srgb,var(--brand-gobee-green) 70%,var(--text-primary));--status-success-bg:#e8f6ed;--status-success-border:#9bd3aa;--status-warning-bg:#fff4d6;--status-warning-border:#f1c76b;--status-danger-bg:#fdecec;--status-danger-border:#f3a3a3;--status-info-bg:#e8f0ff;--status-info-border:#a8c2ff;--status-neutral-bg:#eef2f7;--status-neutral-border:#cbd5e1;--status-offline-bg:#e2e8f0;--status-offline-border:#94a3b8;--bg:var(--surface-canvas);--panel:var(--surface-panel);--text:var(--text-primary);--text-soft:var(--text-secondary);--text-subtle:var(--text-muted);--border:var(--border-default);--accent:var(--brand-accent);--input-bg:var(--surface-inset);--nm-bg:var(--surface-canvas);--nm-surface:var(--surface-panel);--nm-shadow-outer:var(--shadow-panel);--nm-shadow-inner:inset 3px 3px 6px rgba(163,177,198,0.36),inset -3px -3px 6px rgba(255,255,255,0.72);--nm-shadow-soft:var(--shadow-card);--gold-border:color-mix(in srgb,var(--gobee-orange) 38%,var(--border));--gold-bg:color-mix(in srgb,var(--gobee-orange) 10%,var(--nm-surface))}*{box-sizing:border-box}:focus-visible{outline:2px solid color-mix(in srgb,var(--gobee-green) 70%,var(--text));outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--gobee-green) 25%,transparent)}body{margin:0;background:var(--surface-canvas);color:var(--text)}.app-shell{max-width:1200px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1.25rem 2rem}.app-header{display:none}.app-main{flex:1 1}.app-footer{margin-top:1.5rem;font-size:.85rem;color:var(--text-subtle);text-align:center}a{color:inherit;text-decoration:none}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--input-bg);border:1px solid var(--border-default);border-radius:var(--ui-radius-sm);color:inherit;padding:.5rem .6rem;font-size:.9rem;box-shadow:var(--shadow-inset-subtle)}input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--focus-ring-color);outline:2px solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring-shadow),var(--shadow-inset-subtle)}textarea{resize:vertical}.field{display:grid;grid-gap:var(--ui-gap-tight);gap:var(--ui-gap-tight)}.field>.field-label,.field>label{font-size:.8rem;color:var(--text-subtle)}.field>span{font-size:.8rem;color:#94a3b8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.m0{margin:0}.mt-tight{margin-top:.5rem}.mt{margin-top:.75rem}.row-wrap{display:flex;gap:var(--ui-gap-tight);flex-wrap:wrap;align-items:center}.min-width-160{min-width:160px}.contents{display:contents}.grid-span-full{grid-column:1/-1}.centered-cell{display:flex;justify-content:center}.ai-plan-grid{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr) 90px;align-items:center}button{font:inherit}.ops-columns-popover{position:relative}.ops-actions-popover{position:relative;z-index:0}.ops-actions-popover[open]{z-index:var(--z-drawer)}.ops-actions-popover[open] .ops-columns-panel{z-index:var(--z-modal)}.ops-actions-popover .ops-columns-panel{min-width:180px}.ops-actions-popover .ops-columns-panel button.ghost{width:100%;justify-content:flex-start}.ops-actions-popover .ops-columns-panel button.ghost+button.ghost{margin-top:.25rem}.ops-columns-popover>summary{list-style:none;cursor:pointer}.ops-columns-popover>summary::-webkit-details-marker{display:none}.ops-columns-panel{position:absolute;top:calc(100% + .4rem);right:0;display:grid;grid-gap:.35rem;gap:.35rem;padding:.55rem .65rem;border-radius:12px;border:1px solid var(--gold-border);background:var(--gold-bg);box-shadow:var(--nm-shadow-inner),var(--nm-shadow-outer);z-index:var(--z-popover)}.ops-role-option{display:flex;align-items:center;justify-content:flex-start;width:100%;white-space:nowrap;border:1px solid color-mix(in srgb,var(--border) 6%,transparent);background:color-mix(in srgb,var(--nm-surface) 92%,var(--border));box-shadow:var(--nm-shadow-inner);padding:.4rem .55rem;border-radius:10px;color:var(--text);cursor:pointer}.ops-role-option:active:not(:disabled),.ops-role-option:hover:not(:disabled){background:color-mix(in srgb,var(--gobee-orange) 10%,var(--nm-surface));border-color:color-mix(in srgb,var(--gobee-orange) 32%,transparent);box-shadow:var(--nm-shadow-soft)}.ops-actions-popover{z-index:45}.ops-select-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:.35rem;min-height:2rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--gobee-orange) 28%,var(--border));background:color-mix(in srgb,var(--gobee-orange) 8%,var(--nm-surface));color:var(--text);padding:.35rem .75rem;box-shadow:var(--nm-shadow-inner);transition:border-color .12s ease,background-color .12s ease}summary.ops-select-pill{list-style:none}.ops-select-pill:hover{border-color:color-mix(in srgb,var(--gobee-orange) 40%,var(--border));background:color-mix(in srgb,var(--gobee-orange) 14%,var(--nm-surface))}.ops-select-measure{position:absolute;visibility:hidden;pointer-events:none;inset:0;width:0;height:0;overflow:hidden;white-space:nowrap}.ops-measured-select>summary.ops-select-pill{min-width:var(--ops-select-min-width,auto)}.ops-measured-select .ops-columns-panel{min-width:var(--ops-select-min-width,0)}.primary,a.pill,button.pill{cursor:pointer}.primary{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .85rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--gobee-green) 70%,transparent);background:color-mix(in srgb,var(--gobee-green) 22%,transparent);color:var(--text)}.primary:hover{background:color-mix(in srgb,var(--gobee-green) 28%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--gobee-green) 55%,transparent)}.primary:disabled{cursor:not-allowed;opacity:1;color:color-mix(in srgb,var(--text) 70%,var(--text-subtle));background:color-mix(in srgb,var(--gobee-green) 14%,transparent);border-color:color-mix(in srgb,var(--gobee-green) 35%,transparent)}.page-shell{display:grid;grid-template-columns:340px 1fr;grid-gap:1rem;gap:1rem;width:100%}.page-shell.ai-ops{grid-template-columns:340px minmax(0,1fr) 320px}@media (max-width:960px){.page-shell{grid-template-columns:1fr}}.ops-brief-panel{display:flex;flex-direction:column;gap:.75rem}.panel{background:var(--nm-surface);border:1px solid color-mix(in srgb,var(--border) 22%,transparent);border-radius:16px;padding:var(--ui-panel-pad,1rem);box-shadow:var(--nm-shadow-outer)}.list-panel{max-height:calc(100vh - 200px);overflow:hidden;display:flex;flex-direction:column;gap:.75rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.panel-header .panel-title{margin:0}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.nav-stack{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.panel-title{margin:0;color:var(--text)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);margin:0 0 .2rem}.eyebrow,.pill{font-size:.75rem}.pill{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--border) 20%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--border) 40%,transparent)}a.pill,button.pill,summary.pill{padding:.35rem .75rem;font-size:.85rem;border-radius:999px;background:rgba(148,163,184,.06);border-color:rgba(148,163,184,.25);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}a.pill:hover,button.pill:hover,summary.pill:hover{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.4)}.pill.active,.pill.enabled,.pill.good,.pill.healthy,.pill.ok,.pill.online{background:color-mix(in srgb,var(--gobee-green) 72%,var(--panel));border-color:color-mix(in srgb,var(--gobee-green) 55%,var(--border));color:#f8fafc;box-shadow:var(--nm-shadow-inner);text-shadow:0 1px 2px rgba(0,0,0,.22)}.pill.stale,.pill.warning{background:color-mix(in srgb,var(--gobee-orange) 74%,var(--panel));border-color:color-mix(in srgb,var(--gobee-orange) 55%,var(--border))}.pill.critical,.pill.offline,.pill.stale,.pill.warning{color:#f8fafc;box-shadow:var(--nm-shadow-inner);text-shadow:0 1px 2px rgba(0,0,0,.22)}.pill.critical,.pill.offline{background:color-mix(in srgb,#ef4444 72%,var(--panel));border-color:color-mix(in srgb,#ef4444 55%,var(--border))}.pill.unknown{background:color-mix(in srgb,var(--border) 22%,transparent);color:color-mix(in srgb,var(--text-subtle) 70%,var(--text))}span.pill{box-shadow:var(--nm-shadow-inner);text-shadow:none}span.pill.enabled,span.pill.good,span.pill.ok,span.pill.online{background:color-mix(in srgb,var(--gobee-green) 14%,var(--nm-surface));border-color:color-mix(in srgb,var(--gobee-green) 30%,transparent);color:var(--text)}span.pill.stale,span.pill.warning{background:color-mix(in srgb,var(--gobee-orange) 14%,var(--nm-surface));border-color:color-mix(in srgb,var(--gobee-orange) 30%,transparent);color:var(--text)}span.pill.critical,span.pill.offline{background:color-mix(in srgb,#ef4444 12%,var(--nm-surface));border-color:color-mix(in srgb,#ef4444 28%,transparent);color:var(--text)}span.pill.unknown{background:color-mix(in srgb,var(--border) 10%,transparent);border-color:color-mix(in srgb,var(--border) 22%,transparent)}.device-list{display:flex;flex-direction:column;gap:.5rem;overflow:auto;padding-right:.25rem}.device-button{width:100%;text-align:left;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));border:1px solid color-mix(in srgb,var(--border) 40%,transparent);color:var(--text);border-radius:12px;padding:.75rem .85rem;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.device-button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));transform:translateY(-1px)}.device-button.active{border-color:color-mix(in srgb,var(--accent) 80%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent)}.device-line{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.device-name{font-weight:700}.status-dot{width:12px;height:12px;border-radius:50%;background:var(--text-subtle);box-shadow:0 0 0 4px color-mix(in srgb,var(--border) 25%,transparent)}.status-dot.online{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.2)}.status-dot.offline{background:#f87171;box-shadow:0 0 0 4px rgba(248,113,113,.2)}.device-id{margin:.2rem 0;font-size:.85rem;color:color-mix(in srgb,var(--text-subtle) 75%,var(--text));word-break:break-all}.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.tag{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 40%,transparent);color:color-mix(in srgb,var(--text-subtle) 75%,var(--text))}.detail-panel{display:flex;flex-direction:column;gap:.75rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:.75rem;gap:.75rem}.card{background:var(--nm-surface);border:1px solid color-mix(in srgb,var(--border) 22%,transparent);border-radius:var(--ui-radius);padding:var(--ui-card-pad,.85rem);min-height:120px;box-shadow:var(--nm-shadow-soft)}.card.inset{box-shadow:var(--nm-shadow-inner);background:color-mix(in srgb,var(--nm-surface) 88%,var(--nm-bg))}.card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.card-header h3{margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:.5rem;gap:.5rem;margin-top:.6rem}.metric-chip{background:color-mix(in srgb,var(--nm-surface) 88%,var(--nm-bg));border:1px solid color-mix(in srgb,var(--border) 22%,transparent);border-radius:var(--ui-radius-sm);padding:.35rem .5rem;box-shadow:var(--nm-shadow-inner)}.metric-label{margin:0;font-size:.8rem;color:color-mix(in srgb,var(--accent) 70%,var(--text))}.metric-value{margin:.1rem 0 0;font-weight:700;color:var(--text)}.history-table{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.history-row{display:grid;grid-template-columns:var(--ops-history-columns,180px 1fr);grid-gap:.5rem;gap:.5rem;padding:.5rem;border:1px solid color-mix(in srgb,var(--border) 25%,transparent);border-radius:8px;background:color-mix(in srgb,var(--panel) 55%,transparent)}.history-row.header{background:color-mix(in srgb,var(--panel) 75%,transparent);border-color:color-mix(in srgb,var(--border) 45%,transparent);font-weight:700}.cell,.history-row>:not(.cell){font-size:.9rem;color:var(--text);min-width:0;word-break:break-word}.metric-line{font-size:.9rem}.metric-key{color:color-mix(in srgb,var(--accent) 70%,var(--text))}.metric-val{color:var(--text)}.ai-card .ai-summary{margin-top:.4rem;white-space:pre-line;line-height:1.45}.empty-card{padding:1rem;border:1px dashed color-mix(in srgb,var(--border) 50%,transparent);border-radius:12px;color:color-mix(in srgb,var(--text-subtle) 75%,var(--text));text-align:center}.muted{color:var(--text-subtle);margin:.2rem 0;font-size:.9rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-panel{width:100%;max-width:420px}.auth-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.error-text{color:#fca5a5;margin:0}.header-actions{display:flex;align-items:flex-end;gap:.75rem}.range-text{margin:0}.ai-summary{background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:10px;padding:.75rem}.ai-command-card{display:flex;flex-direction:column;gap:.35rem}.ai-command-bar-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 75%,transparent);display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:40}.ai-command-bar{width:min(720px,100%);max-height:calc(100vh - 2.5rem);overflow:auto;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--border) 45%,transparent);border-radius:16px;padding:1rem;box-shadow:0 18px 40px color-mix(in srgb,var(--bg) 60%,transparent);display:flex;flex-direction:column;gap:.75rem}.ai-command-bar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ai-command-bar-body{display:flex;flex-direction:column;gap:.75rem}.ai-command-field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.ai-command-field input,.ai-command-field select,.ai-command-field textarea{background:var(--input-bg);border:1px solid rgba(148,163,184,.25);border-radius:var(--ui-radius-sm);color:inherit;box-shadow:inset 0 1px 8px rgba(0,0,0,.18)}.ai-command-field textarea{resize:vertical}.ai-command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.ai-command-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.ai-command-actions{display:flex;justify-content:flex-end}.ai-command-summary{background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:10px;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.35rem}.ai-command-details{border:1px solid color-mix(in srgb,var(--border) 40%,transparent);border-radius:10px;padding:.65rem .75rem}.ai-command-details,.ghost{background:color-mix(in srgb,var(--panel) 70%,transparent)}.ghost{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid color-mix(in srgb,var(--border) 40%,transparent);color:var(--text);border-radius:999px;padding:.35rem .75rem;font-size:.85rem;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease;box-shadow:inset 0 1px 10px rgba(0,0,0,.18)}.ghost:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.ghost:disabled{opacity:.6;cursor:not-allowed}.nav-item.active{border-color:rgba(243,112,33,.55);box-shadow:0 0 0 2px rgba(243,112,33,.12)}.ai-command-details summary{cursor:pointer;font-weight:600;margin-bottom:.4rem}.ai-command-details pre{margin:0;font-size:.85rem;white-space:pre-wrap;word-break:break-word}.ops-shell-drawer{box-shadow:var(--nm-shadow-outer);border-radius:18px}.ops-shell-drawer .metric-value{font-weight:500;font-size:.92rem;color:color-mix(in srgb,var(--text) 72%,var(--text-subtle))}.ops-shell-drawer .metric-label{color:color-mix(in srgb,var(--gobee-green) 70%,var(--text));font-weight:600;font-size:.76rem}.ops-shell-drawer strong{font-weight:600}.ops-shell-drawer-md{width:min(520px,100%)}.ops-shell-drawer-lg{width:min(720px,100%)}.ops-shell-drawer-overlay{background:color-mix(in srgb,var(--bg) 70%,transparent)}.ops-drawer-content{padding-top:.5rem}.portal-header-actions{justify-content:flex-end;margin-bottom:var(--ui-gap)}.portal-inline-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.portal-inline-actions-center{align-items:center}.portal-history-row-top{align-items:start}.portal-binding-meta{display:grid;grid-gap:.2rem;gap:.2rem}.portal-mono{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace)}.ops-dashboard-visual-kit-frame{border:1px solid var(--ops-border,#d0d7de);border-radius:10px;padding:.5rem;display:grid;grid-gap:.45rem;gap:.45rem}.ops-dashboard-visual-kit-frame[data-tone=alarm]{border-color:#ef4444}.ops-dashboard-visual-kit-frame[data-tone=warning]{border-color:#f59e0b}.ops-dashboard-visual-kit-frame[data-tone=offline],.ops-dashboard-visual-kit-frame[data-tone=stale]{opacity:.8}.ops-dashboard-visual-kit-status-strip{display:flex;justify-content:space-between;font-size:.75rem}.ops-dashboard-visual-kit-gauge-track{height:.4rem;border-radius:999px;background:#e5e7eb;overflow:hidden}.ops-dashboard-visual-kit-gauge-fill{display:block;height:100%;background:#60a5fa;width:55%}.ops-dashboard-visual-kit-gauge-fill[data-gauge-band=low]{width:22%;background:#f59e0b}.ops-dashboard-visual-kit-gauge-fill[data-gauge-band=mid]{width:55%;background:#60a5fa}.ops-dashboard-visual-kit-gauge-fill[data-gauge-band=high]{width:88%;background:#10b981}.ops-dashboard-visual-kit-gauge-fill[data-gauge-band=empty]{width:8%;background:#9ca3af}.ops-dashboard-visual-kit-mini-trend{display:grid;grid-auto-flow:column;align-items:end;grid-gap:.2rem;gap:.2rem;min-height:1.1rem}.ops-dashboard-visual-kit-mini-trend span{width:.2rem;border-radius:.2rem;background:#93c5fd}.ops-dashboard-visual-kit-mini-trend span:first-child{height:.35rem}.ops-dashboard-visual-kit-mini-trend span:nth-child(2){height:.65rem}.ops-dashboard-visual-kit-mini-trend span:nth-child(3){height:.5rem}.ops-dashboard-visual-kit-mini-trend span:nth-child(4){height:.85rem}.ops-dashboard-visual-kit-mini-trend span:nth-child(5){height:.7rem}.ops-dashboard-visual-kit-alarm-badge{display:inline-flex;border-radius:999px;padding:.1rem .4rem;font-size:.7rem;background:#fee2e2;color:#b91c1c}.ops-dashboard-visual-kit-icon-badge{display:inline-flex;gap:.3rem;align-items:center;border:1px solid #d1d5db;border-radius:999px;padding:.1rem .45rem;font-size:.72rem}.ops-dashboard-visual-kit-hero-metric .ops-dashboard-widget-value{font-size:1.3rem;margin:0}.ops-dashboard-visual-kit-sparkline{display:grid;grid-auto-flow:column;align-items:end;grid-gap:.18rem;gap:.18rem;min-height:1rem}.ops-dashboard-visual-kit-sparkline span{width:.2rem;border-radius:.2rem;background:#60a5fa}.ops-dashboard-visual-kit-sparkline span:first-child{height:.35rem}.ops-dashboard-visual-kit-sparkline span:nth-child(2){height:.6rem}.ops-dashboard-visual-kit-sparkline span:nth-child(3){height:.45rem}.ops-dashboard-visual-kit-sparkline span:nth-child(4){height:.8rem}.ops-dashboard-visual-kit-sparkline span:nth-child(5){height:.55rem}.ops-dashboard-visual-kit-sparkline span:nth-child(6){height:.9rem}.ops-dashboard-visual-kit-sparkline span:nth-child(7){height:.75rem}.ops-dashboard-visual-kit-signal-bars{display:grid;grid-auto-flow:column;align-items:end;grid-gap:.15rem;gap:.15rem;min-height:.95rem}.ops-dashboard-visual-kit-signal-bars span{width:.22rem;border-radius:.2rem;background:#9ca3af}.ops-dashboard-visual-kit-signal-bars span:first-child{height:.28rem}.ops-dashboard-visual-kit-signal-bars span:nth-child(2){height:.45rem}.ops-dashboard-visual-kit-signal-bars span:nth-child(3){height:.7rem}.ops-dashboard-visual-kit-signal-bars span:nth-child(4){height:.9rem}.ops-dashboard-visual-kit-signal-bars[data-signal-level=empty] span:nth-child(n+2),.ops-dashboard-visual-kit-signal-bars[data-signal-level=low] span:nth-child(n+3){background:#d1d5db}.ops-dashboard-visual-kit-signal-bars[data-signal-level=high] span{background:#10b981}.ops-dashboard-visual-kit-battery-pill{display:inline-flex;border-radius:999px;border:1px solid #d1d5db;padding:.1rem .45rem;font-size:.75rem}.ops-dashboard-visual-kit-empty-state{border:1px dashed #cbd5e1;border-radius:.6rem;padding:.45rem}.ops-dashboard-visual-kit-compact-list{margin:0;padding-left:1rem;display:grid;grid-gap:.2rem;gap:.2rem;font-size:.78rem}.ops-dashboard-visual-kit-glyph{display:inline-flex;inline-size:1.1rem;block-size:1.1rem;color:currentColor}.ops-dashboard-visual-kit-glyph svg{inline-size:100%;block-size:100%;stroke-linecap:round;stroke-linejoin:round}.ops-dashboard-visual-kit-glyph-badge{display:inline-flex;align-items:center;gap:.35rem;border:1px solid;border-radius:999px;padding:.15rem .45rem;font-size:.72rem}.ops-dashboard-visual-kit-glyph-badge[data-tone=warning]{color:#b45309}.ops-dashboard-visual-kit-glyph-badge[data-tone=alarm]{color:#b91c1c}.ops-dashboard-visual-kit-glyph-badge[data-tone=normal]{color:#0369a1}.ops-dashboard-visual-kit-device-state-glyph{display:inline-flex;opacity:.8}.ops-dashboard-widget-preview-state-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.4rem;gap:.4rem}.ops-dashboard-layout-stage{padding:.75rem;display:grid;grid-gap:.55rem;gap:.55rem}.ops-dashboard-workspace-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem}.ops-dashboard-workspace-toolbar-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem}.ops-dashboard-secondary-controls{opacity:.85}.ops-dashboard-layout-canvas-shell{min-height:76vh}.ops-dashboard-grid-canvas-shell{width:100%}.ops-dashboard-canvas-zero-state [data-dashboard-empty-state=blank-canvas]{min-height:65vh;display:grid;align-content:center;justify-items:start;grid-gap:.55rem;gap:.55rem;padding:1rem;border:1px dashed #94a3b8}.ops-dashboard-canvas-panel-slot [data-dashboard-widget-selected=true]{box-shadow:0 0 0 1px #93c5fd}.ops-dashboard-inspector-primary-action,.ops-dashboard-telemetry-focus-card{margin-top:.4rem;border:1px solid #cbd5e1;border-radius:.5rem;padding:.4rem .55rem;background:#f8fafc}[data-dashboard-binding-status=bound]{border-color:#86efac}.ops-dashboard-ai-assist-chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.ops-dashboard-ai-assist-chip-row[data-dashboard-ai-assist-surface=canvas]{margin-bottom:.75rem}