:root{--bg-base:#06070d;--bg-panel:#0c0e16;--bg-panel-2:#14161f;--bg-tile:#0f1119;--bg-tile-hover:#161a26;--bg-elevated:#171a26;--bg-input:#0a0c14;--bg-overlay:#04050bcc;--card-sheen:linear-gradient(165deg, #ffffff0b, #fff0 55%);--border:#1f2230;--border-strong:#2c3142;--border-subtle:#171a25;--border-accent:#a855f780;--text-bright:#f7f9ff;--text:#e7eaf4;--text-secondary:#afb5c8;--text-muted:#767d98;--text-disabled:#464b60;--accent:#b06bff;--accent-hover:#9b4dfb;--accent-soft:#b06bff2e;--accent-glow:#b06bff80;--success:#2dd4bf;--success-soft:#2dd4bf29;--success-glow:#2dd4bf80;--warning:#fbbf24;--warning-soft:#fbbf2429;--warning-glow:#fbbf2473;--danger:#fb5275;--danger-soft:#fb52752e;--danger-glow:#fb527573;--info:#38bdf8;--info-soft:#38bdf82e;--magenta:#ec5ce0;--magenta-soft:#ec5ce029;--chart-1:#2dd4bf;--chart-2:#b06bff;--chart-3:#fbbf24;--chart-4:#ec4899;--chart-5:#38bdf8;--chart-6:#818cf8;--shadow-card:0 1px 2px #00000073, 0 10px 30px -16px #000000b3;--shadow-pop:0 10px 32px -10px #000000b8;--shadow-elevated:0 24px 64px -18px #000000d1;--glow-accent:0 0 28px -8px var(--accent-glow);--ring:0 0 0 3px var(--accent-soft);--font-display:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"DM Mono", "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace}*{box-sizing:border-box}html,body{background-color:var(--bg-base);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";background-image:radial-gradient(1100px 720px at 6% -12%,#b06bff21,#0000 58%),radial-gradient(950px 680px at 106% -4%,#2dd4bf17,#0000 55%),radial-gradient(1200px 820px at 50% 118%,#8c6eff12,#0000 60%);background-repeat:no-repeat;background-attachment:fixed;margin:0;padding:0;font-size:14px}body:after{content:"";pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 1px 1px,#b06bff1a 1px,#0000 0);background-size:32px 32px;position:fixed;inset:0;-webkit-mask:radial-gradient(100% 100%,#000 20%,#0000 85%);mask:radial-gradient(100% 100%,#000 20%,#0000 85%)}#root{min-height:100vh;position:relative}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg-base);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}.app{max-width:1600px;min-height:100vh;margin:0 auto;padding:24px 32px}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:16px;padding-bottom:16px;display:flex}.header h1{letter-spacing:-.02em;color:var(--text-bright);margin:0;font-size:22px;font-weight:700}.header-right{color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:12px;font-size:13px;display:flex}.header-right .error{color:var(--danger)}.icon-btn{background:color-mix(in srgb, var(--bg-elevated) 70%, transparent);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:background .14s,color .14s,border-color .14s,box-shadow .14s;display:flex}.icon-btn:hover{background:var(--accent-soft);color:var(--text-bright);border-color:var(--border-accent);box-shadow:var(--glow-accent)}.header-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.header-meta .error{color:var(--danger)}.empty{text-align:center;color:var(--text-disabled);padding:64px 0;font-size:15px}.global-bar{background:var(--card-sheen), color-mix(in srgb, var(--bg-tile) 92%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;display:flex}.shutdown-all-confirm{color:var(--danger);align-items:center;gap:8px;font-size:13px;display:flex}.gallery{margin-bottom:32px}.gallery-name{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:12px;margin:0 0 12px;padding:0 4px;font-size:13px;font-weight:600;display:flex}.gallery-count{color:var(--text-disabled);text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums;font-size:11px;font-weight:400}.gallery-name>span:first-child{letter-spacing:.13em;background:linear-gradient(95deg, var(--accent), var(--success));-webkit-text-fill-color:transparent;color:var(--accent);-webkit-background-clip:text;background-clip:text;font-size:14px;font-weight:700}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.tile{background:var(--card-sheen), color-mix(in srgb, var(--bg-tile) 92%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative}.tile.online{border-color:var(--border)}.tile.online:hover{border-color:var(--border-accent);box-shadow:var(--shadow-pop), var(--glow-accent);transform:translateY(-2px)}.tile.offline{border-color:var(--danger-soft);opacity:.62}.tile.expanded{border-color:var(--border-strong);box-shadow:var(--shadow-pop);grid-column:span 2}.tile-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-bottom:12px;display:flex}.tile-title{flex:1;min-width:0}.tile-title h3{font-size:14px;font-weight:600;font-family:var(--font-display);letter-spacing:-.01em;margin:0}.hostname{color:var(--text-disabled);margin-top:2px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.chevron{color:var(--text-disabled);font-size:12px}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-offline{background:var(--text-disabled)}.tile-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;display:flex}.label{color:var(--text-muted)}.value{color:var(--text);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.tile-footer{border-top:1px solid var(--border);color:var(--text-disabled);text-align:right;font-variant-numeric:tabular-nums;margin-top:10px;padding-top:10px;font-size:11px}.pinned-apps{background:var(--bg-base);border:1px solid var(--border);border-radius:5px;flex-direction:column;gap:4px;margin-top:10px;padding:8px 10px;display:flex}.pinned-app{flex-direction:column;font-family:ui-monospace,monospace;font-size:11px;display:flex}.pinned-title{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.expanded-section{border-top:1px solid var(--border);flex-direction:column;gap:16px;margin-top:12px;padding-top:12px;display:flex}.sub-section{flex-direction:column;gap:6px;display:flex}.sub-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px;font-weight:500}.sub-title-row{justify-content:space-between;align-items:center;display:flex}.apps-list{border:1px solid var(--border);background:var(--bg-base);border-radius:4px;max-height:240px;overflow-y:auto}.apps-list::-webkit-scrollbar{width:8px}.apps-list::-webkit-scrollbar-thumb{background:#2a2a30;border-radius:4px}.app-row{border-bottom:1px solid #1c1c20;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;display:flex}.app-row:last-child{border-bottom:none}.app-info{flex:1;min-width:0}.app-name{color:var(--text-secondary)}.app-title{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.app-mem{color:var(--text-muted);flex-shrink:0}.empty-list{color:var(--text-disabled);text-align:center;padding:12px 10px;font-size:12px}.app-picker{flex-direction:column;gap:8px;display:flex}.picker-help{color:var(--text-muted);font-size:11px;line-height:1.5}.picker-list{border:1px solid var(--border);background:var(--bg-base);border-radius:4px;max-height:280px;overflow-y:auto}.picker-row{cursor:pointer;border-bottom:1px solid #1c1c20;align-items:center;gap:8px;padding:6px 10px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.picker-row:last-child{border-bottom:none}.picker-row:hover{background:var(--bg-tile)}.picker-row input[type=checkbox]{accent-color:var(--success)}.picker-name{color:var(--text-secondary)}.picker-title{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin-left:auto;font-size:11px;overflow:hidden}.picker-actions{gap:6px;margin-top:4px;display:flex}.gallery-editor{align-items:center;gap:6px;display:flex}.gallery-current{color:var(--text-secondary);background:var(--bg-base);border:1px solid var(--border);border-radius:5px;flex:1;padding:6px 10px;font-family:ui-monospace,monospace;font-size:12px}.actions{flex-wrap:wrap;gap:6px;display:flex}.btn{background:color-mix(in srgb, var(--bg-elevated) 90%, transparent);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:7px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:background .14s,border-color .14s,color .14s}.btn:hover{background:var(--bg-tile-hover);border-color:var(--border-strong);color:var(--text-bright)}.btn-small{background:color-mix(in srgb, var(--bg-elevated) 85%, transparent);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 9px;font-family:inherit;font-size:11px;font-weight:500;transition:background .14s,border-color .14s,color .14s}.btn-small:hover{background:var(--bg-tile-hover);color:var(--text-bright);border-color:var(--border-strong)}.btn-danger{color:var(--danger);background:#3a1f1f;border-color:#5a2828}.btn-danger:hover{background:#4a2424;border-color:#6a2828}.confirm-row{background:#2a1a1a;border:1px solid #4a2828;border-radius:5px;flex-direction:column;gap:8px;padding:8px 10px;display:flex}.confirm-message{color:var(--danger);font-size:12px}.confirm-buttons{gap:6px;display:flex}.folder-row{gap:6px;width:100%;display:flex}.folder-input{background:var(--bg-base);border:1px solid var(--border);color:var(--text);border-radius:5px;outline:none;flex:1;padding:6px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.folder-input:focus{border-color:var(--text-disabled)}.toast{z-index:1000;border-radius:6px;max-width:400px;padding:12px 16px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;animation:.2s ease-out slideUp;position:fixed;bottom:24px;right:24px}.toast-success{color:#8be0a4;background:#0f2a1a;border:1px solid #1f4a2c}.toast-error{color:var(--danger);background:#2a1a1a;border:1px solid #5a2828}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings-page{max-width:720px}.settings-loading{text-align:center;color:var(--text-disabled);padding:80px 0}.settings-section{background:var(--bg-tile);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:20px 24px}.section-title{margin:0 0 6px;font-size:15px;font-weight:600}.section-help{color:var(--text-muted);margin:0 0 16px;font-size:12px;line-height:1.5}.section-help code{background:var(--bg-base);border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-size:11px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--text-secondary);font-size:12px;font-weight:500}.field input[type=text],.field input[type=password],.field input[type=time],.field input[type=number]{background:var(--bg-base);border:1px solid var(--border);color:var(--text);box-sizing:border-box;border-radius:5px;outline:none;width:100%;padding:8px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.field input:focus{border-color:var(--text-disabled)}.field .hint{color:var(--text-muted);font-size:11px;line-height:1.5}.field-row{gap:16px;display:flex}.field-row .field{flex:1}.field-actions{align-items:center;gap:12px;margin-top:-4px;display:flex}.field-actions .hint{color:var(--text-muted);font-size:11px}.checkbox-field{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-field input[type=checkbox]{accent-color:var(--success)}.settings-footer{justify-content:flex-end;padding:16px 0;display:flex}.btn-primary{color:#8be0a4;background:#1f3a2a;border:1px solid #2c5a3c}.btn-primary:hover{background:#244a32;border-color:#3a6a4a}.btn:disabled{opacity:.5;cursor:not-allowed}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-tile);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px;display:flex}.login-title{text-align:center;margin:0 0 8px;font-size:20px;font-weight:600}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--text-secondary);font-size:12px;font-weight:500}.login-field input{background:var(--bg-base);border:1px solid var(--border);color:var(--text);border-radius:5px;outline:none;padding:10px 12px;font-family:ui-monospace,monospace;font-size:13px}.login-field input:focus{border-color:var(--text-disabled)}.login-error{color:var(--danger);background:#2a1a1a;border:1px solid #4a2828;border-radius:4px;padding:8px 10px;font-size:12px}.login-submit{padding:10px;font-size:13px}.login-loading{color:var(--text-muted);text-align:center;padding:16px 0;font-size:13px}.login-google-section{flex-direction:column;align-items:center;gap:12px;display:flex}.login-google-button{justify-content:center;min-height:44px;display:flex}.login-help{color:var(--text-muted);text-align:center;font-size:11px;line-height:1.5}.login-help code{color:#b8b8c0;background:#1e1e22;border-radius:3px;padding:1px 5px;font-size:11px}.login-divider{color:var(--text-disabled);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.login-link-button{color:#7aa7e8;cursor:pointer;text-align:center;text-underline-offset:2px;background:0 0;border:none;padding:4px;font-size:12px;text-decoration:underline}.login-link-button:hover{color:#a3c3f1}.login-password-form{flex-direction:column;gap:12px;display:flex}.signed-in-as{color:var(--text-muted);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;background:#1a1a1e;border-radius:4px;max-width:200px;padding:4px 8px;font-family:ui-monospace,monospace;font-size:11px;overflow:hidden}@media (width<=720px){.signed-in-as{display:none}}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.search-input{background:var(--bg-tile);border:1px solid var(--border);min-width:240px;color:var(--text);border-radius:6px;outline:none;flex:1;padding:8px 14px;font-family:inherit;font-size:13px}.search-input:focus{border-color:var(--text-disabled)}.search-input::placeholder{color:var(--text-disabled)}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--bg-tile);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;transition:all .1s;display:inline-flex}.chip:hover{color:var(--text);background:#1f1f24}.chip-active{color:#8be0a4;background:#1f3a2a;border-color:#2c5a3c}.chip-warn.chip-active{color:var(--warning);background:#3a2a1f;border-color:#5a4528}.chip-count{opacity:.6;font-variant-numeric:tabular-nums;font-size:11px}.chip-active .chip-count{opacity:1}.gallery-name{align-items:center;gap:12px;display:flex}.gallery-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.gallery-confirm{color:var(--danger);text-transform:none;letter-spacing:0;font-size:12px;font-weight:400}.btn-small.btn-danger{color:var(--danger);background:#3a1f1f;border-color:#5a2828}.btn-small.btn-danger:hover{background:#4a2424;border-color:#6a2828}.tile-subtitle{color:var(--text-disabled);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;overflow:hidden}.tile-id{color:var(--text-muted)}.version-badge{color:var(--text-muted);border:1px solid var(--border);letter-spacing:.02em;white-space:nowrap;background:#1c1c20;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.version-outdated{color:var(--warning);background:#2a1f10;border-color:#4a3520}.update-summary{align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.update-summary-text{color:var(--text-muted);font-variant-numeric:tabular-nums}.btn-update{color:var(--warning);background:#2a1f10;border-color:#4a3520}.btn-update:hover{background:#3a2a18;border-color:#6a4f30}.history-page{padding:8px 0}.history-top{border-bottom:1px solid #2a2a30;align-items:baseline;gap:16px;margin-bottom:24px;padding-bottom:16px;display:flex}.history-top h2{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.btn-link{color:#6ea1ff;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:14px}.btn-link:hover{text-decoration:underline}.history-filters{border:1px solid var(--border);background:#18181c;border-radius:8px;flex-wrap:wrap;gap:24px;margin-bottom:16px;padding:16px;display:flex}.history-field{flex-direction:column;gap:6px;font-size:12px;display:flex}.history-field>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.history-field select{color:var(--text);border:1px solid var(--border);background:#0e0e12;border-radius:6px;min-width:180px;padding:6px 10px;font-size:13px}.history-field select:focus{border-color:var(--text-disabled);outline:none}.history-presets{gap:6px;display:flex}.history-field-actions>div{gap:8px;display:flex}.history-meta{color:var(--text-muted);margin-bottom:8px;padding:0 4px;font-size:12px}.history-table{border:1px solid var(--border);background:#18181c;border-radius:8px;overflow:hidden}.history-row{border-bottom:1px solid #1f1f25;grid-template-columns:130px 1fr 130px 2fr;align-items:center;gap:16px;padding:10px 16px;font-size:13px;display:grid}.history-row:last-child{border-bottom:none}.history-row:not(.history-row-head):hover{background:#1c1c22}.history-row-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:#1c1c22;font-size:11px;font-weight:500}.hcol-time{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hcol-exhibit{color:var(--text)}.hcol-details{color:#bbb;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.event-badge{background:var(--border);color:#bbb;white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.event-agent_connected{color:#6fc28d;background:#133021}.event-agent_disconnected{color:#e67d7d;background:#2e1818}.event-app_started{color:#79b8f0;background:#182a3a}.event-app_stopped{color:#e8a06b;background:#322116}.event-system_booted{color:#b78de8;background:#2a1f3a}.event-command_sent{color:#d6c372;background:#2a2516}.recent-list{flex-direction:column;gap:6px;display:flex}.recent-row{border-radius:4px;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:6px 8px;font-size:12px;display:grid}.recent-row:hover{background:#1c1c22}.recent-detail{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.recent-time{color:var(--text-disabled);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.recent-empty{color:var(--text-disabled);padding:4px 8px;font-size:12px;font-style:italic}@media (width<=720px){.history-row{grid-template-columns:90px 1fr;gap:4px}.hcol-event,.hcol-details{grid-column:2}.hcol-exhibit{grid-area:1/2}}.tile-remove{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;line-height:1;transition:opacity .15s,background .15s,color .15s,border-color .15s;display:flex}.tile.offline .tile-header:hover .tile-remove,.tile-remove:focus{opacity:1}.tile-remove:hover{color:var(--danger);background:#3a1818;border-color:#5a2a2a}.tile-remove-confirm{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.offline-remove-help{color:var(--text-muted);margin-bottom:8px;font-size:12px;line-height:1.5}.toast-warn{color:#d6c372;background:#2a2516;border-color:#4a4020}.btn-update-small{color:var(--warning);background:#2a1f10;border-color:#4a3520}.btn-update-small:hover{color:#ffd687;background:#3a2a18;border-color:#6a4f30}.tile[draggable=true]{cursor:grab}.tile[draggable=true]:active{cursor:grabbing;opacity:.65}.gallery-drop-target{outline:2px dashed var(--info);outline-offset:-8px;background:#6ea1ff0f;border-radius:12px;transition:background .1s,outline-color .1s}.gallery-drop-target .gallery-name span:first-child:after{content:" ← drop to move here";color:#6ea1ff;margin-left:8px;font-size:13px;font-weight:400}.inline-app-name{cursor:pointer;border-bottom:1px dotted #0000;transition:border-color .15s}.inline-app-name:hover{border-bottom-color:currentColor}.inline-app-input{border:1px solid var(--info);color:#e8eaed;font:inherit;background:#0b0d12;border-radius:3px;outline:none;padding:0 4px}.inline-app-input:focus{background:#11151c;border-color:#6ea1ff}.status-banner{font-variant-numeric:tabular-nums;border:1px solid;border-radius:10px;align-items:center;gap:12px;margin:0 0 16px;padding:14px 20px;font-size:15px;transition:background .3s,border-color .3s;display:flex}.status-banner-ok{color:#6ed68a;background:#2ea04314;border-color:#2ea04359}.status-banner-warn{color:#ffb38a;background:#ff8a4c14;border-color:#ff8a4c59}.status-banner-info{color:#b0c7e8;background:#6ea1ff0f;border-color:#6ea1ff4d}.status-banner-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-banner-dot-ok{background:var(--success);box-shadow:0 0 8px #3fb95080}.status-banner-dot-warn{background:var(--warning);box-shadow:0 0 8px #f0883e80}.status-banner-dot-bad{background:var(--danger);animation:2s ease-in-out infinite status-pulse;box-shadow:0 0 8px #ff6b6b99}.status-banner-text strong{color:var(--text-bright);font-weight:600}.status-banner-issue{color:#ffb38a!important}.status-banner-offline{color:#ff8585!important}.status-banner-check{font-size:17px}@keyframes status-pulse{0%,to{box-shadow:0 0 8px #ff6b6b99}50%{box-shadow:0 0 16px #ff6b6b}}.btn-small.btn-active{border-color:var(--info);color:#c8d4e8;background:#2a3548}.tile.tile-issue{box-shadow:-3px 0 0 0 var(--warning) inset, 0 0 0 1px #ff8a4c26;background:linear-gradient(#ff8a4c0f 0%,#0000 60%);border-color:#ff8a4c73}.tile.tile-issue .dot.dot-online{background:var(--warning);animation:2.2s ease-in-out infinite tile-issue-pulse;box-shadow:0 0 6px #f0883eb3}.tile.offline{border-color:#ff6b6b59;box-shadow:inset -3px 0 #ff6b6bb3}@keyframes tile-issue-pulse{0%,to{box-shadow:0 0 6px #f0883e80}50%{box-shadow:0 0 12px #f0883e}}.tile-app-prominent{border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin:6px 0;padding:10px 14px;font-size:15px;font-weight:500;display:flex}.tile-app-prominent.app-ok{color:#b8e6c4;background:#3fb9500f}.tile-app-prominent.app-bad{color:#ffd1a8;background:#f0883e14}.app-status-chip{border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:12px}.app-ok .app-status-chip{color:#6ed68a;background:#3fb95026}.app-bad .app-status-chip{color:#ffae6e;background:#f0883e2e;font-weight:600}.tile-display-power{border-radius:6px;align-items:center;gap:6px;width:fit-content;margin:4px 0 6px;padding:3px 10px;font-size:12px;font-weight:500;display:flex}.tile-display-power .dp-dot{box-sizing:border-box;border-radius:50%;flex-shrink:0;width:7px;height:7px}.tile-display-power.dp-on{color:#8fdca0;background:#3fb9500f}.tile-display-power.dp-on .dp-dot{background:#3fb950}.tile-display-power.dp-off{color:#ffbb85;background:#f0883e14}.tile-display-power.dp-off .dp-dot{background:#f0883e}.tile-display-power.dp-unknown{color:#9aa3ad;background:#8b949e14}.tile-display-power.dp-unknown .dp-dot{background:0 0;border:1.5px solid #8b949e}.tile-resources{flex-direction:column;gap:4px;padding:4px 0;display:flex}.tile-resource{grid-template-columns:36px 1fr auto;align-items:center;gap:10px;font-size:12px;display:grid}.tile-resource-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.tile-resource-value{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.tile-resource-detail{color:var(--text-muted)}.tile-bar{background:var(--bg-panel-2);border-radius:3px;height:6px;overflow:hidden}.tile-bar-fill{border-radius:3px;height:100%;transition:width .35s,background .25s}.tile-bar-fill.bar-ok{background:linear-gradient(90deg, var(--success), #50c25e)}.tile-bar-fill.bar-warn{background:linear-gradient(90deg,#d4a83a,#f0c44a)}.tile-bar-fill.bar-bad{background:linear-gradient(90deg, #d9534f, var(--danger))}.tile-time{color:#6a6a72;border-top:1px solid var(--bg-panel-2);margin-top:4px;padding:4px 0 0;font-size:11px}.grid.grid-compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.tile.tile-compact{padding:12px}.tile.tile-compact .tile-row:first-child,.tile.tile-compact .pinned-apps,.tile.tile-compact .tile-time{display:none}.tile.tile-compact .tile-app-prominent{margin:4px 0;padding:6px 10px;font-size:13px}.tile.tile-compact .tile-header h3{font-size:14px}.tile.tile-compact .tile-subtitle,.tile.tile-compact .tile-resource{font-size:11px}.gallery{margin-bottom:32px;padding-top:4px;position:relative}.gallery:before{content:"";background:linear-gradient(180deg, var(--info) 0%, transparent 100%);opacity:.5;border-radius:2px;width:3px;height:100%;position:absolute;top:0;left:0}.gallery .gallery-name{padding-left:12px}.toggle-row{border-bottom:1px solid var(--bg-panel-2);align-items:center;gap:12px;padding:10px 0;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:8px;display:flex}.toggle-label input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--info)}.hint-warn{color:#ffae6e}@media (width<=700px){.app{padding:12px 14px}.header{flex-wrap:wrap;gap:8px}.header h1{font-size:18px}.header-right{gap:8px;font-size:12px}.icon-btn{width:30px;height:30px}.global-bar{flex-direction:column;align-items:stretch;gap:8px}.status-banner{padding:12px 14px;font-size:14px}.toolbar{flex-wrap:wrap;gap:8px}.toolbar .search-input{flex:100%}.filter-chips{flex-wrap:wrap}.grid{grid-template-columns:1fr!important}.tile{padding:12px}.tile-header{gap:8px}.tile-app-prominent{padding:8px 10px;font-size:14px}.tile.expanded{grid-column:auto}.gallery-name{flex-wrap:wrap}.gallery-actions{flex-wrap:wrap;gap:6px}}.header-brand{align-items:baseline;gap:12px;min-width:0;display:flex}.brand-logo{filter:drop-shadow(0 1px 2px #0006);flex-shrink:0;width:auto;height:28px;display:block}.brand-subtitle{color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;font-size:14px;font-weight:500}.login-brand{flex-direction:column;align-items:center;gap:6px;margin-bottom:12px;display:flex}.login-logo{filter:drop-shadow(0 2px 4px #0006);width:auto;height:44px}.login-subtitle{color:var(--text-muted);letter-spacing:.04em;font-size:13px}@media (width<=700px){.brand-logo{height:22px}.brand-subtitle{font-size:12px}.login-logo{height:34px}}.server-health{position:relative}.server-pill{color:var(--text-secondary);cursor:pointer;background:#15171c;border:1px solid #2a2c34;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:12px;transition:background .15s,border-color .15s;display:inline-flex}.server-pill:hover{background:#1c1f26;border-color:#3a3d47}.server-pill-ok{border-color:#1f3a23}.server-pill-warn{color:#ffd1a8;background:#ff8a4c0d;border-color:#ff8a4c73}.server-pill-bad{color:#ffb0b0;background:#ff6b6b14;border-color:#ff6b6b8c}.server-pill-unknown{color:#707078}.server-pill-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.server-pill-dot-ok{background:var(--success);box-shadow:0 0 6px #3fb95080}.server-pill-dot-warn{background:var(--warning);box-shadow:0 0 6px #f0883e99}.server-pill-dot-bad{background:var(--danger);animation:2s ease-in-out infinite status-pulse;box-shadow:0 0 8px #ff6b6bcc}.server-pill-dot-unknown{background:var(--text-disabled)}.server-pill-text{font-variant-numeric:tabular-nums}.server-popover{z-index:1000;background:#15171c;border:1px solid #2a2c34;border-radius:8px;flex-direction:column;gap:8px;min-width:320px;padding:12px 14px;font-size:12px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0006}.server-popover-row{grid-template-columns:36px 1fr auto;align-items:center;gap:10px;display:grid}.server-popover-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.server-popover-bar{background:var(--bg-panel-2);border-radius:3px;height:6px;overflow:hidden}.server-popover-bar-fill{border-radius:3px;height:100%;transition:width .3s}.server-popover-bar-fill.bar-ok{background:linear-gradient(90deg, var(--success), #50c25e)}.server-popover-bar-fill.bar-warn{background:linear-gradient(90deg,#d4a83a,#f0c44a)}.server-popover-value{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.server-popover-divider{background:#2a2c34;height:1px;margin:4px -4px}.server-popover-detail{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;display:flex}.server-popover-detail .server-popover-label{color:var(--text-muted)}.role-badge{letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.role-badge-viewer{color:#9eb4ff;background:#6c84ff1f;border:1px solid #6c84ff4d}.inline-app-name-readonly{cursor:default;color:inherit;font-weight:inherit;border:none;padding:0}.inline-app-name-readonly:hover{background:0 0}.modal-overlay{z-index:1000;cursor:pointer;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card,var(--bg-elevated));border:1px solid var(--border,var(--border));cursor:default;border-radius:8px;flex-direction:column;width:100%;max-width:900px;max-height:80vh;display:flex;box-shadow:0 8px 32px #00000080}.modal-header{border-bottom:1px solid var(--border,var(--border));align-items:flex-start;gap:8px;padding:12px 16px;display:flex}.modal-title{flex:1;min-width:0}.modal-subtitle{color:var(--text-muted,var(--text-muted));word-break:break-all;margin-top:2px;font-size:11px}.modal-body{flex:1;padding:12px 16px;overflow:auto}.modal-actions{border-top:1px solid var(--border,var(--border));justify-content:flex-end;gap:8px;padding:8px 16px;display:flex}.log-source-toggle{gap:4px;margin-right:auto;display:flex}.log-source-toggle .btn-small.active{background:var(--bg-tile-hover);color:var(--text-bright);border-color:var(--border-strong)}.log-modal-body{background:#00000040;padding:0}.log-content{white-space:pre;color:var(--text,var(--text));margin:0;padding:12px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.log-loading,.log-empty,.log-error{text-align:center;color:var(--text-muted,var(--text-muted));padding:24px 16px;font-size:13px}.log-error{color:var(--danger,var(--danger));text-align:left}.log-error>div+div{color:var(--text-muted,var(--text-muted));margin-top:4px;font-size:12px}@media (width<=700px){.modal-content{max-height:90vh}.modal-overlay{padding:8px}.log-content{font-size:11px}}.snooze-badge{color:#ffd56b;background:#ffc10726;border:1px solid #ffc1074d;border-radius:999px;align-items:center;gap:2px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.notes-badge{opacity:.7;cursor:help;margin-left:4px;font-size:10px;display:inline-block}.modal-content-small{max-width:480px}.snooze-presets{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.snooze-preset{border:1px solid var(--border,var(--border));cursor:pointer;background:#ffffff08;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .1s,border-color .1s;display:flex}.snooze-preset:hover{background:#ffffff0f}.snooze-preset-active{background:#ffc10714;border-color:#ffc10766}.snooze-preset input[type=radio]{margin:0}.snooze-reason{flex-direction:column;gap:6px;display:flex}.snooze-reason label{color:var(--text-muted,var(--text-muted));font-size:12px}.notes-display{align-items:flex-start;gap:8px;display:flex}.notes-display>pre.notes-text{flex:1}.notes-text{white-space:pre-wrap;word-wrap:break-word;color:var(--text,var(--text));margin:0;font-family:inherit;font-size:13px;line-height:1.4}.notes-edit{flex-direction:column;gap:6px;display:flex}.notes-textarea{border:1px solid var(--border,var(--border));width:100%;color:var(--text,var(--text));resize:vertical;background:#00000040;border-radius:4px;min-height:80px;padding:8px 10px;font-family:inherit;font-size:13px}.notes-textarea:focus{border-color:var(--accent,var(--accent));outline:none}.notes-edit-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.notes-edit-actions>.text-muted{margin-right:auto;font-size:11px}.text-muted{color:var(--text-muted,var(--text-muted))}.scheduled-actions-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.sched-action-row{border:1px solid var(--border,var(--border));background:#ffffff08;border-radius:6px;align-items:center;gap:12px;padding:12px 14px;transition:opacity .15s;display:flex}.sched-action-disabled{opacity:.55}.sched-action-main{flex:1;min-width:0}.sched-action-name{font-size:14px;font-weight:600}.sched-action-desc{color:var(--text-muted,var(--text-muted));margin-top:2px;font-size:12px}.sched-action-meta{color:var(--text-muted,var(--text-muted));opacity:.7;margin-top:4px;font-size:11px}.sched-action-buttons{align-items:center;gap:8px;display:flex}.sched-action-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:12px;display:flex}.weekday-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekday-cell{border:1px solid var(--border,var(--border));cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:12px;display:flex}.weekday-cell-active{color:#aebdff;background:#6c84ff26;border-color:#6c84ff80}.weekday-cell input{margin:0}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-row{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.checkbox-row input{margin:0}.install-btn{color:#aebdff;background:#6c84ff1f;border:1px solid #6c84ff66}.install-btn:hover{background:#6c84ff33}@media (display-mode:standalone){.app{padding-bottom:env(safe-area-inset-bottom,0)}}.gallery-shutdown-widget{letter-spacing:0;text-transform:none;background:#78a0dc0f;border:1px solid #78a0dc26;border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:2px 8px 2px 4px;font-size:11px;font-weight:400;transition:opacity .2s,background .15s,border-color .15s;display:inline-flex}.gallery-shutdown-widget:hover{background:#78a0dc1a;border-color:#78a0dc4d}.gallery-shutdown-off{opacity:.55}.gallery-shutdown-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.gallery-shutdown-toggle:disabled{cursor:wait}.gallery-shutdown-dot{border-radius:50%;width:8px;height:8px;transition:background .2s,box-shadow .2s;display:inline-block}.dot-on{background:#62c98a;box-shadow:0 0 6px #62c98a80}.dot-off{box-shadow:none;background:#5a6070}.gallery-shutdown-label{cursor:pointer;color:var(--text,var(--text));font:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:11px;font-weight:400;display:inline-flex}.gallery-shutdown-time{color:var(--text,var(--text));font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600}.gallery-shutdown-days{color:var(--text-muted,var(--text-muted))}.gallery-shutdown-extras{color:#ffd56b;background:#ffc1072e;border:1px solid #ffc1074d;border-radius:999px;margin-left:2px;padding:0 5px;font-size:10px}.gallery-shutdown-add{color:var(--text-muted,var(--text-muted));cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:1px dashed #78a0dc4d;border-radius:999px;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:400;transition:color .15s,border-color .15s,background .15s}.gallery-shutdown-add:hover{color:var(--text,var(--text));background:#78a0dc0f;border-color:#78a0dc80}.shutdown-modal-row{margin-bottom:16px}.shutdown-modal-row>label{color:var(--text-muted,var(--text-muted));text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;display:block}.shutdown-time-inputs{align-items:center;gap:6px;display:flex}.shutdown-time-inputs input[type=number]{background:var(--bg-card,var(--bg-elevated));border:1px solid var(--border,var(--border));width:60px;color:var(--text,var(--text));text-align:center;font-variant-numeric:tabular-nums;border-radius:4px;padding:6px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px}.shutdown-time-inputs span{color:var(--text-muted,var(--text-muted));font-size:16px}.shutdown-preset-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.shutdown-preset-btn{border:1px solid var(--border,var(--border));color:var(--text-muted,var(--text-muted));cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:11px;transition:background .1s,border-color .1s,color .1s}.shutdown-preset-btn:hover{color:var(--text,var(--text));background:#ffffff0a}.shutdown-preset-active{color:#b8d4ff;background:#78a0dc1f;border-color:#78a0dc73}.shutdown-day-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.shutdown-day-cell{aspect-ratio:1;background:var(--bg-card,var(--bg-elevated));border:1px solid var(--border,var(--border));color:var(--text-muted,var(--text-muted));cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:background .1s,border-color .1s,color .1s;display:flex}.shutdown-day-cell:hover{color:var(--text,var(--text));background:#ffffff0a}.shutdown-day-active{color:#b8d4ff;background:#78a0dc2e;border-color:#78a0dc80}.shutdown-enabled-row{cursor:pointer;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;color:var(--text,var(--text))!important;margin-bottom:0!important;font-size:13px!important;display:inline-flex!important}@media (width<=900px){.gallery-name{flex-wrap:wrap;row-gap:8px}}.modal-screenshots{max-width:1100px}.screenshots-modal-body{background:#00000026;padding:12px}.screenshots-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.screenshot-thumb{background:var(--bg-card,var(--bg-elevated));border:1px solid var(--border,var(--border));cursor:pointer;aspect-ratio:16/9;border-radius:6px;flex-direction:column;padding:0;transition:border-color .12s,transform .12s;display:flex;position:relative;overflow:hidden}.screenshot-thumb:hover{border-color:#78a0dc80;transform:translateY(-1px)}.screenshot-thumb img{object-fit:cover;background:#0b0d12;width:100%;height:100%;display:block}.screenshot-thumb-loading,.screenshot-thumb-fail{color:var(--text-muted,var(--text-muted));background:#00000040;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.screenshot-thumb-fail{color:#ff9a9a}.screenshot-thumb-caption{color:var(--text-bright);text-align:left;background:linear-gradient(#0000,#000000bf);padding:4px 8px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.lightbox-overlay{z-index:1100;cursor:pointer;background:#000000eb;justify-content:center;align-items:center;padding:24px 60px;display:flex;position:fixed;inset:0}.lightbox-content{cursor:default;flex-direction:column;align-items:center;gap:8px;max-width:100%;max-height:100%;display:flex}.lightbox-content img{object-fit:contain;background:#000;border-radius:4px;max-width:100%;max-height:calc(100vh - 100px);display:block}.lightbox-caption{color:var(--text-muted,var(--text-muted));font-size:12px}.lightbox-loading,.lightbox-fail{color:var(--text-muted,var(--text-muted));padding:40px}.lightbox-fail{color:#ff9a9a}.lightbox-nav{width:44px;height:44px;color:var(--text-bright);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;font-size:28px;line-height:1;transition:background .12s,opacity .12s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff2e}.lightbox-nav:disabled{opacity:.25;cursor:default}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-close{width:36px;height:36px;color:var(--text-bright);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;font-size:16px;position:absolute;top:12px;right:12px}.lightbox-close:hover{background:#ffffff2e}@media (width<=700px){.screenshots-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.lightbox-overlay{padding:8px}.lightbox-nav{width:36px;height:36px;font-size:22px}}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:var(--text-bright);box-shadow:0 0 0 0 var(--accent-glow), 0 4px 14px -4px var(--accent-glow);font-weight:600;transition:background .15s,box-shadow .2s,transform .1s}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 0 3px var(--accent-soft), 0 6px 22px -4px var(--accent-glow)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{background:var(--bg-elevated);border-color:var(--border);color:var(--text-disabled);box-shadow:none}.dot-online{background:var(--success);box-shadow:0 0 0 3px #34d3991f, 0 0 14px var(--success-glow)}.dot-offline{background:var(--danger);opacity:.7;box-shadow:0 0 0 3px #f43f5e1a}.tile{transition:background .15s,border-color .15s,box-shadow .2s}.tile.online:hover{background:var(--bg-tile-hover);border-color:var(--border-strong);box-shadow:0 0 0 1px var(--border-accent), 0 8px 28px -10px #a855f733}.tile.offline{border-color:#f43f5e4d}.tile.offline:hover{background:var(--bg-tile-hover);border-color:#f43f5e8c}.value,.stat-value{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.value.good{color:var(--success)}.value.bad{color:var(--danger)}.value.warn{color:var(--warning)}.status-banner-ok{background:linear-gradient(#34d39914,#34d39905);border-color:#34d39940}.status-banner:not(.status-banner-ok){box-shadow:0 0 24px -8px var(--danger-glow);background:linear-gradient(#f43f5e1a,#f43f5e05);border-color:#f43f5e59}.pinned-name{color:var(--magenta)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes pulse-alert{0%,to{box-shadow:0 0 0 0 var(--danger-soft)}50%{box-shadow:0 0 0 6px #0000}}.pulsing{animation:1.8s ease-in-out infinite pulse-alert}.remote-access{flex-direction:column;gap:8px;display:flex}.remote-access-id{color:var(--text-muted);align-self:center;font-size:12px}.remote-access-id code,.remote-access-idrow code{font-family:var(--font-mono);color:var(--text-secondary)}.remote-access-idrow{justify-content:space-between;align-items:center;gap:8px;display:flex}.remote-access-idedit{align-items:center;gap:8px;display:flex}.remote-access-idedit .text-editor-input{font-family:var(--font-mono);flex:1}.access-field{margin-bottom:14px}.access-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:5px;font-size:11px;display:block}.access-field-row{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.access-field-row code{font-family:var(--font-mono);color:var(--text-bright);letter-spacing:.02em;word-break:break-all;font-size:15px}.video-bg{z-index:-2;background:var(--bg-base) url(/bg/dashboard-poster.jpg) center / cover no-repeat;pointer-events:none;position:fixed;inset:0;overflow:hidden}.video-bg-media{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.2s;position:absolute;inset:0}.video-bg-media.is-ready{opacity:1}.video-bg-scrim{background:linear-gradient(#06070deb 0%,#06070dcc 24%,#06070dc2 50%,#06070dd1 76%,#06070ded 100%);position:absolute;inset:0}body{background:var(--bg-base)}.tile,.settings-section,.gallery{background-color:color-mix(in srgb, var(--bg-tile) 90%, transparent)}.header{background-color:color-mix(in srgb, var(--bg-panel) 82%, transparent);-webkit-backdrop-filter:blur(12px)}.modal{-webkit-backdrop-filter:none;backdrop-filter:none}.admin-accounts{flex-direction:column;gap:14px;display:flex}.admin-group{flex-direction:column;gap:6px;display:flex}.admin-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px;font-size:11px}.admin-row{background:var(--bg-tile);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.admin-row-locked{border-color:var(--border-subtle);background:0 0}.admin-email{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:DM Mono,monospace;font-size:13px;overflow:hidden}.admin-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--border);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px}.admin-tag-super{color:var(--accent);background:var(--accent-soft)}.engagement-page{max-width:1100px;margin:0 auto}.engagement-top{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:8px;display:flex}.engagement-top h2{margin:0;font-size:20px;font-weight:600}.engagement-presets{gap:6px;margin-left:auto;display:flex}.engagement-presets .preset-active{background:var(--accent-soft);border-color:var(--border-accent);color:var(--text-bright)}.engagement-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.engagement-card{background:var(--card-sheen), color-mix(in srgb, var(--bg-tile) 92%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;padding:18px 20px}.engagement-card-value{color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.engagement-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px;font-size:12px}.engagement-card-sub{color:var(--text-secondary);text-transform:none;letter-spacing:0}.engagement-section{margin:22px 0}.engagement-h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 10px;font-size:13px;font-weight:600}.engagement-chart{background:var(--card-sheen), color-mix(in srgb, var(--bg-tile) 92%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;padding:12px 14px 8px}.engagement-chart svg{width:100%;height:160px;display:block}.engagement-bar{fill:url(#engGrad);opacity:.92}.engagement-bar:hover{opacity:1}.engagement-axis{stroke:var(--border-strong);stroke-width:1px}.engagement-chart-labels{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.engagement-table{border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.engagement-row{border-bottom:1px solid var(--border-subtle);background-color:color-mix(in srgb, var(--bg-tile) 90%, transparent);grid-template-columns:minmax(0,2.4fr) 1fr .8fr 1fr 1fr;align-items:center;gap:10px;padding:10px 14px;display:grid}.engagement-row:last-child{border-bottom:none}.engagement-row-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:0 0;font-size:11px}.ecol-name{flex-direction:column;gap:5px;min-width:0;display:flex}.ecol-name-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ecol-bar{background:var(--border);border-radius:999px;height:4px;overflow:hidden}.ecol-bar-fill{background:linear-gradient(90deg, var(--accent), var(--chart-1));border-radius:999px;height:100%;display:block}.engagement-row-head .ecol-bar{display:none}.ecol-num{text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.ecol-strong{color:var(--text-bright);font-weight:600}.engagement-section-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.engagement-section-head .engagement-h3{margin:0}.engagement-groupby{align-items:center;gap:6px;margin-left:auto;display:flex}.engagement-groupby-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:11px}.engagement-groupby .preset-active{background:var(--accent);color:#fff;border-color:var(--accent)}.engagement-row-group{background:color-mix(in srgb, var(--accent) 12%, var(--bg-tile));border-top:1px solid var(--border)}.engagement-group:first-child .engagement-row-group{border-top:none}.engagement-row-group .ecol-bar{display:none}.ecol-group-name{color:var(--text-bright);flex-direction:row;align-items:center;font-size:13px;font-weight:600}.ecol-group-count{color:var(--text-muted);font-weight:400}.heatmap{background:var(--card-sheen), color-mix(in srgb, var(--bg-tile) 92%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;grid-template-columns:auto repeat(24,minmax(0,1fr));align-items:center;gap:2px;padding:12px 14px;display:grid}.heatmap-hourlabel{color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;font-size:9px}.heatmap-daylabel{color:var(--text-muted);text-align:right;white-space:nowrap;padding-right:8px;font-size:10px}.heatmap-cell{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--accent) calc(var(--i,0) * 100%), transparent);border-radius:3px;height:16px}.heatmap-peak{color:var(--text-secondary);font-size:12px}.heatmap-peak strong{color:var(--text-bright);font-weight:600}.heatmap-select{background:color-mix(in srgb, var(--bg-tile) 90%, transparent);color:var(--text);border:1px solid var(--border);border-radius:8px;max-width:200px;margin-left:auto;padding:4px 8px;font-size:12px}.heatmap-legend{color:var(--text-muted);align-items:center;gap:5px;margin-top:8px;font-size:10px;display:flex}.heatmap-legend-cell{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--accent) calc(var(--i,0) * 100%), transparent);border-radius:3px;width:14px;height:14px}.ba-controls{margin-bottom:10px}.ba-add{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ba-date,.ba-note{background:color-mix(in srgb, var(--bg-tile) 90%, transparent);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:5px 8px;font-size:13px}.ba-note{flex:1;min-width:160px}.ba-markers{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.ba-marker{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-tile) 90%, transparent);border-radius:9px;align-items:center;display:inline-flex;overflow:hidden}.ba-marker-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg-tile))}.ba-marker-pick{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;flex-direction:column;gap:1px;padding:6px 10px;display:flex}.ba-marker-date{color:var(--text-bright);font-size:13px;font-weight:600}.ba-marker-note{color:var(--text-muted);font-size:11px}.ba-marker-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:stretch;padding:0 8px;font-size:15px;line-height:1}.ba-marker-del:hover{color:var(--danger,#ef4444)}.ba-window{align-items:center;gap:6px;margin-bottom:12px;display:flex}.ba-result{border:1px solid var(--border);box-shadow:var(--shadow-card);background:var(--card-sheen), color-mix(in srgb, var(--bg-tile) 92%, transparent);border-radius:12px;padding:14px}.ba-spans{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-bottom:12px;font-size:11px}.ba-partial{color:var(--accent)}.ba-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.ba-metric{border:1px solid var(--border-subtle);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.ba-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.ba-metric-vals{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;display:flex}.ba-before{color:var(--text-secondary);font-size:15px}.ba-arrow{color:var(--text-muted)}.ba-after{color:var(--text-bright);font-size:18px;font-weight:600}.ba-delta{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.ba-delta-up{color:#34d399}.ba-delta-down{color:var(--danger,#ef4444)}.ba-delta-flat{color:var(--text-muted);font-weight:400}.uptime-row{grid-template-columns:minmax(0,2.4fr) 1fr .9fr 1fr}.uptime-row-click{cursor:pointer}.uptime-row-click:hover{background-color:color-mix(in srgb, var(--bg-tile) 80%, transparent)}.uptime-row-open{background-color:color-mix(in srgb, var(--accent) 8%, var(--bg-tile))}.uptime-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.uptime-dot.dot-on{background:#34d399}.uptime-dot.dot-off{background:var(--danger,#ef4444)}.uptime-bar-good{background:#34d399!important}.uptime-bar-warn{background:#f59e0b!important}.uptime-bar-bad{background:var(--danger,#ef4444)!important}.uptime-txt-good{color:#34d399}.uptime-txt-warn{color:#f59e0b}.uptime-txt-bad{color:var(--danger,#ef4444)}.uptime-planned-hint{color:var(--text-muted)}.uptime-detail{border-bottom:1px solid var(--border-subtle);background-color:color-mix(in srgb, var(--bg-tile) 94%, transparent);padding:6px 14px 12px}.uptime-outages{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.uptime-outage{font-variant-numeric:tabular-nums;color:var(--text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.uptime-outage-when{color:var(--text)}.uptime-outage-dur{color:var(--text-muted);margin-left:auto}.uptime-tag-planned{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:10px}.settings-field-row{flex-wrap:wrap;gap:12px;display:flex}.settings-field-row .field{flex:1;min-width:120px}.day-toggles{flex-wrap:wrap;gap:6px;display:flex}.day-toggle{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-tile) 90%, transparent);min-width:44px;color:var(--text-muted);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:13px;transition:background-color .12s,color .12s,border-color .12s}.day-toggle:hover{color:var(--text)}.day-toggle-on{background:var(--accent);border-color:var(--accent);color:#fff}.engagement-empty{flex-direction:column;gap:8px;padding:24px 0;display:flex}.ecol-name-line{align-items:center;gap:8px;min-width:0;display:flex}.ecol-name-line .ecol-name-text{min-width:0}.ecol-hide{width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:opacity .12s,background-color .12s,color .12s;display:inline-flex}.engagement-row:hover .ecol-hide{opacity:.75}.ecol-hide:hover{opacity:1;background:color-mix(in srgb, var(--danger,#ef4444) 18%, transparent);color:var(--danger,#ef4444)}.ecol-hide:disabled{opacity:.3;cursor:default}.engagement-hidden-box{margin-top:26px}.engagement-hidden-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.engagement-hidden-chip{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-tile) 80%, transparent);border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:5px 6px 5px 12px;font-size:13px;display:inline-flex}.ehc-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.ehc-restore{cursor:pointer;background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);border:none;border-radius:999px;flex:none;padding:3px 11px;font-size:12px;font-weight:600;transition:background-color .12s}.ehc-restore:hover{background:color-mix(in srgb, var(--accent) 28%, transparent)}.ehc-restore:disabled{opacity:.5;cursor:default}@media (width<=720px){.engagement-cards{grid-template-columns:1fr}.engagement-row{grid-template-columns:minmax(0,1.6fr) 1fr 1fr}.engagement-row .ecol-num:nth-child(3),.engagement-row .ecol-num:nth-child(5){display:none}.uptime-row{grid-template-columns:minmax(0,1.6fr) .9fr .7fr}.uptime-row .ecol-num:nth-child(3){text-align:right;display:inline}.uptime-row .ecol-num:nth-child(4){display:none}}.maint-list{flex-direction:column;gap:8px;margin-bottom:4px;display:flex}.maint-item{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.maint-item.maint-active{border-color:var(--warning)}.maint-item.maint-past{opacity:.5}.maint-info{flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.maint-scope{color:var(--text-bright);font-weight:600}.maint-label{color:var(--text-secondary)}.maint-range{color:var(--text-muted);font-size:.85em}.engagement-page.eng2{max-width:1180px;margin:0 auto;padding:22px clamp(16px,4vw,36px) 64px}.eng-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.eng-head-left{min-width:0}.eng-title{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.015em;margin:8px 0 6px;font-size:26px;font-weight:600}.eng-lede{color:var(--text-secondary);max-width:620px;margin:0;font-size:13.5px;line-height:1.5}.eng-segment{background:var(--bg-input);border:1px solid var(--border);border-radius:11px;align-items:center;gap:2px;padding:3px;display:inline-flex}.eng-seg-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 8px 0 6px;font-size:10.5px;font-weight:600}.eng-seg-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:6px 13px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s}.eng-seg-btn:hover{color:var(--text-bright)}.eng-seg-btn.is-active{background:var(--accent-soft);color:var(--text-bright)}.eng-segment-sm .eng-seg-btn{padding:5px 10px;font-size:12px}.eng-card{background:var(--bg-tile);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:16px;margin-bottom:14px;padding:20px;position:relative;overflow:hidden}.eng-card:before{content:"";border-radius:inherit;background:var(--card-sheen);pointer-events:none;position:absolute;inset:0}.eng-card>*{position:relative}.eng-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.eng-eyebrow{text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);font-size:11px;font-weight:600}.eng-sub{color:var(--text-secondary);margin-top:4px;font-size:12.5px}.eng-sub strong{color:var(--text);font-weight:600}.eng-muted{color:var(--text-muted);padding:6px 0;font-size:13px}.eng-stats{grid-template-columns:repeat(auto-fit,minmax(208px,1fr));gap:14px;margin-bottom:14px;display:grid}.eng-stat{background:var(--bg-tile);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:16px;padding:16px 18px;position:relative;overflow:hidden}.eng-stat:before{content:"";background:var(--card-sheen);pointer-events:none;position:absolute;inset:0}.eng-stat>*{position:relative}.eng-stat-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.eng-stat-value{font-family:var(--font-mono);color:var(--text-bright);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:500;line-height:1.05}.eng-stat-foot{justify-content:space-between;align-items:flex-end;gap:8px;min-height:36px;margin-top:12px;display:flex}.eng-stat-sub{color:var(--text-muted);align-self:center;font-size:12px}.eng-spark{flex:none;width:132px;height:36px}.eng-delta{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.eng-delta-up{color:var(--success);background:var(--success-soft)}.eng-delta-down{color:var(--danger);background:var(--danger-soft)}.eng-delta-flat{color:var(--text-muted);background:#ffffff0d}.eng-grid-2{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:14px;margin-bottom:14px;display:grid}.eng-grid-2 .eng-card{margin-bottom:0}.eng-card-hero{overflow:visible}.eng-chart-wrap{width:100%;position:relative}.eng-area-svg{width:100%;height:auto;display:block}.eng-grid{stroke:var(--border-subtle);stroke-width:1px}.eng-axis-y,.eng-axis-x{fill:var(--text-muted);font-size:10.5px;font-family:var(--font-mono)}.eng-area-line{stroke:var(--accent);stroke-width:2px}.eng-area-dot{fill:var(--accent);stroke:var(--bg-tile);stroke-width:2px}.eng-guide{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 3}.eng-tip{background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow-pop);pointer-events:none;white-space:nowrap;z-index:3;border-radius:9px;padding:8px 11px;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.eng-tip-date{color:var(--text-muted);margin-bottom:4px;font-size:11px}.eng-tip-row{color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12.5px;display:flex}.eng-tip-dim{color:var(--text-muted);margin-top:2px}.eng-dot{border-radius:3px;flex:none;width:9px;height:9px}.eng-donut-body{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.eng-donut-ring{flex:none;width:168px}.eng-donut-svg{width:168px;height:168px}.eng-donut-total{font-family:var(--font-mono);fill:var(--text-bright);font-size:22px;font-weight:500}.eng-donut-cap{fill:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px}.eng-donut-legend{flex:1;min-width:140px;margin:0;padding:0;list-style:none}.eng-donut-legend li{align-items:center;gap:9px;padding:4px 0;font-size:12.5px;display:flex}.eng-leg-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.eng-leg-pct{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}.eng-heat{grid-template-columns:30px repeat(24,1fr);align-items:center;gap:3px;display:grid}.eng-heat-hour{color:var(--text-muted);text-align:center;font-size:9.5px;font-family:var(--font-mono)}.eng-heat-day{color:var(--text-secondary);text-align:right;padding-right:7px;font-size:11px}.eng-heat-cell{aspect-ratio:1;background-color:rgba(176, 107, 255, var(--i,0));border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff08}.eng-heat-legend{color:var(--text-muted);align-items:center;gap:5px;margin-top:12px;font-size:11px;display:flex}.eng-heat-legend .eng-heat-cell{aspect-ratio:auto;width:18px;height:12px}.eng-table{flex-direction:column;display:flex}.eng-trow{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) 92px 78px 92px 104px;align-items:center;gap:10px;padding:9px 6px;display:grid}.eng-trow-head{border-bottom:1px solid var(--border)}.eng-trow-head .eng-tname,.eng-trow-head .eng-tnum{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.eng-trow:not(.eng-trow-head):not(.eng-trow-group):hover{background:#ffffff05}.eng-tname{flex-direction:column;gap:5px;min-width:0;display:flex}.eng-tname-line{align-items:center;gap:6px;display:flex}.eng-tname-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.eng-thide{color:var(--text-disabled);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1;transition:opacity .12s,color .12s}.eng-trow:hover .eng-thide{opacity:1}.eng-thide:hover{color:var(--danger)}.eng-tbar{background:var(--bg-input);border-radius:3px;height:5px;overflow:hidden}.eng-tbar-fill{background:linear-gradient(90deg, var(--accent), var(--chart-1));border-radius:3px;height:100%}.eng-tnum{text-align:right;font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.eng-tstrong{color:var(--text-bright);font-weight:500}.eng-tgroup{margin-top:4px}.eng-trow-group{border-left:2px solid var(--accent);border-bottom-color:var(--border);background:#ffffff05;padding-left:8px}.eng-tgroup-name{color:var(--text-bright);font-weight:600}.eng-tgroup-count{color:var(--text-muted);font-weight:400}.eng-select,.eng-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:8px 12px;font-family:inherit;font-size:13px}.eng-select{min-width:220px}.eng-select:focus,.eng-input:focus{border-color:var(--border-accent);box-shadow:var(--ring);outline:none}.eng-input-grow{flex:1;min-width:160px}.eng-btn{background:var(--accent);color:#140821;cursor:pointer;border:none;border-radius:9px;padding:8px 15px;font-size:13px;font-weight:600;transition:background .15s}.eng-btn:hover{background:var(--accent-hover)}.eng-btn:disabled{opacity:.5;cursor:default}.eng-ba-row{margin:2px 0 12px}.eng-ba-add{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.eng-ba-markers{flex-wrap:wrap;gap:8px;margin:4px 0 12px;display:flex}.eng-marker{background:var(--bg-input);border:1px solid var(--border);border-radius:9px;align-items:stretch;display:flex;overflow:hidden}.eng-marker.is-active{border-color:var(--border-accent);box-shadow:var(--ring)}.eng-marker-pick{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;gap:1px;padding:7px 11px;display:flex}.eng-marker-date{font-size:12.5px;font-weight:600}.eng-marker-note{color:var(--text-muted);font-size:11px}.eng-marker-del{border:none;border-left:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;padding:0 10px}.eng-marker-del:hover{color:var(--danger)}.eng-ba-window{margin:4px 0}.eng-ba-result{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.eng-ba-spans{color:var(--text-muted);margin-bottom:12px;font-size:12px}.eng-ba-partial{color:var(--warning)}.eng-ba-metrics{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;display:grid}.eng-ba-metric{background:var(--bg-input);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.eng-ba-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:11px}.eng-ba-metric-vals{font-family:var(--font-mono);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.eng-ba-before{color:var(--text-muted)}.eng-ba-arrow{color:var(--text-disabled)}.eng-ba-after{color:var(--text-bright);font-weight:500}.eng-hidden-help{margin:8px 0 12px}.eng-hidden-list{flex-wrap:wrap;gap:8px;display:flex}.eng-chip{background:var(--bg-input);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:5px 6px 5px 13px;display:inline-flex}.eng-chip-name{color:var(--text-secondary);font-size:12.5px}.eng-chip-restore{background:var(--bg-tile-hover);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;padding:3px 11px;font-size:11.5px}.eng-chip-restore:hover{border-color:var(--border-accent)}.eng-loading{color:var(--text-muted);text-align:center;padding:48px}.eng-empty{text-align:center;padding:44px 20px}.eng-empty-title{color:var(--text);margin-bottom:8px;font-size:15px}.eng-empty-sub{color:var(--text-muted);max-width:520px;margin:0 auto;font-size:13px;line-height:1.5}@media (prefers-reduced-motion:no-preference){.eng2 .eng-stat,.eng2 .eng-card{animation:.4s both engIn}.eng2 .eng-stats .eng-stat:nth-child(2){animation-delay:40ms}.eng2 .eng-stats .eng-stat:nth-child(3){animation-delay:80ms}.eng2 .eng-stats .eng-stat:nth-child(4){animation-delay:.12s}}@keyframes engIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=820px){.eng-grid-2{grid-template-columns:1fr}}@media (width<=600px){.eng-trow{grid-template-columns:minmax(0,1fr) 62px 70px}.eng-trow .eng-tnum:nth-child(4),.eng-trow .eng-tnum:nth-child(5){display:none}.eng-stat-value{font-size:26px}}.eng-tbar,.eng-tbar-fill{display:block}.eng-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.eng-btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0;font-weight:500}.eng-btn-ghost:hover{background:var(--bg-tile-hover);color:var(--text-bright);border-color:var(--border-strong)}.eng-th-btn{cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.eng-th-btn:hover{color:var(--text-secondary)}.eng-th-btn.is-sorted{color:var(--accent)}.eng-th-arrow{font-size:8px}.eng-trow-click{cursor:pointer}.eng-heat-wrap{position:relative}@media (prefers-reduced-motion:no-preference){.eng-flash-wrap .eng-card{animation:1.3s engFlash}}@keyframes engFlash{0%{box-shadow:var(--shadow-card);border-color:var(--border)}25%{box-shadow:0 0 0 3px var(--accent-soft), var(--glow-accent);border-color:var(--border-accent)}to{box-shadow:var(--shadow-card);border-color:var(--border)}}.eng-donut-seg{cursor:pointer;transition:opacity .15s,stroke-width .15s}.eng-donut-legend li{cursor:default;transition:opacity .15s}.eng-donut-legend li.is-dim{opacity:.4}.maint-banner-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.maint-banner-help{flex:1;min-width:200px;font-size:12px;line-height:1.45}.maint-banner-on{color:var(--warning);flex:1;min-width:200px;font-size:12.5px}.wu-fleet-group{align-items:center;gap:6px;display:inline-flex}.btn-subtle{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-subtle:hover{background:var(--bg-tile-hover);color:var(--text-bright);border-color:var(--border-strong)}.eng-chart-toggles{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.eng-area-pt{transition:r .12s}@media (width<=560px){.eng-chart-toggles{width:100%}}.th-wrap{flex-direction:column;gap:10px;display:flex}.th-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.th-seg{background:var(--bg-input);border:1px solid var(--border);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.th-seg-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:500}.th-seg-btn:hover{color:var(--text-bright)}.th-seg-btn.is-active{background:var(--accent-soft);color:var(--text-bright)}.th-total{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:1;font-size:12.5px}.th-capture{white-space:nowrap}.th-stage{background:var(--bg-input);border:1px solid var(--border);border-radius:10px;width:100%;position:relative;overflow:hidden}.th-stage-blank{aspect-ratio:16/9}.th-img{width:100%;height:auto;display:block}.th-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.th-empty{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;padding:16px;font-size:13px;display:flex;position:absolute;inset:0}.th-legend{color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.th-legend-bar{background:linear-gradient(90deg,#1d4ed8,#06b6d4,#2dd4bf,#a3e635,#fbbf24,#fb7185,#ff2d55);border-radius:4px;flex:1;height:8px}.th-hint{color:var(--text-muted);font-size:11.5px}.th-track{border:1px solid var(--border);background:var(--bg-tile);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.th-track-head{color:var(--text-secondary);font-size:12px;font-weight:500}.th-track-chips{flex-wrap:wrap;gap:8px;display:flex}.th-chip{cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font-family:inherit;font-size:12.5px;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.th-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text-bright)}.th-chip:disabled{opacity:.55;cursor:default}.th-chip.is-on{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--text-bright)}.th-chip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.th-chip-dot.on{background:#34d399}.th-chip-dot.off{background:var(--text-muted)}.th-none{color:var(--text-muted);border:1px dashed var(--border);text-align:center;border-radius:10px;padding:14px;font-size:12.5px}.th-view-row{align-items:center;gap:10px;margin:4px 0 2px;display:flex}.th-view-label{color:var(--text-secondary);font-size:12px;font-weight:500}.esp-badge{letter-spacing:.04em;color:var(--chart-5);white-space:nowrap;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.esp-quick{flex-wrap:wrap;gap:8px;padding:6px 0 2px;display:flex}.esp-chip{color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:12px}.esp-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.esp-cell{background:var(--bg-input);border:1px solid var(--border);border-radius:9px;padding:8px 10px}.esp-k{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10.5px;display:block}.esp-v{font-family:var(--font-mono);color:var(--text-bright);font-variant-numeric:tabular-nums;margin-top:2px;font-size:14px;display:block}.esp-note{color:var(--text-muted);margin-top:8px;font-size:11.5px}.esp-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.esp-confirm,.esp-cfg-row{align-items:center;gap:8px;display:flex}.esp-cfg{flex-direction:column;gap:10px;margin-top:10px;display:flex}.esp-cfg-row span,.esp-cfg-col span{color:var(--text-secondary);font-size:12px}.esp-cfg-row input{background:var(--bg-input);border:1px solid var(--border);width:90px;color:var(--text);border-radius:8px;padding:6px 8px}.esp-cfg-col{flex-direction:column;gap:4px;display:flex}.esp-cfg-col textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);resize:vertical;border-radius:8px;padding:8px;font-size:12px}.eq-mean{align-items:baseline;gap:2px;display:flex}.eq-mean-num{font-family:var(--font-mono);color:var(--text-bright);font-size:26px;font-weight:600}.eq-mean-max{color:var(--text-muted);font-size:13px}.eq-top{margin-bottom:14px}.eq-explain{color:var(--text-secondary);max-width:760px;margin:6px 0 0;font-size:13px;line-height:1.5}.eq-how{color:var(--text-muted);max-width:760px;margin:8px 0 0;font-size:12px;line-height:1.5}.eq-how b{color:var(--text-secondary);font-weight:600}.eq-hero{background:color-mix(in srgb, var(--bg-tile) 60%, transparent);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:16px 18px}.eq-hero-num{align-items:baseline;gap:8px;display:flex}.eq-hero-num .eq-mean-num{font-size:34px}.eq-hero-num .eq-mean-max{font-size:15px}.eq-pill{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-self:center;margin-left:4px;padding:3px 9px;font-size:11px;font-weight:600}.eq-pill-deep{color:#34d399;background:#34d39938}.eq-pill-mod{color:#fbbf24;background:#fbbf2438}.eq-pill-shallow{color:#fb7185;background:#fb718538}.eq-hero-sub{color:var(--text-secondary);margin:7px 0 14px;font-size:12.5px;line-height:1.45}.eq-scale{gap:3px;height:28px;display:flex;position:relative}.eq-zone{text-transform:uppercase;letter-spacing:.04em;color:#0c0c12;border-radius:5px;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:flex}.eq-zone-shallow{background:#fb71858c}.eq-zone-mod{background:#fbbf2499}.eq-zone-deep{background:#34d3998c}.eq-marker{border-left:2.5px solid var(--text-bright);width:0;position:absolute;top:-6px;bottom:-6px;transform:translate(-50%)}.eq-marker-flag{font-family:var(--font-mono);color:var(--text-bright);background:var(--bg-card,#14141c);border:1px solid var(--border);white-space:nowrap;border-radius:5px;padding:1px 6px;font-size:12px;font-weight:700;position:absolute;top:-19px;left:50%;transform:translate(-50%)}.eq-ticks{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;margin-top:5px;font-size:10px;display:flex}.eq-dist{margin-bottom:4px}.eq-dist-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:7px;font-size:11px}.eq-bar{background:var(--bg-input);border-radius:6px;height:12px;margin:4px 0 10px;display:flex;overflow:hidden}.eq-seg{height:100%}.eq-deep{background:#34d399}.eq-mod{background:#fbbf24}.eq-shallow{background:#fb7185}.eq-legend{color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:20px;font-size:12px;display:flex}.eq-legend b{color:var(--text-bright);font-weight:600}.eq-legend em{color:var(--text-muted);font-size:11.5px;font-style:normal}.eq-dot{vertical-align:middle;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.eq-note{color:var(--text-muted);margin-top:10px;font-size:11.5px;line-height:1.45}.eq-per{border-top:1px solid var(--border);margin-top:16px;padding-top:13px}.eq-per-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.eq-per-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10.5px}.eq-sort{color:var(--text-secondary);background:var(--bg-tile);border:1px solid var(--border);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:inline-flex}.eq-sort:hover{color:var(--text-bright);border-color:var(--border-strong);background:var(--bg-tile-hover)}.eq-sort-ic{font-size:13px}.eq-row{grid-template-columns:minmax(120px,1.5fr) 3fr 30px 74px 24px;align-items:center;gap:11px;padding:4px 0;display:grid}.eq-row-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.eq-row-bar{background:var(--bg-input);border-radius:4px;height:7px;overflow:hidden}.eq-row-fill{border-radius:4px;height:100%;display:block}.eq-row-fill[data-b=deep]{background:#34d399}.eq-row-fill[data-b=mod]{background:#fbbf24}.eq-row-fill[data-b=shallow]{background:#fb7185}.eq-row-num{font-family:var(--font-mono);color:var(--text-bright);font-variant-numeric:tabular-nums;text-align:right;font-size:12.5px}.eq-row-tag{text-transform:uppercase;letter-spacing:.03em;text-align:center;border-radius:999px;padding:2px 0;font-size:9.5px;font-weight:600}.eq-row-hide{border:1px solid var(--border);background:var(--bg-tile);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex}.eq-row-hide:hover{color:#fb7185;border-color:#fb7185}.eq-row-hide:disabled{opacity:.4;cursor:default}.eq-row-hide-sp{width:22px}.eq-per-foot{color:var(--text-muted);margin-top:11px;font-size:11px;line-height:1.45}.eq-per-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.eq-filter-chip{color:var(--text-secondary);background:var(--bg-tile);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.eq-filter-chip:hover{color:var(--text-bright);border-color:var(--border-strong);background:var(--bg-tile-hover)}.eq-filter-chip.active{color:#fb7185;background:#fb718524;border-color:#fb71858c}.eq-per-empty{color:var(--text-muted);padding:10px 0 4px;font-size:12.5px}.eng-section-note{color:var(--text-secondary);max-width:840px;margin:0 0 14px;font-size:12.5px;line-height:1.5}.eng-section-note b{color:var(--text-bright);font-weight:600}.eng-section-note-tight{margin:2px 0 12px}.g-metrics{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:6px 0 4px;display:grid}.g-metric{background:var(--bg-input);border:1px solid var(--border);border-radius:9px;padding:10px 12px}.g-m-num{font-family:var(--font-mono);color:var(--text-bright);font-size:18px;font-weight:600;display:block}.g-m-lbl{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.location-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-bright);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%239a8fb0' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;border-radius:10px;padding:9px 32px 9px 12px;font-size:14px;font-weight:600}.location-select:hover{border-color:var(--text-muted)}.location-select:focus{border-color:var(--accent);outline:none}.loc-select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-bright);cursor:pointer;border-radius:8px;padding:7px 10px;font-size:13.5px}.loc-select:focus{border-color:var(--accent);outline:none}.loc-readonly{color:var(--text-secondary);padding:2px 0;font-size:13.5px}.rd-inv{border:1px solid var(--border);background:var(--bg-card,var(--bg-input));border-radius:12px;margin:0 0 16px;overflow:hidden}.rd-inv-head{cursor:pointer;width:100%;color:var(--text-bright);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.rd-inv-head:hover{background:#ffffff08}.rd-inv-title{font-size:14px;font-weight:600}.rd-inv-count{color:var(--text-secondary);margin-left:auto;font-size:13px}.rd-inv-count strong{color:var(--accent);font-family:var(--font-mono)}.rd-inv-gap{color:var(--warn,#e0a458);margin-left:8px}.rd-inv-chev{color:var(--text-muted);text-align:center;width:14px;font-size:12px}.rd-inv-body{border-top:1px solid var(--border);padding:4px 16px 14px}.rd-inv-cols{grid-template-columns:1fr 1fr;gap:18px;margin-top:12px;display:grid}@media (width<=640px){.rd-inv-cols{grid-template-columns:1fr}}.rd-inv-col-h{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px;font-size:11.5px;font-weight:700}.rd-inv-row{align-items:center;gap:8px;padding:4px 0;font-size:13.5px;display:flex}.rd-inv-dot{border-radius:50%;flex:none;width:7px;height:7px}.rd-inv-dot.on{background:var(--ok,#4ccf8e)}.rd-inv-dot.off{background:var(--text-muted)}.rd-inv-name{color:var(--text-bright)}.rd-inv-id{font-family:var(--font-mono);color:var(--text-secondary);margin-left:auto;font-size:12px}.rd-inv-empty{color:var(--text-muted);padding:4px 0;font-size:13px}.rd-inv-note{color:var(--text-muted);margin-top:14px;font-size:11.5px;line-height:1.5}.rel-hero{background:var(--card-sheen), color-mix(in srgb, var(--bg-tile) 92%, transparent);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;align-items:center;gap:30px;margin-bottom:14px;padding:22px 28px;display:flex}.rel-gauge{flex:none;width:134px;height:134px;position:relative}.rel-ring{width:134px;height:134px;display:block}.rel-ring-track{fill:none;stroke:color-mix(in srgb, var(--text-muted) 20%, transparent);stroke-width:9px}.rel-ring-arc{fill:none;stroke-width:9px;stroke-linecap:round;transition:stroke-dasharray .6s}.rel-ring-good{stroke:#34d399}.rel-ring-warn{stroke:#f59e0b}.rel-ring-bad{stroke:#ef4444}.rel-gauge-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rel-gauge-pct{font-family:var(--font-mono);font-size:28px;font-weight:600;line-height:1}.rel-gauge-cap{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:5px;font-size:10.5px}.rel-stats{flex:300px;grid-template-columns:repeat(2,minmax(118px,1fr));gap:16px 34px;display:grid}.rel-stat-value{font-family:var(--font-mono);color:var(--text-bright);font-size:25px;font-weight:600;line-height:1.1}.rel-stat-of{color:var(--text-muted);font-size:15px;font-weight:400}.rel-stat-label{color:var(--text-secondary);margin-top:3px;font-size:12.5px}.rel-dist{background:var(--card-sheen), color-mix(in srgb, var(--bg-tile) 92%, transparent);border:1px solid var(--border);border-radius:16px;margin-bottom:22px;padding:18px 22px}.rel-dist-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.rel-dist-title{color:var(--text-bright);font-size:14px;font-weight:600}.rel-dist-sub{color:var(--text-muted);font-size:12px}.rel-dist-bar{gap:4px;height:30px;display:flex}.rel-dist-seg{min-width:30px;font-family:var(--font-mono);border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.rel-band-good{color:#06281c;background:#34d399}.rel-band-ok{color:#064e3b;background:#6ee7b7}.rel-band-warn{color:#422200;background:#f59e0b}.rel-band-bad{color:#fff;background:#ef4444}.rel-dist-legend{flex-wrap:wrap;gap:18px;margin-top:13px;display:flex}.rel-dist-leg{color:var(--text-secondary);align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.rel-dist-leg-sub{color:var(--text-muted)}.rel-dist-dot{border-radius:3px;width:11px;height:11px;display:inline-block}@media (width<=560px){.rel-stats{grid-template-columns:repeat(2,1fr);gap:13px 18px}}
