:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#f25822;--accent:#cf4310;--accent-hover:#b93b0d;--accent-text:#a8330b;--accent-soft:#f258221a;--accent-ring:#cf431073;--bg:#f5f5f7;--surface:#fff;--surface-2:#f5f5f7;--surface-3:#e8e8ed;--material:#fafafcb8;--material-strong:#fffffff0;--overlay:#00000052;--separator:#3c3c4324;--separator-strong:#3c3c433d;--text:#1d1d1f;--text-secondary:#636368;--text-tertiary:#66666b;--text-on-accent:#fff;--text-placeholder:#8e8e93;--success:#1a7230;--success-graphic:#34c759;--success-soft:#34c7591f;--warning:#8f5000;--warning-graphic:#ff9f0a;--warning-soft:#ff9f0a24;--critical:#d70015;--critical-graphic:#ff3b30;--critical-soft:#ff3b301a;--neutral-soft:#7878801f;--signal-speed:#06c;--signal-rpm:#4b49c9;--signal-load:#0e7c8c;--signal-torque:#8e3fbf;--grid:#3c3c431a;--axis-text:#636368;--shadow-card:0 1px 2px #0000000a, 0 0 0 1px #0000000a;--shadow-raised:0 4px 12px #00000014, 0 0 0 1px #0000000a;--shadow-overlay:0 12px 40px #00000029, 0 0 0 1px #0000000d;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, system-ui, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Roboto, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:28px;--text-2xl:34px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--sidebar-width:248px;--sidebar-rail:68px;--topbar-height:56px;--content-max:1440px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent-text:#ff7a45;--accent-soft:#f2582229;--accent-ring:#ff7a458c;--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--surface-3:#3a3a3c;--material:#161618b8;--material-strong:#1c1c1ef5;--overlay:#0000008f;--separator:#5454587a;--separator-strong:#545458b8;--text:#f5f5f7;--text-secondary:#a1a1a6;--text-tertiary:#98989d;--text-placeholder:#8e8e93;--success:#30d158;--success-graphic:#30d158;--success-soft:#30d15829;--warning:#ffb340;--warning-graphic:#ff9f0a;--warning-soft:#ff9f0a2e;--critical:#ff6961;--critical-graphic:#ff453a;--critical-soft:#ff453a2e;--neutral-soft:#7878803d;--signal-speed:#409cff;--signal-rpm:#8e8cff;--signal-load:#5ac8dc;--signal-torque:#da8fff;--grid:#ffffff14;--axis-text:#98989d;--shadow-card:0 0 0 1px #ffffff0f;--shadow-raised:0 4px 16px #00000080, 0 0 0 1px #ffffff14;--shadow-overlay:0 16px 48px #0009, 0 0 0 1px #ffffff1a}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:-.01em;color:var(--text);background:var(--bg);font-feature-settings:"cv11", "ss01";line-height:1.47;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}img,svg{display:block}ul,ol{list-style:none}::selection{background:var(--accent-soft)}:focus{outline:none}:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px;border-radius:var(--radius-xs)}.large-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.022em;font-weight:700;line-height:1.12}.title-1{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700;line-height:1.15}.title-2{font-size:var(--text-lg);letter-spacing:-.016em;font-weight:600;line-height:1.25}.headline{font-size:var(--text-md);letter-spacing:-.014em;font-weight:600;line-height:1.3}.body{font-size:var(--text-base)}.callout{font-size:var(--text-sm)}.caption{font-size:var(--text-xs);letter-spacing:0;line-height:1.35}.secondary{color:var(--text-secondary)}.tertiary{color:var(--text-tertiary)}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.mono{font-family:var(--font-mono);letter-spacing:0;font-size:.92em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{top:var(--space-2);left:var(--space-2);z-index:1000;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--accent);color:var(--text-on-accent);transition:transform var(--dur-base) var(--ease-out);font-weight:600;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}*{scrollbar-width:thin;scrollbar-color:var(--separator-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--separator-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 45%, transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes typing-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.btn{--btn-h:36px;justify-content:center;align-items:center;gap:var(--space-2);height:var(--btn-h);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:600;line-height:1;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45}.btn svg{flex-shrink:0}.btn-sm{--btn-h:30px;padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-xs)}.btn-lg{--btn-h:44px;padding:0 var(--space-5);font-size:var(--text-base);border-radius:var(--radius-md)}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-secondary{background:var(--neutral-soft);color:var(--text)}.btn-tinted{background:var(--accent-soft);color:var(--accent-text)}.btn-plain{color:var(--accent-text);padding:0 var(--space-2);background:0 0}.btn-ghost{color:var(--text-secondary);background:0 0}.icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-secondary);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);place-items:center;display:inline-grid}.icon-btn:active{transform:scale(.94)}.icon-btn-sm{border-radius:var(--radius-xs);width:30px;height:30px}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--neutral-soft) 100%, var(--text) 6%)}.btn-tinted:hover:not(:disabled){background:color-mix(in srgb, var(--accent-soft) 100%, var(--brand) 8%)}.btn-plain:hover:not(:disabled){color:var(--accent-hover)}.btn-ghost:hover:not(:disabled),.icon-btn:hover{background:var(--neutral-soft);color:var(--text)}}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);min-width:0}.card-flush{padding:0;overflow:hidden}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.card-title{font-size:var(--text-base);letter-spacing:-.012em;font-weight:600}.card-subtitle{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.card-header-text{min-width:0}.card-interactive{text-align:left;width:100%;transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.card-interactive:active{transform:scale(.99)}@media (hover:hover) and (pointer:fine){.card-interactive:hover{box-shadow:var(--shadow-raised)}}.section-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.section-title{font-size:var(--text-md);letter-spacing:-.014em;font-weight:600}.badge{height:22px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;letter-spacing:0;align-items:center;gap:6px;font-weight:600;display:inline-flex}.badge-neutral{background:var(--neutral-soft);color:var(--text-secondary)}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-critical{background:var(--critical-soft);color:var(--critical)}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-live{animation:live-pulse 2s var(--ease-out) infinite}.tile-icon{border-radius:var(--radius-sm);background:var(--neutral-soft);width:36px;height:36px;color:var(--text-secondary);flex-shrink:0;place-items:center;display:grid}.tile-icon-lg{border-radius:var(--radius-md);width:48px;height:48px}.tone-accent{background:var(--accent-soft);color:var(--accent-text)}.tone-success{background:var(--success-soft);color:var(--success)}.tone-warning{background:var(--warning-soft);color:var(--warning)}.tone-critical{background:var(--critical-soft);color:var(--critical)}.stat{flex-direction:column;gap:2px;min-width:0;display:flex}.stat-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.stat-value{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.stat-value-sm{font-size:var(--text-lg)}.stat-unit{font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:0;margin-left:3px;font-weight:500}.stat-meta{font-size:var(--text-xs);color:var(--text-secondary)}.list{flex-direction:column;display:flex}.list-row{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-3) 0;border-top:1px solid var(--separator);text-align:left;width:100%;display:flex}.list-row:first-child{border-top:none}.list-row-content{flex:1;min-width:0}.list-row-title{font-size:var(--text-sm);font-weight:500}.list-row-subtitle{font-size:var(--text-xs);color:var(--text-secondary);margin-top:1px}.list-row-value{font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.list-row-chevron{color:var(--text-tertiary);flex-shrink:0}button.list-row,a.list-row{margin:0 calc(var(--space-3) * -1);padding-left:var(--space-3);padding-right:var(--space-3);width:calc(100% + var(--space-3) * 2);border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease-out)}button.list-row+.list-row,a.list-row+.list-row{border-top-color:var(--separator)}button.list-row:active,a.list-row:active{background:var(--surface-3)}@media (hover:hover) and (pointer:fine){button.list-row:hover,a.list-row:hover{background:var(--surface-2)}}.list-row[aria-current=true]{background:var(--accent-soft)}.segmented{--seg-pad:2px;padding:var(--seg-pad);background:var(--neutral-soft);isolation:isolate;border-radius:9px;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;position:relative}.segmented-block{width:100%;display:grid}.segmented-thumb{z-index:-1;top:var(--seg-pad);bottom:var(--seg-pad);left:var(--seg-pad);background:var(--surface);transition:transform var(--dur-slow) var(--ease-out);border-radius:7px;position:absolute;box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a}:root[data-theme=dark] .segmented-thumb{box-shadow:none;background:#636366}.segmented-item{height:28px;padding:0 var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);border-radius:7px;justify-content:center;align-items:center;gap:6px;font-weight:500;display:inline-flex}.segmented-item[aria-checked=true],.segmented-item[aria-selected=true]{color:var(--text);font-weight:600}.segmented-sm .segmented-item{height:24px;padding:0 var(--space-3);font-size:var(--text-xs)}.switch{border-radius:var(--radius-full);background:var(--surface-3);width:51px;height:31px;transition:background-color var(--dur-base) var(--ease-out);flex-shrink:0;position:relative}:root[data-theme=dark] .switch{background:#39393d}.switch[aria-checked=true]{background:var(--success-graphic)}.switch-thumb{width:27px;height:27px;transition:transform var(--dur-base) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 3px 1px #0000000f}.switch[aria-checked=true] .switch-thumb{transform:translate(20px)}.slider-field{gap:var(--space-2);flex-direction:column;display:flex}.slider-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.slider-label{font-size:var(--text-sm);font-weight:500}.slider-value{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600}.slider-hint{font-size:var(--text-xs);color:var(--text-secondary)}.slider{--fill:50%;appearance:none;cursor:pointer;background:0 0;width:100%;height:28px}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill), var(--surface-3) var(--fill));border-radius:2px;height:4px}.slider::-moz-range-track{background:var(--surface-3);border-radius:2px;height:4px}.slider::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;transition:transform var(--dur-fast) var(--ease-out);background:#fff;border-radius:50%;margin-top:-10px;box-shadow:0 2px 6px #0003,0 0 0 .5px #00000014}.slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 6px #0003}.slider:active::-webkit-slider-thumb{transform:scale(1.08)}.slider:focus-visible{outline:none}.slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-ring)}.slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-ring)}.field{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--neutral-soft);color:var(--text-secondary);transition:box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:flex}.field:focus-within{background:var(--surface);box-shadow:0 0 0 3px var(--accent-ring)}.field input{min-width:0;height:100%;color:var(--text);font-size:var(--text-sm);background:0 0;border:none;outline:none;flex:1}.field input::placeholder{color:var(--text-placeholder)}.kbd{font-family:var(--font-sans);background:var(--surface);color:var(--text-tertiary);box-shadow:0 0 0 1px var(--separator);border-radius:5px;padding:1px 6px;font-size:11px;font-weight:600}.popover{z-index:300;min-width:240px;padding:var(--space-1);border-radius:var(--radius-md);background:var(--material-strong);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);box-shadow:var(--shadow-overlay);position:absolute}.menu-label{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.menu-item{align-items:center;gap:var(--space-3);width:100%;min-height:36px;padding:6px var(--space-3);border-radius:var(--radius-xs);text-align:left;font-size:var(--text-sm);display:flex}.menu-item:focus-visible{background:var(--accent);color:var(--text-on-accent);outline:none}.menu-item:focus-visible .menu-item-sub,.menu-item:focus-visible .menu-check{color:inherit}@media (hover:hover) and (pointer:fine){.menu-item:hover{background:var(--neutral-soft)}}.menu-item-body{flex:1;min-width:0}.menu-item-sub{font-size:var(--text-xs);color:var(--text-secondary)}.menu-check{color:var(--accent-text);flex-shrink:0}.menu-sep{height:1px;margin:var(--space-1) var(--space-2);background:var(--separator)}.sheet-overlay{z-index:400;background:var(--overlay);position:fixed;inset:0}.sheet{z-index:401;top:var(--space-2);right:var(--space-2);bottom:var(--space-2);width:min(440px, calc(100vw - var(--space-4)));border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;position:fixed;overflow:hidden}.sheet-header{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);display:flex}.sheet-body{padding:0 var(--space-5) var(--space-5);flex:1;overflow-y:auto}.sheet-footer{gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--separator);display:flex}@media (width<=640px){.sheet{top:auto;left:var(--space-2);width:auto;max-height:88vh}}.toaster{z-index:500;bottom:var(--space-6);align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);background:var(--material-strong);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);pointer-events:auto;font-weight:500;display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.6s linear infinite shimmer}.empty{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.empty-icon{width:52px;height:52px;margin-bottom:var(--space-2);background:var(--neutral-soft);color:var(--text-secondary);border-radius:50%;place-items:center;display:grid}.empty-title{font-size:var(--text-md);color:var(--text);font-weight:600}.empty-text{font-size:var(--text-sm);max-width:360px}.live{font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;font-weight:500;display:inline-flex}.live-live{color:var(--success)}.live-stale{color:var(--warning)}.live-offline{color:var(--text-secondary)}.callout-box{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);display:flex}.callout-box-warning{background:var(--warning-soft)}.callout-box-critical{background:var(--critical-soft)}.callout-box-success{background:var(--success-soft)}.callout-box-accent{background:var(--accent-soft)}.chart{touch-action:pan-y;width:100%;height:auto;overflow:visible}.chart-axis{fill:var(--axis-text);font-variant-numeric:tabular-nums;font-size:11px}.chart-grid{stroke:var(--grid);stroke-width:1px}.chart-tooltip{pointer-events:none;border-radius:var(--radius-sm);background:var(--material-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-raised);font-size:var(--text-xs);white-space:nowrap;padding:6px 10px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.legend{gap:var(--space-4);flex-wrap:wrap;display:flex}.legend-item{font-size:var(--text-xs);color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:10px;height:10px}.map-panel,.map-chip,.map-legend,.map-switch,.map-hud-card{background:var(--material-strong);-webkit-backdrop-filter:blur(18px)saturate(180%);box-shadow:var(--shadow-raised)}.map-chip{pointer-events:auto;cursor:pointer;height:28px;color:var(--text-secondary);transition:color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:none;border-radius:14px;align-items:center;gap:6px;padding:0 10px 0 4px;font-size:12px;font-weight:500;display:inline-flex}.map-chip:not(.map-chip-on){opacity:.72}.map-chip:not(.map-chip-on) .map-chip-dot{filter:grayscale();opacity:.55}.map-chip-on{color:var(--text)}.map-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-chip-dot{color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:inline-grid;box-shadow:inset 0 0 0 1.5px #fff}.map-legend{left:var(--space-3);bottom:var(--space-3);gap:var(--space-2) var(--space-3);z-index:2;border-radius:10px;flex-wrap:wrap;max-width:calc(100% - 24px);padding:6px 10px;font-size:11px;display:flex;position:absolute}.map-switch{z-index:2;border-radius:10px;gap:4px;padding:3px;display:flex;position:absolute;top:10px;right:60px}@media (width<=640px){.map-corner-chips{right:var(--space-3);top:60px}.map-chip{height:26px;font-size:11px}}.stacked{gap:var(--space-3);flex-direction:column;display:flex}.stacked-bar{background:var(--neutral-soft);border-radius:6px;gap:2px;height:12px;display:flex;overflow:hidden}.stacked-seg{min-width:3px;height:100%;transition:width var(--dur-base) var(--ease-out);display:block}.stacked-legend{gap:6px var(--space-4);grid-template-columns:repeat(auto-fill,minmax(178px,1fr));margin:0;padding:0;list-style:none;display:grid}.stacked-legend li{font-size:var(--text-xs);grid-template-columns:10px 1fr auto auto;align-items:center;gap:6px;display:grid}.stacked-legend-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stacked-legend-value{color:var(--text);font-weight:600}.stacked-legend-share{color:var(--text-tertiary);text-align:right;min-width:34px}.metric-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(112px,1fr));display:grid}.metric-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=480px){.metric-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.metric{min-width:0;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;gap:2px;display:flex}.metric-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.metric-value{font-size:var(--text-lg);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-weight:650}.metric-value small{font-size:var(--text-sm);color:var(--text-secondary);margin-left:3px;font-weight:500}.metric-meta{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.35}.metric-good .metric-value{color:var(--success)}.metric-warn .metric-value{color:var(--warning)}.metric-bad .metric-value{color:var(--critical)}.analytics-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.analytics-grid>.span-full{grid-column:1/-1}.analytics-grid>.card{flex-direction:column;display:flex}@media (width<=900px){.analytics-grid{grid-template-columns:minmax(0,1fr)}}.trips-toolbar{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.trips-totals{min-width:240px}.trip-strip{align-items:center;gap:var(--space-2);display:flex}.trip-strip-scroll{gap:var(--space-2);scroll-snap-type:x proximity;scrollbar-width:thin;overscroll-behavior-x:contain;flex:1;min-width:0;padding:2px;display:flex;overflow-x:auto}.trip-strip-skeleton{border-radius:var(--radius-md);height:76px}.trip-chip{min-width:156px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;text-align:left;background:var(--surface);color:var(--text);box-shadow:var(--shadow-card);scroll-snap-align:start;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease;border:none;flex-direction:column;flex:none;align-items:flex-start;gap:1px;display:flex}.trip-chip:active{transform:scale(.97)}.trip-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trip-chip[aria-current=true]{background:var(--accent);color:#fff}.trip-chip[aria-current=true] .trip-chip-meta{color:#ffffffd9}.trip-chip-day{font-size:var(--text-xs);opacity:.8;align-items:center;gap:6px;font-weight:600;display:inline-flex}.trip-chip-time{font-size:var(--text-base);letter-spacing:-.01em;font-weight:650}.trip-chip-meta{font-size:var(--text-xs);color:var(--text-secondary)}.trip-chip-live{width:7px;height:7px}.trip-detail{animation:fade-in .15s var(--ease-out)}.trip-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.grid-kpi-tight .stat{padding:var(--space-3) var(--space-4)}.trip-stage{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;display:grid}.trip-map-card{padding:var(--space-3);min-width:0}.trip-map-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);min-width:0;display:flex}.map-skeleton{border-radius:var(--radius-md)}.trip-events{flex-direction:column;height:0;min-height:100%;padding:0;display:flex;overflow:hidden}.trip-events-head{padding:var(--space-4) var(--space-4) var(--space-2)}.trip-event-filters{padding:0 var(--space-4) var(--space-3);border-bottom:1px solid var(--separator);flex-wrap:wrap;gap:6px;display:flex}.trip-events-body{padding:var(--space-3) var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.trip-events-list{min-height:0;padding:var(--space-1) var(--space-2);overscroll-behavior:contain;flex:1;overflow-y:auto}.trip-event{width:100%;padding-inline:var(--space-2)}.trip-event-dot{width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex-shrink:0}.trip-event[aria-current=true]{background:var(--accent-soft)}.trip-tabs{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.title-3{font-size:var(--text-md);letter-spacing:-.014em;font-weight:600}.chip{border-radius:var(--radius-full);height:28px;font-size:var(--text-xs);color:var(--text-secondary);background:var(--neutral-soft);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease, color var(--dur-fast) ease;border:none;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.chip:active{transform:scale(.97)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip-on{background:var(--accent-soft);color:var(--accent-text)}.chip-dot{border-radius:50%;width:8px;height:8px}@media (width<=1180px){.trip-stage{grid-template-columns:minmax(0,1fr)}.trip-events{height:auto;min-height:0;max-height:440px}}.map-canvas{position:absolute;inset:0}.map-corner{z-index:2;gap:var(--space-2);pointer-events:none;max-width:calc(100% - 2 * var(--space-3));flex-direction:column;display:flex;position:absolute}.map-corner>*{pointer-events:auto}.map-corner-tl{top:var(--space-3);left:var(--space-3);align-items:flex-start}.map-corner-tr{top:var(--space-3);right:var(--space-3);flex-direction:row;align-items:center}.map-corner-bl{bottom:30px;left:var(--space-3);align-items:flex-start;max-width:min(560px,100% - 80px)}.map-corner .map-switch,.map-corner .map-legend{max-width:100%;position:static}.map-icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text);cursor:pointer;background:var(--material-strong);-webkit-backdrop-filter:blur(18px)saturate(180%);box-shadow:var(--shadow-raised);transition:transform var(--dur-fast) var(--ease-out);border:none;place-items:center;display:grid}.map-icon-btn:active{transform:scale(.94)}.map-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fleet-list{gap:var(--space-4);flex-direction:column;display:flex;overflow:hidden}.fleet-list>.list{flex:1;overflow-y:auto}.fleet-map{border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.fleet-map:fullscreen{border-radius:0}.fleet-map .map-corner-bl{max-width:720px;right:72px}.map-state{place-items:center;display:grid;position:absolute;inset:0}.map-seg{border-radius:var(--radius-sm);background:var(--material-strong);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(18px)saturate(180%)}.fleet-panel{align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--material-strong);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(24px)saturate(180%);flex-wrap:wrap;display:flex}.fleet-panel-who{min-width:min(100%,240px)}.fleet-panel-stats{gap:var(--space-5);flex-wrap:wrap;margin:0;display:flex}.fleet-panel-stats dd{font-size:var(--text-md);margin:0;font-weight:600}.route-map{border-radius:var(--radius-md);background:var(--surface-2);position:relative;overflow:hidden}.route-map:fullscreen{border-radius:0;height:100%}.map-corner-chips{max-width:none;right:132px}.map-chip-row{pointer-events:none;flex-wrap:wrap;gap:6px;display:flex}.map-chip-row>*{pointer-events:auto}.route-note{bottom:30px;right:var(--space-3);border-radius:var(--radius-xs);background:var(--material-strong);padding:4px 8px;position:absolute}.recap{outline:none}.recap-map{border-radius:var(--radius-md);background:#1c1c1e;position:relative;overflow:hidden}.recap-fullscreen{background:var(--bg);padding:var(--space-3);flex-direction:column;display:flex}.recap-fullscreen .recap-map{flex:1;min-height:0}.recap-empty{min-height:260px;padding:var(--space-5);text-align:center;border-radius:var(--radius-md);background:var(--surface-2);place-items:center;display:grid}.recap-hud{border-radius:var(--radius-md);color:#fff;-webkit-backdrop-filter:blur(16px)saturate(160%);background:#141416bd;min-width:200px;padding:10px 14px;box-shadow:0 6px 24px #00000059}.recap-hud-time{font-size:var(--text-sm);opacity:.9;font-weight:600}.recap-hud-zone{opacity:.7;font-weight:500}.recap-hud-row{align-items:baseline;gap:18px;margin-top:2px;display:flex}.recap-hud-big{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700;line-height:1.1}.recap-hud-unit{font-size:var(--text-xs);opacity:.75;margin-left:4px;font-weight:500}.recap-hud-sub{font-size:var(--text-xs);opacity:.75;margin-top:2px}.recap-hud-gap{border-radius:var(--radius-xs);color:#1c1c1e;font-size:var(--text-xs);background:#ff9f0af2;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;font-weight:600;display:flex}.recap-controls{align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);flex-wrap:wrap;display:flex}.recap-buttons{align-items:center;gap:var(--space-1);display:inline-flex}.recap-controls .icon-btn{width:36px;height:36px}.recap-play{cursor:pointer;background:var(--accent);color:#fff;width:44px;height:44px;box-shadow:var(--shadow-raised);transition:transform var(--dur-fast) var(--ease-out);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.recap-play-icon{margin-left:2px}.recap-play:active{transform:scale(.94)}.recap-play:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.recap-timeline{flex:1;min-width:220px}.recap-track{cursor:pointer;touch-action:none;border-radius:var(--radius-xs);outline:none;height:26px;position:relative}.recap-track:focus-visible{box-shadow:0 0 0 2px var(--accent)}.recap-track:before{content:"";background:var(--neutral-soft);border-radius:2px;height:4px;position:absolute;top:11px;left:0;right:0}.recap-strip{pointer-events:none;border-radius:3px;width:100%;height:6px;position:absolute;top:10px;left:0}.recap-gap{background:repeating-linear-gradient(90deg, var(--text-tertiary) 0 3px, transparent 3px 6px);opacity:.7;border-radius:2px;height:8px;position:absolute;top:9px}.recap-unplayed{pointer-events:none;background:var(--surface-2);opacity:.62;height:8px;position:absolute;top:9px;right:0}.recap-tick{cursor:pointer;background:0 0;border:none;width:12px;height:24px;margin-left:-6px;padding:0;position:absolute;top:1px}.recap-tick:after{content:"";width:3px;height:22px;box-shadow:0 0 0 1.5px var(--surface-2);transition:transform var(--dur-fast) var(--ease-out);background:currentColor;border-radius:2px;position:absolute;top:1px;left:4.5px}@media (hover:hover) and (pointer:fine){.recap-tick:hover:after{transform:scaleY(1.2)}}.recap-knob{width:16px;height:16px;box-shadow:0 1px 4px #00000059, 0 0 0 2px var(--accent);pointer-events:none;background:#fff;border-radius:50%;margin-left:-8px;position:absolute;top:5px}.recap-times{font-size:var(--text-xs);color:var(--text-secondary);justify-content:space-between;margin-top:2px;display:flex}.recap-rates{border-radius:var(--radius-sm);background:var(--neutral-soft);padding:2px;display:inline-flex}.recap-rate{min-width:40px;height:32px;font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:8px;padding:0 8px;font-weight:600}.recap-rate:active{transform:scale(.97)}.recap-rate.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-raised)}.recap-rate:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.recap-on{color:var(--accent-text);background:var(--accent-soft)}.recap-check{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.recap-help{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.6}.recap-help kbd{text-align:center;min-width:20px;font:600 11px/18px var(--font-mono,ui-monospace, monospace);color:var(--text-secondary);background:var(--surface);box-shadow:inset 0 -1px 0 var(--separator), 0 0 0 1px var(--separator);border-radius:5px;padding:0 5px;display:inline-block}.recap-fullscreen .recap-help{display:none}@media (width<=640px){.recap-hud{min-width:0;padding:8px 10px}.recap-hud-big{font-size:22px}.recap-help{display:none}}.grid-kpi.grid-kpi-tight{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1360px){.grid-kpi.grid-kpi-tight{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.grid-kpi.grid-kpi-tight{grid-template-columns:repeat(2,minmax(0,1fr))}}.recap-toast{border-radius:var(--radius-md);color:#1c1c1e;width:min(320px,100%);transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);background:#fffffff5;align-items:flex-start;gap:10px;padding:12px 14px;display:flex;box-shadow:0 10px 30px #00000059}@starting-style{.recap-toast{opacity:0;transform:translateY(8px)scale(.98)}}.recap-toast-pin{color:#fff;width:26px;height:26px;font-size:var(--text-xs);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 0 0 2px #fff}.recap-toast-title{font-size:var(--text-sm);font-weight:700}.recap-toast-line{font-size:var(--text-xs);color:#3a3a3c;line-height:1.4}.recap-toast-note{font-size:var(--text-xs);color:#6e6e73;margin-top:2px}@media (prefers-reduced-motion:reduce){.recap-toast{transform:none}@starting-style{.recap-toast{transform:none}}}.map-colorby{background:var(--neutral-soft);border-radius:7px;margin-right:2px;padding:2px;display:inline-flex}.map-colorby button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:600}.map-colorby button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-raised)}.map-legend{align-items:center}.recap-hud-gear{color:#1c1c1e;min-width:38px;height:30px;transition:background var(--dur-fast) var(--ease-out);border-radius:8px;place-items:center;padding:0 6px;font-size:18px;font-weight:800;display:inline-grid;box-shadow:inset 0 0 0 2px #ffffffd9}.gear-chip{color:#1c1c1e;border-radius:6px;place-items:center;min-width:32px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.gear-table-wrap{margin-top:var(--space-5);overflow-x:auto}.gear-table{border-collapse:collapse;width:100%;font-size:var(--text-sm,13px)}.gear-table th,.gear-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--separator,#80808033);padding:8px 10px}.gear-table thead th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.gear-table th:first-child{text-align:left}.gear-table tbody tr:last-child th,.gear-table tbody tr:last-child td{border-bottom:none}.gear-chip-unused{color:var(--text-tertiary);box-shadow:0 0 0 1.5px var(--separator-strong) inset;background:0 0}.gear-unused td{font-size:var(--text-xs,12px)}.vehicle-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.vehicle-card{gap:var(--space-1);flex-direction:column;display:flex}.vehicle-card-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.vehicle-card-head .card-title{margin-bottom:4px}.vehicle-card-verdict{align-items:baseline;gap:var(--space-2);display:flex}.verdict-dot{background:var(--text-tertiary);width:10px;height:10px;color:var(--text-tertiary);border-radius:50%;flex-shrink:0;align-self:center}.verdict-success{background:var(--success-graphic,var(--success));color:var(--success-graphic,var(--success))}.verdict-warning{background:var(--warning-graphic,var(--warning));color:var(--warning-graphic,var(--warning))}.verdict-critical{background:var(--critical-graphic,var(--critical));color:var(--critical-graphic,var(--critical))}.verdict-label{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700}.verdict-detail{font-size:var(--text-lg);color:var(--text-secondary);font-weight:600}.vehicle-card-actions{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--separator);display:flex}.vehicle-card-actions .btn{flex:1}.kv{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.kv-5{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kv>div{flex-direction:column;gap:2px;min-width:0;display:flex}.kv dt{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.kv dd{font-size:var(--text-lg);letter-spacing:-.01em;margin:0;font-weight:600}.kv-meta{font-size:var(--text-xs);color:var(--text-secondary)}.skeleton-row{border-radius:var(--radius-sm);height:44px}.plate-link{border-radius:6px;display:inline-flex}.menu-item-title{font-weight:500;display:block}.menu-item-static{cursor:default}.tile-icon-sm{border-radius:var(--radius-sm);width:32px;height:32px}.last-known{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--separator)}.tech-details{text-align:center}.tech-details summary{cursor:pointer;font-size:var(--text-xs);color:var(--text-secondary);border-radius:var(--radius-xs);padding:2px 6px;display:inline-flex}.tech-details[open] summary{margin-bottom:var(--space-2)}.speedo{flex-direction:column;align-items:center;display:flex}.speedo-svg{max-width:260px}.speedo-value{font:600 52px var(--font-display);letter-spacing:-.03em;fill:var(--text);font-variant-numeric:tabular-nums}.speedo-unit{font:500 13px var(--font-sans);fill:var(--text-secondary)}.speedo-caption{margin-top:-6px}.speedo-limit-swatch{background:var(--critical-graphic);vertical-align:middle;border-radius:2px;width:10px;height:2.5px;margin-right:6px;display:inline-block}.speedo.is-stale .speedo-value{fill:var(--text-tertiary)}.live-tile{align-items:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);display:flex}.live-swatch{border-radius:2px;width:8px;height:8px}.live-tile-spark{flex-shrink:0;width:96px}.live-trend{width:100%;position:relative}.live-trend-empty{text-align:center;border-radius:var(--radius-md);background:var(--surface-2);place-items:center;height:220px;display:grid}.chart-ref-label{fill:var(--critical)}.live-banner{background:var(--surface);box-shadow:var(--shadow-card);align-items:center}.dtc-card{background:var(--warning-soft);box-shadow:none}.list-row-compact{min-height:40px;padding-block:var(--space-2)}.live-held .live-value,.live-held .stat-value{color:var(--text-tertiary)}.live-held .live-trend{filter:grayscale();opacity:.55}.live-value{transition:color var(--dur-base) ease}.app{min-height:100vh}.sidebar{z-index:200;width:var(--sidebar-width);background:var(--material);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border-right:1px solid var(--separator);transition:width var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-drawer);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--topbar-height);padding:0 var(--space-3) 0 var(--space-4);flex-shrink:0;display:flex}.sidebar-section{padding:var(--space-2) var(--space-3)}.sidebar-nav{padding:var(--space-2) var(--space-3);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-nav-label{padding:var(--space-3) var(--space-3) var(--space-1);color:var(--text-secondary);letter-spacing:.01em;font-size:11px;font-weight:600}.nav-link{align-items:center;gap:var(--space-3);height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out);font-weight:500;display:flex}.nav-link svg{color:var(--text-secondary);flex-shrink:0}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-link[aria-current=page] svg{color:var(--accent-text)}.nav-link:active{background:var(--surface-3)}@media (hover:hover) and (pointer:fine){.nav-link:not([aria-current=page]):hover{background:var(--neutral-soft)}}.nav-link-label{text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar-footer{padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--separator);gap:var(--space-1);flex-direction:column;display:flex}.vehicle-trigger{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);text-align:left;transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);display:flex}.vehicle-trigger:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.vehicle-trigger:hover{box-shadow:var(--shadow-raised)}}.app[data-sidebar=rail] .sidebar{width:var(--sidebar-rail)}.app[data-sidebar=rail] .rail-hide{display:none!important}.app[data-sidebar=rail] .nav-link,.app[data-sidebar=rail] .sidebar-brand{justify-content:center;padding:0}.app[data-sidebar=rail] .vehicle-trigger{padding:var(--space-1);box-shadow:none;background:0 0;justify-content:center}.app[data-sidebar=rail] .sidebar-footer{align-items:center;padding-left:0;padding-right:0}.main-col{margin-left:var(--sidebar-width);min-width:0;transition:margin-left var(--dur-slow) var(--ease-out)}.app[data-sidebar=rail] .main-col{margin-left:var(--sidebar-rail)}.topbar{z-index:150;height:var(--topbar-height);align-items:center;gap:var(--space-3);padding:0 var(--space-6);background:var(--material);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border-bottom:1px solid var(--separator);display:flex;position:sticky;top:0}.topbar-title{font-size:var(--text-base);letter-spacing:-.012em;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.topbar-spacer{flex:1}.topbar-search{width:min(320px,32vw);position:relative}.menu-toggle{display:none}.avatar{background:linear-gradient(135deg, #ff8a50, var(--brand));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.page{max-width:var(--content-max);padding:var(--space-8) var(--space-8) var(--space-12);animation:rise-in var(--dur-slow) var(--ease-out) both;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-header-text{min-width:0}.page-subtitle{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--text-base)}.page-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.stack{gap:var(--space-5);flex-direction:column;display:flex}.stack-sm{gap:var(--space-3);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grid{gap:var(--space-5);display:grid}.grid-kpi{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-main-side{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}.grid-live{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.span-2{grid-column:span 2}.split{gap:var(--space-5);flex:1;grid-template-columns:minmax(300px,360px) minmax(0,1fr);min-height:480px;display:grid}.split>*{min-height:0}.page-fill{height:calc(100dvh - var(--topbar-height));padding-bottom:var(--space-6);flex-direction:column;display:flex}.show-md{display:none!important}@media (width<=1280px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3>.span-full-md{grid-column:1/-1}.grid-main-side{grid-template-columns:minmax(0,1fr)}}@media (width<=1024px){.sidebar{box-shadow:none;background:var(--material-strong);transform:translate(-100%);width:min(300px,86vw)!important}.app[data-drawer=open] .sidebar{box-shadow:var(--shadow-overlay);transform:none}.app .rail-hide{display:revert!important}.app[data-sidebar=rail] .nav-link{padding:0 var(--space-3);justify-content:flex-start}.app[data-sidebar=rail] .sidebar-brand{padding:0 var(--space-3) 0 var(--space-4);justify-content:space-between}.app[data-sidebar=rail] .vehicle-trigger{padding:var(--space-2);background:var(--surface);box-shadow:var(--shadow-card);justify-content:flex-start}.app[data-sidebar=rail] .sidebar-footer{padding:var(--space-3) var(--space-4) var(--space-4);align-items:stretch}.collapse-toggle{display:none!important}.main-col,.app[data-sidebar=rail] .main-col{margin-left:0}.menu-toggle{display:inline-grid}.drawer-scrim{z-index:190;background:var(--overlay);animation:fade-in var(--dur-base) var(--ease-out);position:fixed;inset:0}.topbar{padding:0 var(--space-4)}.page{padding:var(--space-6) var(--space-5) var(--space-10)}.grid-live{grid-template-columns:minmax(0,1fr)}.page-fill{height:auto}.split{flex:none;grid-template-columns:minmax(0,1fr)}.split-map{order:-1;height:60vh;min-height:380px}.split-chat{height:calc(100vh - var(--topbar-height) - var(--space-12));min-height:480px}.hide-md{display:none!important}.show-md{display:flex!important}}@media (width<=760px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.topbar-search{flex:1;width:auto}.hide-sm{display:none!important}.large-title{font-size:var(--text-xl)}.page{padding:var(--space-5) var(--space-4) var(--space-10)}.card{padding:var(--space-4);border-radius:var(--radius-md)}.grid-kpi{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-panel{padding:var(--space-3);gap:var(--space-3)}.fleet-panel .hud-optional{display:none}}.breadcrumb ol{align-items:center;gap:var(--space-1);min-width:0;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:var(--space-1);min-width:0;font-size:var(--text-base);letter-spacing:-.012em;white-space:nowrap;font-weight:600;display:flex}.breadcrumb a{color:var(--text-secondary);border-radius:var(--radius-xs);font-weight:500}.breadcrumb-sep{color:var(--text-tertiary);flex-shrink:0}@media (hover:hover) and (pointer:fine){.breadcrumb a:hover{color:var(--text)}}.icon-btn-badged{position:relative}.count-badge{border-radius:var(--radius-full);background:var(--critical-graphic);color:#fff;min-width:17px;height:17px;font-size:var(--text-xs);text-align:center;box-shadow:0 0 0 2px var(--material);padding:0 5px;font-weight:700;line-height:17px;position:absolute;top:3px;right:2px}.btn-link{font:inherit;color:var(--accent-text);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.select{height:36px;padding:0 30px 0 var(--space-3);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);color:var(--text);background-color:var(--neutral-soft);background-image:linear-gradient(45deg, transparent 50%, var(--text-tertiary) 50%), linear-gradient(135deg, var(--text-tertiary) 50%, transparent 50%);appearance:none;cursor:pointer;background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:none;min-width:0;max-width:100%}.select:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);background-color:var(--surface);outline:none}.select:disabled{opacity:.55;cursor:default}.align-self-start{align-self:flex-start}.guard-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.guard-skeleton{border-radius:var(--radius-lg);height:420px}.guard-chart-skeleton{border-radius:var(--radius-md);height:220px}.guard-day+.guard-day{margin-top:var(--space-4)}.guard-day-title{margin:0 0 var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.guard-alert-row{width:100%}.guard-new{margin-left:var(--space-2);border-radius:var(--radius-full);vertical-align:1px;color:#fff;background:var(--accent);padding:0 6px;font-size:11px;font-weight:700;line-height:17px;display:inline-block}.guard-rules{gap:var(--space-4);grid-template-columns:minmax(320px,440px) minmax(0,1fr);align-items:stretch;display:grid}.guard-rule-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.guard-rule{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);transition:opacity var(--dur-fast) ease;display:flex}.guard-rule.is-paused{opacity:.6}.guard-rule-main{text-align:left;min-width:0;font:inherit;color:var(--text);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;flex-direction:column;flex:1;gap:3px;padding:0;display:flex}.guard-rule-main:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.guard-rule-name{font-size:var(--text-base);font-weight:600}.guard-rule-sentence{font-size:var(--text-sm);color:var(--text-secondary)}.guard-rule-meta{gap:4px var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);flex-wrap:wrap;margin-top:4px;display:flex}.guard-rule-meta span{align-items:center;gap:4px;display:inline-flex}.guard-rule-side{align-items:flex-end;gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.guard-rules-map{border-radius:var(--radius-lg);min-height:460px;box-shadow:var(--shadow-card);overflow:hidden}.guard-rules-map .guard-map{border-radius:0;height:100%;min-height:460px}.guard-templates-intro{margin-bottom:var(--space-3)}.guard-template-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.guard-templates.is-compact .guard-template-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.guard-template{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) ease;flex-direction:column;gap:4px;text-decoration:none;display:flex}.guard-template:active{transform:scale(.98)}.guard-template:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.guard-template:hover{box-shadow:var(--shadow-raised)}}.guard-templates.is-compact .guard-template{border-radius:var(--radius-full);box-shadow:none;background:var(--neutral-soft);padding:6px 12px}.guard-templates.is-compact .guard-template-title:before{content:"+ ";color:var(--accent-text)}.guard-template-title{font-weight:600;font-size:var(--text-sm)}.guard-template-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.guard-template-kind{padding-top:var(--space-2);color:var(--accent-text);margin-top:auto;font-size:11px;font-weight:600}.guard-editor-page{max-width:none;padding-bottom:var(--space-6)}.guard-editor-head{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.guard-sentence{max-width:860px;font-size:var(--text-base);color:var(--text-secondary);margin-top:4px;line-height:1.45}.guard-editor{gap:var(--space-4);grid-template-columns:minmax(340px,460px) minmax(0,1fr);align-items:start;display:grid}.guard-form{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.guard-step{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.guard-step-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:600;display:flex}.guard-step-n{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.guard-final{gap:var(--space-3);flex-direction:column;display:flex}.guard-editor-map{top:calc(var(--topbar-height) + var(--space-4));height:calc(100dvh - var(--topbar-height) - var(--space-8));border-radius:var(--radius-lg);min-height:480px;box-shadow:var(--shadow-card);position:sticky;overflow:hidden}.guard-editor-map .guard-map{border-radius:0;height:100%}.guard-map-hint{z-index:3;border-radius:var(--radius-full);pointer-events:none;max-width:calc(100% - 120px);font-size:var(--text-sm);color:#fff;text-align:center;-webkit-backdrop-filter:blur(12px);background:#141416c7;padding:7px 14px;font-weight:500;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.guard-map-empty{border-radius:var(--radius-md);background:var(--surface-2);position:static}.guard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.guard-metric{border-radius:var(--radius-sm);text-align:left;min-height:36px;font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--neutral-soft);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease, color var(--dur-fast) ease;border:none;padding:6px 10px;font-weight:500}.guard-metric:active{transform:scale(.97)}.guard-metric:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.guard-metric.is-on{background:var(--accent);color:#fff}.guard-inline{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.guard-inline>*{min-width:0}.guard-number{width:150px}.guard-number input{text-align:right;font-variant-numeric:tabular-nums}.guard-number span{font-size:var(--text-sm)}.guard-choice-list{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}.guard-choice{align-items:center;gap:var(--space-2);min-height:36px;padding:4px var(--space-2);border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;display:flex}@media (hover:hover) and (pointer:fine){.guard-choice:hover{background:var(--neutral-soft)}}.guard-choice input{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.guard-days{flex-wrap:wrap;gap:6px;display:flex}.guard-advanced summary{font-size:var(--text-sm);color:var(--accent-text);cursor:pointer;padding:4px 0}.guard-advanced[open] summary{margin-bottom:var(--space-2)}.guard-test{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;display:flex}.guard-bt-list{max-height:220px;font-size:var(--text-sm);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.guard-bt-list li{align-items:center;gap:var(--space-2);padding:3px 0;display:flex}.guard-bt-n{color:#fff;background:var(--warning);border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-grid}.guard-alert-map{overflow:hidden}.guard-alert-map .guard-map{border-radius:0}@media (width<=1180px){.guard-rules,.guard-editor{grid-template-columns:minmax(0,1fr)}.guard-editor-map{order:-1;height:60vh;position:relative;top:0}}.score-ring{align-items:center;gap:var(--space-2);flex-direction:column;margin:0;display:flex}.score-ring-dial{position:relative}.score-ring-svg{transform:rotate(-90deg)}.score-ring-arc{transition:stroke-dashoffset .6s var(--ease-out)}@media (prefers-reduced-motion:reduce){.score-ring-arc{transition:none}}.score-ring-value{place-items:center;display:grid;position:absolute;inset:0}.score-ring-value .num{font-family:var(--font-display);letter-spacing:-.03em;font-weight:650;line-height:1}.score-ring-caption{text-align:center;flex-direction:column;align-items:center;gap:1px;display:flex}.score-ring-label{font-size:var(--text-sm);font-weight:600}.score-ring-grade{font-size:var(--text-xs);font-weight:600}.lanes{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;position:relative}.lanes-skeleton{border-radius:var(--radius-md);height:266px}.lane{border-bottom:1px solid var(--separator);align-items:stretch;height:40px;display:flex}.lane-label{padding-right:var(--space-2);flex-direction:column;flex:0 0 132px;justify-content:center;gap:1px;min-width:0;display:flex}.lane-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.lane-value{font-size:var(--text-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.lane-canvas{display:block}.lanes-axis{justify-content:space-between;padding-top:4px;display:flex}.lanes-cursor{background:var(--accent);pointer-events:none;will-change:transform;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:0;bottom:22px;left:0}.lanes-time{text-align:center;pointer-events:none;color:#fff;background:var(--accent);border-radius:var(--radius-full);width:68px;margin-left:-34px;font-size:11px;font-weight:600;line-height:18px;position:absolute;bottom:0;left:0}.week-scores{align-items:baseline;gap:4px var(--space-3);width:100%;margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);font:inherit;font-size:var(--text-sm);color:var(--text);text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);border:none;flex-wrap:wrap;display:flex}.week-scores:active{transform:scale(.98)}.week-scores:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.week-score{white-space:nowrap}.va-top{gap:var(--space-4);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;display:grid}.va-verdict{border-top:4px solid var(--neutral-soft-strong,#c7c7cc)}.va-verdict-success{border-top-color:var(--success-graphic)}.va-verdict-warning{border-top-color:var(--warning-graphic,#ff9f0a)}.va-verdict-critical{border-top-color:var(--critical-graphic)}.va-kicker{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:600}.va-verdict-title{margin:2px 0 var(--space-1);font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700}.va-issues{margin:var(--space-3) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.va-issue{align-items:center;gap:var(--space-3);min-height:40px;padding:6px var(--space-2);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);line-height:1.4;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.va-issue:hover{background:var(--neutral-soft)}}.va-issue:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.va-scores{justify-content:space-around;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--separator);flex-wrap:wrap;display:flex}.va-quality{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.va-quality dt{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.va-quality dd{margin:0}.va-quality dd.num{font-size:var(--text-md);color:var(--text);font-weight:600}.va-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.va-grid>.span-full{grid-column:1/-1}.va-section{scroll-margin-top:calc(var(--topbar-height) + var(--space-4));flex-direction:column;display:flex}.va-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.va-section-title{font-size:var(--text-base);margin:0;font-weight:600}.va-headline{margin:var(--space-3) 0 0;font-size:var(--text-xl);letter-spacing:-.02em;font-weight:650;line-height:1.15}.va-reason{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-sm);color:var(--text);line-height:1.45}.va-section-foot{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--separator);flex-wrap:wrap;margin-top:auto;display:flex}.va-rule summary{cursor:pointer;font-size:var(--text-xs);color:var(--accent-text)}.va-rule[open]{flex-basis:100%}.va-rule p{margin-top:var(--space-1)}.va-trend{margin-bottom:var(--space-3)}.va-trend .metric-label{margin-bottom:var(--space-1)}.va-trend-empty{padding:var(--space-4) 0}.va-trends-3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.va-counts{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.va-counts dt{font-size:var(--text-xs);color:var(--text-secondary)}.va-counts dd{font-size:var(--text-md);margin:0;font-weight:600}.fault-row{padding-block:var(--space-3);align-items:flex-start}@media (width<=1100px){.va-top,.va-grid,.va-trends-3{grid-template-columns:minmax(0,1fr)}}.va-scores-note{margin:var(--space-2) 0 0;text-align:center}.va-estimate{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-secondary);align-items:flex-start;gap:6px;line-height:1.45;display:flex}.va-estimate svg{color:var(--accent-text);flex-shrink:0;margin-top:2px}.va-progress{margin:var(--space-1) 0 var(--space-4)}.va-progress-head{justify-content:space-between;margin-bottom:6px;display:flex}.va-progress-bar{border-radius:var(--radius-full);background:var(--neutral-soft);height:8px;overflow:hidden}.va-progress-bar span{background:var(--accent);transform-origin:0;border-radius:inherit;height:100%;display:block}.va-blocks{width:100%;margin-bottom:var(--space-4);border-collapse:collapse;font-size:var(--text-sm)}.va-blocks th{color:var(--text-secondary);text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--separator);padding:6px 8px;font-size:11px;font-weight:600}.va-blocks td{border-bottom:1px solid var(--separator);padding:8px}.chat-page{height:calc(100dvh - var(--topbar-height));flex-direction:column;min-height:0;display:flex;overflow:hidden}.chat-bar{justify-content:space-between;align-items:center;gap:var(--space-3);height:48px;padding:0 var(--space-5);border-bottom:1px solid var(--separator);flex-shrink:0;display:flex}.chat-bar-title{align-items:center;gap:var(--space-3);min-width:0;display:flex}.chat-bar-title h1{font-size:var(--text-base);letter-spacing:-.01em;margin:0;font-weight:650}.chat-vehicle{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;display:inline-flex}.chat-new{border-radius:var(--radius-sm);height:32px;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:none;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.chat-new:disabled{opacity:.4;cursor:default}.chat-new:active:not(:disabled){transform:scale(.97)}.chat-new:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (hover:hover) and (pointer:fine){.chat-new:hover:not(:disabled){background:var(--neutral-soft);color:var(--text)}}.chat-empty{min-height:0;padding:var(--space-6) var(--space-5) 12vh;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.chat-empty-title{margin:var(--space-2) 0 0;letter-spacing:-.02em;font-size:22px;font-weight:650}.chat-empty-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.chat-empty-composer{width:min(740px,100%);margin-top:var(--space-5);text-align:left}.chat-log{overscroll-behavior:contain;flex:1;min-height:0;position:relative;overflow-y:auto}.chat-thread{width:min(740px,100%);padding:var(--space-4) var(--space-5) var(--space-2);margin:0 auto}.chat-turn{gap:var(--space-3);padding-bottom:var(--space-5);flex-direction:column;display:flex}.msg{animation:fade-in .14s var(--ease-out) both}@media (prefers-reduced-motion:reduce){.msg{animation:none}}.msg-user{justify-content:flex-end;display:flex}.msg-user-bubble{background:var(--neutral-soft);max-width:min(560px,85%);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;padding:8px 14px;font-size:15px;line-height:1.5}.msg-assistant{min-width:0}.msg-text{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.55}.msg-rich>*{margin:0}.msg-rich>*+*{margin-top:8px}.msg-rich .msg-h{margin-top:12px;font-weight:650}.msg-rich>.msg-h:first-child{margin-top:0}.msg-rich .msg-h+*{margin-top:2px}.msg-rich ul,.msg-rich ol{padding-left:1.3em}.msg-rich ul{list-style:outside}.msg-rich ol{list-style:decimal}.msg-rich li::marker{color:var(--text-tertiary)}.msg-rich li+li{margin-top:2px}.msg-rich strong{font-weight:650}.msg-rich em{color:var(--text-secondary);font-style:normal;font-size:var(--text-sm)}.msg-note{font-size:var(--text-xs);color:var(--text-tertiary);margin:6px 0 0}.msg-failed{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.msg-retry{border:1px solid var(--separator-strong);border-radius:var(--radius-full);height:28px;color:var(--text);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease;background:0 0;align-items:center;gap:5px;padding:0 10px;font-weight:500;display:inline-flex}.msg-retry:active:not(:disabled){transform:scale(.97)}.msg-retry:disabled{opacity:.4;cursor:default}@media (hover:hover) and (pointer:fine){.msg-retry:hover:not(:disabled){background:var(--neutral-soft)}}.msg-meta{min-width:0;font-size:var(--text-xs);color:var(--text-tertiary);align-items:center;gap:6px;margin-top:6px;display:flex}.msg-sources{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;display:inline-flex;overflow:hidden}.msg-sources:before{content:"·";margin-right:2px}.msg-sources svg{color:var(--success);flex-shrink:0}.msg-action{border-radius:var(--radius-xs);width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast) ease, background-color var(--dur-fast) ease;background:0 0;border:none;place-items:center;margin-left:-6px;display:grid}.msg-action:active{transform:scale(.94)}.msg-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (hover:hover) and (pointer:fine){.msg-action:hover{color:var(--text);background:var(--neutral-soft)}}.msg-pending{min-height:24px;font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:10px;margin:0;display:inline-flex}.msg-pending-dots{gap:4px;display:inline-flex}.msg-pending-dots i{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite msg-dot}.msg-pending-dots i:nth-child(2){animation-delay:.15s}.msg-pending-dots i:nth-child(3){animation-delay:.3s}@keyframes msg-dot{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.msg-pending-dots i{opacity:.6;animation:none}}.chat-dock{padding:4px var(--space-5) var(--space-3);flex-shrink:0;position:relative}.chat-dock .chat-composer{width:min(740px,100%);margin:0 auto}.chat-input{align-items:flex-end;gap:var(--space-2);background:var(--surface);box-shadow:0 0 0 1px var(--separator-strong), var(--shadow-raised);transition:box-shadow var(--dur-fast) var(--ease-out);border-radius:22px;padding:6px 6px 6px 16px;display:flex}.chat-input:focus-within{box-shadow:0 0 0 1px var(--accent), 0 0 0 3px var(--accent-soft), var(--shadow-raised)}.chat-input textarea{resize:none;min-width:0;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;max-height:200px;padding:5px 0;font-size:15px;line-height:1.5;overflow-y:auto}.chat-input textarea::placeholder{color:var(--text-placeholder)}.chat-send{background:var(--accent);color:#fff;cursor:pointer;width:32px;height:32px;transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) ease;border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.chat-send:disabled{opacity:.3;cursor:default}.chat-send:active:not(:disabled){transform:scale(.94)}.chat-send:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-stop{background:var(--text);color:var(--surface)}.chat-note{color:var(--text-tertiary);text-align:center;margin:6px 0 0;font-size:11px}.chat-jump{background:var(--surface);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;box-shadow:0 0 0 1px var(--separator-strong), var(--shadow-raised);transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast) ease;border:none;border-radius:50%;place-items:center;margin-left:-17px;display:grid;position:absolute;top:-44px;left:50%}.chat-jump:active{transform:scale(.94)}.chat-jump:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.chat-jump:hover{color:var(--text)}}.msg-card{gap:var(--space-3);border:1px solid var(--separator);border-radius:var(--radius-md);background:var(--surface);max-width:520px;margin-top:10px;padding:10px 14px;display:flex}.msg-card-pin{color:var(--accent);flex-shrink:0;margin-top:2px}.msg-card-body{flex:1;min-width:0}.msg-card-head{align-items:center;gap:4px var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.msg-card-badge{border-radius:var(--radius-full);padding:1px 7px;font-size:11px;font-weight:600}.msg-card-badge.is-on{background:var(--success-soft);color:var(--success)}.msg-card-badge.is-off{background:var(--warning-soft);color:var(--warning)}.msg-card-when{font-size:var(--text-xs);color:var(--text-tertiary)}.msg-card-facts{gap:2px var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap;margin-top:4px;display:flex}.msg-card-links{gap:var(--space-4);font-size:var(--text-xs);margin-top:6px;font-weight:500;display:flex}.msg-card-links a{color:var(--accent);text-decoration:none}.msg-card-links a:hover{text-decoration:underline}.msg-chart{border:1px solid var(--separator);border-radius:var(--radius-md);background:var(--surface);max-width:560px;margin:10px 0 0;padding:10px 14px}.msg-chart-head{justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);flex-wrap:wrap;display:flex}.msg-chart-head .strong{color:var(--text)}.msg-chart-row{margin-top:8px}.msg-chart-label{justify-content:space-between;gap:2px var(--space-3);color:var(--text-tertiary);flex-wrap:wrap;font-size:11.5px;display:flex}.msg-chart-label>span:first-child{color:var(--text-secondary);font-weight:500}.msg-chart-svg{width:100%;height:44px;margin-top:2px;display:block;overflow:visible}.msg-chart-row svg[viewBox$=" 14"]{height:12px}.msg-chart-line{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round}.msg-chart-band{fill:var(--accent-soft);stroke:none}.msg-chart-dot{fill:var(--accent)}.msg-chart-track{fill:var(--neutral-soft)}.msg-chart-on{fill:var(--accent)}.msg-chart-axis{color:var(--text-tertiary);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}@media (width<=760px){.chat-bar{padding:0 var(--space-4)}.chat-thread{padding:var(--space-3) var(--space-4) var(--space-2)}.chat-dock{padding:4px var(--space-3) var(--space-2)}.chat-note{display:none}.chat-input textarea{font-size:16px}.chat-empty{padding-bottom:6vh}}.signin-page{justify-content:center;align-items:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-6) var(--space-4);background:var(--bg);flex-direction:column;display:flex}.signin-card{width:min(400px,100%);padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-raised)}.signin-brand{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--text-md);letter-spacing:-.01em;font-weight:700;display:flex}.signin-form{gap:var(--space-3);flex-direction:column;display:flex}.signin-title{font-size:var(--text-lg);letter-spacing:-.015em;margin:0;font-weight:650}.signin-sub{margin:-4px 0 var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);overflow-wrap:anywhere;line-height:1.45}.signin-field{flex-direction:column;gap:6px;display:flex}.signin-field .field{height:42px}.signin-field input{font-size:var(--text-base)}.signin-check{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:flex}.signin-check input{width:16px;height:16px;accent-color:var(--accent)}.signin-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin:-4px 0 0}.signin-error{border-radius:var(--radius-sm);background:var(--critical-soft);color:var(--critical);font-size:var(--text-sm);margin:0;padding:8px 12px}.signin-notice{border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success);font-size:var(--text-sm);margin:0;padding:8px 12px}.signin-form .btn-block{justify-content:center;height:42px}.signin-or{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);display:flex}.signin-or:before,.signin-or:after{content:"";background:var(--separator);flex:1;height:1px}.signin-link,.signin-back,.signin-reveal{font:inherit;cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:4px}.signin-link{font-size:var(--text-sm);color:var(--accent-text);align-self:center;font-weight:500}.signin-link:disabled{opacity:.5;cursor:default}.signin-back{font-size:var(--text-sm);color:var(--text-secondary);align-self:flex-start;align-items:center;gap:4px;margin:-8px 0 0 -4px;display:inline-flex}.signin-reveal{color:var(--text-tertiary);place-items:center;display:grid}.signin-link:focus-visible,.signin-back:focus-visible,.signin-reveal:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (hover:hover) and (pointer:fine){.signin-link:hover:not(:disabled){text-decoration:underline}.signin-back:hover,.signin-reveal:hover{color:var(--text)}}.signin-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.signin-foot{font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;margin:0}.totp-setup{gap:var(--space-3);flex-direction:column;display:flex}.totp-steps{font-size:var(--text-sm);color:var(--text-secondary);margin:0;padding-left:1.2em;line-height:1.5;list-style:decimal}.totp-qr{border-radius:var(--radius-sm);background:#fff;align-self:center;padding:6px}.totp-key{align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);flex-wrap:wrap;margin:0;display:flex}.totp-key code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);letter-spacing:.04em;overflow-wrap:anywhere}.auth-splash{background:var(--bg);place-items:center;min-height:100dvh;display:grid}.account-heading{align-items:center;gap:var(--space-2);margin:0;display:flex}.account-heading svg{color:var(--text-secondary);flex-shrink:0}.people-row{align-items:center;gap:var(--space-3);min-width:0;display:flex}.people-row-main{flex:1;min-width:0}.people-row-main .list-row-title,.people-row-main .caption{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.people-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.people-select{border-radius:var(--radius-xs);background:var(--surface-2);height:30px;color:var(--text);font:inherit;font-size:var(--text-sm);border:none;padding:0 8px}.people-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.people-invite{gap:var(--space-2);grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) auto auto;align-items:end;display:grid}.people-invite .field{height:36px}.audit-list{font-size:var(--text-sm);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.audit-list li{gap:4px var(--space-3);color:var(--text-secondary);flex-wrap:wrap;display:flex}.audit-list time{color:var(--text-tertiary);font-size:var(--text-xs)}@media (width<=760px){.signin-card{padding:var(--space-6) var(--space-4) var(--space-5)}.signin-field input,.people-invite input{font-size:16px}.people-invite{grid-template-columns:minmax(0,1fr)}}.account-btn,.account-avatar{background:var(--accent-soft);color:var(--accent-text);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-weight:650;display:inline-grid}.account-btn{width:32px;height:32px;font:inherit;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) ease;border:none;margin-left:2px;font-size:12px}.account-btn:active{transform:scale(.95)}.account-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}@media (hover:hover) and (pointer:fine){.account-btn:hover{box-shadow:0 0 0 2px var(--accent-soft)}}.account-avatar{width:36px;height:36px;font-size:13px}.account-head{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--separator);min-width:0;margin-bottom:4px;display:flex}.account-head .menu-item-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.wa-link{gap:var(--space-3);flex-direction:column;display:flex}.wa-link .totp-qr{align-self:flex-start}.wa-code{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.wa-code code{font-family:var(--font-mono);font-size:var(--text-md);color:var(--text);letter-spacing:.06em;font-weight:600}.page-narrow{max-width:1080px}.page-form{max-width:880px}.strong{font-weight:600}.nowrap{white-space:nowrap}.wrap-text{white-space:normal}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-critical{color:var(--critical)}.text-accent{color:var(--accent-text)}.block{display:block}.shrink-0{flex-shrink:0}.inline-row{align-items:center;gap:var(--space-1);display:flex}.align-start{align-items:flex-start}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.list-row-top{padding-block:var(--space-3);align-items:flex-start}.list-row-top>svg,.list-row-top>.status-icon{margin-top:2px}.justify-center{justify-content:center}
