:root,[data-theme=light]{--bg-deep:#f3f4f7;--bg:#f6f7f9;--bg-elevated:#fff;--bg-soft:#edeff3;--border:#e2e4e9;--border-strong:#d3d7de;--text:#1d212b;--text-muted:#5c6370;--text-faint:#838995;--brand:#0b62da;--brand-strong:#0a57c2;--brand-soft:#0b62da1a;--brand-mark:#05b4c7;--brand-mark-soft:#05b4c724;--focus-ring:#0b62da33;--focus-border:#0b62da8c;--selection-bg:color-mix(in srgb, var(--brand) 35%, transparent);--brand-mix-06:color-mix(in srgb, var(--brand) 6%, transparent);--brand-mix-08:color-mix(in srgb, var(--brand) 8%, transparent);--brand-mix-10:color-mix(in srgb, var(--brand) 10%, transparent);--brand-mix-12:color-mix(in srgb, var(--brand) 12%, transparent);--brand-mix-14:color-mix(in srgb, var(--brand) 14%, transparent);--brand-mix-16:color-mix(in srgb, var(--brand) 16%, transparent);--brand-border-25:color-mix(in srgb, var(--brand) 25%, var(--border));--brand-border-35:color-mix(in srgb, var(--brand) 35%, var(--border));--brand-border-45:color-mix(in srgb, var(--brand) 45%, var(--border));--stat-glow-default:color-mix(in srgb, var(--brand) 18%, transparent);--gradient-cta:linear-gradient(135deg, var(--brand), #0a52b8);--gradient-brand-nav:linear-gradient(145deg, #152137, #0a57c2);--gradient-brand-mark-btn:linear-gradient(135deg, var(--brand-mark), #1d73ed);--shadow-brand-mark:0 0 0 1px var(--brand-border-35), 0 8px 24px color-mix(in srgb, var(--brand) 35%, transparent);--royal:#0b62da;--online:#157f3c;--online-soft:#157f3c1f;--online-fg:#116931;--warn:#f59f0a;--warn-soft:#f59f0a1f;--warn-fg:#aa5f09;--danger:#ef4343;--danger-soft:#ef43431a;--danger-fg:#b81e1e;--idle-soft:#edeff2;--idle-fg:#5c6370;--shadow:0 12px 32px #1d212b14;--shadow-sm:0 1px 3px #1d212b0f;--radius:16px;--radius-sm:12px;--font-display:Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif;--font-body:Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif;--font-aqara:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--aq-bg:#f4f5f8;--aq-sidebar-bg:#121a31;--aq-sidebar-logo:#002140;--aq-sidebar-fg:#909399;--aq-sidebar-fg-active:#fff;--aq-sidebar-w:220px;--aq-radius:3px;--aq-radius-panel:8px;--aq-control-h:32px;--aq-nav-item-h:48px;--aq-nav-child-h:44px;--aq-nav-active-bg:var(--brand);--aq-nav-active-bar:var(--brand);--aq-soft-btn-bg:color-mix(in srgb, var(--brand) 12%, white);--aq-soft-btn-fg:var(--brand);--aq-chrome-h:50px;--aq-gap:12px;--aq-content-pad:15px;--surface-sidebar:#ffffffeb;--surface-topbar:#ffffffe0;--surface-panel:#fff;--surface-card:#fff;--surface-stat:linear-gradient(180deg, #fff, #f9fafb);--surface-modal:#fff;--hover-fill:#1d212b0a;--row-hover:#0b62da0f;--input-bg:#fff;--shell-glow-a:#0b62da0f;--shell-glow-b:#a3adc214;--nav-active-bg:linear-gradient(90deg, #0b62da1f, #0b62da0a);--nav-active-ring:#0b62da38;--btn-primary-fg:#fff;--login-card-bg:#fffffff0;--login-page-bg:radial-gradient(ellipse 70% 55% at 50% -10%, #0b62da1a, transparent 60%), linear-gradient(160deg, #f6f7f9, #edeff3);--modal-backdrop:#1d212b59;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-page:28px;--space-panel-x:16px;--space-panel-y:16px;--space-cell-y:12px;--space-cell-x:16px;--leading-body:1.5;--leading-title:1.25}[data-theme=dark]{--bg-deep:#0f1319;--bg:#14181f;--bg-elevated:#1b1f28;--bg-soft:#212630;--border:#303541;--border-strong:#3f4550;--text:#f3f4f6;--text-muted:#a5abb6;--text-faint:#7b818e;--brand:#3985ef;--brand-strong:#1d73ed;--brand-soft:#3985ef24;--brand-mark:#0cd3e9;--brand-mark-soft:#0cd3e929;--focus-ring:#3985ef38;--focus-border:#3985ef99;--shadow:0 16px 40px #00000059;--surface-sidebar:#0f1319f0;--surface-topbar:#14181fe6;--surface-panel:#1b1f28;--surface-card:#1b1f28;--surface-stat:linear-gradient(180deg, #1d212b, #161a22);--surface-modal:#1d212b;--btn-primary-fg:#fff}:root{--sidebar:248px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--btn-h:36px;--btn-h-sm:32px;--btn-h-lg:40px;--btn-h-xs:32px;--btn-pad-x:16px;--btn-pad-x-sm:12px;--btn-pad-x-xs:12px;--btn-pad-x-lg:32px;--btn-radius:8px;--icon-btn-h:36px;--icon-btn-h-sm:32px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--text-base);line-height:var(--leading-body,1.5);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--selection-bg)}.app-shell{grid-template-columns:var(--sidebar) 1fr;background:radial-gradient(ellipse 80% 50% at 10% -10%, var(--shell-glow-a), transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, var(--shell-glow-b), transparent 50%), var(--bg-deep);min-height:100vh;color:var(--text);display:grid}.app-shell:not(.debug-shell){height:100dvh;max-height:100dvh;overflow:hidden}.app-shell:not(.debug-shell) .sidebar{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.app-shell:not(.debug-shell) .nav{min-height:0;overflow-y:auto}.app-shell:not(.debug-shell) .main-column{height:100%;min-height:0;overflow:hidden}.app-shell:not(.debug-shell) .topbar{flex:none;position:relative}.app-shell:not(.debug-shell) .main{min-height:0;padding:var(--space-page) var(--space-page) var(--space-5);flex-direction:column;flex:1 1 0;gap:0;display:flex;overflow:hidden}.app-shell.debug-shell{font-family:var(--font-aqara);background:var(--aq-bg);grid-template-columns:1fr;height:100dvh;max-height:100dvh;overflow:hidden}.app-shell.debug-shell .sidebar,.app-shell.debug-shell .topbar{display:none}.app-shell.debug-shell .main-column{background:var(--aq-bg);height:100%;min-height:0;overflow:hidden}.app-shell.debug-shell .main{flex-direction:column;flex:1 1 0;gap:0;min-height:0;padding:0;display:flex;overflow:hidden}.project-debug-page .aq-data-table thead th,.project-debug-page .aq-device-list .device-table thead th,.project-debug-page .aq-list-scroll .table thead th{background:color-mix(in srgb, var(--aq-bg) 70%, var(--bg-elevated));color:var(--text-muted);font-size:12px;font-weight:500}.project-debug-page .aq-page-crumb{border-bottom:none;padding:12px 16px 8px}.project-debug-page .aq-pager{color:var(--text-muted);justify-content:flex-end;padding:10px 0 0;font-size:12px}.debug-topbar-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.debug-topbar-nav .btn{border-radius:var(--aq-radius);height:28px;font-size:12px;font-family:var(--font-aqara);padding:0 10px}.project-debug-page{min-height:0;font-family:var(--font-aqara);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--aq-bg);color:var(--text);flex-direction:column;flex:1 1 0;display:flex;overflow:hidden}.project-debug-page .workbench-nav,.project-debug-page .workbench-nav-item,.project-debug-page .workbench-nav-child,.project-debug-page .aq-subnav,.project-debug-page .aq-subnav-item,.project-debug-page .btn,.project-debug-page .panel,.project-debug-page .table,.project-debug-page input,.project-debug-page select,.project-debug-page textarea{font-family:inherit}.project-debug-chrome{border-bottom:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:#fff;flex:none}.project-debug-chrome .detail-hero,.project-debug-chrome .aq-debug-hero{box-shadow:none;background:0 0;border:none;border-radius:0;min-height:44px;margin:0;padding:8px 20px;position:relative}.project-debug-chrome .detail-hero>div:first-child,.project-debug-chrome .aq-debug-hero>div:first-child{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.project-debug-chrome .detail-hero h1,.project-debug-chrome .aq-debug-hero h1{letter-spacing:.01em;font-size:15px;font-weight:600;font-family:var(--font-aqara);white-space:nowrap;flex:none;margin:0}.project-debug-chrome .aq-debug-back{width:32px;height:32px;color:var(--text);background:color-mix(in srgb, var(--bg-soft) 92%, var(--brand) 8%);box-shadow:0 1px 2px color-mix(in srgb, var(--text) 6%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--border) 70%, transparent);border-radius:10px;flex:none;justify-content:center;align-items:center;margin-right:2px;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s,transform .12s;display:inline-flex}.project-debug-chrome .aq-debug-back:hover{color:var(--brand);background:var(--brand-soft);box-shadow:0 2px 8px color-mix(in srgb, var(--brand) 14%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--brand) 22%, transparent)}.project-debug-chrome .aq-debug-back:active{transform:scale(.97)}.project-debug-chrome .aq-debug-back:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.project-debug-chrome .aq-debug-handoff{border-radius:var(--aq-radius);background:var(--aq-soft-btn-bg);height:28px;color:var(--aq-soft-btn-fg);border-color:#0000;flex:none;padding:0 10px;font-size:12px}.project-debug-chrome .meta-row{white-space:nowrap;pointer-events:auto;z-index:1;flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;margin:0;font-size:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-debug-chrome .meta-row>*{flex:none}.project-debug-chrome .header-actions{z-index:2;align-items:center;gap:8px;display:flex;position:relative}.project-debug-chrome .header-actions .btn{border-radius:var(--aq-radius);background:var(--aq-soft-btn-bg);height:28px;color:var(--aq-soft-btn-fg);border-color:#0000;padding:0 12px;font-size:12px}.project-debug-chrome .header-actions .btn:hover{filter:brightness(.98)}.project-debug-chrome .header-actions .topbar-user .user-meta span{display:none}.project-debug-chrome .header-actions .notif-bell-trigger,.project-debug-chrome .header-actions .icon-btn{width:34px;height:34px}.project-debug-page .workbench-shell{grid-template-columns:var(--aq-sidebar-w) minmax(0, 1fr);background:0 0;border-radius:0;flex:1 1 0;grid-template-rows:minmax(0,1fr);align-items:stretch;gap:0;min-height:0;padding:0;display:grid;overflow:hidden}.project-debug-page .workbench-nav{background:var(--aq-sidebar-bg);height:auto;min-height:0;max-height:none;box-shadow:none;font-family:var(--font-aqara);color:var(--aq-sidebar-fg);border:none;border-radius:0;align-self:stretch;gap:0;padding:8px 0 108px;position:static;top:auto;overflow-y:auto}.project-debug-page .workbench-main{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:var(--aq-gap);min-width:0;height:100%;min-height:0;max-height:100%;padding:var(--aq-content-pad);background:var(--aq-bg);flex-direction:column;display:flex;overflow:hidden auto}:is(.project-debug-page .workbench-main:has(>.aq-list-panel--scroll),.project-debug-page .workbench-main:has(>.aq-list-panel--devices),.project-debug-page .workbench-main:has(>.aq-workbench),.project-debug-page .workbench-main:has(>.aq-linkage-stack),.project-debug-page .workbench-main:has(>.host-ops)){overflow:hidden}.project-debug-page .workbench-main>.aq-workbench{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.project-debug-page .workbench-main>.aq-workbench>.aq-subnav,.project-debug-page .workbench-main>.aq-workbench>.aq-page-crumb,.project-debug-page .workbench-main>.aq-workbench>.aq-workbench-filter,.project-debug-page .workbench-main>.aq-workbench>.aq-batch-bar{flex:none}.project-debug-page .workbench-main>.aq-workbench>.aq-workbench-body{flex:1 1 0;min-height:0}.project-debug-page .workbench-main>.aq-linkage-stack{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.project-debug-page .workbench-main>.aq-linkage-stack>.ai-draft-panel,.project-debug-page .workbench-main>.aq-linkage-stack>.panel:not(.aq-list-panel--scroll){flex:none}.project-debug-page .workbench-main>.aq-linkage-stack>.aq-list-panel--scroll{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.project-debug-page .workbench-main>.aq-linkage-stack>.aq-list-panel--scroll>.aq-page-crumb{flex:none}.project-debug-page .workbench-main>.aq-linkage-stack>.aq-list-panel--scroll>.aq-scene-board{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.project-debug-page .workbench-main>.aq-subnav{flex:none}.project-debug-page .workbench-main>.aq-list-panel--scroll,.project-debug-page .workbench-main>.aq-list-panel--devices{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.project-debug-page .workbench-main>.aq-list-panel--scroll>.aq-page-crumb,.project-debug-page .workbench-main>.aq-list-panel--scroll>.panel-head,.project-debug-page .workbench-main>.aq-list-panel--scroll>.aq-filter-row,.project-debug-page .workbench-main>.aq-list-panel--scroll>.pairing-filters,.project-debug-page .workbench-main>.aq-list-panel--scroll>.aq-log-footnote,.project-debug-page .workbench-main>.aq-list-panel--devices>.aq-page-crumb{flex:none}.project-debug-page .workbench-main>.aq-list-panel--scroll>.aq-device-list,.project-debug-page .workbench-main>.aq-list-panel--scroll>.aq-scene-board,.project-debug-page .workbench-main>.aq-list-panel--devices>.aq-device-list{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.project-debug-page .workbench-main>.aq-list-panel--scroll>.aq-list-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow:auto}.project-debug-page .workbench-main>.aq-list-panel--scroll>.int-mgmt{flex-direction:column;flex:1 1 0;gap:10px;min-height:0;padding:0 4px 4px;display:flex;overflow:hidden}.int-mgmt-chrome{flex-direction:column;flex:none;gap:10px;min-width:0;display:flex}.int-mgmt-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 0;min-height:0;padding-bottom:12px;overflow:auto}.int-mgmt-back{align-items:center;gap:6px;display:flex}.int-mgmt-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.int-mgmt-stats{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.int-mgmt-search{border:1px solid var(--border-strong,var(--border));background:var(--input-bg,#fff);border-radius:10px;align-items:center;gap:6px;min-width:0;height:32px;padding:0 10px;display:flex}.int-mgmt-search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.main-column{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface-topbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:12px 28px;display:flex;position:sticky;top:0}.topbar-search{border:1px solid var(--border);background:var(--bg-elevated);max-width:420px;color:var(--text-faint);border-radius:10px;flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative}.topbar-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1}.search-popover{background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow);z-index:30;border-radius:12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.search-popover a{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.search-popover a:last-child{border-bottom:none}.search-popover a:hover{background:var(--brand-mix-10)}.search-popover span{color:var(--text-muted);font-size:12px}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-right .agent-ota{align-items:center;display:inline-flex}.topbar-right .btn-xs{height:var(--btn-h-sm);min-height:var(--btn-h-sm);padding:0 var(--btn-pad-x-sm);gap:4px}.topbar-right .notif-bell-trigger,.topbar-right .icon-btn{width:var(--icon-btn-h);height:var(--icon-btn-h)}.notif-bell,.notif-bell-trigger{position:relative}.notif-bell-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:2px;right:2px}.notif-popover{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:min(360px,100vw - 32px);max-height:420px;box-shadow:var(--shadow-lg);z-index:50;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.notif-popover-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-list{margin:0;padding:0;list-style:none}.notif-item{border-bottom:1px solid var(--border);padding:12px 14px}.notif-item.unread{background:var(--brand-soft)}.notif-item-title{align-items:center;gap:8px;margin-bottom:4px;display:flex}.notif-item-main p{font-size:var(--text-sm);color:var(--text-muted);margin:4px 0}.notif-item-actions{gap:4px;margin-top:8px;display:flex}.notif-item-link{font-size:var(--text-sm);margin-top:6px;display:inline-block}.notif-empty{text-align:center;padding:24px 14px}.notif-popover-foot{text-align:center;border-top:1px solid var(--border);padding:10px 14px}.api-key-reveal{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);align-items:center;gap:8px;margin-top:12px;padding:12px;display:flex}.api-key-reveal code{word-break:break-all;flex:1;font-size:12px}.row-unread{background:color-mix(in srgb, var(--brand) 6%, transparent)}.stat-warn{color:var(--warn)}.topbar-user{align-items:center;display:flex;position:relative}.user-trigger{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:2px 4px 2px 2px;transition:background .15s,border-color .15s;display:flex}.user-trigger:hover,.user-trigger[aria-expanded=true]{background:var(--bg-elevated);border-color:var(--border)}.user-trigger svg.open{transform:rotate(180deg)}.user-trigger svg{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.topbar-user .avatar{width:28px;height:28px;color:var(--btn-primary-fg);background:var(--gradient-cta);border-radius:999px;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.topbar-user .user-meta{text-align:left;flex-direction:column;max-width:140px;line-height:1.2;display:flex}.topbar-user .user-meta strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.topbar-user .user-meta span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.user-dropdown{border:1px solid var(--border);background:var(--bg-elevated);width:240px;box-shadow:var(--shadow);z-index:50;border-radius:12px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-dropdown-org{cursor:pointer;border-radius:8px;padding:10px 12px;transition:background .15s}.user-dropdown-org:hover{background:var(--brand-mix-08)}.user-dropdown-org .org-name{color:var(--text);font-size:14px;font-weight:500}.user-dropdown-org .org-hint{color:var(--text-muted);margin-top:2px;font-size:11px}.user-dropdown-divider{background:var(--border);height:1px;margin:2px 0}.user-dropdown-item{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;transition:background .15s;display:flex}.user-dropdown-item:hover{background:var(--brand-mix-10)}.user-dropdown-item svg{color:var(--text-muted)}.sidebar-user{width:100%}.sidebar-user .user-trigger{border-radius:12px;gap:10px;width:100%;padding:8px 10px}.sidebar-user .user-meta{flex:1;min-width:0;max-width:none}.sidebar-user .user-meta strong{font-size:13px}.sidebar-user .avatar{width:32px;height:32px;font-size:13px}.sidebar-user .user-dropdown{width:min(240px,100vw - 32px);inset:auto auto calc(100% + 8px) 0}@media (width<=768px){.topbar-user .user-meta{display:none}.sidebar-user .user-meta{display:flex}}.cloud-pill{border:1px solid var(--border);color:var(--text-muted);background:var(--bg-elevated);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px}.cloud-pill.on{border-color:var(--brand-border-45);color:var(--brand-strong);background:var(--brand-mix-12)}.cloud-pill.warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--border));color:var(--warn-fg);background:var(--warn-soft)}.cloud-write-banner{border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent);color:var(--text);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px;padding:10px 14px;font-size:13px;display:flex}.cloud-write-banner strong{font-weight:600}.cloud-write-banner.compact{margin-bottom:8px;padding:8px 12px}.project-debug-chrome .cloud-write-banner,.project-debug-chrome .agent-upgrade-banner{border-top:none;border-left:none;border-right:none;border-radius:0;margin:0;padding:8px 20px;font-size:12px}.agent-upgrade-banner{border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent);color:var(--text);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px;padding:10px 14px;font-size:13px;display:flex}.agent-upgrade-banner strong{font-weight:600}.agent-ota{align-items:center;gap:8px;display:inline-flex;position:relative}.agent-ota>.btn{align-items:center;gap:6px;display:inline-flex}.agent-ota-panel{display:none}@keyframes ota-spin{to{transform:rotate(360deg)}}.ota-spin{animation:.9s linear infinite ota-spin}.ota-stage-backdrop{z-index:80;-webkit-backdrop-filter:blur(18px)saturate(1.15);background:#191d2447;place-items:center;padding:24px;animation:.22s both ota-fade-in;display:grid;position:fixed;inset:0}@keyframes ota-fade-in{0%{opacity:0}to{opacity:1}}.ota-stage{border:1px solid color-mix(in srgb, white 45%, var(--border));background:linear-gradient(165deg, color-mix(in srgb, var(--brand) 10%, transparent) 0%, transparent 48%), color-mix(in srgb, var(--bg-elevated) 70%, transparent);-webkit-backdrop-filter:blur(28px)saturate(1.25);width:min(440px,100%);max-height:min(720px,100vh - 48px);color:var(--text);border-radius:20px;padding:22px 22px 20px;animation:.28s cubic-bezier(.22,1,.36,1) both ota-rise;position:relative;overflow:auto;box-shadow:0 24px 64px #12172138,inset 0 1px #ffffff8c}@keyframes ota-rise{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ota-stage.is-ok{border-color:color-mix(in srgb, var(--online) 35%, var(--border))}.ota-stage.is-fail{border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.ota-stage-glow{pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--brand) 28%, transparent), transparent 70%);opacity:.7;border-radius:50%;width:220px;height:220px;position:absolute;top:-40%;right:-20%}.ota-stage-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex;position:relative}.ota-stage-badge{background:color-mix(in srgb, var(--brand) 12%, transparent);height:28px;color:var(--brand);letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.ota-stage-close{color:var(--text-muted)}.ota-stage-hero{margin-bottom:18px;position:relative}.ota-stage-hero h2{letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:700;line-height:1.2}.ota-stage-sub{color:var(--text-muted);margin:0 0 16px;font-size:13px;line-height:1.5}.ota-stage-versions{align-items:center;gap:10px;margin-bottom:14px;display:flex}.ota-ver{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;height:32px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.ota-ver-from{background:var(--bg-soft);color:var(--text-muted)}.ota-ver-to{background:color-mix(in srgb, var(--brand) 14%, transparent);color:var(--brand)}.ota-ver-arrow{color:var(--text-muted);opacity:.7;display:inline-flex}.ota-stage-meter{background:var(--bg-soft);border-radius:999px;height:8px;overflow:hidden}.ota-stage-meter-fill{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--brand) 75%, white), var(--brand));height:100%;transition:width .35s cubic-bezier(.22,1,.36,1)}.ota-stage.is-ok .ota-stage-meter-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--online) 70%, white), var(--online))}.ota-stage.is-fail .ota-stage-meter-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--danger) 70%, white), var(--danger))}.ota-stage-meter-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.ota-timeline{margin:0;padding:4px 0 0;list-style:none;position:relative}.ota-timeline-item{grid-template-columns:28px 1fr;gap:12px;min-height:52px;display:grid}.ota-timeline-rail{flex-direction:column;align-items:center;display:flex}.ota-timeline-dot{background:var(--bg-soft);width:28px;height:28px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex}.ota-timeline-item[data-status=run] .ota-timeline-dot{background:color-mix(in srgb, var(--brand) 16%, transparent);color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 10%, transparent)}.ota-timeline-item[data-status=done] .ota-timeline-dot{background:color-mix(in srgb, var(--online) 16%, transparent);color:var(--online)}.ota-timeline-item[data-status=fail] .ota-timeline-dot{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.ota-timeline-line{background:var(--border);border-radius:999px;flex:1;width:2px;min-height:16px;margin:4px 0}.ota-timeline-item[data-status=done] .ota-timeline-line{background:color-mix(in srgb, var(--online) 45%, var(--border))}.ota-timeline-body{min-width:0;padding-bottom:14px}.ota-timeline-title-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ota-timeline-title-row strong{font-size:13px;font-weight:600;line-height:1.35}.ota-timeline-title-row em{color:var(--text-muted);flex-shrink:0;font-size:11px;font-style:normal;font-weight:500}.ota-timeline-item[data-status=run] .ota-timeline-title-row em{color:var(--brand)}.ota-timeline-item[data-status=done] .ota-timeline-title-row em{color:var(--online)}.ota-timeline-item[data-status=fail] .ota-timeline-title-row em{color:var(--danger)}.ota-timeline-detail{color:var(--text-muted);margin:4px 0 0;font-size:12px;line-height:1.45}.ota-stage-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-top:8px;padding-top:14px;display:flex}.ota-stage-actions .btn{align-items:center;gap:6px;display:inline-flex}@media (prefers-reduced-motion:reduce){.ota-spin,.ota-stage-backdrop,.ota-stage,.ota-stage-meter-fill{transition:none!important;animation:none!important}}.detail-hero .header-actions{flex-shrink:0;align-self:center;align-items:center;margin-left:auto}.detail-hero .agent-ota--hero{align-items:center;display:inline-flex;position:relative}.sessions-wrap{position:relative}.sessions-popover{border:1px solid var(--border);background:var(--bg-elevated);width:min(320px,80vw);box-shadow:var(--shadow);z-index:40;border-radius:12px;gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.sessions-popover strong{font-size:14px}.sessions-popover p{margin:0;line-height:1.5}.sessions-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sessions-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex}.sessions-list li:last-child{border-bottom:none;padding-bottom:0}.elevated-banner{border:1px solid var(--border);background:var(--bg-muted,var(--brand-mix-08));border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 18px 14px;padding:12px 14px;display:flex}.pairing-filters{flex-wrap:wrap;gap:8px;padding:0 18px 12px;display:flex}.pairing-filters select,.pairing-filters input{border:1px solid var(--border);background:var(--bg-elevated);min-height:36px;color:var(--text);border-radius:8px;padding:0 10px}.pairing-filters input{flex:1;min-width:180px}.nav-section{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:8px 12px 2px;font-size:11px}.nav-link-diff{opacity:.88}.nav-diff-mark{opacity:.55;color:var(--brand);margin-left:auto}.stat-card-link{color:inherit;border-radius:16px;text-decoration:none;display:block}.stat-card-link:hover .stat-card{border-color:color-mix(in srgb, var(--brand) 40%, var(--border))}.dash-ops-stats{margin-bottom:18px}.filter-chips,.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);height:36px;font-size:var(--text-base);cursor:pointer;border-radius:999px;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.chip.active{color:var(--text);border-color:var(--brand-border-45);background:var(--brand-mix-14)}.dash-toolbar-right{align-items:center;gap:10px;display:flex}.view-toggle{border:1px solid var(--border);border-radius:10px;display:inline-flex;overflow:hidden}.view-toggle button{color:var(--text-muted);background:0 0;border:none;padding:7px 10px}.view-toggle button.active{background:var(--brand-mix-16);color:var(--text)}.dash-cards{margin-top:4px}.dash-card{color:inherit;display:block}.dash-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:10px;margin-top:12px;font-size:12px;display:flex}.empty-state{padding:var(--space-5) var(--space-panel-x);text-align:center;color:var(--text-muted);line-height:var(--leading-body,1.5)}.agent-key{letter-spacing:.1em;background:var(--brand-mix-08);border:1px dashed var(--brand-border-35);text-align:center;-webkit-user-select:all;user-select:all;border-radius:12px;margin-bottom:16px;padding:14px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:600}.agent-key-display{flex-direction:column;align-items:center;gap:16px;display:flex}.qr-code-wrapper{background:var(--bg-elevated);box-shadow:var(--shadow-sm);border-radius:16px;justify-content:center;padding:16px;display:flex}.inline-code{background:var(--bg-soft);border-radius:6px;margin-top:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:inline-block}.date-field{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.date-field input{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 8px}.role-radios{flex-direction:column;gap:10px;display:flex}.radio-line{color:var(--text);align-items:flex-start;gap:10px;display:flex}.btn-danger{background:color-mix(in srgb, var(--danger) 16%, transparent);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger-fg)}.danger-panel{border-color:color-mix(in srgb, var(--danger) 28%, transparent)}.badge-ok{background:var(--online-soft);color:var(--online-fg)}.sidebar{border-right:1px solid var(--border);background:var(--surface-sidebar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:8px 10px 22px;display:flex}.brand-mark{background:var(--gradient-brand-nav);width:36px;height:36px;box-shadow:var(--shadow-brand-mark);border-radius:10px;place-items:center;display:grid}.brand-mark svg{width:18px;height:18px}.brand-mark path{stroke:var(--brand-mark)}.brand-mark circle{fill:var(--brand-mark)}.brand-copy{flex-direction:column;gap:2px;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.02em;font-size:15px;font-weight:700}.brand-sub{color:var(--text-faint);font-size:11px}.nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-link{color:var(--text-muted);border-radius:10px;align-items:center;gap:10px;padding:7px 12px;transition:background .18s,color .18s,transform .18s;display:flex}.nav-link:hover{background:var(--hover-fill);color:var(--text)}.nav-link.active{background:var(--nav-active-bg);color:var(--text);box-shadow:inset 0 0 0 1px var(--nav-active-ring)}.nav-link svg{opacity:.9;width:18px;height:18px}.main{min-width:0;padding:var(--space-page) var(--space-page) var(--space-5)}.page-shell,.page{flex-direction:column;flex:1 1 0;width:100%;min-height:0;display:flex;overflow:hidden}.page-shell>.page-header,.page>.page-header,.page-shell>.toolbar,.page>.toolbar,.page-shell>.category-tabs,.page>.category-tabs,.page-shell>.tabs,.page>.tabs,.page-shell>.segment,.page>.segment,.page-shell>.filter-chips,.page>.filter-chips{flex:none}.page-shell>.panel,.page>.panel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow:auto}.page-shell>.panel .table thead th,.page>.panel .table thead th{z-index:1;background:var(--surface-panel);box-shadow:0 1px 0 var(--border);position:sticky;top:0}.page-shell--flow,.page.settings-page,.settings-page{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow:hidden auto}.page-shell--flow>.panel,.page-shell--flow>.grid-2,.page-shell--flow>.grid-3,.page-shell--flow>.cards,.page-shell--flow>.panel-stack,.page-shell--flow>.stats,.settings-page>.panel{flex:none;overflow:visible}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.page-header-text{flex:auto;min-width:0}.page-header-eyebrow{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:0 0 6px;font-weight:600;line-height:1.2}.page-header h1{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.025em;font-weight:700;line-height:var(--leading-title,1.25);color:var(--text);margin:0}.page-header p,.page-header-desc{color:var(--text-muted);font-size:var(--text-md);line-height:var(--leading-body,1.5);max-width:52rem;margin:8px 0 0}.header-actions{gap:var(--space-2);flex-wrap:wrap;flex:none;align-items:center;display:flex}.btn{height:var(--btn-h);min-height:var(--btn-h);padding:0 var(--btn-pad-x);border-radius:var(--btn-radius);font-size:var(--text-md);box-sizing:border-box;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:500;line-height:1;text-decoration:none;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s,opacity .15s;display:inline-flex}.btn:hover{transform:none}.btn:active{transform:scale(.97)}.btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--focus-border);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.btn.btn-xs,a.btn.btn-xs{height:var(--btn-h-xs);min-height:var(--btn-h-xs);padding:0 var(--btn-pad-x-xs);font-size:var(--text-xs);border-radius:var(--btn-radius);gap:6px}.btn.btn-sm,.btn.sm,a.btn.btn-sm,a.btn.sm{height:var(--btn-h-sm);min-height:var(--btn-h-sm);padding:0 var(--btn-pad-x-sm);font-size:var(--text-xs);border-radius:var(--btn-radius);gap:6px}.btn.btn-lg,a.btn.btn-lg{height:var(--btn-h-lg);min-height:var(--btn-h-lg);padding:0 var(--btn-pad-x-lg);font-size:var(--text-md);border-radius:var(--btn-radius)}.btn-primary{background:var(--brand);color:var(--btn-primary-fg);border-color:color-mix(in srgb, var(--brand) 82%, #000);box-shadow:none;font-weight:500}.btn-primary:hover{background:color-mix(in srgb, var(--brand) 90%, #000)}.btn-ghost{background:var(--bg-soft);color:var(--text);border-color:#0000}.btn-ghost:hover{background:color-mix(in srgb, var(--bg-soft) 86%, var(--text))}.btn-danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger-fg)}.btn-danger:hover{background:color-mix(in srgb, var(--danger-soft) 88%, var(--danger))}.btn.danger{color:var(--danger-fg)}.btn.danger:hover{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.stats{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-card{padding:var(--space-4);border-radius:var(--radius);background:var(--surface-stat);border:1px solid var(--border);position:relative;overflow:hidden}.stat-card:after{content:"";background:radial-gradient(circle, var(--glow,var(--stat-glow-default)), transparent 70%);pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;inset:auto -20% -40% auto}.stat-label{color:var(--text-muted);font-size:var(--text-base);margin-bottom:var(--space-2);line-height:var(--leading-body,1.5);justify-content:space-between;align-items:center;display:flex}.stat-value{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.03em;font-weight:700;line-height:1.1}.stat-hint{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-faint);line-height:var(--leading-body,1.5)}.panel{border:1px solid var(--border);background:var(--surface-panel);border-radius:var(--radius);box-shadow:var(--shadow-sm,0 1px 3px #1d212b0f);overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-panel-y) var(--space-panel-x);border-bottom:1px solid var(--border);display:flex}.panel-head h2{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-title,1.25);letter-spacing:-.015em;margin:0}.panel-body{padding:0}.panel-pad,.panel-body.panel-pad{padding:var(--space-panel-y) var(--space-panel-x)}.panel-lede{padding:var(--space-3) var(--space-panel-x) var(--space-4);color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-body,1.5);margin:0}.panel-inset{padding-left:var(--space-panel-x);padding-right:var(--space-panel-x);padding-bottom:var(--space-4)}.panel-inset--sm{padding-left:var(--space-panel-x);padding-right:var(--space-panel-x);padding-bottom:var(--space-3)}.panel>h3:first-child{padding:var(--space-panel-y) var(--space-panel-x);border-bottom:1px solid var(--border);font-size:var(--text-lg);font-weight:600;line-height:var(--leading-title,1.25);letter-spacing:-.015em;justify-content:space-between;align-items:center;gap:var(--space-2);margin:0;display:flex}.panel>p.muted,.panel>.muted:first-of-type{padding:var(--space-3) var(--space-panel-x) var(--space-4);line-height:var(--leading-body,1.5);margin:0}.panel>.empty-state,.panel>.form-grid,.panel>form,.panel>form.form-grid,.panel>.hint,.panel>p.hint,.panel>.cards,.panel>.grid-2,.panel>.grid-3,.panel>.metric-grid,.panel>ol.steps,.panel>ul.steps{padding-left:var(--space-panel-x);padding-right:var(--space-panel-x);margin-left:0;margin-right:0}.panel>.empty-state{padding-top:var(--space-5);padding-bottom:var(--space-5)}.panel>.form-grid,.panel>form,.panel>form.form-grid{padding-top:var(--space-4);padding-bottom:var(--space-3)}.panel>.hint,.panel>p.hint{padding-bottom:var(--space-4);margin-top:0}.panel>.cards,.panel>.grid-2,.panel>.grid-3,.panel>.metric-grid{padding-top:var(--space-3);padding-bottom:var(--space-3)}.panel>ol.steps,.panel>ul.steps{padding-top:var(--space-3);padding-bottom:var(--space-4);box-sizing:border-box}.panel>.muted+.cards,.panel>h3+.cards,.panel-head+.cards{padding-top:var(--space-3)}.panel>.cards+.muted,.panel>.cards+p.muted{padding-top:0}.page-shell--flow>.panel+.panel,.page-shell--flow>.cards+.panel,.page-shell--flow>.stats+.panel,.page>.panel+.panel,.page>.cards+.panel{margin-top:var(--space-4)}.page-shell,.page{width:100%}.host-ops .panel-body.host-ops-body,.home-manage .panel-body,.panel-body.host-ops-body{padding:var(--space-panel-y) var(--space-panel-x) var(--space-5)}.home-manage{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.home-manage .panel-body p.muted{margin-top:0;margin-bottom:var(--space-3)}.host-ops-fieldset{border:none;min-width:0;margin:0;padding:0}.host-ops-fieldset:disabled{opacity:.55}.host-ops-unsupported{border-radius:var(--aq-radius-panel);background:var(--bg-soft);border:1px solid var(--border);margin-bottom:12px;padding:10px 12px}.aq-subnav-item.is-limited{opacity:.65}.host-ops-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.host-ops-pre{white-space:pre-wrap;word-break:break-word;max-height:360px;color:var(--text);background:var(--bg-soft);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin:0;padding:14px 18px 18px;font-size:12px;line-height:1.45;overflow:auto}.toolbar{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.category-tabs{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.category-tab{border:1px solid var(--border);background:var(--bg-elevated);height:36px;color:var(--text-muted);font-size:var(--text-base);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.category-tab:hover{border-color:var(--brand-border-35);color:var(--text);background:var(--brand-mix-06)}.category-tab.active{background:var(--brand-soft);border-color:var(--brand-border-45);color:var(--brand-strong);box-shadow:inset 0 0 0 1px var(--brand-mix-12)}.category-count{font-size:var(--text-xs);background:var(--bg-soft);color:var(--text-muted);border-radius:999px;padding:1px 6px;font-weight:600}.category-tab.active .category-count{background:color-mix(in srgb, var(--brand) 18%, white);color:var(--brand-strong)}.search{border:1px solid var(--border);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%936b7c95' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m12 12 3 3'/%3E%3C/svg%3E") 12px center / 16px no-repeat, var(--bg-elevated);min-width:220px;height:40px;color:var(--text);border-radius:10px;outline:none;flex:1;padding:0 14px 0 38px}.search:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring)}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;padding:var(--space-cell-y) var(--space-cell-x);border-bottom:1px solid var(--border);font-size:var(--text-base);line-height:var(--leading-body,1.5);vertical-align:middle}.table th{color:var(--text-faint);font-weight:500;font-size:var(--text-sm);background:var(--input-bg)}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:var(--row-hover)}.table a.row-link{color:var(--text);font-weight:600}.table a.row-link:hover{color:var(--brand)}.badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-online{color:var(--online-fg);background:var(--online-soft);border-color:color-mix(in srgb, var(--online) 25%, transparent)}.badge-offline{color:var(--danger-fg);background:var(--danger-soft);border-color:#ef444440}.badge-warn{color:var(--warn-fg);background:var(--warn-soft);border-color:#f59e0b40}.badge-idle{color:var(--text-muted);background:var(--idle-soft);border-color:var(--border)}.grid-2{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;display:grid}.metric{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px}.metric label{color:var(--text-faint);margin-bottom:8px;font-size:12px;display:block}.metric strong{font-family:var(--font-display);font-size:22px}.metric .bar{background:var(--hover-fill);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.metric .bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--royal));height:100%;display:block}.log-list{margin:0;padding:8px 0;list-style:none}.log-list li{border-bottom:1px solid var(--border);grid-template-columns:88px 1fr;gap:12px;padding:12px 18px;font-size:13px;display:grid}.log-list li:last-child{border-bottom:none}.log-list time{color:var(--text-faint);font-variant-numeric:tabular-nums}.chip-row{flex-wrap:wrap;gap:8px;padding:0 18px 18px;display:flex}.chip{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:6px 10px;font-size:12px}.empty{text-align:center;color:var(--text-muted);padding:48px 24px}.empty h3{color:var(--text);font-family:var(--font-display);margin:12px 0 6px}.login-page{background:var(--login-page-bg);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;background-image:linear-gradient(#94a3b80d 1px,#0000 1px),linear-gradient(90deg,#94a3b80d 1px,#0000 1px);background-size:48px 48px;animation:28s linear infinite grid-drift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 75%);mask-image:radial-gradient(circle,#000 20%,#0000 75%)}@keyframes grid-drift{0%{transform:translateY(0)}to{transform:translateY(48px)}}.login-card{background:var(--login-card-bg);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;padding:36px 32px 28px;animation:.55s both rise-in;position:relative}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px;display:flex}.login-brand .brand-mark{border-radius:14px;width:52px;height:52px}.login-brand .brand-mark svg{width:26px;height:26px}.login-brand h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:28px}.login-brand p{color:var(--text-muted);margin:0;font-size:14px}.field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:var(--text-base);color:var(--text-muted);line-height:var(--leading-body,1.5)}.field input,.field select,.field textarea{border:1px solid var(--border-strong);background:var(--input-bg);height:44px;color:var(--text);border-radius:10px;outline:none;padding:0 14px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;height:auto;padding:12px 14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring)}.field select{appearance:none}.field-row{justify-content:flex-end;margin:-6px 0 18px;display:flex}.field-row a{color:var(--brand);font-size:13px}.field-row a:hover{text-decoration:underline}.brand-list{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;max-height:320px;margin-bottom:16px;overflow-y:auto}.brand-list.brand-grid{background:0 0;border:none;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-height:360px;padding:10px;display:grid}.brand-list.brand-grid .brand-section-header{color:var(--text-muted);border:none;grid-column:1/-1;padding:8px 4px 4px;font-size:12px;font-weight:600}.brand-list.brand-grid .brand-row,.brand-list.brand-grid .int-row{border:1px solid var(--border);background:var(--bg-elevated);text-align:center;min-height:96px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;padding:12px 8px}.brand-list.brand-grid .brand-row:first-child{border-top:1px solid var(--border)}.brand-list.brand-grid .int-start{flex-direction:column;gap:8px}.brand-list.brand-grid .int-name{flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:600;line-height:1.3}.brand-list.brand-grid .brand-row-domain,.brand-list.brand-grid .int-row .muted{display:none}.brand-list.brand-grid .int-avatar{width:40px;height:40px}.ha-flow-body{flex-direction:column;gap:12px;min-height:80px;display:flex}.ha-flow-errors{color:var(--danger);margin:0;font-size:13px}.int-flow-description{color:var(--text-muted);white-space:normal;margin:0;font-size:13px;line-height:1.55}.int-flow-description a{color:var(--brand)}.ha-add-integration .int-header-title{font-size:14px;font-weight:600}.ha-add-integration .brand-list{max-height:min(52vh,420px)}.brand-row{border:none;border-top:1px solid var(--border);cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--text);background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;transition:background .15s;display:flex}.brand-row-discovery{border-top:1px solid var(--border);align-items:center;gap:6px;width:100%;padding:0 8px 0 0;display:flex}.brand-row-discovery:first-child{border-top:none}.brand-row-discovery .brand-row-main{cursor:pointer;text-align:left;min-width:0;font:inherit;color:var(--text);background:0 0;border:none;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;display:flex}.brand-row-discovery .brand-row-main:hover:not(:disabled){background:var(--row-hover,var(--bg-soft))}.brand-row-discovery .brand-row-main:disabled{opacity:.5;cursor:not-allowed}.brand-row:first-child{border-top:none}.brand-row:hover:not(:disabled){background:var(--row-hover,var(--bg-soft))}.brand-row:disabled{opacity:.5;cursor:not-allowed}.brand-row:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-border);outline:none}.brand-row-name{font-size:13px;font-weight:600}.brand-row-domain{color:var(--text-muted);font-family:ui-monospace,SF Mono,monospace;font-size:11px}.int-start{align-items:center;gap:10px;font-size:13px;display:inline-flex}.int-name{align-items:baseline;gap:6px;display:inline-flex}.int-avatar{background:var(--brand-soft,#edeff3);width:28px;height:28px;color:var(--brand,#0b62da);border:1px solid var(--border);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.int-avatar-img{object-fit:contain;color:#0000;background:#fff;padding:3px}.int-avatar-discovered{background:color-mix(in srgb, var(--online,#157f3c) 12%, white);color:var(--online,#157f3c);border-color:color-mix(in srgb, var(--online) 35%, var(--border))}.int-end{color:var(--text-muted);flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.int-chevron{color:var(--text-muted);opacity:.7}.int-badge{background:var(--bg-soft);width:22px;height:22px;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.int-badge-warn{background:color-mix(in srgb, var(--warn,#f59f0a) 14%, transparent);color:var(--warn,#dc8f09);border-color:color-mix(in srgb, var(--warn) 30%, var(--border))}.int-badge-danger{background:color-mix(in srgb, var(--danger,#ef4343) 14%, transparent);color:var(--danger,#ed2c2c);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.int-toolbar{align-items:center;gap:10px;min-height:28px;margin:4px 0 10px;display:flex}.int-back-btn{flex-shrink:0;min-width:68px}.int-header-title{min-width:0;font-size:var(--text-xl);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;line-height:1.25;overflow:hidden}.int-chips{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.int-chip{border:1px solid var(--border);background:var(--bg-elevated);height:26px;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;padding:0 12px;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.int-chip:hover:not(:disabled){border-color:var(--focus-border);color:var(--text);background:var(--bg-soft)}.int-chip:disabled{opacity:.5;cursor:not-allowed}.int-chip-active{background:var(--brand-soft);color:var(--brand);border-color:color-mix(in srgb, var(--brand) 45%, var(--border));font-weight:600}.int-row{box-shadow:none;transition:all .15s}.int-row:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand) 30%, var(--border));box-shadow:var(--shadow);background:var(--bg-elevated);transform:translateY(-1px)}.int-row:active:not(:disabled){transform:translateY(0)}.int-row:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--focus-border);outline:none}.int-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-width:0;display:grid}@media (width<=1280px){.int-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1024px){.int-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.int-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.int-grid-card{border-radius:var(--radius-sm,12px);border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;text-align:center;width:100%;min-height:132px;color:inherit;font:inherit;min-width:0;box-shadow:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;padding:18px 10px 14px;transition:all .15s;display:flex}.int-grid-card-icon-wrap{flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.int-grid-card-status{border:2px solid var(--bg-elevated);width:10px;height:10px;box-shadow:0 0 0 1px var(--border);border-radius:999px;position:absolute;top:-2px;right:-2px}.int-grid-card-status.badge-online{background:var(--online)}.int-grid-card-status.badge-warn{background:var(--warn)}.int-grid-card-status.badge-offline{background:var(--danger)}.int-grid-card-status.badge-idle{background:var(--text-muted)}.int-grid-card-title{font-size:var(--text-sm);color:var(--text);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;width:100%;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.int-grid-card-sub{font-size:var(--text-xs);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;line-height:1.35;display:-webkit-box;overflow:hidden}.int-grid-card:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand) 30%, var(--border));box-shadow:var(--shadow);transform:translateY(-2px)}.int-grid-card:active:not(:disabled){transform:translateY(0)}.int-grid-card:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--focus-border);outline:none}.int-grid-card-add{border-style:dashed;border-color:color-mix(in srgb, var(--brand) 35%, var(--border));background:color-mix(in srgb, var(--brand-soft) 40%, var(--bg-elevated))}.int-grid-card-add:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.int-grid-card-add-icon{width:48px;height:48px;color:var(--brand);justify-content:center;align-items:center;font-size:28px;font-weight:300;line-height:1;display:flex}.int-grid-empty{text-align:center;color:var(--text-muted);font-size:var(--text-sm);grid-column:1/-1;padding:32px 16px}.int-entry-dialog{flex-direction:column;gap:16px;min-width:0;display:flex}.int-entry-hero{border-radius:var(--radius-sm,12px);background:var(--bg-soft);border:1px solid var(--border);align-items:center;gap:14px;padding:12px;display:flex}.int-entry-hero-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.int-entry-title-row{font-size:var(--text-base);align-items:center;gap:6px;display:flex}.int-entry-title-row strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.int-entry-icon-btn{flex-shrink:0;height:auto!important;padding:4px 6px!important}.int-entry-rename-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.int-entry-rename-row input{min-width:120px;height:34px;font-size:var(--text-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:8px;flex:1;padding:0 10px}.int-entry-meta{font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.int-entry-options{font-size:var(--text-sm);color:var(--text-muted);margin:0 var(--space-panel-x) var(--space-3)}.int-entry-options summary{cursor:pointer;-webkit-user-select:none;user-select:none}.int-entry-options-dl{margin:var(--space-2) 0 0;gap:var(--space-2);display:grid}.int-entry-options-dl>div{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);grid-template-columns:minmax(96px,140px) 1fr;align-items:baseline;display:grid}.int-entry-options-dl dt{color:var(--text-muted);word-break:break-all;margin:0;font-weight:500}.int-entry-options-dl dd{color:var(--text);word-break:break-word;margin:0}.int-entry-actions{border:1px solid var(--border);border-radius:var(--radius-sm,12px);background:var(--bg-elevated);flex-direction:column;gap:2px;display:flex;overflow:hidden}.int-entry-action{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.int-entry-action:last-child{border-bottom:none}.int-entry-action:hover:not(:disabled){background:var(--bg-soft)}.int-entry-action:disabled{opacity:.5;cursor:not-allowed}.int-entry-action-danger{color:var(--danger)}.int-entry-action-dot{border:2px solid var(--border);border-radius:999px;flex-shrink:0;width:16px;height:16px}.int-detail-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.int-detail-search{flex:auto;min-width:160px}.int-ha-header{border-radius:var(--radius-sm,12px);border:1px solid var(--border);background:var(--bg-elevated,#fff);box-shadow:var(--shadow,0 1px 2px #0000000a);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.int-ha-header-main{flex:220px;align-items:flex-start;gap:14px;min-width:0;display:flex}.int-ha-header-text{flex-direction:column;gap:6px;min-width:0;display:flex}.int-ha-header-title{color:var(--text);font-size:20px;font-weight:700;line-height:1.25}.int-ha-header-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;display:flex}.int-ha-badge{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.int-ha-header-counts{color:var(--brand);font-size:13px}.int-ha-header-counts.muted{color:var(--text-muted)}.int-ha-count-link{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.int-ha-count-link:hover{text-decoration:underline}.int-ha-section-title{color:var(--text-muted);padding:12px 14px 6px;font-size:13px;font-weight:600}.int-ha-page{overflow:visible}.int-entry-tree{margin:0;padding:0 0 8px;list-style:none}.int-entry-tree-item+.int-entry-tree-item{border-top:1px solid var(--border)}.int-entry-row{align-items:center;gap:4px;min-height:48px;padding:6px 8px 6px 4px;display:flex}.int-entry-expand{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:transform .15s,background .15s;display:inline-flex}.int-entry-expand:hover:not(:disabled){background:var(--bg-soft);color:var(--text)}.int-entry-expand:disabled{opacity:.35;cursor:default}.int-entry-expand.is-expanded{transform:rotate(0)}.int-entry-expand:not(.is-expanded){transform:rotate(-90deg)}.int-entry-row-main{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:auto;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.int-entry-row-main:hover{background:var(--row-hover,var(--bg-soft))}.int-entry-row-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.int-entry-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.int-entry-row-status{color:var(--text-muted);font-size:12px;line-height:1.35}.int-entry-row-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.int-icon-btn{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.int-icon-btn:hover:not(:disabled){background:var(--bg-soft);color:var(--text)}.int-icon-btn:disabled{opacity:.45;cursor:not-allowed}.int-entry-menu-wrap{position:relative}.int-entry-menu{z-index:20;border:1px solid var(--border);background:var(--bg-elevated);min-width:140px;box-shadow:var(--shadow,0 8px 24px #0000001f);border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.int-entry-menu button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:13px}.int-entry-menu button:hover:not(:disabled){background:var(--bg-soft)}.int-entry-menu button.danger{color:var(--danger)}.int-nested-devices{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 55%, var(--bg-elevated));border-radius:12px;margin:0 12px 10px 36px;padding:0;list-style:none;overflow:hidden}.int-nested-devices.int-nested-services{margin-top:8px}.int-nested-device-row{border-bottom:1px solid var(--border);align-items:center;gap:2px;min-height:52px;padding-right:6px;display:flex}.int-nested-devices li:last-child .int-nested-device-row{border-bottom:none}.int-nested-child .int-nested-device-row{padding-left:8px}.int-tree-indicator{flex:0 0 28px;align-self:stretch;margin-left:8px;position:relative}.int-tree-indicator:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:50%;left:12px}.int-tree-indicator:after{content:"";background:var(--border);width:12px;height:1px;position:absolute;top:50%;left:12px}.int-nested-child.is-last .int-tree-indicator:before{bottom:50%}.int-nested-child:not(.is-last) .int-tree-indicator:before{bottom:0}.int-nested-device-main{text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.int-nested-device-main:hover{background:color-mix(in srgb, var(--brand-soft) 40%, transparent)}.int-nested-chevron{color:var(--text-muted);flex-shrink:0;margin-left:auto}.int-detail-panel{border-radius:var(--radius-sm,12px);border:1px solid var(--border);background:var(--bg-elevated);min-height:120px;overflow:visible}.int-detail-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 16px;font-size:12px;display:flex}.int-device-list{margin:0;padding:0;list-style:none}.int-device-row{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:background .15s;display:flex}.int-device-list li:last-child .int-device-row{border-bottom:none}.int-device-row:hover{background:var(--row-hover,var(--bg-soft))}.int-device-row:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-border);outline:none}.int-device-row-icon{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.int-device-row-body{flex-direction:column;flex:1 1 0;gap:2px;min-width:0;display:flex}.int-device-row-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.int-device-row-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.int-device-row-side{flex-shrink:0;align-items:center;gap:8px;display:flex}.int-device-row-count{color:var(--text-muted);font-size:11px}.int-entity-table-wrap{overflow-x:auto}.int-entity-table{border:none;margin:0}.int-entity-table th,.int-entity-table td{font-size:12px}.int-entity-id{color:var(--text-muted);font-size:11px}.int-entity-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.int-entity-actions .btn-xs{height:26px;padding:2px 8px;font-size:11px}.int-device-dialog{flex-direction:column;gap:14px;display:flex}.int-device-dialog-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.int-device-dialog-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.area-mgmt{gap:var(--space-3);min-height:0;padding:var(--space-3) 0 var(--space-4);flex-direction:column;flex:1 1 0;display:flex;overflow:hidden}.area-mgmt-toolbar,.area-mgmt-create{align-items:center;gap:var(--space-2);padding:0 var(--space-panel-x);flex-shrink:0;display:flex}.area-mgmt-create input{border:1px solid var(--border-strong,var(--border));background:var(--input-bg,#fff);border-radius:10px;flex:1;min-width:0;height:36px;padding:0 12px;font-family:inherit;font-size:13px}.area-mgmt-list{flex:1 1 0;min-height:0;padding:0;overflow:auto}.area-mgmt-rows{margin:0;padding:0;list-style:none}.area-mgmt-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-panel-x);border-bottom:1px solid var(--border);display:flex}.area-mgmt-rows li:last-child .area-mgmt-row{border-bottom:none}.area-mgmt-row-body{flex-direction:column;flex:1 1 0;gap:2px;min-width:0;display:flex}.area-mgmt-row-body strong{font-size:13px}.area-mgmt-id{color:var(--text-muted);font-size:10px}.area-mgmt-row-actions{flex-shrink:0;gap:6px;display:flex}.project-debug-page .workbench-main>.aq-list-panel--scroll>.area-mgmt{flex:1 1 0;min-height:0}.auto-trace-dl{gap:10px;margin:0;display:grid}.auto-trace-dl>div{grid-template-columns:96px 1fr;align-items:baseline;gap:8px;display:grid}.auto-trace-dl dt{font-size:var(--text-sm);color:var(--text-muted);margin:0}.auto-trace-dl dd{font-size:var(--text-base);word-break:break-all;margin:0}.auto-trace-runs{margin-top:16px}.auto-trace-runs h4,.auto-trace-detail h4{font-size:var(--text-sm);margin:0 0 8px;font-weight:600}.auto-trace-run-list{flex-direction:column;gap:6px;max-height:180px;display:flex;overflow:auto}.auto-trace-run{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.auto-trace-run:hover,.auto-trace-run.active{border-color:color-mix(in srgb, var(--brand) 40%, var(--border));box-shadow:var(--shadow)}.auto-trace-run strong{font-size:var(--text-sm)}.auto-trace-run span{font-size:var(--text-xs);color:var(--text-muted)}.auto-trace-detail{margin-top:16px}.auto-trace-steps{font-size:var(--text-sm);margin:0;padding-left:18px;line-height:1.55}.auto-trace-json{border-radius:var(--radius-sm);background:var(--bg-soft);max-height:240px;margin:0;padding:10px;font-size:11px;overflow:auto}.auto-trace-toolbar{gap:8px;margin-bottom:12px;display:flex}.auto-trace-empty{border-radius:var(--radius-sm);background:var(--bg-soft);font-size:var(--text-sm);padding:10px 12px;line-height:1.55}.auto-trace-empty ul{color:var(--text-muted);margin:8px 0 0;padding-left:18px}.auto-trace-tree{font-size:var(--text-sm);margin:0;padding:0;line-height:1.5;list-style:none}.auto-trace-tree-row{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:6px 0;display:flex}.auto-trace-tree-row.status-fail .auto-trace-tree-label{color:var(--danger)}.auto-trace-tree-row.status-ok .auto-trace-tree-label{color:var(--online)}.auto-trace-tree-row.status-skip .auto-trace-tree-label{color:var(--warn)}.auto-trace-tree-label{font-weight:600}.auto-trace-tree-detail{font-size:var(--text-xs);color:var(--text-muted)}.convert-mode-list{flex-direction:column;gap:10px;margin:16px 0;display:flex}.convert-mode-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;transition:transform .15s,box-shadow .15s;display:flex}.convert-mode-card:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--brand) 35%, var(--border));transform:translateY(-1px)}.convert-mode-card strong{font-size:var(--text-base)}.convert-mode-card span{font-size:var(--text-sm);color:var(--text-muted);line-height:1.45}.brand-section-header{font-size:var(--text-sm);color:var(--brand);background:color-mix(in srgb, var(--brand) 6%, transparent);border-top:1px solid var(--border);border-bottom:1px solid var(--border);letter-spacing:.3px;z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:7px 14px;font-weight:600;position:sticky;top:0}.brand-section-header:first-child{border-top-left-radius:var(--radius-sm,12px);border-top-right-radius:var(--radius-sm,12px);border-top:none}.int-search-row{align-items:stretch;gap:8px;margin-bottom:14px;display:flex}.int-search-wrap{flex:auto;min-width:0;position:relative}.int-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.int-search-input{border-radius:var(--radius-sm,12px);border:1px solid var(--border-strong);background:var(--input-bg,var(--bg-elevated));width:100%;height:36px;color:var(--text);font-size:var(--text-base);outline:none;padding:0 12px 0 32px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.int-search-input::placeholder{color:var(--text-muted)}.int-search-input:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring)}.int-search-input:disabled{opacity:.55;cursor:not-allowed}.int-refetch-btn{flex-shrink:0;justify-content:center;align-items:center;gap:4px;height:36px;min-height:36px;padding:0 12px;display:inline-flex}.login-submit{width:100%;height:46px;margin-top:4px}.login-foot{text-align:center;color:var(--text-muted);margin-top:20px;font-size:13px}.login-foot a{color:var(--brand);font-weight:600}.login-hint{background:var(--brand-soft);border:1px solid var(--brand-border-25);color:var(--text-muted);border-radius:10px;margin-top:16px;padding:12px 14px;font-size:12px;line-height:1.5}.login-error{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger-fg);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:13px}.cards{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.host-card{padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-card);transition:border-color .18s,transform .15s,box-shadow .18s}.host-card:hover{border-color:var(--brand-border-35);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.host-card-top{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.host-card h3{margin:0 0 var(--space-1);font-size:var(--text-lg);line-height:var(--leading-title,1.25);letter-spacing:-.015em}.host-card .muted{color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-body,1.5)}.host-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.host-metrics div{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px}.host-metrics span{color:var(--text-faint);margin-bottom:4px;font-size:11px;display:block}.host-metrics strong{font-family:var(--font-display);font-size:16px}.detail-hero{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(135deg, var(--brand-mix-08), transparent 40%), var(--surface-panel);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:20px;display:flex;position:relative}.project-detail>.project-detail-hero{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:linear-gradient(135deg, var(--brand-mix-06), transparent 46%), var(--surface-panel);align-items:flex-start;gap:20px;margin-bottom:12px;padding:22px 24px;box-shadow:0 1px 2px #1d212b08,0 10px 28px #1d212b0b}.project-detail-hero-main{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.project-detail-hero h1{letter-spacing:-.02em;color:var(--text);margin:0;font-size:24px;font-weight:700;line-height:1.2}.project-detail-lede{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.project-detail-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-detail-facts{border-top:1px solid color-mix(in srgb, var(--border) 85%, transparent);color:var(--text);flex-wrap:wrap;gap:8px 20px;margin-top:2px;padding-top:12px;font-size:12px;line-height:1.4;display:flex}.project-detail-facts>div{align-items:baseline;gap:8px;min-width:0;display:inline-flex}.project-detail-fact-label{color:var(--text-faint);letter-spacing:.02em;flex:none;font-weight:500}.project-detail>.project-detail-mode{border-radius:12px;align-items:flex-start;margin:0 0 18px;padding:12px 16px}.project-detail-mode strong{letter-spacing:-.01em;font-size:13px;font-weight:600}.project-detail-mode p{color:var(--text-muted);margin:4px 0 0;font-size:12px;line-height:1.5}.project-detail>.tabs{gap:8px;margin-bottom:18px}.project-detail-stack,.project-detail-stack-item{margin-top:0}.project-detail-stack+.project-detail-stack-item,.project-detail-stack-item+.project-detail-stack-item,.project-detail-stack+.panel,.project-detail>.panel.project-detail-stack-item{margin-top:16px}.project-detail-grid{align-items:stretch;gap:16px}.project-detail-metrics{gap:10px;padding:16px}.project-detail-metrics .metric{background:color-mix(in srgb, var(--bg) 88%, var(--bg-elevated));border:1px solid color-mix(in srgb, var(--border) 90%, transparent);box-shadow:none;border-radius:12px;padding:12px 14px}.project-detail-metrics .metric label{letter-spacing:.02em;color:var(--text-faint);margin-bottom:6px;font-size:11px;font-weight:500}.project-detail-metrics .metric strong{letter-spacing:-.02em;font-size:20px;font-weight:650;line-height:1.15}.project-detail-metrics .metric-suffix{color:var(--text-muted);margin-left:6px;font-size:13px;font-weight:560}.project-detail-metrics .metric-text{font-size:15px;font-weight:600}.project-detail-metrics .metric-hint{color:var(--text-muted);margin-top:6px;font-size:11px;line-height:1.4}.project-detail-kv{flex-direction:column;margin:0;padding:6px 0;display:flex}.project-detail-kv>div{border-bottom:1px solid color-mix(in srgb, var(--border) 88%, transparent);grid-template-columns:112px minmax(0,1fr);align-items:start;gap:12px 16px;padding:11px 18px;display:grid}.project-detail-kv>div:last-child{border-bottom:none}.project-detail-kv dt{color:var(--text-faint);margin:0;font-size:12px;font-weight:500;line-height:1.5}.project-detail-kv dd{color:var(--text);word-break:break-word;margin:0;font-size:13px;line-height:1.5}.project-detail-kv-hint{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.project-detail-kv-flow{color:var(--text-muted);letter-spacing:.01em;font-size:12px}.project-detail-auth-note{border-top:1px solid color-mix(in srgb, var(--border) 88%, transparent);padding-top:4px}.project-detail .header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}@media (width<=900px){.project-detail-grid{grid-template-columns:1fr}.project-detail>.project-detail-hero{flex-direction:column;align-items:stretch}.project-detail .header-actions{justify-content:flex-start}.project-detail-kv>div{grid-template-columns:1fr;gap:4px}}.mode-banner{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:-8px 0 16px;padding:14px 16px;display:flex}.mode-banner p{color:var(--text-muted);margin:4px 0 0;font-size:13px;line-height:1.45}.mode-banner-debug{background:color-mix(in srgb, var(--warn) 10%, var(--bg-elevated));border-color:color-mix(in srgb, var(--warn) 28%, var(--border))}.mode-banner-service{background:color-mix(in srgb, var(--brand) 8%, var(--bg-elevated));border-color:color-mix(in srgb, var(--brand) 22%, var(--border))}.mode-banner-chip{border:1px solid var(--border);background:var(--surface-panel);color:var(--text-muted);white-space:nowrap;border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:600}.handoff-checklist{flex-direction:column;gap:10px;margin:16px 0 4px;display:flex}.handoff-check{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.handoff-check input{margin-top:2px}.detail-hero h1{font-family:var(--font-display);font-size:var(--text-2xl);margin:0 0 8px}.meta-row{color:var(--text-muted);font-size:var(--text-base);flex-wrap:wrap;gap:10px 16px;display:flex}.tabs{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.tab{border:1px solid var(--border);height:36px;color:var(--text-muted);font-size:var(--text-base);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 14px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.tab:hover{border-color:var(--brand-border-35);color:var(--text);background:var(--brand-mix-06)}.tab.active{color:var(--brand-strong);background:var(--brand-soft);border-color:var(--brand-border-45);box-shadow:inset 0 0 0 1px var(--brand-mix-12)}.tabs-divider{background:var(--border);align-self:stretch;width:1px;min-height:24px;margin:6px 4px}.tabs-group-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);align-self:center;margin-right:2px}.tab-diff{opacity:.9}.muted{color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-body,1.5)}.bar{background:var(--hover-fill);border-radius:999px;height:6px;overflow:hidden}.bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--royal));height:100%;display:block}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.segment{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;padding:3px;display:inline-flex}.segment button{height:32px;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.segment button.active{background:var(--brand-mix-16);color:var(--text)}.form-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.form-grid .full{grid-column:1/-1}.yaml-preview{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;max-height:360px;margin:12px 0;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;overflow:auto}.aq-linkage-stack{flex-direction:column;gap:12px;min-height:0;display:flex}.ai-draft-panel{padding:14px 16px}.ai-draft-panel .panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.ai-draft-panel .panel-head h2{font-size:var(--text-base);align-items:center;gap:8px;margin:0;font-weight:600;display:inline-flex}.ai-draft-form .field textarea{resize:vertical;min-height:64px}.aq-ai-subset-panel{margin-bottom:12px}.aq-ai-subset-list{flex-direction:column;gap:10px;padding:0 4px 8px;display:flex}.aq-ai-subset-card{border-radius:var(--radius-sm,12px);background:var(--bg-elevated);box-shadow:var(--shadow-sm);padding:12px 14px}.aq-ai-subset-card header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.aq-ai-subset-reason{color:var(--text);margin:0 0 8px;font-size:13px;line-height:1.45}.aq-ai-subset-warnings{color:var(--warn);margin:0 0 8px;padding-left:18px;font-size:12px}.aq-ai-subset-actions{color:var(--text-muted);margin:0 0 10px;padding-left:18px;font-size:12px}.aq-ai-subset-actions--edit{padding-left:0;list-style:none}.aq-ai-subset-actions--edit li{background:var(--bg-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:6px 8px;display:flex}.aq-ai-climate-section{border-top:1px solid var(--border);margin:12px 4px 16px;padding-top:10px}.aq-ai-climate-section h3{font-size:var(--text-base);align-items:center;gap:6px;margin:0 0 10px;font-weight:600;display:flex}.aq-ai-climate-slots{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0 0 10px;padding:0;list-style:none;display:grid}.aq-ai-climate-slots li{border-radius:var(--radius-sm,12px);background:var(--bg-soft);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;display:flex}.aq-ai-climate-slots li.ready{color:var(--online)}.aq-ai-climate-slots li.miss{color:var(--warn)}.aq-ai-climate-slots li strong{color:var(--text);font-size:13px;display:block}.aq-ai-climate-table{font-size:12px}.aq-ai-climate-form{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:10px 0;display:grid}.aq-ai-climate-yaml{max-height:240px;margin-top:10px;overflow:auto}.aq-ai-climate-yaml-edit{border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text);resize:vertical;border-radius:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45}.aq-ai-algo-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.aq-ai-algo-row{border-radius:var(--radius-sm,12px);background:var(--bg-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.aq-ai-algo-copy{flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.aq-ai-algo-copy strong{color:var(--text);font-size:13px}.aq-ai-algo-gap{color:var(--warn);align-items:center;gap:4px;display:inline-flex}.aq-ai-algo-ok{color:var(--online);align-items:center;gap:4px;display:inline-flex}.aq-ai-algo-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.aq-ai-gap-list{flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none;display:flex}.aq-ai-gap-list li{background:var(--bg-soft);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.ai-draft-queue{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.ai-draft-queue-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ai-draft-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ai-draft-list li{border-radius:var(--radius-sm);background:var(--bg-soft);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.ai-draft-actions{gap:4px;display:inline-flex}.ai-scene-note{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 10px;line-height:1.5}.ai-scene-templates{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ai-scene-areas{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.ai-scene-areas-label{font-size:var(--text-sm);color:var(--text-muted);margin-right:4px}.ai-scene-chip{background:var(--bg-soft);height:32px;color:var(--text);font-size:var(--text-sm);cursor:pointer;border:0;border-radius:999px;padding:0 12px}.ai-scene-chip.active{background:var(--brand-soft);color:var(--brand)}.ai-scene-editor{width:100%;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.ai-scene-diff{border-radius:var(--radius-sm);background:var(--bg-soft);max-height:220px;margin:8px 0 0;padding:10px 12px;font-size:12px;line-height:1.45;overflow:auto}.ai-scene-diff .add{color:var(--online)}.ai-scene-diff .del{color:var(--danger)}.ai-scene-switch-row{justify-content:flex-start;margin-top:0;margin-bottom:10px}.ai-scene-admin-switches{flex-direction:column;gap:10px;display:flex}.ai-scene-switch-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.hint{font-size:var(--text-sm);color:var(--text-muted);margin-top:10px}.form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.form-actions-split{justify-content:space-between;align-items:center}.form-actions-group{gap:10px;display:flex}.modal-backdrop{background:var(--modal-backdrop);z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-backdrop-drawer{background:#02060e73;place-items:stretch end;padding:0}html[data-theme=light] .modal-backdrop-drawer,[data-theme=light] .modal-backdrop-drawer{background:#0f172a47}.modal{border:1px solid var(--border);background:var(--surface-modal);width:min(560px,100%);max-height:min(86vh,900px);box-shadow:var(--shadow);border-radius:16px;overflow:auto}.modal-wide{width:min(780px,100%)}.modal-drawer{border:none;border-left:1px solid var(--border);border-radius:0;flex-direction:column;width:min(720px,100%);max-width:100%;height:100%;max-height:100%;margin:0;animation:.22s ease-out drawer-in;display:flex;box-shadow:-16px 0 48px #00000047}.modal-drawer-wide{width:min(1080px,100%)}.personal-center-backdrop .modal-body{padding:0 24px 28px}.personal-center-panel{max-width:none;padding:0}.personal-center-panel .settings-grid{margin-top:0}.modal-drawer .modal-head{flex-shrink:0;align-items:center;padding:20px 24px 16px}.modal-drawer .modal-head h2{letter-spacing:-.02em;font-size:22px}.modal-drawer .modal-body{flex:1;padding:8px 24px 24px;overflow:auto}.modal-drawer .customer-wizard{gap:28px;padding-bottom:12px}.modal-drawer .form-section{border:none;border-top:1px solid var(--border);border-radius:0;padding:18px 0 0}.modal-drawer .form-section:first-of-type{border-top:none;padding-top:0}.modal-drawer .form-section legend{float:none;width:100%;margin-bottom:14px;padding:0}.modal-drawer .sticky-actions{padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px));margin:8px -24px -24px;bottom:0}.modal-drawer .wizard-success{text-align:left;padding-top:8px}@keyframes drawer-in{0%{opacity:.72;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.modal-drawer{animation:none}}@media (width<=720px){.modal-drawer{width:100%}}.modal-head{border-bottom:1px solid var(--border);background:var(--surface-modal);z-index:1;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex;position:sticky;top:0}.modal-head-text{flex:1;min-width:0}.modal-head-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-head h2{margin:0;font-size:16px;font-weight:600;line-height:1.3}.modal-eyebrow{color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:600}.modal-subtitle{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.4}.modal-body{padding:18px}.modal-has-footer .modal-body{padding-bottom:12px}.modal-footer{border-top:1px solid var(--border);background:var(--surface-modal);z-index:1;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;display:flex;position:sticky;bottom:0}.modal-footer .btn{min-width:88px}.customer-wizard{flex-direction:column;gap:20px;display:flex}.form-section{border:1px solid var(--border);border-radius:12px;min-width:0;margin:0;padding:18px 14px 14px}.form-section legend{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;padding:0 8px;font-size:10px;font-weight:600}.field-help{color:var(--text-faint);margin:6px 0 0;font-size:11px;line-height:1.45}.field-help a{color:var(--brand);text-decoration:underline}.field-error{color:var(--danger-fg);font-size:var(--text-sm);margin:8px 0 0;line-height:1.45}.sticky-actions{z-index:2;border-top:1px solid var(--border);background:var(--surface-modal);margin:0 -18px -18px;padding:14px 18px;position:sticky;bottom:-18px}.wizard-success{text-align:center;padding:16px 0 4px}.wizard-success h3{margin:0 0 8px}.wizard-success p{color:var(--text-muted);margin:0 0 18px;font-size:13px}.library-count{color:var(--text-faint);white-space:nowrap;margin-left:auto;font-size:12px}.device-name-cell,.user-name-cell{align-items:center;gap:10px;display:flex}.device-name-cell .catalog-icon{border-radius:8px;flex:none;width:32px;height:32px}.user-avatar{width:28px;height:28px;color:var(--brand);background:var(--brand-soft);border:1px solid var(--border);border-radius:999px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.status-dot{border-radius:999px;flex:none;width:8px;height:8px}.status-dot.on{background:var(--online)}.status-dot.off{background:var(--text-faint)}.row-actions{justify-content:flex-end;gap:6px;display:flex}.device-empty{flex-direction:column;align-items:center;gap:10px;display:flex}.device-empty p{margin:0}.device-empty>div{gap:8px;display:flex}.catalog-search{width:100%;margin-bottom:14px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.catalog-card{border:1px solid var(--border);background:var(--surface-card);border-radius:12px;grid-template-columns:44px 1fr;gap:12px;padding:12px;display:grid}.catalog-icon{border:1px solid var(--border);width:42px;height:42px;color:var(--brand);background:repeating-linear-gradient(45deg, var(--brand-soft), var(--brand-soft) 5px, transparent 5px, transparent 10px), var(--bg-soft);border-radius:10px;place-items:center;display:grid}.catalog-icon-green{color:var(--online)}.catalog-icon-yellow{color:var(--warn)}.catalog-card-body{min-width:0}.catalog-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.catalog-card-head h3{margin:0 0 3px;font-size:13px}.catalog-card-head span{color:var(--text-faint);font-size:11px}.catalog-card-head .btn{flex:none;min-height:32px;padding:0 12px}.catalog-specs{grid-template-columns:1.5fr .7fr;gap:12px;margin-top:12px;display:grid}.catalog-specs span{color:var(--text-faint);text-transform:uppercase;align-items:center;gap:4px;font-size:9px;display:flex}.catalog-specs strong{margin-top:4px;font-size:11px;line-height:1.4;display:block}.catalog-card-body>p{color:var(--text-muted);margin:10px 0 0;font-size:11px;line-height:1.45}.icon-btn{width:var(--icon-btn-h);height:var(--icon-btn-h);border-radius:var(--btn-radius);color:var(--text-muted);cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;transition:transform .15s,background .2s,border-color .2s,color .2s;display:inline-grid}.icon-btn:hover{background:var(--hover-fill);color:var(--text)}.icon-btn:active{transform:scale(.97)}.icon-btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.icon-btn-sm{width:var(--icon-btn-h-sm);height:var(--icon-btn-h-sm);border-radius:var(--btn-radius)}.icon-btn.danger{color:var(--text-muted)}.icon-btn.danger:hover:not(:disabled){color:var(--danger-fg);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--hover-fill)}.toast{background:var(--bg-elevated);border:1px solid var(--border);max-width:min(480px,100vw - 32px);box-shadow:var(--shadow-lg);color:var(--text);z-index:90;text-align:center;border-radius:12px;padding:12px 18px;font-size:13px;animation:.25s both toast-slide-in;position:fixed;inset:auto auto 28px 50%;transform:translate(-50%)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.update-row{border-bottom:1px solid var(--border);grid-template-columns:1.2fr 1fr auto;align-items:center;gap:12px;padding:14px 18px;display:grid}.update-row:last-child{border-bottom:none}.steps{color:var(--text-muted);margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.7}.settings-stack,.settings-page{gap:var(--space-4);flex-direction:column;display:flex}.settings-ws-id{letter-spacing:.01em;color:var(--text-muted);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.settings-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.settings-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-sm,0 1px 2px #0f172a0a);flex-direction:column;min-height:0;display:flex}.settings-card-wide{grid-column:1/-1}.settings-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.settings-card-head h2{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:600;line-height:var(--leading-title,1.25);margin:0}.settings-card-desc{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-body,1.5);font-weight:400}.settings-system-form{gap:var(--space-3);flex-direction:column;display:flex}.settings-system-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.settings-system-check .settings-check-inline{min-height:44px;color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.settings-system-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-system-test{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-system-test-input{border:1px solid var(--border);background:var(--bg-elevated);min-width:220px;height:40px;color:var(--text);border-radius:10px;padding:0 12px;font-size:13px}.settings-system-test-input:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.field-relative .field-eye{position:absolute;top:50%;right:8px;transform:translateY(-50%)}@media (width<=900px){.settings-system-grid{grid-template-columns:1fr}}.settings-profile{align-items:center;gap:14px;margin-top:2px;display:flex}.settings-avatar{background:var(--gradient-brand-mark-btn);width:48px;height:48px;color:var(--btn-primary-fg);border-radius:14px;flex-shrink:0;place-items:center;font-size:18px;font-weight:700;display:grid}.settings-profile-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-profile-meta strong{letter-spacing:-.02em;font-size:16px}.settings-profile-meta span{color:var(--text-muted);text-overflow:ellipsis;font-size:13px;overflow:hidden}.settings-dl{flex-direction:column;gap:12px;margin:0;display:flex}.settings-dl>div{grid-template-columns:72px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.settings-dl dt{color:var(--text-faint);letter-spacing:.02em;margin:0;font-size:12px;font-weight:600}.settings-dl dd{margin:0;font-size:13.5px;line-height:1.45}.settings-plan-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:14px;display:flex}.settings-plan-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-plan-label{font-size:var(--text-sm);color:var(--text-muted)}.settings-plan-meta strong{font-size:var(--text-md);letter-spacing:-.01em;font-weight:600}.settings-upgrade-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.settings-upgrade-option{border:1px solid var(--border);border-radius:var(--btn-radius,8px);background:var(--bg-elevated);width:100%;color:var(--text);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;transition:background .2s,border-color .2s;display:flex}.settings-upgrade-option:hover:not(:disabled){background:var(--bg-soft);border-color:color-mix(in srgb, var(--brand) 35%, var(--border))}.settings-upgrade-option:disabled{opacity:.55;cursor:not-allowed}.settings-upgrade-option strong{font-size:var(--text-md);font-weight:600}.settings-option-grid,.settings-theme-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-lang-row{flex-wrap:wrap;gap:8px;display:flex}.settings-option{border:1px solid var(--border);background:var(--bg-soft);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.settings-option-compact{flex:120px;width:auto;min-width:120px;padding:9px 12px}.settings-option:hover{border-color:color-mix(in srgb, var(--brand) 35%, var(--border))}.settings-option.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 25%, transparent);font-weight:600}.settings-option-code{background:var(--bg-elevated);border:1px solid var(--border);letter-spacing:.04em;min-width:32px;height:24px;color:var(--text-muted);border-radius:7px;place-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-grid}.settings-option.active .settings-option-code{border-color:color-mix(in srgb, var(--brand) 40%, var(--border));color:var(--brand)}.settings-accent-row{flex-wrap:wrap;gap:10px;padding-top:2px;display:flex}.settings-accent{background:var(--accent-swatch);width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--bg-elevated);cursor:pointer;border:2px solid #0000;border-radius:999px;padding:0}.settings-accent.active{border-color:var(--text);box-shadow:inset 0 0 0 2px var(--bg-elevated), 0 0 0 2px color-mix(in srgb, var(--accent-swatch) 35%, transparent)}.settings-select{border:1px solid var(--border);background:var(--bg-soft);width:100%;max-width:220px;height:38px;color:var(--text);border-radius:10px;padding:0 12px;font-size:13px}.settings-card-danger{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:color-mix(in srgb, var(--danger) 6%, var(--bg-elevated))}.settings-card-danger .settings-card-head{align-items:center}.settings-card-danger .settings-card-head h2{color:var(--danger-fg)}.settings-card-span2{grid-column:span 2}.settings-role-list{flex-direction:column;gap:10px;display:flex}.settings-role-item{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.settings-role-main{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-role-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-role-main p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}@media (width<=1180px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1181px){.settings-card-span2{grid-column:span 3}}@media (width<=760px){.settings-grid,.settings-theme-modes{grid-template-columns:1fr}.settings-card-span2{grid-column:1}.settings-dl>div{grid-template-columns:1fr;gap:4px}.settings-role-item{flex-direction:column}.settings-card-danger .settings-card-head{flex-direction:column;align-items:stretch}}.panel-sub{color:var(--text-muted);margin:4px 0 0;font-size:12px;font-weight:400;line-height:1.45}.role-perm-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px;display:grid}.role-perm-group{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;padding:12px 14px}.role-perm-group h3{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:12px}.role-perm-list{flex-direction:column;gap:8px;display:flex}@media (width<=860px){.role-perm-board{grid-template-columns:1fr}}.roles-shell{grid-template-columns:minmax(240px,280px) 1fr;min-height:min(70vh,720px);padding:0;display:grid;overflow:hidden}.roles-nav{border-right:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 70%, transparent);flex-direction:column;min-height:0;display:flex}.roles-nav-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.roles-nav-body{flex:1;padding:8px;overflow:auto}.roles-nav-empty{padding:8px 12px;font-size:12px;list-style:none}.roles-group{margin-bottom:4px}.roles-group-btn{width:100%;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:background .15s,color .15s;display:flex}.roles-group-btn:hover,.roles-group-btn.is-open{background:var(--brand-soft);color:var(--text)}.roles-group-label{text-align:left;flex:1;font-weight:600}.roles-group-list{margin:2px 0 8px;padding:0 0 0 12px;list-style:none}.roles-item{color:var(--text-muted);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:7px 10px;transition:background .15s,color .15s;display:flex;position:relative}.roles-item:hover{background:var(--bg-soft);color:var(--text)}.roles-item.is-active{background:var(--brand-soft);color:var(--brand);font-weight:600}.roles-item-icon{opacity:.85;flex-shrink:0}.roles-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.roles-item-more{opacity:0;transition:opacity .15s;position:relative}.roles-item:hover .roles-item-more,.roles-item.is-active .roles-item-more{opacity:1}.roles-item-menu{z-index:20;background:var(--bg-elevated);min-width:132px;box-shadow:var(--shadow);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.roles-item-menu button{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.roles-item-menu button:hover{background:var(--bg-soft)}.roles-item-menu button.danger{color:var(--danger)}.roles-detail{flex-direction:column;min-width:0;min-height:0;display:flex}.roles-detail-empty{flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.roles-detail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;display:flex}.roles-detail-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roles-detail-title h2{font-size:var(--text-xl);margin:0;font-weight:600}.roles-detail-head>div>.muted{margin:6px 0 0;font-size:13px}.roles-detail-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.roles-detail-body{flex:1;padding:18px 22px 24px;overflow:auto}.roles-perm-group-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.roles-perm-group-head h3{margin:0}@media (width<=860px){.roles-shell{grid-template-columns:1fr;min-height:auto}.roles-nav{border-right:0;border-bottom:1px solid var(--border);max-height:280px}.roles-detail-head{flex-direction:column}}.site-config-shell{grid-template-columns:minmax(200px,220px) 1fr;min-height:min(60vh,640px);padding:0;display:grid;overflow:hidden}.site-config-shell--frontend{min-height:min(72vh,820px)}.site-config-shell--frontend .site-config-detail{flex-direction:column;padding:0;display:flex;overflow:auto}.site-frontend-editor{flex-direction:column;min-height:100%;display:flex}.site-frontend-editor-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.site-frontend-editor-body{flex-direction:column;gap:14px;padding:16px 22px 24px;display:flex}.site-config-nav{border-right:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 70%, transparent);flex-direction:column;gap:14px;padding:12px;display:flex}.site-config-nav-group{flex-direction:column;gap:4px;display:flex}.site-config-nav-group-label{letter-spacing:.06em;color:var(--text-faint);margin:0;padding:4px 12px 2px;font-size:11px;font-weight:650}.site-config-nav-item{color:var(--text-muted);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:background .15s,color .15s;display:flex}.site-config-nav-item:hover{background:var(--bg-soft);color:var(--text)}.site-config-nav-item.is-active{background:var(--brand-soft);color:var(--brand);font-weight:600}.site-config-detail{flex-direction:column;min-width:0;display:flex}.site-config-detail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;display:flex}.site-config-detail-head h2{font-size:var(--text-xl);margin:0;font-weight:600}.site-config-detail-head .muted{margin:6px 0 0;font-size:13px}.site-config-body{flex-direction:column;gap:16px;padding:18px 22px 24px;display:flex}@media (width<=860px){.site-config-shell{grid-template-columns:1fr}.site-config-nav{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap}}@media (width<=1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.form-grid,.update-row{grid-template-columns:1fr}}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);height:auto;position:relative}.nav{flex-direction:row;padding-bottom:6px;overflow-x:auto}.nav-link span{display:none}.main{padding:var(--space-4) var(--space-4) var(--space-5)}.page-header{flex-direction:column}.metric-grid,.catalog-grid{grid-template-columns:1fr}}.nav-group{margin-bottom:2px}.nav-section{color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase;padding:8px 18px 2px;font-size:11px}.dashboard-stats{margin-bottom:var(--space-4);grid-template-columns:repeat(4,1fr)}.dashboard-quick-links{flex-wrap:wrap;gap:10px;padding:4px 0 2px;display:flex}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}.card-link{color:inherit;text-decoration:none}.card-link .card{height:100%;transition:border-color .18s,transform .18s}.card-link:hover .card{border-color:var(--brand-border-35);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm,0 1px 3px #1d212b0f);transition:border-color .2s,transform .15s,box-shadow .2s}.card .lbl{color:var(--text-muted);font-size:var(--text-base);margin-bottom:var(--space-2);line-height:var(--leading-body,1.5)}.card .num{font-size:var(--text-3xl);font-weight:700;font-family:var(--font-display);margin-bottom:var(--space-2);letter-spacing:-.03em;line-height:1.1}.card .sub{font-size:var(--text-sm);line-height:var(--leading-body,1.5);color:var(--text-muted)}.tag{border-radius:20px;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-block}.t-ok{background:var(--online-soft);color:var(--online)}.t-warn{background:var(--warn-soft);color:var(--warn)}.t-bad{background:var(--danger-soft);color:var(--danger)}.t-info{background:var(--brand-soft);color:var(--brand)}.t-mut{background:var(--idle-soft);color:var(--text-muted)}.btn.pri{background:var(--brand);color:var(--btn-primary-fg);border-color:var(--brand)}.dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.d-ok{background:var(--online)}.d-bad{background:var(--danger)}.d-warn{background:var(--warn)}.flow-steps{padding:var(--space-3) var(--space-panel-x) var(--space-4);flex-wrap:wrap;align-items:center;gap:0;margin:0;display:flex}.flow-step{background:var(--surface-card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:12px 16px;font-size:13px}.flow-arrow{color:var(--text-faint);padding:0 10px;font-size:16px}.panel table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.panel th,.panel td{text-align:left;padding:var(--space-cell-y) var(--space-cell-x);border-bottom:1px solid var(--border);line-height:var(--leading-body,1.5);vertical-align:middle}.panel th{color:var(--text-faint);font-weight:500;font-size:var(--text-sm);background:var(--input-bg)}.panel tr:hover td{background:var(--row-hover)}.panel h3{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-title,1.25);letter-spacing:-.015em;justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.panel h3 .tag{font-size:var(--text-xs)}.topbar h1{font-size:var(--text-xl);font-weight:600;line-height:var(--leading-title,1.25);margin:0}.page-header h1{font-size:var(--text-2xl);line-height:var(--leading-title,1.25)}.page-header p{font-size:var(--text-md);line-height:var(--leading-body,1.5)}.panel-head h2,.panel h2{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-title,1.25)}.panel p,.panel td,.panel li{font-size:var(--text-base);line-height:var(--leading-body,1.5)}.panel .muted{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-body,1.5)}.panel th,.card .lbl{font-size:var(--text-sm)}.card .num{font-size:var(--text-3xl)}.card .sub,.tag{font-size:var(--text-sm)}.btn{font-size:var(--text-md)}.btn-sm,.btn.sm,.btn-xs{font-size:var(--text-xs)}.nav-link span{font-size:var(--text-base)}.nav-section span{font-size:var(--text-xs)}.flow-step{font-size:var(--text-base)}.flow-step small{font-size:var(--text-xs)}.room-pills{flex-wrap:wrap;gap:8px;display:flex}.room-pill{border:1px solid var(--border);background:var(--bg-elevated);height:34px;color:var(--text-muted);font-size:var(--text-md);cursor:pointer;border-radius:999px;padding:0 16px;transition:all .15s}.room-pill:hover{border-color:var(--border-strong);color:var(--text)}.room-pill.active{background:var(--brand-soft);border-color:var(--brand-border-45);color:var(--text)}.room-bar-actions{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 18px;display:flex}.device-area{padding:16px 18px 22px}.room-group{margin-bottom:22px}.room-group:last-child{margin-bottom:0}.room-group-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.room-group-head h3{font-size:var(--text-md);color:var(--text);margin:0;font-weight:600}.room-group-head .muted{font-size:var(--text-sm)}.device-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;display:grid}.device-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);cursor:pointer;flex-direction:column;gap:10px;padding:14px;transition:border-color .15s,transform .15s,background .15s;display:flex;position:relative}.device-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.device-card.selected{border-color:var(--focus-border);background:var(--brand-mix-06)}.device-card.offline{opacity:.62}.device-card-top{justify-content:space-between;align-items:flex-start;display:flex}.device-icon-tile{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.device-icon-tile.lg{border-radius:14px;width:48px;height:48px}.device-icon-tile.sm{border-radius:8px;width:32px;height:32px}.device-icon-tile[data-domain=light]{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn-fg)}.device-icon-tile[data-domain=climate]{background:var(--brand-mix-14);color:var(--brand)}.device-icon-tile[data-domain=lock]{background:var(--danger-soft);color:var(--danger-fg)}.device-icon-tile[data-domain=sensor],.device-icon-tile[data-domain=binary_sensor]{background:var(--idle-soft);color:var(--idle-fg)}.device-check{cursor:pointer;opacity:0;transition:opacity .15s;display:inline-flex}.device-card:hover .device-check{opacity:1}.device-check:has(input:checked){opacity:1}.device-card-name{font-size:var(--text-md);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.device-card-meta{font-size:var(--text-sm);align-items:center;gap:8px;display:flex}.online-dot{background:var(--text-faint);border-radius:999px;flex-shrink:0;width:8px;height:8px}.online-dot.on{background:var(--online);box-shadow:0 0 0 3px var(--online-soft)}.online-dot.off{background:var(--danger)}.device-state-chip{background:var(--idle-soft);color:var(--idle-fg);font-size:var(--text-xs);border-radius:999px;padding:2px 8px}.device-quick-toggle{border:1px solid var(--border-strong);background:var(--bg-soft);height:28px;color:var(--text);font-size:var(--text-sm);cursor:pointer;border-radius:8px;align-self:flex-end;align-items:center;gap:4px;margin-top:auto;padding:0 12px;display:inline-flex}.device-quick-toggle:hover{border-color:var(--brand);color:var(--brand)}.debug-device-card{border-bottom:1px solid var(--border);gap:12px;padding:16px 18px;display:flex}.debug-device-info{flex:1;min-width:0}.debug-device-name{font-size:var(--text-lg);margin-bottom:2px;font-weight:600}.debug-device-tags{font-size:var(--text-sm);align-items:center;gap:8px;margin-top:8px;display:flex}.debug-attrs{border-bottom:1px solid var(--border);padding:8px 18px}.debug-attr-row{font-size:var(--text-sm);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.debug-section{border-bottom:1px solid var(--border);padding:16px 18px}.debug-section:last-child{border-bottom:none}.debug-section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:12px}.debug-actions{flex-wrap:wrap;gap:8px;padding:12px 0 4px;display:flex}.debug-hint{font-size:var(--text-sm);margin:10px 0 0}.workbench-shell{grid-template-columns:228px minmax(0,1fr);align-items:start;gap:16px;display:grid}.workbench-nav{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--surface-sidebar) 96%, white);box-shadow:0 1px 0 #ffffffb3 inset, var(--shadow-sm);font-family:var(--font-body);-webkit-font-smoothing:antialiased;border-radius:14px;flex-direction:column;gap:2px;padding:12px 10px;display:flex;position:sticky;top:16px}.project-debug-page .workbench-nav{background:var(--aq-sidebar-bg);color:var(--aq-sidebar-fg);border-radius:0;padding:8px 0 108px}.workbench-nav-group{flex-direction:column;gap:0;margin-bottom:0;display:flex}.workbench-nav-group.is-open{margin-bottom:0}.workbench-nav-item{width:100%;min-height:var(--aq-nav-item-h,48px);color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:10px;padding:0 20px;font-size:13px;font-weight:400;transition:background .15s,color .15s;display:flex}.workbench-nav-icon{width:18px;height:18px;color:inherit;opacity:.9;flex:none;place-items:center;display:grid}.workbench-nav-label{letter-spacing:0;flex:auto;min-width:0;font-size:13px;line-height:1.3}.workbench-nav-chevron{color:inherit;opacity:.55;flex-shrink:0;transition:transform .15s,opacity .15s}.workbench-nav-chevron.open{opacity:1;transform:rotate(180deg)}.project-debug-page .workbench-nav-item{min-height:var(--aq-nav-item-h,48px);height:auto;color:var(--aq-sidebar-fg);background:0 0;border-radius:0;padding:0 16px 0 20px;font-size:13px}.project-debug-page .workbench-nav-item:hover{color:var(--aq-sidebar-fg-active);background:#ffffff0a}.project-debug-page .workbench-nav-item.active{color:var(--aq-sidebar-fg-active);box-shadow:none;background:0 0;font-weight:400}.project-debug-page .workbench-nav-item.active .workbench-nav-icon,.project-debug-page .workbench-nav-item.active .workbench-nav-chevron{color:var(--aq-sidebar-fg-active);opacity:1}.workbench-nav-item:hover{background:var(--hover-fill);color:var(--text)}.workbench-nav-item.active{background:color-mix(in srgb, var(--brand-soft) 90%, transparent);color:var(--brand);box-shadow:inset 3px 0 0 var(--brand);font-weight:500}.workbench-nav-item.active .workbench-nav-icon{color:var(--brand);opacity:1}.workbench-nav-children{border-left:none;flex-direction:column;gap:0;margin:0;padding:0 0 4px;animation:.15s workbench-nav-expand;display:flex}@keyframes workbench-nav-expand{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.workbench-nav-child{width:100%;min-height:var(--aq-nav-child-h,44px);color:var(--text-muted);text-align:left;cursor:pointer;letter-spacing:0;background:0 0;border:none;border-radius:0;align-items:center;padding:0 16px 0 48px;font-size:13px;font-weight:400;line-height:1.3;transition:background .12s,color .12s;display:flex}.project-debug-page .workbench-nav-child{color:var(--aq-sidebar-fg);min-height:var(--aq-nav-child-h,44px)}.project-debug-page .workbench-nav-child:hover{color:var(--aq-sidebar-fg-active);background:#ffffff0a}.project-debug-page .workbench-nav-child.active{background:var(--aq-nav-active-bg);color:#fff;font-weight:400}.workbench-nav-child:hover{background:var(--hover-fill);color:var(--text)}.workbench-nav-child.active{color:var(--brand);background:0 0;font-weight:500}.aq-subnav--actions-only{justify-content:flex-end}.workbench-main{flex-direction:column;gap:16px;min-width:0;display:flex}.aq-subnav{border:none;border-bottom:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:0 0;border-radius:0;flex-wrap:wrap;gap:0;padding:0 12px;display:flex}.aq-subnav-item{height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:0 14px;font-size:13px}.aq-subnav-item:hover{color:var(--text);background:0 0}.aq-subnav-item.active{color:var(--brand);border-bottom-color:var(--brand);background:0 0;font-weight:500}.aq-subnav-item--action{color:var(--brand);font-weight:500}.aq-subnav-item--action:hover:not(:disabled){color:var(--brand);background:0 0}.aq-subnav-item--action:disabled{opacity:.45;cursor:not-allowed}.aq-subnav-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.aq-subnav-actions .btn,.aq-subnav-actions .btn-xs{border-radius:var(--aq-radius,3px);gap:4px;height:28px;min-height:28px;padding:0 10px;font-size:12px}.aq-subnav-sync{align-self:center}.aq-workbench{border:1px solid color-mix(in srgb, var(--border) 90%, transparent);border-radius:var(--aq-radius-panel);background:var(--bg-elevated);min-height:0;box-shadow:none;font-family:var(--font-aqara);flex-direction:column;gap:0;display:flex;overflow:hidden}.aq-workbench>.aq-subnav{background:var(--bg-elevated);padding:0 12px}.aq-workbench>.aq-page-crumb{padding:10px 16px 8px}.aq-workbench>.aq-page-crumb .muted{margin-left:4px}.aq-batch-bar{border-bottom:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:color-mix(in srgb, var(--aq-soft-btn-bg) 70%, transparent);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:flex}.aq-batch-bar select{height:var(--aq-control-h);border:1px solid var(--border);border-radius:var(--aq-radius);background:var(--bg-elevated);padding:0 8px;font-family:inherit}.aq-topology{flex-direction:column;gap:16px;min-height:480px;display:flex}.aq-topo-cluster{border:1px solid color-mix(in srgb, var(--border) 90%, transparent);border-radius:var(--aq-radius-panel);background:var(--bg-elevated);overflow:hidden}.aq-topo-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.aq-topo-head h3{font-size:var(--text-sm);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.aq-topo-head span{color:var(--text-muted);font-size:12px}.aq-topo-graph{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:12px;padding:16px;display:grid}.aq-topo-hub{border:1px solid color-mix(in srgb, var(--brand) 40%, var(--border));background:var(--brand-soft);text-align:left;cursor:pointer;color:var(--text);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex;position:relative}.aq-topo-hub.offline{opacity:.65}.aq-topo-hub strong{font-size:13px}.aq-topo-hub em{color:var(--text-muted);font-size:11px;font-style:normal}.aq-topo-spokes{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.aq-topo-node{border:1px solid var(--border);background:var(--surface-panel);cursor:pointer;min-height:88px;color:var(--text);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font-size:12px;display:flex;position:relative}.aq-topo-node.offline{opacity:.6}.aq-topo-node>span:last-child{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.aq-link-form{flex-direction:column;gap:12px;padding:0 18px 18px;display:flex}.aq-link-form label{font-size:var(--text-sm);color:var(--text-muted);flex-direction:column;gap:6px;display:flex}.aq-link-form select{border:1px solid var(--border);background:var(--surface-panel);height:36px;color:var(--text);border-radius:8px;padding:0 10px}.aq-link-detail{border-top:1px solid var(--border);padding:12px 18px 18px}.aq-link-detail h3{font-size:var(--text-md);margin:0 0 6px}.aq-link-detail ul{font-size:var(--text-sm);margin:8px 0 0;padding-left:18px}@media (width<=900px){.aq-topo-graph{grid-template-columns:1fr}}.aq-workbench-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.aq-workbench-toolbar-left,.aq-workbench-toolbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.aq-workbench-toolbar-left strong{font-size:var(--text-md)}.btn.active-toggle{background:var(--aq-soft-btn-bg);color:var(--aq-soft-btn-fg);border-color:#0000}.aq-workbench-body{background:var(--aq-bg);grid-template-columns:52px minmax(0,1fr) 232px;min-height:0;display:grid}.aq-floor-rail{border-right:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:var(--bg-elevated);flex-direction:column;align-items:center;gap:8px;padding:12px 6px;display:flex}.aq-floor-rail-row{flex-direction:column;align-items:center;display:flex;position:relative}.aq-floor-item,.aq-floor-add{border-radius:var(--aq-radius);border:1px solid color-mix(in srgb, var(--border) 88%, transparent);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;font-family:inherit;font-size:12px;font-weight:500}.aq-floor-item.active{background:var(--aq-soft-btn-bg);color:var(--aq-soft-btn-fg);border-color:#0000}.aq-floor-remove{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:999px;place-items:center;width:16px;height:16px;padding:0;font-size:11px;line-height:1;display:grid;position:absolute;top:-4px;right:-6px}.aq-floor-add{place-items:center;margin-top:auto;display:grid}.aq-canvas-wrap{background:linear-gradient(180deg, color-mix(in srgb, var(--aq-bg) 55%, white), transparent 100px), radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--border) 70%, transparent) 1px, transparent 0);background-size:auto,16px 16px;min-height:0;padding:14px 16px;position:relative;overflow:auto}.aq-canvas-tools{z-index:2;align-items:center;gap:6px;margin-bottom:12px;display:flex;position:sticky;top:0}.aq-canvas-tools .btn{border-radius:var(--aq-radius);background:var(--bg-elevated);border:1px solid color-mix(in srgb, var(--border) 88%, transparent);width:28px;height:28px;padding:0}.aq-canvas{flex-wrap:wrap;align-content:flex-start;gap:12px;min-height:360px;transition:transform .15s;display:flex}.aq-canvas-empty{width:100%;margin:48px auto}.aq-room{border:1px solid color-mix(in srgb, var(--border) 90%, transparent);border-radius:var(--aq-radius-panel);background:var(--bg-elevated);width:min(100%,260px);min-height:160px;box-shadow:none}.aq-room-head{border-bottom:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:color-mix(in srgb, var(--aq-bg) 65%, white);align-items:center;gap:8px;padding:8px 12px;display:flex}.aq-room-head h3{margin:0;font-size:13px;font-weight:500}.aq-room-head span{color:var(--text-muted);font-size:12px}.aq-room-head .btn{margin-left:auto}.aq-room-devices{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;padding:8px;display:grid}.aq-device-tile{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:var(--aq-radius-panel);background:color-mix(in srgb, var(--bg-soft) 55%, white);min-height:64px;color:var(--text);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;padding:6px 4px 5px;font-family:inherit;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.aq-device-tile:hover{border-color:color-mix(in srgb, var(--brand) 28%, var(--border));box-shadow:var(--shadow-sm)}.aq-device-tile.selected{outline:2px solid color-mix(in srgb, var(--brand) 55%, transparent);outline-offset:1px}.aq-device-tile.offline{opacity:.62;filter:grayscale(.25)}.aq-device-tile[data-domain=light],.aq-device-tile[data-domain=light]:hover{border-color:color-mix(in srgb, #f59f0a 22%, var(--border));background:#fef2dd}.aq-device-tile[data-domain=switch],.aq-device-tile[data-domain=input_boolean],.aq-device-tile[data-domain=switch]:hover,.aq-device-tile[data-domain=input_boolean]:hover{background:color-mix(in srgb, var(--brand-mark) 12%, white);border-color:color-mix(in srgb, var(--brand-mark) 22%, var(--border))}.aq-device-tile[data-domain=climate],.aq-device-tile[data-domain=climate]:hover{background:color-mix(in srgb, var(--brand) 12%, white);border-color:color-mix(in srgb, var(--brand) 22%, var(--border))}.aq-device-tile[data-domain=cover],.aq-device-tile[data-domain=cover]:hover{border-color:color-mix(in srgb, #8049df 22%, var(--border));background:#f0e9fb}.aq-device-tile[data-domain=lock],.aq-device-tile[data-domain=lock]:hover{background:color-mix(in srgb, var(--danger) 10%, white);border-color:color-mix(in srgb, var(--danger) 20%, var(--border))}.aq-device-tile[data-domain=sensor],.aq-device-tile[data-domain=binary_sensor],.aq-device-tile[data-domain=sensor]:hover,.aq-device-tile[data-domain=binary_sensor]:hover{border-color:color-mix(in srgb, #6a98af 20%, var(--border));background:#edf3f5}.aq-device-tile[data-domain=fan],.aq-device-tile[data-domain=fan]:hover{border-color:color-mix(in srgb, #209db6 22%, var(--border));background:#e4f3f6}.aq-device-tile[data-domain=media_player],.aq-device-tile[data-domain=media_player]:hover{border-color:color-mix(in srgb, #5b42d7 22%, var(--border));background:#ebe8fa}.aq-device-tile[data-domain=button],.aq-device-tile[data-domain=remote],.aq-device-tile[data-domain=input_button],.aq-device-tile[data-domain=event],.aq-device-tile[data-domain=button]:hover,.aq-device-tile[data-domain=remote]:hover,.aq-device-tile[data-domain=input_button]:hover,.aq-device-tile[data-domain=event]:hover{border-color:color-mix(in srgb, #f36f16 22%, var(--border));background:#feeee3}.aq-device-tile[data-domain=scene],.aq-device-tile[data-domain=script],.aq-device-tile[data-domain=automation],.aq-device-tile[data-domain=scene]:hover,.aq-device-tile[data-domain=script]:hover,.aq-device-tile[data-domain=automation]:hover{background:color-mix(in srgb, var(--online) 12%, white);border-color:color-mix(in srgb, var(--online) 22%, var(--border))}.aq-device-tile[data-domain=camera],.aq-device-tile[data-domain=camera]:hover{border-color:color-mix(in srgb, #456ba1 20%, var(--border));background:#e9edf4}.aq-device-type-bar{display:none}.aq-device-tile .online-dot{transform-origin:100% 0;position:absolute;top:5px;right:5px;transform:scale(.85)}.aq-device-tile .device-icon-tile{background:#ffffffb3;box-shadow:0 0 0 1px #ffffff8c}.aq-device-tile .device-icon-tile.sm{border-radius:7px;width:26px;height:26px}.aq-device-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:11px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.aq-device-kind{color:var(--text-muted);font-size:10px}.aq-gateway-panel{border-left:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:var(--bg-elevated);flex-direction:column;min-height:0;display:flex}.aq-gateway-head{border-bottom:1px solid color-mix(in srgb, var(--border) 90%, transparent);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.aq-gateway-head h3{margin:0;font-size:13px;font-weight:500}.aq-gateway-list{flex:1 1 0;min-height:0;overflow:auto}.aq-gateway-item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;grid-template-columns:10px minmax(0,1fr);gap:0 8px;padding:10px 14px;display:grid}.aq-gateway-item:hover{background:var(--hover-fill)}.aq-gateway-item .online-dot{grid-row:1/span 2;align-self:center}.aq-gateway-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550;overflow:hidden}.aq-gateway-item em{color:var(--text-muted);grid-column:2;font-size:11px;font-style:normal}@media (width<=1100px){.aq-workbench-body{grid-template-columns:52px minmax(0,1fr)}.aq-gateway-panel{display:none}}@media (width<=768px){.aq-workbench-body{grid-template-columns:1fr}.aq-floor-rail{border-right:none;border-bottom:1px solid var(--border);flex-direction:row}.aq-floor-add{margin-top:0;margin-left:auto}.aq-room{width:100%}}@media (width<=1100px){.device-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.workbench-shell{grid-template-columns:1fr}.workbench-nav{flex-flow:wrap;position:static}.workbench-nav-item{width:auto}.project-debug-page .workbench-shell{flex-direction:column;flex:1 1 0;grid-template-rows:none;grid-template-columns:none;min-height:0;display:flex;overflow:hidden}.project-debug-page .workbench-nav{flex:none;max-height:none;position:static;overflow:visible}.project-debug-page .workbench-main{flex:1 1 0;height:auto;min-height:0;max-height:none;overflow:hidden auto}:is(.project-debug-page .workbench-main:has(>.aq-list-panel--scroll),.project-debug-page .workbench-main:has(>.aq-list-panel--devices),.project-debug-page .workbench-main:has(>.aq-workbench),.project-debug-page .workbench-main:has(>.aq-linkage-stack)){overflow:hidden}}.device-card.clickable{cursor:pointer}.device-card.clickable:focus-visible{outline:2px solid var(--focus-border);outline-offset:2px}.device-icon-tile.xl{border-radius:20px;width:72px;height:72px}.workbench-hint{font-size:var(--text-sm);padding:0 18px 16px}.workbench-device-panel{overflow:hidden}.device-list-board{border-top:1px solid var(--border);padding:14px 16px 20px}.device-list-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.device-list-search{border:1px solid var(--border);background:var(--input-bg);min-width:200px;height:36px;color:var(--text-muted);border-radius:8px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.device-list-search input{color:var(--text);font-size:var(--text-sm);background:0 0;border:none;outline:none;flex:1}.device-list-toolbar select{border:1px solid var(--border);background:var(--input-bg);height:36px;color:var(--text);font-size:var(--text-sm);border-radius:8px;padding:0 10px}.device-table-wrap{overflow:auto}.device-table{min-width:1200px}.device-table th,.device-table td{white-space:nowrap}.device-table .col-index{text-align:center;width:52px}.device-table-name-cell{text-overflow:ellipsis;max-width:180px;font-weight:600;overflow:hidden}.device-table-id{text-overflow:ellipsis;max-width:220px;font-size:var(--text-xs);overflow:hidden}.device-table-time{font-size:var(--text-xs)}.device-table tbody tr.device-table-row{cursor:pointer}.device-table tbody tr.device-table-row:focus-visible{outline:2px solid var(--focus-border);outline-offset:-2px}.device-table tbody tr.device-table-row.offline{opacity:.72}.aq-device-table tbody tr.device-table-row.offline{opacity:1}.aq-device-table tbody tr.device-table-row.offline td:not(.col-ops){opacity:.72}.device-table-state{align-items:center;gap:8px;display:inline-flex}.device-detail-page,.device-edit-page{flex-direction:column;gap:16px;display:flex}.device-edit-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.device-edit-crumb{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:6px;display:flex}.device-edit-crumb a{color:var(--text-muted)}.device-edit-crumb a:hover{color:var(--brand)}.device-edit-crumb strong{color:var(--text)}.device-edit-top-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.device-edit-card-head,.device-edit-card .panel-head,.device-edit-more .panel-head,.device-related-card .panel-head,.device-edit-control-card .panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.device-edit-card-head{border-bottom:1px solid var(--border);padding:14px 18px}.device-edit-card-head h2,.device-edit-more .panel-head h2,.device-related-card .panel-head h2,.device-edit-control-card .panel-head h2{font-size:var(--text-md);margin:0}.device-edit-head-links{gap:4px;display:flex}.device-edit-card-body{grid-template-columns:200px minmax(0,1fr);gap:24px;padding:20px 18px 22px;display:grid}.device-edit-visual{flex-direction:column;align-items:center;gap:12px;display:flex}.device-edit-image{border:1px solid var(--border);background:var(--bg-soft);width:148px;height:148px;color:var(--brand);border-radius:16px;justify-content:center;align-items:center;display:flex}.device-edit-image[data-domain=light]{background:color-mix(in srgb, var(--warn) 12%, transparent);color:var(--warn-fg)}.device-edit-visual-actions{gap:8px;display:flex}.device-edit-form{flex-direction:column;gap:14px;min-width:0;display:flex}.device-edit-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.online-pill{font-size:var(--text-xs);background:var(--idle-soft);color:var(--idle-fg);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.online-pill.on{background:var(--online-soft);color:var(--online)}.online-pill.off{background:var(--danger-soft);color:var(--danger-fg)}.device-type-chip{background:var(--brand-soft);color:var(--brand);font-size:var(--text-xs);border-radius:999px;padding:2px 8px}.muted-chip{background:var(--idle-soft);color:var(--idle-fg)}.device-edit-field{font-size:var(--text-sm);grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;display:grid}.device-edit-field>span{color:var(--text-muted)}.device-edit-field select,.device-edit-name-wrap input{border:1px solid var(--border);background:var(--input-bg);width:100%;height:36px;color:var(--text);font-size:var(--text-sm);border-radius:8px;padding:0 12px}.device-edit-name-wrap{position:relative}.device-edit-name-wrap em{font-style:normal;font-size:var(--text-xs);color:var(--text-faint);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.device-edit-name-wrap input{padding-right:52px}.device-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px 18px 16px;display:grid}.device-more-item{border-bottom:1px solid var(--border);font-size:var(--text-sm);grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.device-more-item:nth-last-child(-n+2){border-bottom:none}.device-more-item span{color:var(--text-faint)}.device-more-item strong,.device-more-item code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.device-related-empty{min-height:140px;color:var(--text-faint);font-size:var(--text-sm);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.device-related-empty-icon{background:linear-gradient(135deg, transparent 40%, var(--border) 41%, var(--border) 59%, transparent 60%), var(--idle-soft);opacity:.7;border-radius:12px;width:48px;height:48px}.device-related-list{margin:0;padding:8px 18px 16px;list-style:none}.device-related-list li{border-bottom:1px solid var(--border);font-size:var(--text-sm);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.device-related-list li:last-child{border-bottom:none}.device-related-list em{color:var(--text-faint);font-style:normal;font-size:var(--text-xs)}.device-edit-controls{flex-direction:column;gap:14px;padding:8px 18px 20px;display:flex}.device-control-deck{flex-direction:column;gap:12px;display:flex}.device-control-deck-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:0 2px;display:flex}.device-control-deck-meta h2{font-size:var(--text-md);color:var(--text);margin:0;font-weight:600}.device-control-deck-meta .muted{font-size:var(--text-xs)}.device-control-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;display:grid}.device-control-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.device-control-deck--stack .device-control-grid--triple{grid-template-columns:1fr}@media (width<=1024px){.device-control-grid--triple{grid-template-columns:1fr}}.device-status-rows{margin:0}.device-status-row{border-bottom:1px solid var(--border);font-size:var(--text-sm);grid-template-columns:88px minmax(0,1fr);gap:8px 12px;padding:9px 0;display:grid}.device-status-row:last-child{border-bottom:none;padding-bottom:0}.device-status-row dt{color:var(--text-muted);margin:0}.device-status-row dd{color:var(--text);text-align:right;word-break:break-word;margin:0;font-weight:600}.device-control-empty{font-size:var(--text-sm);margin:0;line-height:1.5}.device-control-tile{min-height:0;margin:0;overflow:hidden}.device-control-tile-head{border-bottom:1px solid var(--border);background:var(--bg-soft);justify-content:space-between;align-items:baseline;gap:8px;padding:12px 16px;display:flex}.device-control-tile-head h3{font-size:var(--text-sm);color:var(--text);margin:0;font-weight:600}.device-control-tile-hint{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.device-control-tile-body{padding:16px 16px 18px}.device-control-merged{flex-direction:column;gap:16px;width:100%;display:flex}.device-control-power--tile{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:88px;padding:8px 0;display:flex}.cover-action-selectors .climate-ha-selector-text{width:100%}.cover-action-selectors .climate-ha-selector-text strong{font-size:var(--text-sm)}.device-control-sliders--tile{flex-direction:column;gap:16px;display:flex}.device-mode-stack--tile{flex-direction:column;gap:8px;display:flex}.device-mode-stack--wrap{flex-flow:wrap}.device-mode-stack--wrap .btn{flex:auto;min-width:calc(50% - 4px)}.climate-function-groups{flex-direction:column;gap:14px;display:flex}.climate-function-group{flex-direction:column;gap:8px;display:flex}.climate-function-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.climate-ha-panel{flex-direction:column;align-items:stretch;gap:18px;width:100%;max-width:420px;margin:0 auto;display:flex}.climate-ha-panel--compact{gap:14px;max-width:none}.climate-ha-selectors{grid-template-columns:repeat(var(--climate-cols,3), minmax(0, 1fr));gap:8px;display:grid}.climate-ha-selector{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);min-height:56px;box-shadow:none;cursor:pointer;text-align:left;align-items:center;gap:8px;padding:10px 12px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.climate-ha-selector-caret{color:var(--text-muted);flex-shrink:0;margin-left:auto}.climate-ha-selector.is-open .climate-ha-selector-caret{color:var(--brand);transform:rotate(180deg)}.climate-ha-selector:hover:not(:disabled){background:var(--bg-elevated);border-color:color-mix(in srgb, var(--brand) 28%, var(--border))}.climate-ha-selector.is-open,.climate-ha-selector:focus-visible{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.climate-ha-selector:disabled{opacity:.55;cursor:not-allowed}.climate-ha-selector-icon{width:28px;height:28px;color:var(--brand);background:var(--brand-soft);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.climate-ha-selector-text{flex-direction:column;gap:2px;min-width:0;display:flex}.climate-ha-selector-text em{font-style:normal;font-size:var(--text-xs);color:var(--text-muted);line-height:1.2}.climate-ha-selector-text strong{font-size:var(--text-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;overflow:hidden}.climate-ha-dropdown-backdrop{z-index:80;cursor:default;background:0 0;border:none;margin:0;padding:0;position:fixed;inset:0}.climate-ha-dropdown{z-index:81;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);max-height:min(280px,100vh - 16px);box-shadow:var(--shadow-lg,0 12px 32px #0f172a24);flex-direction:column;padding:8px;display:flex;position:fixed;overflow:hidden}.climate-ha-dropdown-title{font-size:var(--text-xs);color:var(--text-muted);padding:4px 8px 8px;font-weight:600}.climate-ha-dropdown-list{flex-direction:column;gap:2px;min-height:0;display:flex;overflow-y:auto}.climate-ha-dropdown-item{width:100%;color:var(--text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-weight:500;transition:background .12s;display:block}.climate-ha-dropdown-item:hover:not(:disabled){background:var(--bg-soft)}.climate-ha-dropdown-item.is-selected{background:var(--brand-soft);color:var(--brand);font-weight:600}.climate-ha-dropdown-item:disabled{opacity:.55;cursor:not-allowed}.climate-ha-options{display:none}.climate-ha-option{flex:calc(33.333% - 8px);min-width:72px}.device-control-tile--wide{grid-column:1/-1}@media (width>=1025px){.device-control-grid--triple>.device-control-tile--wide{grid-column:span 2}}.device-mode-stack--tile .btn{justify-content:center;width:100%;min-height:36px}.device-control-fan-tile{flex-direction:column;gap:16px;display:flex}.cover-position-hint--solo{text-align:center;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:2px;display:block}.device-control-layout{grid-template-columns:1fr 1fr;align-items:center;gap:12px 16px;padding:14px 16px 18px;display:grid}.device-control-layout--compact{grid-template-columns:minmax(0,1fr) auto;align-items:center}.device-control-main{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.device-control-main .climate-dial{width:min(100%,340px);margin:0 auto}.device-edit-control-card .climate-dial-ring{width:min(100%,200px)}.device-control-side{border-left:1px solid var(--border);flex-direction:column;justify-content:center;gap:8px;min-height:0;padding:4px 0 4px 16px;display:flex}.device-control-side--inline{justify-content:center;padding:0 0 0 24px}.device-control-side-label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.02em;font-weight:600}.device-mode-stack{flex-direction:column;gap:8px;display:flex}.device-mode-stack .btn{width:100%;min-height:34px;font-size:var(--text-sm);justify-content:center;padding:0 10px}.device-control-meta{border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);flex-direction:column;gap:6px;margin-top:4px;padding-top:10px;display:flex}.device-control-meta span{justify-content:space-between;align-items:center;gap:8px;display:flex}.device-control-meta strong{color:var(--text);font-weight:600}.device-control-power{flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:120px;padding:8px;display:flex}.device-control-power--row{flex-direction:row;justify-content:flex-start;min-height:0;padding:0}.device-control-power-label{font-size:var(--text-sm);color:var(--text-muted)}.device-control-power-state{font-size:var(--text-xl);color:var(--text);font-weight:600}.device-control-sliders{justify-content:center;gap:18px}.device-edit-control-row--stack{grid-template-columns:1fr;gap:8px}.device-edit-control-row--stack span{font-size:var(--text-xs);font-weight:500}.device-edit-control-row--stack em{text-align:left}.device-edit-control-row--wide{width:100%;max-width:none;margin:0}.device-switch-lg{width:56px;height:32px}.device-switch-lg:after{width:24px;height:24px;top:4px;left:4px}.device-switch-lg.on:after{transform:translate(24px)}@media (width<=720px){.device-control-layout{grid-template-columns:1fr;gap:14px}.device-control-side,.device-control-side--inline{border-left:none;border-top:1px solid var(--border);padding:14px 0 0}.device-edit-control-card .climate-dial-ring{width:min(100%,180px)}}.device-edit-control-row{font-size:var(--text-sm);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.device-edit-control-row span{color:var(--text-muted)}.device-edit-control-row input[type=range]{width:100%}.device-edit-control-row em{color:var(--text-faint);text-align:right;min-width:40px;font-style:normal;font-size:var(--text-xs)}.device-edit-control-actions{gap:8px;display:flex}.device-switch{background:var(--idle-soft);cursor:pointer;border:none;border-radius:999px;justify-self:start;width:44px;height:24px;transition:background .15s;position:relative}.device-switch:after{content:"";background:var(--bg-elevated);border-radius:999px;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.device-switch.on{background:var(--brand)}.device-switch.on:after{transform:translate(20px)}.device-switch:disabled{opacity:.5;cursor:not-allowed}.device-detail-tabs{width:fit-content;max-width:100%}.device-detail-body{min-width:0}.device-detail-panel{padding-bottom:8px}.device-detail-panel .panel-head h3{font-size:var(--text-md);margin:0}.device-detail-controls{flex-direction:column;align-items:flex-start;gap:18px;padding:8px 18px 20px;display:flex}.device-power-ring{border:2px solid var(--border-strong);background:var(--bg-soft);width:112px;height:112px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:all .15s;display:flex}.device-power-ring.on{border-color:var(--focus-border);background:var(--brand-mix-10);color:var(--brand)}.device-power-ring:disabled{opacity:.5;cursor:not-allowed}.device-slider-group{flex-direction:column;gap:14px;width:100%;max-width:420px;display:flex}.device-slider-group label{font-size:var(--text-sm);grid-template-columns:56px 1fr auto;align-items:center;gap:12px;display:grid}.device-slider-group input[type=range]{width:100%}.device-slider-group em{color:var(--text-muted);font-style:normal;font-size:var(--text-xs);text-align:right;min-width:48px}.device-mode-row{flex-wrap:wrap;gap:8px;display:flex}.climate-target{justify-content:center;align-items:baseline;gap:4px;display:flex}.climate-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:48px;font-weight:600;line-height:1}.climate-unit{font-size:var(--text-lg);color:var(--text-muted)}.climate-dial{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:10px;width:min(100%,340px);margin:0 auto;display:flex}.climate-dial--compact{gap:8px;width:min(100%,280px)}.climate-dial--disabled{opacity:.55}.climate-dial--disabled .climate-dial-ring,.climate-dial--disabled .climate-dial-step--side{pointer-events:none;cursor:not-allowed}.climate-dial-ring{aspect-ratio:1;touch-action:none;flex:auto;width:min(100%,260px);min-width:0;position:relative}.climate-dial--compact .climate-dial-ring{width:min(100%,200px)}.climate-dial-svg{cursor:grab;width:100%;height:100%;display:block;overflow:visible}.climate-dial-svg:active{cursor:grabbing}.climate-dial-track{fill:none;stroke:var(--border);stroke-width:10px;stroke-linecap:round;transition:stroke .15s}.climate-dial:not(.climate-dial--off) .climate-dial-track{stroke:color-mix(in srgb, var(--brand) 22%, var(--border))}.climate-dial-fill{fill:none;stroke:var(--brand);stroke-width:10px;stroke-linecap:round;transition:stroke .15s}.climate-dial-knob{fill:var(--bg-elevated);stroke:var(--brand);stroke-width:3px;filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--text) 12%, transparent));transition:cx .12s,cy .12s,stroke .15s,fill .15s}.climate-dial--off .climate-dial-track,.climate-dial--off .climate-dial-fill{stroke:color-mix(in srgb, var(--text-muted) 42%, var(--border))}.climate-dial--off .climate-dial-knob{stroke:color-mix(in srgb, var(--text-muted) 50%, var(--border));fill:var(--bg-soft);filter:none}.climate-dial--off .climate-dial-label{color:var(--text-muted)}.climate-dial-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding-top:8%;padding-bottom:18%;display:flex;position:absolute;inset:0}.climate-dial-power{z-index:2;border:1px solid color-mix(in srgb, var(--text-muted) 28%, var(--border));background:var(--bg-soft);width:44px;height:44px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex;position:absolute;bottom:6%;left:50%;transform:translate(-50%)}.climate-dial-power:hover:not(:disabled){background:color-mix(in srgb, var(--text-muted) 8%, var(--bg-elevated));transform:translate(-50%)translateY(-1px)}.climate-dial-power:active:not(:disabled){transform:translate(-50%)translateY(0)}.climate-dial-power.is-on{border-color:color-mix(in srgb, var(--brand) 40%, var(--border));background:var(--brand);color:var(--btn-primary-fg)}.climate-dial-power.is-on:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 90%, #000);border-color:var(--brand)}.climate-dial-power:focus-visible{box-shadow:var(--shadow), 0 0 0 3px var(--focus-ring);outline:none}.climate-dial-power:disabled{opacity:.45;cursor:not-allowed}.climate-dial--compact .climate-dial-power{width:40px;height:40px;bottom:5%}.climate-dial--compact .climate-value{font-size:36px}.climate-dial-label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.02em;font-weight:500}.climate-dial-current{font-size:var(--text-sm);color:var(--text-muted);margin-top:4px}.climate-dial-step{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.climate-dial--compact .climate-dial-step{width:40px;height:40px}.climate-dial-step--side{box-shadow:var(--shadow);align-self:center}.cover-position-control--embedded-minimal{flex-direction:column;gap:8px;width:100%;min-width:0;max-width:none;padding:0;display:flex}.cover-position-embedded-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.cover-position-embedded-head .cover-position-label--title{text-align:left;margin:0}.cover-position-embedded-head .cover-position-value{justify-content:flex-end}.cover-position-embedded-head .cover-position-value strong{font-size:22px}.cover-position-label--title{text-align:center;font-size:var(--text-xs);color:var(--text-muted);font-weight:600;display:block}.cover-position-control--embedded-minimal .cover-position-label{font-size:var(--text-xs);color:var(--text-muted);text-align:center;font-weight:600}.cover-position-control--embedded-minimal .cover-position-value strong{font-size:28px}.cover-position-control--panel,.cover-position-control--compact{max-width:none;margin:0}.cover-position-control--compact .cover-position-value strong{font-size:22px}.cover-position-head--embedded{justify-content:space-between}.cover-position-dual{flex-flow:row;align-items:stretch;gap:16px 20px;width:100%;display:flex}.cover-position-dual>.cover-position-control{flex:1 1 0;min-width:0;max-width:none;margin:0}.cover-position-dual .cover-position-value strong{font-size:22px}.cover-position-track--mirrored .cover-position-fill{margin-left:auto}.media-player-control{gap:14px}.media-player-now{flex-direction:column;gap:4px;min-width:0;display:flex}.media-player-state{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.media-player-title{font-size:var(--text-base);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.media-player-artist{font-size:var(--text-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.media-player-transport,.media-player-volume{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.media-player-btn{justify-content:center;min-width:72px}.media-player-btn.is-active{background:var(--brand-soft);color:var(--brand)}.media-player-select-row{font-size:var(--text-sm);color:var(--text-muted);flex-direction:column;gap:6px;display:flex}.media-player-select-row .field{height:40px}.media-player-control--compact .media-player-title{font-size:var(--text-sm)}.cover-main-control{flex-direction:column;gap:16px;width:100%;display:flex}.cover-open-actions--row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cover-open-actions--row .btn,.cover-open-actions{width:100%}.cover-position-control{flex-direction:column;gap:10px;width:100%;max-width:320px;margin:0 auto;padding:4px 0;display:flex}.cover-position-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cover-position-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.cover-position-hint{font-size:var(--text-xs);color:var(--text-faint)}.cover-position-value{justify-content:center;align-items:baseline;gap:4px;line-height:1;display:flex}.cover-position-value strong{font-variant-numeric:tabular-nums;color:var(--text);font-size:40px;font-weight:600}.cover-position-value em{font-style:normal;font-size:var(--text-lg);color:var(--text-muted)}.cover-position-track{background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;height:8px;position:relative;overflow:hidden}.cover-position-fill{height:100%;width:var(--cover-pct,0%);border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--brand) 70%, white), var(--brand));transition:width .15s}.cover-position-slider{width:100%;min-height:28px;accent-color:var(--brand);cursor:pointer;margin:0}.device-control-tile-body .cover-position-control{max-width:none}.cover-position-note{font-size:var(--text-xs);text-align:center;margin:0}.device-attr-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:8px 18px 20px;display:grid}.device-attr-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.device-attr-item span{font-size:var(--text-xs);color:var(--text-faint)}.device-attr-item strong,.device-attr-item code{font-size:var(--text-sm);word-break:break-all}.device-debug-form{flex-direction:column;gap:14px;max-width:560px;padding:8px 18px 20px;display:flex}.device-debug-form textarea{resize:vertical;width:100%;min-height:96px}.device-detail-log{padding:8px 18px 20px}.device-detail-related{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 18px 12px;padding-top:14px;display:grid}.device-detail-related h4{font-size:var(--text-sm);margin:0 0 8px}.device-detail-related ul{font-size:var(--text-sm);color:var(--text-muted);margin:0;padding-left:18px}.device-detail-note{font-size:var(--text-sm);max-width:480px}@media (width<=1100px){.device-related-grid,.device-more-grid{grid-template-columns:1fr}.device-more-item:nth-last-child(-n+2){border-bottom:1px solid var(--border)}.device-more-item:last-child{border-bottom:none}}@media (width<=768px){.device-edit-card-body{grid-template-columns:1fr}.device-edit-field{grid-template-columns:1fr;gap:6px}.device-detail-hero{grid-template-columns:1fr}.device-detail-quick{justify-self:start}}.aq-page-panel.panel,.panel.aq-list-panel{border-radius:var(--aq-radius-panel);box-shadow:none;border:1px solid color-mix(in srgb, var(--border) 92%, transparent)}.project-debug-page .panel:not(.aq-workbench):not(.device-detail){border-radius:var(--aq-radius-panel);box-shadow:none}.project-debug-page .aq-toolbar-primary,.project-debug-page .aq-btn-primary-sm,.project-debug-page .btn-primary{border-radius:var(--aq-radius);height:var(--aq-control-h);font-weight:400}.project-debug-page .aq-filter-control,.project-debug-page .aq-page-num,.project-debug-page select.aq-filter-control{border-radius:var(--aq-radius)}.project-debug-page .panel.aq-list-panel,.project-debug-page .aq-list-panel,.project-debug-page .aq-workbench{border-radius:var(--aq-radius-panel)}.host-ops-meta{flex:none;padding:8px 16px 4px}.project-debug-page .host-ops.aq-list-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.project-debug-page .host-ops>.aq-subnav{flex:none}.project-debug-page .host-ops>.panel-body.host-ops-body,.project-debug-page .host-ops>.host-ops-pre{flex:1 1 0;min-height:0;overflow:auto}.project-debug-page .workbench-main>.host-ops.aq-list-panel--scroll{flex:1 1 0;min-height:0}.aq-page-crumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 16px 0;font-size:13px;display:flex}.aq-toolbar,.aq-filter-row.aq-toolbar{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.aq-toolbar .aq-action-spacer,.aq-filter-row .aq-action-spacer{flex:auto;min-width:8px}.aq-toolbar-primary,.aq-btn-primary-sm{background:var(--brand);height:32px;color:var(--btn-primary-fg);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.aq-toolbar-primary:hover:not(:disabled),.aq-btn-primary-sm:hover:not(:disabled){filter:brightness(1.05)}.aq-toolbar-primary:disabled,.aq-btn-primary-sm:disabled{opacity:.5;cursor:not-allowed}.aq-algo-board .panel-lede{margin-top:0}.aq-algo-card-list{flex-direction:column;gap:12px;display:flex}.aq-algo-card{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:var(--aq-radius-panel,var(--radius-sm));background:var(--bg-elevated);box-shadow:var(--shadow);padding:12px 14px 10px}.aq-algo-card.is-on{border-color:color-mix(in srgb, var(--brand) 28%, var(--border))}.aq-algo-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.aq-algo-expand{color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:15px;font-weight:600;display:inline-flex}.aq-algo-title{line-height:1.3}.aq-algo-head-meta{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.aq-algo-switch{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}.aq-algo-desc{margin:6px 0 0;font-size:12px}.aq-algo-gap{color:var(--warn);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:12px;display:flex}.aq-algo-rules{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:10px;display:flex}.aq-algo-rules--drawer{border-top:none;margin-top:4px;padding-top:0}.aq-algo-drawer-section{font-size:var(--text-xl,18px);margin:16px 0 8px;font-weight:600}.aq-algo-project-field{flex:1;min-width:220px;max-width:420px;margin:0}.aq-algo-empty{margin:0;font-size:12px}.aq-algo-rule-row{border-radius:var(--radius-sm,12px);background:color-mix(in srgb, var(--bg-soft) 70%, var(--bg-elevated));border:1px solid color-mix(in srgb, var(--border) 80%, transparent);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.aq-algo-rule-row.is-written{border-color:color-mix(in srgb, var(--online,#29a366) 35%, transparent);box-shadow:inset 3px 0 0 var(--online,#29a366)}.aq-algo-rule-main{flex-direction:column;gap:4px;min-width:0;display:flex}.aq-algo-rule-main strong{font-size:13px;font-weight:600}.aq-algo-rule-main .muted{font-size:12px}.aq-algo-rule-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.aq-algo-add-row{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.aq-algo-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.aq-algo-yaml{resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45}.aq-algo-gap-list{flex-direction:column;gap:10px;margin:0 0 12px;padding-left:18px;display:flex}.aq-algo-logic-preview{color:var(--text-muted);flex-direction:column;gap:2px;margin-top:4px;font-size:12px;display:flex}.aq-algo-logic-preview em{color:var(--brand);margin-right:4px;font-style:normal;font-weight:600}.aq-algo-logic-editor{flex-direction:column;gap:12px;margin:12px 0;display:flex}.aq-algo-logic-block{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 55%, var(--bg-elevated));border-radius:12px;padding:10px 12px}.aq-algo-logic-block-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.aq-algo-logic-clause{align-items:center;gap:8px;margin-bottom:6px;display:flex}.aq-algo-logic-clause .field,.aq-algo-logic-clause input{flex:1;height:36px;margin:0}.aq-inline-num{border:1px solid var(--border);background:var(--bg-elevated);width:88px;height:32px;font:inherit;border-radius:8px;padding:0 8px;font-size:13px}.aq-factor-tabs{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.aq-factor-tab{border:1px solid var(--border);background:var(--bg-soft);height:32px;color:var(--text-muted);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-size:12px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.aq-factor-tab.is-active{background:var(--brand-soft);color:var(--brand);border-color:color-mix(in srgb, var(--brand) 35%, var(--border))}.aq-factor-section-head{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 8px;display:flex}.aq-factor-section-head h3{margin:0;font-size:14px;font-weight:600}.aq-factor-table .aq-inline-num{width:72px}.aq-factor-name-cell{flex-direction:column;gap:2px;min-width:140px;display:flex}.aq-factor-name-cell strong{font-size:13px;font-weight:600}.aq-factor-suggest-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.aq-factor-detail-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:12px;display:grid}.aq-factor-severity{min-width:148px;height:32px}.aq-feature-stack{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:14px;padding:2px 2px 12px;display:grid}.aq-feature-block{min-height:148px}.aq-feature-block .aq-scene-actions{margin-top:auto}.aq-feature-drawer-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.aq-feature-drawer-body{min-height:0}.aq-feature-toolbar-field{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.aq-feature-toolbar-field .field{width:112px;height:32px}.aq-algo-rule-scene{min-height:0;margin-top:8px}.aq-algo-rule-scene h3{font-size:14px}.aq-factor-label-input{width:72px;height:32px}.aq-factor-check.is-disabled{opacity:.55}.aq-factor-check{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.table-scroll{overflow-x:auto}@media (width<=720px){.aq-algo-edit-grid{grid-template-columns:1fr}.aq-algo-rule-row{flex-direction:column}}.aq-card-grid,.aq-scene-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:2px 2px 12px;display:grid}.aq-card,.aq-scene-card{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:var(--aq-radius-panel);background:var(--bg-elevated);box-shadow:none;flex-direction:column;gap:8px;min-height:148px;padding:14px 14px 12px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.aq-card:hover,.aq-scene-card:hover{box-shadow:0 2px 8px color-mix(in srgb, var(--text) 6%, transparent);border-color:color-mix(in srgb, var(--brand) 28%, var(--border));transform:none}.aq-card--add{border-style:dashed;border-color:color-mix(in srgb, var(--brand) 35%, var(--border));background:color-mix(in srgb, var(--brand-soft) 45%, var(--bg-elevated));min-height:148px;color:var(--brand);cursor:pointer;text-align:center;font:inherit;justify-content:center;align-items:center;gap:10px}.aq-card--add:hover:not(:disabled){border-color:var(--brand);background:color-mix(in srgb, var(--brand-soft) 70%, var(--bg-elevated))}.aq-card--add:disabled{opacity:.55;cursor:not-allowed}.aq-card--add .aq-card-add-icon{background:var(--bg-elevated);border:1px solid color-mix(in srgb, var(--brand) 22%, var(--border));width:40px;height:40px;color:var(--brand);border-radius:50%;place-items:center;display:grid}.aq-card--add strong{font-size:14px;font-weight:600}.aq-card--add em{color:var(--text-muted);font-size:12px;font-style:normal}.aq-card-footer,.aq-scene-actions{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:auto;padding-top:8px;display:flex}.aq-card-footer .aq-link-btn,.aq-scene-actions .aq-link-btn{white-space:nowrap;height:auto;padding:0;font-size:13px}.aq-card-footer .aq-link-btn.danger,.aq-scene-actions .aq-link-btn.danger{color:var(--danger)}.aq-card-alert,.aq-scene-warn{color:#c2540a;margin:0;font-size:12px;line-height:1.4}.aq-data-table.device-table,.aq-device-list .device-table.aq-data-table{border-collapse:collapse;width:100%;font-size:13px}.aq-data-table th,.aq-data-table td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--border) 88%, transparent);vertical-align:middle;padding:10px 12px}.aq-data-table thead th{background:var(--bg-soft);color:var(--text-muted);font-size:12px;font-weight:500}.aq-data-table .col-ops,.aq-data-table td.col-ops{white-space:nowrap}.aq-data-table tbody tr:hover td{background:color-mix(in srgb, var(--brand-soft) 40%, transparent)}.aq-device-list,.aq-scene-board{flex-direction:column;gap:12px;min-height:0;padding:12px 16px 16px;display:flex}.aq-device-list>.aq-filter-row,.aq-device-list>.aq-action-row,.aq-device-list>.aq-pager,.aq-scene-board>.aq-filter-row,.aq-scene-board>.aq-action-row,.aq-scene-board>.aq-scene-meta{flex:none}.aq-device-list>.device-table-wrap,.aq-scene-board>.aq-list-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow:auto}.aq-list-scroll{min-height:0}.aq-device-list .device-table thead th,.aq-list-scroll .table thead th{z-index:1;background:var(--surface-panel);box-shadow:0 1px 0 var(--border);position:sticky;top:0}.aq-filter-row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.aq-filter-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:inline-flex}.aq-filter-search-group{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.aq-filter-control{border:1px solid var(--border);background:var(--bg-elevated);min-width:140px;height:32px;color:var(--text);border-radius:4px;padding:0 10px;font-size:13px}.aq-category-select{cursor:pointer;border-radius:8px;min-width:108px;height:30px;padding:0 8px;font-size:12px}.aq-category-select--card{min-width:96px;max-width:100%;height:28px}.aq-date-range{align-items:center;gap:8px;display:inline-flex}.aq-date-range span{color:var(--text-muted);font-size:13px}.aq-search-btn{background:var(--brand);width:32px;height:32px;color:var(--btn-primary-fg);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;place-items:center;display:grid}.aq-action-row{flex-wrap:wrap;align-items:center;gap:12px;min-height:36px;display:flex}.aq-batch-ops{background:color-mix(in srgb, var(--brand-soft) 70%, transparent);border:1px solid color-mix(in srgb, var(--brand) 18%, var(--border));border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 10px;display:inline-flex}.aq-batch-ops__count{color:var(--text);white-space:nowrap;font-size:13px}.aq-batch-ops__count em{color:var(--brand);font-style:normal;font-weight:600}.aq-check{align-items:center;gap:8px;font-size:13px;display:inline-flex}.aq-selected-count{color:var(--brand);font-style:normal;font-weight:600}.aq-subnav-actions .aq-status-segment{margin-right:2px}.aq-svc-board{padding:0 18px 24px}.aq-svc-board__intro{font-size:var(--text-sm);margin:0 0 14px;line-height:1.5}.aq-svc-groups{flex-direction:column;gap:14px;display:flex}.aq-svc-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:hidden}.aq-svc-group__head{background:var(--bg-soft);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 14px;display:flex}.aq-svc-group__icon{background:var(--bg-elevated);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;overflow:hidden}.aq-svc-group__icon img{object-fit:contain;width:28px;height:28px}.aq-svc-group__titles{flex-direction:column;gap:2px;min-width:0;display:flex}.aq-svc-group__titles strong{color:var(--text);font-size:14px;font-weight:600}.aq-svc-group__titles .muted{font-size:12px}.aq-svc-list{margin:0;padding:0;list-style:none}.aq-svc-row{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:12px 14px;transition:background .15s;display:flex}.aq-svc-list li:last-child .aq-svc-row{border-bottom:0}.aq-svc-row:hover{background:var(--row-hover)}.aq-svc-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.aq-svc-row__title{color:var(--text);font-size:13px;font-weight:560}.aq-svc-row__meta{font-size:12px}.aq-svc-row__chevron{color:var(--text-muted);flex-shrink:0}.aq-svc-row.is-offline .aq-svc-row__title{color:var(--text-muted)}.aq-system-board{padding:0 18px 24px}.aq-system-board__intro{font-size:var(--text-sm);margin:0 0 12px;line-height:1.5}.aq-system-board__hint{font-size:var(--text-sm);margin:0 0 14px}.aq-system-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.aq-system-chip{border:1px solid var(--border);background:var(--bg-elevated);height:36px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.aq-system-chip:hover{background:var(--bg-soft)}.aq-system-chip.active{border-color:color-mix(in srgb, var(--brand) 35%, var(--border));background:var(--brand-soft);color:var(--brand);font-weight:600}.aq-system-chip em{color:var(--text-muted);text-align:center;min-width:1.25em;font-size:12px;font-style:normal;font-weight:600}.aq-system-chip.active em{color:var(--brand)}.aq-system-grid{margin-top:4px}.aq-link-btn{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.aq-link-btn:disabled{color:var(--text-faint);cursor:not-allowed}.aq-action-spacer{flex:1}.aq-device-table .col-check{text-align:center;width:40px}.aq-th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.aq-status-on{color:var(--online-fg);font-weight:600}.aq-status-off{color:var(--danger-fg);font-weight:600}.aq-row-ops{white-space:nowrap}.aq-device-table th.col-ops,.aq-device-table td.col-ops{z-index:3;background-color:var(--bg-elevated);background-clip:padding-box;min-width:168px;padding-left:12px;position:sticky;right:0;box-shadow:-8px 0 10px -8px #1d212b1f}.aq-device-table thead th.col-ops{z-index:5;background-color:var(--bg-soft)}.aq-device-table tbody tr:hover td.col-ops{background-color:var(--bg-soft)}.aq-device-table tbody tr.device-table-row.offline td.col-ops{background-color:var(--bg-elevated);opacity:1}.aq-device-table tbody tr.device-table-row.offline:hover td.col-ops{background-color:var(--bg-soft)}.aq-op{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0 6px 0 0;font-size:13px}.aq-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-top:8px;display:flex}.aq-page-num{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:4px;min-width:32px;height:32px}.aq-page-num.active{background:var(--brand);border-color:var(--brand);color:var(--btn-primary-fg)}.aq-goto{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.aq-goto input{border:1px solid var(--border);text-align:center;border-radius:4px;width:48px;height:28px}.aq-scene-meta{color:var(--text-muted);font-size:13px}.aq-scene-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.aq-scene-card-title{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.aq-scene-card h3{letter-spacing:-.015em;color:var(--text);margin:0;font-size:15px;font-weight:600;line-height:1.3}.aq-scene-id{color:var(--text-muted);opacity:.85;word-break:break-all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.35}.aq-scene-badges{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.aq-scene-channel{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;height:22px;padding:0 9px;font-size:11px;font-weight:500;display:inline-flex}.aq-scene-channel.ch-managed{color:var(--brand);background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 18%, transparent)}.aq-scene-channel.ch-ha{color:var(--text-muted);background:var(--bg-soft);border-color:var(--border)}.aq-scene-channel.ch-runtime{color:var(--warn-fg,#795515);background:color-mix(in srgb, var(--warn) 14%, var(--bg-elevated));border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.aq-scene-channel.ch-on{color:var(--online-fg);background:var(--online-soft);border-color:color-mix(in srgb, var(--online) 22%, transparent)}.aq-scene-channel.ch-off{color:var(--text-muted);background:var(--bg-soft);border-color:var(--border)}.aq-scene-channel.ch-ai{color:var(--brand);background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 22%, transparent);gap:4px;font-weight:600}.aq-pipe-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.aq-pipe-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.aq-pipe-card{border-radius:var(--radius-sm,12px);background:var(--bg-elevated);border:1px solid var(--border);padding:12px 14px}.aq-pipe-card.is-written{border-color:color-mix(in srgb, var(--online,#29a366) 35%, transparent);box-shadow:inset 3px 0 0 var(--online,#29a366)}.aq-pipe-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.aq-pipe-head strong{font-size:13px;font-weight:600}.aq-pipe-head .muted{word-break:break-all;font-size:11px}.aq-pipe-reason{margin:6px 0 0;font-size:12px;line-height:1.5}.aq-pipe-chain{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.aq-pipe-chain li{align-items:baseline;gap:8px;font-size:12px;line-height:1.5;display:flex}.aq-pipe-step{text-align:center;min-width:52px;color:var(--text-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:11px}.aq-pipe-factors{flex-wrap:wrap;gap:4px;display:inline-flex}.aq-pipe-factor{color:var(--brand);background:var(--brand-soft);border:1px solid color-mix(in srgb, var(--brand) 20%, transparent);border-radius:999px;padding:1px 8px;font-size:11px}button.aq-pipe-factor{cursor:pointer}button.aq-pipe-factor:disabled{cursor:not-allowed;opacity:.45}button.aq-pipe-factor.is-on{color:var(--btn-primary-fg,#fff);background:var(--brand);border-color:var(--brand)}.aq-pipe-warn{color:var(--warn-fg,#795515);margin:8px 0 0;font-size:12px;line-height:1.5}.aq-pipe-yaml{margin-top:8px}.aq-pipe-yaml summary{cursor:pointer;color:var(--text-muted);font-size:12px}.aq-pipe-yaml summary:hover{color:var(--brand)}.aq-pipe-yaml pre{background:var(--bg-soft);border:1px solid var(--border);white-space:pre;border-radius:8px;max-height:260px;margin:6px 0 0;padding:10px 12px;font-size:11px;line-height:1.55;overflow:auto}.aq-ai-mark{letter-spacing:.04em;vertical-align:1px;color:var(--btn-primary-fg,#fff);background:var(--brand);border-radius:999px;align-items:center;gap:3px;margin-right:8px;padding:1px 7px 1px 5px;font-size:10px;font-weight:700;display:inline-flex}.aq-ai-mark svg{flex-shrink:0}.aq-card.aq-card--ai{box-shadow:var(--shadow), inset 0 0 0 1px color-mix(in srgb, var(--brand) 16%, transparent)}.aq-card.aq-card--ai header h3{flex-wrap:wrap;align-items:center;gap:2px 0;display:flex}.aq-pkg-rev-card--ai{box-shadow:inset 3px 0 0 var(--brand)}.aq-pkg-ai-badge{height:20px;color:var(--brand);background:var(--brand-soft);border:1px solid color-mix(in srgb, var(--brand) 18%, transparent);border-radius:999px;align-items:center;gap:3px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.aq-scene-meta-line{color:var(--text-muted);margin:0;font-size:12px;line-height:1.4}.aq-scene-card.has-warn{border-color:color-mix(in srgb, var(--warn) 40%, var(--border));background:color-mix(in srgb, var(--warn) 6%, var(--bg-elevated))}.aq-scene-card.has-warn.severity-error{border-color:color-mix(in srgb, var(--danger) 42%, var(--border));background:color-mix(in srgb, var(--danger) 7%, var(--bg-elevated))}.aq-scene-card.has-warn.severity-info{border-color:color-mix(in srgb, var(--brand) 32%, var(--border));background:color-mix(in srgb, var(--brand) 5%, var(--bg-elevated))}.aq-scene-warns{flex-direction:column;gap:4px;display:flex}.aq-scene-warn{color:var(--warn-fg,#795515);margin:0;font-size:12px;line-height:1.4}.aq-scene-warn.severity-error{color:var(--danger)}.aq-scene-warn.severity-info{color:var(--text-muted)}.aq-scene-tags{flex-wrap:wrap;gap:6px;margin:0;display:flex}.aq-scene-tag{height:20px;color:var(--text-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.aq-scene-actions{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:auto;padding-top:8px;display:flex}.aq-scene-actions .aq-link-btn{white-space:nowrap;height:auto;padding:0}.aq-scene-actions .icon-btn.brand{color:var(--brand);border-color:color-mix(in srgb, var(--brand) 35%, var(--border))}.aq-scene-actions .icon-btn.brand:hover:not(:disabled){color:var(--btn-primary-fg);background:var(--brand);border-color:var(--brand)}@media (prefers-reduced-motion:reduce){.aq-scene-card,.aq-scene-card:hover,.aq-scene-card:active{transition:none;transform:none}}.aq-link-btn.active{color:var(--brand);font-weight:600}.aq-cap-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.aq-cap-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;padding:12px 14px}.aq-cap-card h3{margin:0 0 8px;font-size:14px}.aq-cap-card ul{color:var(--text-muted);margin:0;padding-left:18px;font-size:13px}.aq-cap-list{max-height:200px;list-style:none;overflow:auto;padding:0!important}.aq-cap-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:4px 0;display:flex}.aq-cap-list em{text-transform:uppercase;font-size:11px;font-style:normal}.aq-page-crumb{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 16px 4px;font-size:13px;line-height:1.5;display:flex}.aq-page-crumb--with-action{flex-wrap:wrap;padding-right:16px}.aq-page-crumb--with-action .btn{flex-shrink:0}.aq-page-crumb strong{color:var(--text);font-weight:600}.aq-list-panel{background:var(--bg-elevated);border:1px solid color-mix(in srgb, var(--border) 90%, transparent);border-radius:var(--aq-radius-panel);box-shadow:none;padding:0;overflow:hidden}.aq-list-panel>.empty{padding:32px 16px}.aq-workbench-filter{border-bottom:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:var(--bg-elevated);padding:0 16px 10px}.aq-dim-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:16px;display:grid}.aq-dim-card{text-align:left;border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;display:flex}.aq-dim-card.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.aq-dim-card span{color:var(--text-muted);font-size:12px}.aq-teach-layout{grid-template-columns:280px 1fr;gap:16px;min-height:360px;display:grid}.aq-teach-side{flex-direction:column;gap:10px;display:flex}.aq-teach-list{flex-direction:column;gap:6px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.aq-teach-list button{text-align:left;border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:10px;display:flex}.aq-teach-list button.active{border-color:var(--brand);background:var(--brand-soft)}.aq-teach-list strong{font-size:13px;display:block}.aq-teach-list em{color:var(--text-muted);margin-top:4px;font-size:12px;font-style:normal;display:block}.aq-teach-main h3{margin:0 0 6px}.aq-teach-player{color:#e2e8f0;background:linear-gradient(145deg,#0f172a,#1e293b);border-radius:10px;place-items:center;gap:8px;min-height:220px;margin:12px 0 16px;display:grid}.aq-scene-editor-top{flex-wrap:wrap;gap:12px;display:flex}.aq-scene-editor--drawer{flex-direction:column;gap:12px;min-height:0;display:flex}.aq-scene-editor--drawer .panel-lede{margin:0;font-size:12px;line-height:1.45}.aq-scene-selected-count{color:var(--text-muted);margin-left:auto;font-size:12px}.aq-scene-editor-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;max-height:420px;margin:4px 0 8px;padding:2px;display:grid;overflow:auto}.modal-drawer .aq-scene-editor-grid{flex:auto;min-height:240px;max-height:none}.aq-scene-pick{border:1px solid color-mix(in srgb, var(--border) 90%, transparent);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s;overflow:hidden}.aq-scene-pick.active{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 12%, transparent)}.aq-scene-pick-main{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:12px;display:flex}.aq-scene-pick-main:disabled{cursor:default;opacity:.85}.aq-scene-pick-main strong{letter-spacing:-.01em;font-size:13px;font-weight:600;display:block}.aq-scene-pick-main em{color:var(--text-muted);margin-top:2px;font-size:11px;font-style:normal;display:block}.aq-scene-pick-main span:last-of-type{flex:1;min-width:0}.aq-scene-pick-opts{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:var(--bg-soft);flex-wrap:wrap;gap:10px 14px;padding:0 12px 12px;display:flex}.aq-scene-pick-opts label{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.modal-drawer .aq-scene-editor--drawer .sticky-actions{border-top:1px solid var(--border);background:var(--bg-elevated);margin-top:8px;padding-top:16px;position:sticky;bottom:0}.aq-ifttt-editor{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.modal-drawer-wide .modal-body{-webkit-overflow-scrolling:touch;flex-direction:column;min-height:0;padding-bottom:0;display:flex;overflow:auto}.modal-drawer-wide .modal-body:has(.aq-ifttt-editor){overflow:hidden}.modal-drawer-wide .aq-ifttt-editor{height:100%}.aq-ifttt-meta{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.aq-ifttt-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.aq-ifttt-split{flex:auto;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:14px;min-height:0;display:grid}.aq-ifttt-picker,.aq-ifttt-actions{border:1px solid color-mix(in srgb, var(--border) 90%, transparent);border-radius:var(--radius-sm);background:var(--bg-elevated);flex-direction:column;min-height:0;display:flex;overflow:hidden}.aq-ifttt-tabs{border-bottom:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;gap:0;padding:0 12px;display:flex}.aq-ifttt-tabs--rule{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-soft) 92%, var(--brand-soft));grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;padding:6px;display:grid;box-shadow:inset 0 1px #ffffffb3}.aq-ifttt-tabs--rule .aq-ifttt-tab{height:46px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:10px;flex:1;justify-content:center;gap:8px;margin:0;padding:0 10px;font-size:14px;font-weight:500;transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .15s}.aq-ifttt-tabs--rule .aq-ifttt-tab:hover:not(.active){color:var(--text);background:color-mix(in srgb, var(--bg-elevated) 70%, transparent)}.aq-ifttt-tabs--rule .aq-ifttt-tab.active{color:var(--brand);background:var(--bg-elevated);border-color:color-mix(in srgb, var(--brand) 28%, var(--border));box-shadow:0 1px 2px color-mix(in srgb, var(--text) 6%, transparent), 0 4px 12px color-mix(in srgb, var(--brand) 12%, transparent);font-weight:700}.aq-ifttt-tabs--rule .aq-ifttt-tab.active:hover{transform:none}.aq-ifttt-tabs--rule .aq-ifttt-tab-step{width:22px;height:22px;color:var(--text-muted);background:color-mix(in srgb, var(--bg-elevated) 80%, var(--border));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.aq-ifttt-tabs--rule .aq-ifttt-tab.active .aq-ifttt-tab-step{color:#fff;background:var(--brand)}.aq-ifttt-tabs--rule .aq-ifttt-tab-label{letter-spacing:.02em}.aq-ifttt-tabs--rule .aq-ifttt-tab em{color:var(--text-muted);background:color-mix(in srgb, var(--bg-elevated) 65%, var(--border));border-radius:999px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:500}.aq-ifttt-tabs--rule .aq-ifttt-tab.active em{color:var(--brand);background:var(--brand-soft)}.aq-ifttt-tabs--rule .aq-ifttt-tab em.ok,.aq-ifttt-tabs--rule .aq-ifttt-tab.active em.ok{color:var(--online);background:var(--online-soft)}.aq-ifttt-tab{height:36px;color:var(--text-muted);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 14px;font-size:13px;display:inline-flex}.aq-ifttt-tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.aq-ifttt-tab.btn-reset{cursor:pointer;font:inherit;background:0 0;border:none}.aq-ifttt-tabs--rule .aq-ifttt-tab.btn-reset{background:0 0;border:1px solid #0000}.aq-ifttt-tabs--rule .aq-ifttt-tab.btn-reset.active{border-color:color-mix(in srgb, var(--brand) 28%, var(--border));background:var(--bg-elevated)}.aq-ifttt-filters{flex-shrink:0;padding:10px 12px}.aq-ifttt-device-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:200px;padding:4px 12px 14px;position:relative;overflow:auto}.aq-ifttt-room-group+.aq-ifttt-room-group{margin-top:12px}.aq-ifttt-room-label{color:var(--text-muted);margin:4px 0 8px;font-size:12px;font-weight:600}.aq-ifttt-device-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.aq-ifttt-device-groups{min-height:100%}.aq-ifttt-device-tile{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:var(--bg);color:inherit;cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.aq-ifttt-device-tile--group.has-entities em{white-space:normal;flex-direction:column;align-items:center;gap:2px;display:flex}.aq-ifttt-tile-more{color:var(--brand);align-items:center;gap:2px;margin-top:2px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.aq-ifttt-device-tile:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand) 35%, var(--border));box-shadow:var(--shadow-sm)}.aq-ifttt-device-tile.active{border-color:color-mix(in srgb, var(--brand) 50%, var(--border));background:color-mix(in srgb, var(--brand-soft) 70%, var(--bg-elevated));box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 14%, transparent)}.aq-ifttt-device-tile:disabled{opacity:.55;cursor:not-allowed}.aq-ifttt-device-tile.is-blocked{opacity:.45}.aq-ifttt-device-tile.is-warn:not(:disabled){box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warn) 45%, transparent)}.aq-ifttt-device-tile.is-expanded{border-color:color-mix(in srgb, var(--brand) 55%, var(--border));background:color-mix(in srgb, var(--brand-soft) 70%, var(--bg-elevated));box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 14%, transparent)}.aq-ifttt-tile-check{background:var(--brand);color:#fff;text-align:center;border-radius:4px;width:16px;height:16px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:6px;left:6px}.aq-ifttt-device-tile--group{position:relative}.aq-ifttt-inline-panel{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:var(--bg-elevated);box-shadow:var(--shadow-sm,0 2px 10px color-mix(in srgb, var(--text) 6%, transparent));border-radius:12px;margin:4px 0 10px;padding:18px 16px 14px;animation:.18s aq-ifttt-inline-in;position:relative}.aq-ifttt-inline-caret{background:var(--bg-elevated);border-left:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-top:1px solid color-mix(in srgb, var(--border) 88%, transparent);pointer-events:none;width:12px;height:12px;margin-left:-6px;position:absolute;top:-7px;transform:rotate(45deg)}.aq-ifttt-inline-panel-body{flex-direction:column;gap:14px;display:flex}.aq-ifttt-inline-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.aq-ifttt-inline-row--block{align-items:flex-start}.aq-ifttt-inline-label{color:var(--text);flex:0 0 56px;font-size:13px;font-weight:600;line-height:32px}.aq-ifttt-inline-select{border:1px solid var(--border);background:var(--bg);min-width:160px;max-width:320px;height:36px;color:var(--text);border-radius:8px;flex:1;padding:0 10px;font-family:inherit;font-size:13px}.aq-ifttt-inline-select:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.aq-ifttt-inline-radios{flex-wrap:wrap;gap:8px 16px;padding-top:4px;display:flex}.aq-ifttt-inline-radio{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.aq-ifttt-inline-radio input{accent-color:var(--brand);width:15px;height:15px;margin:0}.aq-ifttt-inline-radio.is-on{color:var(--brand);font-weight:600}.aq-ifttt-inline-actions{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.aq-ifttt-inline-time{border-top:1px dashed color-mix(in srgb, var(--border) 85%, transparent);flex-direction:column;gap:10px;padding-top:4px;display:flex}.aq-ifttt-inline-time-input{flex:none;width:120px;min-width:0;max-width:120px}.aq-ifttt-inline-time-sep{color:var(--text-muted);font-size:12px}.aq-ifttt-inline-brightness{flex:1;align-items:center;gap:10px;min-width:160px;display:inline-flex}.aq-ifttt-inline-brightness input[type=range]{accent-color:var(--brand);flex:1}.aq-ifttt-inline-brightness em{color:var(--text-muted);min-width:36px;font-size:12px;font-style:normal;font-weight:600}@keyframes aq-ifttt-inline-in{0%{opacity:.5;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.aq-ifttt-picker-hint{padding:0 14px 8px}.aq-ifttt-device-tile strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:12px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.aq-ifttt-device-tile em{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-style:normal;overflow:hidden}.aq-ifttt-empty{margin:24px 8px}.aq-ifttt-actions-head{border-bottom:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.aq-ifttt-actions-head h3{margin:0;font-size:14px;font-weight:600}.aq-ifttt-actions-count{color:var(--text-muted);font-size:12px}.aq-ifttt-clear{height:28px;margin-left:auto;padding:0 10px;font-size:12px}.aq-ifttt-action-list{flex:auto;min-height:0;padding:8px;overflow:auto}.aq-ifttt-action-row{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:var(--bg);border-radius:10px;margin-bottom:8px;overflow:hidden}.aq-ifttt-action-row.editing{border-color:color-mix(in srgb, var(--brand) 40%, var(--border))}.aq-ifttt-action-main{align-items:center;gap:10px;padding:10px 12px;display:flex}.aq-ifttt-action-copy{flex:1;min-width:0}.aq-ifttt-action-copy strong{font-size:13px;font-weight:600;display:block}.aq-ifttt-action-copy em{color:var(--text-muted);margin-top:2px;font-size:12px;font-style:normal;display:block}.aq-ifttt-action-ops{white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.aq-ifttt-action-ops .btn-link{color:var(--brand);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;display:inline-flex}.aq-ifttt-block-body .btn-link,.aq-ifttt-action-list>.btn-link{color:var(--brand);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:12px;display:inline-flex}.aq-ifttt-action-ops .btn-link.danger{color:var(--danger)}.aq-ifttt-action-edit{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:var(--bg-soft);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px 12px;font-size:12px;display:flex}.aq-ifttt-action-edit label{align-items:center;gap:6px;display:inline-flex}.aq-ifttt-brightness{flex-direction:column;flex:1;min-width:140px;align-items:stretch!important;gap:4px!important}.aq-ifttt-action-empty{text-align:center;color:var(--text-muted);padding:28px 16px;font-size:13px}.aq-ifttt-block{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:var(--bg);border-radius:10px;margin-bottom:10px;overflow:hidden}.aq-ifttt-block.active-focus{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 12%, transparent)}.aq-ifttt-block-head{background:var(--bg-soft);border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;border-top:none;border-left:none;border-right:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.aq-ifttt-block-head strong{font-size:13px;font-weight:600}.aq-ifttt-block-head span{color:var(--text-muted);margin-left:auto;font-size:11px}.aq-ifttt-block-body{flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.aq-ifttt-block-body .field{margin:0}.aq-ifttt-block-summary{color:var(--text-muted);font-size:12px;line-height:1.45}.aq-ifttt-editor>.sticky-actions{flex-shrink:0;margin-top:4px}.aq-ifttt-complex-banner{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--warn) 35%, var(--border));background:color-mix(in srgb, var(--warn) 8%, var(--bg-elevated));padding:16px}.aq-ifttt-complex-banner strong{margin-bottom:6px;font-size:14px;display:block}.aq-ifttt-complex-banner p{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.5}@media (width<=900px){.aq-ifttt-split{grid-template-rows:minmax(220px,1fr) minmax(240px,1fr);grid-template-columns:1fr}.modal-drawer-wide{width:100%}}.aq-floor-edit{flex-direction:column;gap:10px;min-height:480px;display:flex}.aq-floor-edit.is-view .aq-floor-stage{background-color:#0000;background-image:none;border-style:solid;border-color:#0000;margin-bottom:4px}.aq-floor-edit.is-view .aq-floor-room-head{cursor:default}.aq-floor-edit-bar{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;padding:0 4px;font-size:13px;display:flex}.aq-floor-stage{border:1px dashed var(--border);background-color:#0000;background-image:linear-gradient(90deg,#0f172a0a 1px,#0000 1px),linear-gradient(#0f172a0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;background-color:var(--bg-soft);border-radius:8px;min-height:520px;margin:0 4px 12px;position:relative}.aq-floor-room-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.aq-floor-unplaced{border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-sm);margin:0 4px 8px;padding:10px 12px}.aq-floor-unplaced-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.aq-floor-unplaced-head h3{margin:0;font-size:13px;font-weight:600}.aq-floor-unplaced-devices{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.aq-floor-room{border:1px solid var(--brand-border-35);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;background:#fffffff7;border-radius:8px;flex-direction:column;gap:6px;padding:8px 8px 16px;display:flex;position:absolute;overflow:hidden}.aq-floor-room-head{cursor:grab;flex:none;align-items:center;gap:6px;min-width:0;display:flex}.aq-floor-room.dragging .aq-floor-room-head{cursor:grabbing}.aq-floor-room-head input{border:1px solid var(--border);cursor:text;border-radius:4px;flex:auto;min-width:0;height:28px;padding:0 8px;font-size:13px;font-weight:600}.aq-floor-room-meta{white-space:nowrap;flex:none;font-size:11px}.aq-floor-room-head .aq-op{flex:none;margin-left:auto}.aq-floor-room-devices{flex:auto;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));align-content:start;gap:6px;min-height:0;padding:2px;display:grid;overflow:auto}.aq-floor-room-empty{text-align:center;grid-column:1/-1;padding:12px 4px;font-size:12px}.aq-floor-room.dragging{cursor:grabbing;z-index:5;box-shadow:var(--shadow)}.aq-floor-room.resizing{z-index:5;box-shadow:var(--shadow)}.aq-floor-resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 0 45%, color-mix(in srgb, var(--brand) 55%, transparent) 45% 55%, transparent 55% 70%, color-mix(in srgb, var(--brand) 55%, transparent) 70% 80%, transparent 80%);border-radius:2px;width:14px;height:14px;position:absolute;bottom:2px;right:2px}.aq-floor-resize:hover{background-color:color-mix(in srgb, var(--brand) 10%, transparent)}.aq-floor-room.duplicate-name{border-color:var(--danger-border,#ef43438c);background:var(--danger-soft,#ef434314);box-shadow:0 0 0 2px var(--danger-soft,#ef43431f)}.aq-floor-room.duplicate-name input{border-color:var(--danger-border,#ef43438c)}.aq-floor-dup-warn{color:var(--danger-fg,#d31212);font-size:12px;font-weight:500}.aq-floor-room input{border:1px solid var(--border);border-radius:4px;height:28px;padding:0 8px;font-size:13px;font-weight:600}.aq-debug-log-list{max-height:480px;margin:0 16px;overflow-y:auto}.aq-log-footnote{padding:8px 16px 16px;font-size:12px}.aq-tag-filter{min-width:120px;margin-left:8px}.aq-tag-manage{flex-direction:column;gap:12px;display:flex}@media (width<=900px){.aq-teach-layout{grid-template-columns:1fr}}.text-center{text-align:center}.text-muted-sm{font-size:var(--text-sm);color:var(--text-muted)}.text-muted-xs{font-size:var(--text-xs);color:var(--text-faint)}.sub-stat{font-size:var(--text-md);color:var(--text-muted)}.sub-ok{color:var(--online)}.sub-warn{color:var(--warn)}.sub-danger{color:var(--danger)}.sub-brand{color:var(--brand)}.text-danger{color:var(--danger)}.field-relative{position:relative}.empty-state-icon{text-align:center;color:var(--text-muted);font-size:var(--text-xl);margin:0}.combobox-dropdown{z-index:10;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);max-height:200px;box-shadow:var(--shadow);margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.combobox-empty{text-align:center;font-size:var(--text-md);color:var(--text-muted);padding:14px 12px}.combobox-option{cursor:pointer;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;transition:background .15s;display:flex}.combobox-option:hover{background:var(--row-hover)}.combobox-option:last-child{border-bottom:none}.combobox-option-title{font-weight:500;font-size:var(--text-md)}.combobox-option-meta{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.link-inline{cursor:pointer;color:var(--brand);margin-left:8px;font-weight:500}.link-inline:hover{text-decoration:underline}.stack-sm{flex-wrap:wrap;gap:8px;display:flex}.panel-spaced{margin-top:var(--space-4)}.panel-stack{margin-bottom:var(--space-4)}.code-break{word-break:break-all}.page-loader{height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}.error-boundary{justify-content:center;align-items:center;height:100vh;padding:24px;display:flex}.error-boundary-card{text-align:center;max-width:420px}.error-boundary-card h2{margin-bottom:8px}.error-boundary-detail{background:var(--bg-soft);border-radius:var(--radius-sm);color:var(--text-muted);text-align:left;margin:12px 0;padding:8px 12px;font-size:12px;overflow-x:auto}.admin-list-card{flex-direction:column;min-height:min(62vh,720px);max-height:calc(100vh - 220px);display:flex}.admin-list-toolbar{z-index:2;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-panel) 92%, white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:none;padding:12px 16px;position:sticky;top:0}.admin-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.admin-toolbar-filters{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.admin-toolbar-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.admin-list-summary{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.admin-list-summary strong{color:var(--text);font-weight:600}.admin-list-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.admin-list-scroll .table{margin:0}.admin-list-scroll .table thead th{z-index:1;background:var(--surface-panel);box-shadow:0 1px 0 var(--border);position:sticky;top:0}.admin-list-scroll .table th,.admin-list-scroll .table td{white-space:nowrap}.admin-list-scroll .table td .muted{white-space:normal;max-width:28em}.admin-list-empty{text-align:center;color:var(--text-muted);font-size:var(--text-sm);padding:48px 24px}.page-container{gap:var(--space-4,16px);flex-direction:column;display:flex}.admin-frontend-shell{grid-template-columns:240px minmax(0,1fr);min-height:min(70vh,760px);display:grid;overflow:hidden}.admin-frontend-nav{border-right:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 70%, white);flex-direction:column;display:flex}.admin-frontend-nav-head{border-bottom:1px solid var(--border);font-size:var(--text-sm);padding:14px 16px;font-weight:600}.admin-frontend-nav-list{flex:1;align-content:start;gap:4px;padding:8px;display:grid;overflow:auto}.admin-frontend-nav-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:10px;display:grid}.admin-frontend-nav-item code{color:var(--text-faint);font-size:10px}.admin-frontend-nav-item:hover{background:color-mix(in srgb, var(--brand) 8%, transparent)}.admin-frontend-nav-item.is-active{background:color-mix(in srgb, var(--brand) 12%, white);color:var(--brand);font-weight:600}.admin-frontend-nav-item.is-active code{color:color-mix(in srgb, var(--brand) 70%, var(--text-muted))}.admin-frontend-nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-frontend-detail{background:var(--surface-panel);padding:20px 22px 28px;overflow:auto}.admin-frontend-detail-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.admin-frontend-detail-head h2{font-size:var(--text-xl);margin:0 0 6px}.admin-frontend-path{color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.admin-frontend-card{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 55%, white);border-radius:14px;margin-bottom:14px;padding:16px 18px}.admin-frontend-card h3{font-size:var(--text-sm);margin:0 0 12px;font-weight:650}.admin-frontend-nav-grid{grid-template-columns:1.4fr 1fr 1fr}@media (width<=900px){.admin-frontend-shell{grid-template-columns:1fr}.admin-frontend-nav{border-right:0;border-bottom:1px solid var(--border);max-height:220px}.admin-frontend-nav-grid{grid-template-columns:1fr}}.app-shell:not(.debug-shell) .sidebar{width:var(--sidebar,248px);border-right:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--surface-sidebar) 96%, white);box-shadow:1px 0 0 color-mix(in srgb, var(--border) 40%, transparent);padding:18px 12px 14px}.app-shell:not(.debug-shell) .brand{gap:12px;padding:6px 10px 20px}.app-shell:not(.debug-shell) .brand-mark{border-radius:12px;width:38px;height:38px}.app-shell:not(.debug-shell) .brand-name{letter-spacing:-.01em;font-size:15px;font-weight:700}.app-shell:not(.debug-shell) .brand-sub{color:var(--text-faint);font-size:11px}.app-shell:not(.debug-shell) .nav{gap:2px;padding:0 2px}.app-shell:not(.debug-shell) .nav-group{margin-bottom:10px}.app-shell:not(.debug-shell) .nav-section{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:10px 12px 6px;font-size:10px;font-weight:600}.app-shell:not(.debug-shell) .nav-link{min-height:40px;color:var(--text-muted);border-radius:12px;gap:11px;padding:8px 12px;font-weight:500;transition:background .18s,color .18s,box-shadow .18s,transform .15s}.app-shell:not(.debug-shell) .nav-link-icon{opacity:.88;flex:none;place-items:center;width:20px;height:20px;display:grid}.app-shell:not(.debug-shell) .nav-link-label{flex:auto;min-width:0;font-size:13px;line-height:1.3}.app-shell:not(.debug-shell) .nav-link:hover{background:var(--hover-fill);color:var(--text)}.app-shell:not(.debug-shell) .nav-link.active{background:var(--nav-active-bg);color:var(--text);box-shadow:inset 0 0 0 1px var(--nav-active-ring);font-weight:600}.app-shell:not(.debug-shell) .nav-link.active .nav-link-icon{color:var(--brand);opacity:1}.app-shell:not(.debug-shell) .nav-accordion{flex-direction:column;gap:2px;margin-bottom:2px;display:flex}.app-shell:not(.debug-shell) .nav-accordion-trigger{width:100%;min-height:40px;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:11px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .18s,color .18s;display:flex}.app-shell:not(.debug-shell) .nav-accordion-trigger:hover{background:var(--hover-fill);color:var(--text)}.app-shell:not(.debug-shell) .nav-accordion.is-active>.nav-accordion-trigger,.app-shell:not(.debug-shell) .nav-accordion-trigger.active{color:var(--text);font-weight:600}.app-shell:not(.debug-shell) .nav-accordion.is-active>.nav-accordion-trigger .nav-link-icon{color:var(--brand);opacity:1}.app-shell:not(.debug-shell) .nav-accordion-chevron{opacity:.5;flex:none;margin-left:auto;transition:transform .18s,opacity .18s}.app-shell:not(.debug-shell) .nav-accordion-chevron.open{opacity:.85;transform:rotate(180deg)}.app-shell:not(.debug-shell) .nav-accordion-children{flex-direction:column;gap:2px;padding:2px 0 6px 12px;display:flex}.app-shell:not(.debug-shell) .nav-child-link{min-height:36px;color:var(--text-muted);border-radius:10px;align-items:center;gap:10px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .18s,color .18s,box-shadow .18s;display:flex}.app-shell:not(.debug-shell) .nav-child-link .nav-link-icon{opacity:.75;width:18px;height:18px}.app-shell:not(.debug-shell) .nav-child-link:hover{background:var(--hover-fill);color:var(--text)}.app-shell:not(.debug-shell) .nav-child-link.active{background:var(--nav-active-bg);color:var(--text);box-shadow:inset 0 0 0 1px var(--nav-active-ring);font-weight:600}.app-shell:not(.debug-shell) .nav-child-link.active .nav-link-icon{color:var(--brand);opacity:1}.app-shell:not(.debug-shell) .topbar{border-bottom:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:color-mix(in srgb, var(--surface-topbar) 92%, white);-webkit-backdrop-filter:blur(16px);min-height:56px;padding:10px 28px}.app-shell:not(.debug-shell) .topbar-context{align-items:center;min-width:0;display:flex}.app-shell:not(.debug-shell) .topbar-context-label{letter-spacing:-.01em;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:280px;font-size:13px;font-weight:600;overflow:hidden}.app-shell:not(.debug-shell) .topbar-search{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 70%, var(--bg-elevated));border-radius:12px;max-width:440px;height:40px;padding:0 14px;transition:border-color .18s,box-shadow .18s;box-shadow:inset 0 1px #fff9}.app-shell:not(.debug-shell) .topbar-search:focus-within{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring);background:var(--bg-elevated)}.app-shell:not(.debug-shell) .topbar-search input{font-size:var(--text-base)}.app-shell:not(.debug-shell) .topbar-search input::placeholder{color:var(--text-faint)}.app-shell:not(.debug-shell) .main{padding:var(--space-page);background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 40%, transparent) 0, transparent 48px), transparent}.app-shell:not(.debug-shell) .page-header{margin-bottom:var(--space-5);padding-bottom:0}.app-shell:not(.debug-shell) .page-header-eyebrow{font-size:var(--text-xs)}.app-shell:not(.debug-shell) .page-header h1{font-size:var(--text-2xl);letter-spacing:-.025em;line-height:var(--leading-title,1.25)}.app-shell:not(.debug-shell) .page-header-desc,.app-shell:not(.debug-shell) .page-header p{margin-top:var(--space-2);font-size:var(--text-md);line-height:var(--leading-body,1.5);color:var(--text-muted)}.app-shell:not(.debug-shell) .panel{border:1px solid color-mix(in srgb, var(--border) 92%, transparent);border-radius:var(--radius);background:var(--surface-panel);box-shadow:0 1px 2px #1d212b0a,0 8px 24px #1d212b0a}.app-shell:not(.debug-shell) .panel-head{padding:var(--space-panel-y) var(--space-panel-x);background:color-mix(in srgb, var(--bg-soft) 35%, var(--bg-elevated));border-bottom:1px solid var(--border)}.app-shell:not(.debug-shell) .panel-head h2,.app-shell:not(.debug-shell) .settings-card-head h2{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:600;line-height:var(--leading-title,1.25)}.app-shell:not(.debug-shell) .panel-lede,.app-shell:not(.debug-shell) .empty-state,.app-shell:not(.debug-shell) .settings-card-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-body,1.5)}.app-shell:not(.debug-shell) .muted{font-size:var(--text-sm)}.app-shell:not(.debug-shell) .card,.app-shell:not(.debug-shell) .stat-card,.app-shell:not(.debug-shell) .host-card{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--border) 92%, transparent);transition:transform .18s,box-shadow .2s,border-color .18s;box-shadow:0 1px 2px #1d212b08,0 6px 18px #1d212b0a}.app-shell:not(.debug-shell) .card-link:hover .card,.app-shell:not(.debug-shell) .stat-card-link:hover .stat-card,.app-shell:not(.debug-shell) .host-card:hover{border-color:var(--brand-border-35);transform:translateY(-2px);box-shadow:0 2px 4px #1d212b0a,0 12px 28px #0b62da14}.app-shell:not(.debug-shell) .dashboard-stats,.app-shell:not(.debug-shell) .stats{gap:var(--space-3);margin-bottom:var(--space-5)}.app-shell:not(.debug-shell) .card{padding:var(--space-4)}.app-shell:not(.debug-shell) .card .lbl,.app-shell:not(.debug-shell) .stat-label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-2);font-weight:500}.app-shell:not(.debug-shell) .card .num,.app-shell:not(.debug-shell) .stat-value{font-size:var(--text-3xl);letter-spacing:-.03em;line-height:1.1}.app-shell:not(.debug-shell) .card .num.num-text{font-size:var(--text-md);letter-spacing:-.01em;font-weight:600;line-height:1.35}.app-shell:not(.debug-shell) .card .sub,.app-shell:not(.debug-shell) .stat-hint{margin-top:var(--space-2);font-size:var(--text-sm)}.app-shell:not(.debug-shell) .table{border-collapse:separate;border-spacing:0;width:100%}.app-shell:not(.debug-shell) .table thead th{padding:var(--space-3) var(--space-cell-x);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);background:color-mix(in srgb, var(--bg-soft) 55%, var(--bg-elevated));border-bottom:1px solid var(--border);font-weight:600}.app-shell:not(.debug-shell) .table tbody td{padding:var(--space-cell-y) var(--space-cell-x);font-size:var(--text-base);line-height:var(--leading-body,1.5);border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);vertical-align:middle}.app-shell:not(.debug-shell) .table tbody tr:last-child td{border-bottom:none}.app-shell:not(.debug-shell) .table tbody tr:hover td{background:var(--row-hover)}.app-shell:not(.debug-shell) .toolbar,.app-shell:not(.debug-shell) .filter-chips,.app-shell:not(.debug-shell) .chip-row,.app-shell:not(.debug-shell) .segment,.app-shell:not(.debug-shell) .category-tabs,.app-shell:not(.debug-shell) .tabs{margin-bottom:var(--space-4)}.app-shell:not(.debug-shell) .category-tab,.app-shell:not(.debug-shell) .tab,.app-shell:not(.debug-shell) .chip{font-size:var(--text-base);line-height:1}.app-shell:not(.debug-shell) .segment button{font-size:var(--text-sm)}.app-shell:not(.debug-shell) .category-count,.app-shell:not(.debug-shell) .tabs-group-label,.app-shell:not(.debug-shell) .badge{font-size:var(--text-xs)}.app-shell:not(.debug-shell) .btn{border-radius:var(--btn-radius);font-size:var(--text-md);font-weight:500}.app-shell:not(.debug-shell) .btn:hover{transform:none}.app-shell:not(.debug-shell) .btn:active{transform:scale(.97)}.app-shell:not(.debug-shell) .btn-primary{box-shadow:none}.app-shell:not(.debug-shell) .btn.sm,.app-shell:not(.debug-shell) .btn-sm,.app-shell:not(.debug-shell) .btn-xs{font-size:var(--text-xs)}.app-shell:not(.debug-shell) .header-actions .btn:not(.btn-xs):not(.btn-sm):not(.btn.sm){height:var(--btn-h)}.app-shell:not(.debug-shell) .row-actions .btn-xs,.app-shell:not(.debug-shell) .table .btn-xs{height:var(--btn-h-xs);min-height:var(--btn-h-xs)}.app-shell:not(.debug-shell) .row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.app-shell:not(.debug-shell) .field label,.app-shell:not(.debug-shell) .field>span:first-child{font-size:var(--text-sm);color:var(--text-muted)}.app-shell:not(.debug-shell) .field input,.app-shell:not(.debug-shell) .field select,.app-shell:not(.debug-shell) .field textarea{font-size:var(--text-base)}.app-shell:not(.debug-shell) .user-trigger{border:1px solid #0000;border-radius:12px;transition:background .18s,border-color .18s}.app-shell:not(.debug-shell) .user-trigger:hover{background:var(--hover-fill);border-color:var(--border)}.app-shell:not(.debug-shell) .page-shell--flow>.detail-hero:not(.project-detail-hero){margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--border) 92%, transparent);background:linear-gradient(135deg, var(--brand-mix-06), transparent 42%), var(--surface-panel);box-shadow:0 1px 2px #1d212b08,0 8px 24px #1d212b0a}@media (width<=1100px){.app-shell:not(.debug-shell) .dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.app-shell:not(.debug-shell) .dashboard-stats,.app-shell:not(.debug-shell) .cards-3,.app-shell:not(.debug-shell) .cards-4{grid-template-columns:1fr}.app-shell:not(.debug-shell) .topbar{padding:10px 16px}.app-shell:not(.debug-shell) .main{padding:16px}}.fw-panel-body{padding-top:8px}.fw-section-head{align-items:baseline;gap:8px;margin:0 0 10px;display:flex}.fw-section-head h4{margin:0;font-size:13px;font-weight:600}.fw-empty-line{margin:0 0 12px;font-size:12px}.fw-card-list{flex-direction:column;gap:10px;display:flex}.fw-card{background:var(--bg-elevated);border:1px solid color-mix(in srgb, var(--border) 88%, transparent);box-shadow:var(--shadow-sm);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;display:flex}.fw-card.is-active{border-color:color-mix(in srgb, var(--brand) 28%, var(--border));background:color-mix(in srgb, var(--brand-soft) 35%, var(--bg-elevated))}.fw-card-main{flex-wrap:wrap;flex:auto;align-items:baseline;gap:6px 12px;min-width:0;display:flex}.fw-card-main strong{white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:13px;font-weight:600;overflow:hidden}.fw-card-main em{color:var(--text-muted);white-space:nowrap;font-size:12px;font-style:normal}.fw-card-main code{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;max-width:280px;font-size:11px;overflow:hidden}.fw-card-actions{flex-wrap:nowrap;flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.fw-pipeline{border-top:1px solid color-mix(in srgb, var(--border) 85%, transparent);flex-direction:column;flex:1 0 100%;gap:8px;width:100%;margin:0;padding:10px 0 0;list-style:none;display:flex}.fw-pipe-step{color:var(--text-muted);align-items:flex-start;gap:8px;font-size:12px;display:flex}.fw-pipe-step.is-run{color:var(--brand)}.fw-pipe-step.is-done{color:var(--online)}.fw-pipe-step.is-fail{color:var(--danger)}.fw-pipe-icon{flex:none;place-items:center;width:18px;height:18px;margin-top:1px;display:grid}.fw-pipe-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.fw-pipe-copy strong{color:inherit;font-size:12px;font-weight:600}.fw-pipe-copy em{color:var(--text-faint);font-size:11px;font-style:normal}.fw-pipe-error{color:var(--danger);padding-left:26px;font-size:12px}.fw-panel .spin{animation:.8s linear infinite fw-spin}@keyframes fw-spin{to{transform:rotate(360deg)}}.fw-mirror-strip{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.int-mirror-tag{font-size:11px;font-weight:600}.int-source-pill{color:var(--text-muted);background:var(--bg-soft);vertical-align:middle;border-radius:999px;align-items:center;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:600;line-height:1.4;display:inline-flex}.int-source-pill.is-mirror{color:var(--brand);background:var(--brand-soft)}.btn .int-source-pill{margin-left:6px}.int-local-library .int-source-pill{margin-left:0}.int-local-library .aq-subnav{margin:0 -20px 14px;padding:0 20px}.int-local-library .int-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.aq-soft-btn{border-radius:var(--aq-radius);background:var(--aq-soft-btn-bg);height:28px;color:var(--aq-soft-btn-fg);cursor:pointer;border:none;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.aq-soft-btn--ghost{color:var(--text-muted);background:0 0}.aq-soft-btn--danger{background:color-mix(in srgb, var(--danger) 12%, white);color:var(--danger)}.aq-soft-btn:hover{filter:brightness(.98)}.aq-soft-btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.aq-home-metric-row{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px}.aq-home-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.aq-home-form-span{grid-column:1/-1}.aq-home-form-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.aq-home-tracker-line{color:var(--text-muted);word-break:break-all;margin:8px 0 0;font-size:12px;line-height:1.4}.aq-home-create-row{align-items:center;gap:10px;display:flex}.aq-home-create-row input{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:var(--bg-elevated);min-width:0;height:40px;font:inherit;color:var(--text);border-radius:10px;flex:1;padding:0 12px;font-size:13px}.aq-home-create-row input:focus{border-color:var(--focus-border,var(--brand));box-shadow:0 0 0 3px var(--focus-ring,color-mix(in srgb, var(--brand) 22%, transparent));outline:none}.aq-home-area-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.aq-home-area-card{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:color-mix(in srgb, var(--aq-bg) 40%, var(--bg-elevated));border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.aq-home-area-card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.aq-home-area-card-body strong{font-size:14px;font-weight:600}@media (width<=720px){.aq-home-form-grid{grid-template-columns:1fr}.aq-home-metric-row{max-width:none}}.aq-app-panel{flex-direction:column;min-height:0;display:flex}.aq-app-body{flex:1 1 0;min-height:0;padding:8px 20px 24px;overflow:auto}.aq-app-title-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.aq-app-title-row h2{margin:0;font-size:16px;font-weight:600}.aq-app-lead{color:var(--text-muted);margin:0 0 16px;font-size:13px;line-height:1.5}.aq-app-metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.aq-app-metric{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:var(--aq-radius-panel);background:color-mix(in srgb, var(--aq-bg) 55%, var(--bg-elevated));flex-direction:column;gap:6px;padding:12px 14px;display:flex}.aq-app-metric span{color:var(--text-muted);font-size:12px}.aq-app-metric strong{font-size:18px;font-weight:600}.aq-app-board-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.aq-app-board-card{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:var(--aq-radius-panel);background:var(--bg-elevated);text-align:left;flex-direction:column;gap:10px;min-height:200px;padding:16px;display:flex}.aq-app-board-card--add{border-style:dashed;border-color:color-mix(in srgb, var(--brand) 35%, var(--border));background:color-mix(in srgb, var(--brand-soft) 40%, var(--bg-elevated));color:var(--brand);cursor:pointer;font:inherit;justify-content:center;align-items:center}.aq-app-board-card--add em{color:var(--text-muted);font-size:12px;font-style:normal}.aq-app-board-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.aq-app-scene-list{flex-direction:column;flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.aq-app-scene-list li{justify-content:space-between;gap:8px;font-size:13px;display:flex}.aq-app-scene-list em{color:var(--text-muted);font-size:12px;font-style:normal}.aq-security-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:20px;margin-top:8px;display:grid}.aq-security-side{border-right:1px solid color-mix(in srgb, var(--border) 88%, transparent);flex-direction:column;gap:16px;padding-right:16px;display:flex}.aq-security-guard-card{border-radius:var(--aq-radius-panel);border:1px solid color-mix(in srgb, var(--brand) 22%, var(--border));background:color-mix(in srgb, var(--brand-soft) 55%, var(--bg-elevated));grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px;display:grid}.aq-security-guard-card strong{margin-bottom:4px;font-size:14px;display:block}.aq-security-guard-icon{color:var(--brand)}.aq-security-block h3{margin:0 0 6px;font-size:13px;font-weight:600}.aq-security-block p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.aq-security-type-chips{flex-wrap:wrap;gap:6px;display:flex}.aq-security-type-chips span{background:var(--bg-soft);color:var(--text-muted);border-radius:999px;padding:4px 8px;font-size:12px}.aq-security-main{flex-direction:column;gap:16px;min-width:0;display:flex}.aq-security-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.aq-security-mode-card{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:var(--aq-radius-panel);background:var(--bg-elevated);flex-direction:column;gap:10px;padding:14px;display:flex}.aq-security-mode-top{color:var(--brand);align-items:center;gap:8px;display:flex}.aq-security-mode-top strong{color:var(--text);flex:1;font-size:14px}.aq-switch{cursor:not-allowed;opacity:.55;flex:none;width:36px;height:20px;position:relative}.aq-switch input{opacity:0;width:0;height:0;position:absolute}.aq-switch span{background:#c0c4cc;border-radius:999px;width:100%;height:100%;display:block}.aq-switch span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:2px;left:2px}.aq-security-settings{grid-template-columns:1fr 1fr;gap:12px;display:grid}.aq-security-setting{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:var(--aq-radius-panel);background:color-mix(in srgb, var(--aq-bg) 40%, var(--bg-elevated));padding:14px}.aq-security-setting h3{margin:0 0 6px;font-size:13px}.aq-security-setting p{color:var(--text-muted);margin:0 0 8px;font-size:12px;line-height:1.45}.aq-security-advanced{border-radius:var(--aq-radius-panel);background:var(--bg-soft);padding:12px 14px}.aq-security-advanced h3{margin:0 0 4px;font-size:13px}.aq-security-advanced p{color:var(--text-muted);margin:0;font-size:12px}.aq-security-table-wrap{min-width:0;overflow:auto}@media (width<=960px){.aq-security-layout{grid-template-columns:1fr}.aq-security-side{border-right:none;border-bottom:1px solid color-mix(in srgb, var(--border) 88%, transparent);padding-bottom:16px;padding-right:0}.aq-security-modes,.aq-app-metric-row{grid-template-columns:1fr 1fr}.aq-security-settings{grid-template-columns:1fr}}.aq-inline-code{background:var(--bg-soft);color:var(--text-muted);border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.aq-metric-danger{color:var(--danger)}.aq-pkg-section{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:var(--aq-radius-panel);background:var(--bg-elevated);margin-bottom:22px;padding:16px}.aq-pkg-section--drift{padding-bottom:12px}.aq-pkg-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.aq-pkg-section-head h3{color:var(--text);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:inline-flex}.aq-pkg-section-head .muted{font-size:12px}.aq-pipe{flex-direction:column;gap:10px;display:flex}.aq-pipe-lead{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.aq-pipe-track{flex-wrap:wrap;align-items:center;gap:0;display:flex}.aq-pipe-item{align-items:center;display:inline-flex}.aq-pipe-connector{background:color-mix(in srgb, var(--border) 70%, transparent);border-radius:1px;width:16px;height:2px;margin:0 2px}.aq-pipe-step{background:var(--bg-soft);color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;display:inline-flex}.aq-pipe-step em{background:color-mix(in srgb, var(--text-muted) 18%, transparent);width:18px;height:18px;color:inherit;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.aq-pipe-step--ok{background:color-mix(in srgb, var(--online) 12%, var(--bg-elevated));color:var(--online)}.aq-pipe-step--ok em{background:color-mix(in srgb, var(--online) 22%, transparent)}.aq-pipe-step--fail{background:color-mix(in srgb, var(--danger) 12%, var(--bg-elevated));color:var(--danger)}.aq-pipe-step--fail em{background:color-mix(in srgb, var(--danger) 22%, transparent)}.aq-pipe-step--pending{background:color-mix(in srgb, var(--warn) 14%, var(--bg-elevated));color:color-mix(in srgb, var(--warn) 70%, var(--text))}.aq-pipe-step--pending em{background:color-mix(in srgb, var(--warn) 24%, transparent)}.aq-pipe-step--skip{opacity:.72}.aq-pipe-latest{margin:0;font-size:12px;line-height:1.45}.aq-pipe-fail-hint{color:var(--danger)}.aq-pkg-empty{border-radius:var(--aq-radius-panel);background:color-mix(in srgb, var(--aq-bg) 55%, var(--bg-elevated));border:1px dashed color-mix(in srgb, var(--border) 88%, transparent);flex-direction:column;align-items:flex-start;gap:4px;padding:20px 16px;display:flex}.aq-pkg-empty--sm{padding:14px 12px}.aq-pkg-empty p{margin:0;font-size:13px;font-weight:500}.aq-pkg-empty em{color:var(--text-muted);font-size:12px;font-style:normal}.aq-pkg-rev-list,.aq-pkg-drift-list{flex-direction:column;gap:10px;display:flex}.aq-pkg-rev-card,.aq-pkg-drift-card{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:color-mix(in srgb, var(--aq-bg) 40%, var(--bg-elevated));border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;display:grid}.aq-pkg-rev-title{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.aq-pkg-rev-title strong{word-break:break-all;font-size:13px;font-weight:600}.aq-pkg-rev-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 12px;font-size:12px;display:flex}.aq-pkg-rev-error{color:var(--danger);margin:8px 0 0;font-size:12px;line-height:1.4}.aq-pkg-rev-chips{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.aq-pkg-rev-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.aq-pkg-drift-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.aq-pkg-drift-lead{margin-bottom:12px}.aq-pkg-filter-seg{background:var(--bg-soft);border-radius:8px;padding:2px;display:inline-flex}.aq-pkg-filter-seg button{appearance:none;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:12px}.aq-pkg-filter-seg button.is-active{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow,0 1px 2px #0000000f)}.aq-pkg-drift-panel{margin-top:16px;padding:16px}.audit-row-clickable{cursor:pointer}.audit-row-clickable:hover td{background:var(--row-hover,color-mix(in srgb, var(--brand) 5%, transparent))}.audit-result-preview{text-overflow:ellipsis;white-space:nowrap;max-width:280px;color:var(--text-muted);font-size:var(--text-sm,12px);overflow:hidden}.audit-detail{flex-direction:column;gap:20px;display:flex}.audit-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0;display:grid}.audit-detail-meta>div{min-width:0}.audit-detail-meta dt{font-size:var(--text-xs,11px);color:var(--text-muted);margin:0 0 4px;font-weight:500}.audit-detail-meta dd{font-size:var(--text-base,13px);color:var(--text);word-break:break-word;margin:0}.audit-detail-meta .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.audit-detail-section h3{font-size:var(--text-xl,18px);margin:0 0 10px;font-weight:600}.audit-detail-section-desc{font-size:var(--text-sm,12px);color:var(--text-muted);margin:-4px 0 12px;line-height:1.45}.audit-detail-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.audit-detail-exec-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.audit-detail-card{border-radius:var(--radius-sm,12px);background:var(--bg-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border) 80%, transparent);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.audit-detail-card-exec{background:var(--bg-elevated);box-shadow:var(--shadow,0 1px 3px color-mix(in srgb, var(--text) 8%, transparent)), inset 0 0 0 1px color-mix(in srgb, var(--brand) 18%, var(--border));min-height:88px;padding:14px 16px}.audit-detail-card-label{font-size:var(--text-xs,11px);color:var(--text-muted);font-weight:500}.audit-detail-card-value{color:var(--text);word-break:break-word;font-size:14px;font-weight:600}.audit-detail-card-exec .audit-detail-card-value{letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.25}.audit-detail-card-hint{font-size:var(--text-xs,11px);color:var(--text-muted);font-weight:400}.audit-detail-raw{border-radius:var(--radius-sm,12px);background:var(--bg-soft);white-space:pre-wrap;word-break:break-word;color:var(--text);max-height:280px;margin:0;padding:14px 16px;font-size:12px;line-height:1.55;overflow:auto}@media (width<=720px){.aq-pkg-rev-card,.aq-pkg-drift-card{grid-template-columns:1fr}.aq-pkg-rev-actions{justify-content:flex-start}.aq-pipe-connector{width:8px}.audit-detail-meta{grid-template-columns:1fr}.audit-detail-exec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.aqara-config-layout{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(260px,320px);max-width:1080px;display:grid}.aqara-config-card,.aqara-config-guide-card,.aqara-config-callback-card{padding:var(--space-5)}.aqara-config-card-heading,.aqara-config-callback-heading{align-items:flex-start;gap:var(--space-3);display:flex}.aqara-config-card-heading{padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.aqara-config-heading-icon{width:36px;height:36px;color:var(--brand);background:var(--brand-soft);border-radius:10px;flex:none;place-items:center;display:grid}.aqara-config-card h2,.aqara-config-side h2{font-size:var(--text-lg);line-height:var(--leading-title);margin:0}.aqara-config-card-heading p,.aqara-config-side p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-body)}.aqara-config-status{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--idle-fg);background:var(--idle-soft);display:flex}.aqara-config-status strong,.aqara-config-status p{display:block}.aqara-config-status strong{font-size:var(--text-base)}.aqara-config-status p{color:inherit;font-size:var(--text-sm);line-height:var(--leading-body);margin:2px 0 0}.aqara-config-status .icon-btn{color:inherit;margin-left:auto}.aqara-config-status.is-ready{color:var(--online-fg);background:var(--online-soft);border-color:color-mix(in srgb, var(--online) 28%, var(--border))}.aqara-config-status.is-warning{color:var(--warn-fg);background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, var(--border))}.aqara-config-form{gap:var(--space-4);margin-top:var(--space-4);display:grid}.aqara-config-form .form-section{padding:var(--space-4)}.aqara-config-field-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.aqara-config-form .field>label{align-items:center;gap:6px;display:flex}.aqara-config-optional{color:var(--text-faint);font-size:var(--text-xs);margin-left:auto;font-weight:500}.aqara-secret-field{align-items:center;gap:var(--space-2);display:flex}.aqara-secret-field input{flex:auto;min-width:0}.aqara-config-inline-action{margin-top:var(--space-2)}.aqara-config-error{margin:0}.aqara-config-form-actions{align-items:center;gap:var(--space-3);padding-top:var(--space-1);display:flex}.aqara-config-form-actions span{color:var(--text-muted);font-size:var(--text-sm)}.aqara-config-side{gap:var(--space-4);display:grid}.aqara-config-guide-card ol{gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-body);padding-left:22px;display:grid}.aqara-config-callback-card{gap:var(--space-3);display:grid}.aqara-config-callback-heading{color:var(--brand);align-items:center}.aqara-config-callback-card code{overflow-wrap:anywhere;padding:var(--space-3);color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--btn-radius);font-size:var(--text-sm);line-height:var(--leading-body);display:block}.aqara-config-callback-card .btn{justify-self:start}.aqara-config-callback-card p{margin:0}@media (width<=960px){.aqara-config-layout{grid-template-columns:1fr;max-width:720px}.aqara-config-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.aqara-config-card,.aqara-config-guide-card,.aqara-config-callback-card{padding:var(--space-4)}.aqara-config-field-grid,.aqara-config-side{grid-template-columns:1fr}.aqara-config-form-actions{flex-direction:column;align-items:flex-start}}
