:root{color-scheme:light;--color-bg: #f4f7fb;--color-bg-strong: #e9eef6;--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-surface-raised: #ffffff;--color-border: #dce3ec;--color-border-strong: #c5d0dc;--color-text: #111827;--color-text-muted: #536070;--color-text-subtle: #748194;--color-primary: #1f5fbf;--color-primary-hover: #194f9f;--color-primary-soft: #e9f1ff;--color-primary-soft-border: #cfe0ff;--color-on-primary: #ffffff;--color-info: #2563eb;--color-info-bg: #eaf2ff;--color-danger: #b42318;--color-danger-text: #b42318;--color-danger-hover: #8f1d15;--color-danger-bg: #fff1f0;--color-danger-border: #ffb4ab;--color-success: #157347;--color-success-bg: #eaf7ef;--color-success-border: #a8ddbf;--color-warning: #8a5a00;--color-warning-text: #8a5a00;--color-warning-bg: #fff6df;--color-warning-border: #f4d58d;--color-neutral-bg: #edf2f7;--color-neutral: #475569;--color-focus: #2563eb;--color-focus-ring: rgba(37, 99, 235, .28);--color-focus-ring-subtle: rgba(37, 99, 235, .22);--color-input-border-hover: #aeb9c8;--color-code: #253143;--color-page-wash-start: rgba(255, 255, 255, .82);--color-page-wash-end: rgba(244, 247, 251, .94);--color-sidebar: rgba(255, 255, 255, .92);--color-topbar: rgba(244, 247, 251, .88);--color-mobile-nav: rgba(255, 255, 255, .96);--color-inverse-surface: #172033;--color-inverse-text: #ffffff;--color-modal-overlay: rgba(15, 23, 42, .56);--color-badge-border: rgba(71, 85, 105, .18);--color-active-alert-bg: linear-gradient(180deg, #fff7f6, var(--color-danger-bg));--color-active-alert-strong: #7a1810;--color-stat-attention-bg: linear-gradient(180deg, #ffffff, var(--color-danger-bg));--color-test-mode-bg: linear-gradient(180deg, #fffaf0, var(--color-warning-bg));--color-skeleton: #e5ebf3;--color-skeleton-shine: #f3f6fa;--color-login-panel: #101827;--color-login-panel-text: #ffffff;--color-login-panel-muted: #cad5e3;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 16px 42px rgba(15, 23, 42, .12);--shadow-raised: 0 6px 16px rgba(15, 23, 42, .08);--shadow-overlay: 0 24px 64px rgba(15, 23, 42, .18);--font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--topbar-height: 64px;--sidebar-width: 272px;--content-max: 1440px;--motion-fast: .12s;--motion-standard: .2s;--motion-emphasis: .32s;--motion-critical: 1.8s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasis: cubic-bezier(.16, 1, .3, 1);--stagger-step: 40ms}:root[data-theme=dark]{color-scheme:dark;--color-bg: #101722;--color-bg-strong: #0c121b;--color-surface: #161f2d;--color-surface-muted: #1d2838;--color-surface-raised: #202c3d;--color-border: #2b394a;--color-border-strong: #3a4a5f;--color-text: #eef4fb;--color-text-muted: #b7c3d1;--color-text-subtle: #8997a8;--color-primary: #75a7ff;--color-primary-hover: #98bdff;--color-primary-soft: #162a46;--color-primary-soft-border: #2c5d9d;--color-on-primary: #071120;--color-info: #7ab0ff;--color-info-bg: #132945;--color-danger: #ff8b7f;--color-danger-text: #ff8b7f;--color-danger-hover: #ffaaa1;--color-danger-bg: #3a1717;--color-danger-border: #78312c;--color-success: #6ed19b;--color-success-bg: #123324;--color-success-border: #286343;--color-warning: #f4c667;--color-warning-text: #f4c667;--color-warning-bg: #392910;--color-warning-border: #745323;--color-neutral-bg: #263243;--color-neutral: #c1cad6;--color-focus: #8bb8ff;--color-focus-ring: rgba(139, 184, 255, .36);--color-focus-ring-subtle: rgba(139, 184, 255, .28);--color-input-border-hover: #516278;--color-code: #d6e2ef;--color-page-wash-start: rgba(22, 31, 45, .72);--color-page-wash-end: rgba(16, 23, 34, .94);--color-sidebar: rgba(13, 19, 29, .94);--color-topbar: rgba(16, 23, 34, .9);--color-mobile-nav: rgba(13, 19, 29, .96);--color-inverse-surface: #edf4fb;--color-inverse-text: #0e1622;--color-modal-overlay: rgba(3, 7, 13, .68);--color-badge-border: rgba(193, 202, 214, .2);--color-active-alert-bg: linear-gradient(180deg, #351918, var(--color-danger-bg));--color-active-alert-strong: #ffd0ca;--color-stat-attention-bg: linear-gradient(180deg, #211d26, var(--color-danger-bg));--color-test-mode-bg: linear-gradient(180deg, #2b2418, var(--color-warning-bg));--color-skeleton: #263344;--color-skeleton-shine: #33445a;--color-login-panel: #0c121b;--color-login-panel-text: #eef4fb;--color-login-panel-muted: #b7c3d1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28);--shadow-md: 0 18px 48px rgba(0, 0, 0, .42);--shadow-raised: 0 8px 20px rgba(0, 0, 0, .32);--shadow-overlay: 0 28px 72px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{min-width:320px;text-size-adjust:100%}body{margin:0;background:linear-gradient(180deg,var(--color-page-wash-start),var(--color-page-wash-end) 240px),var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1.5;overflow-wrap:break-word}img,svg,video,canvas{max-width:100%}pre{max-width:100%;overflow-x:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea,[role=button]{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,opacity .16s ease,transform .16s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}a{color:var(--color-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:var(--space-4);top:var(--space-4);z-index:1000;display:inline-flex;align-items:center;min-height:44px;transform:translateY(-160%);background:var(--color-text);color:var(--color-on-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.app-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-sidebar);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-brand{display:flex;align-items:center;gap:var(--space-3);min-height:44px;color:var(--color-text);text-decoration:none}.app-brand__mark{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius);background:var(--color-danger);color:var(--color-on-primary);font-size:12px;font-weight:800;box-shadow:var(--shadow-sm)}.app-brand__name{display:block;font-weight:750;letter-spacing:0}.app-brand__meta{display:block;color:var(--color-text-muted);font-size:12px}.shell-nav{position:relative;display:grid;gap:var(--space-5);overflow-y:auto;padding-right:var(--space-1)}.shell-nav__indicator{position:absolute;top:0;left:0;width:100%;border-radius:var(--radius);background:var(--color-primary-soft);border:1px solid var(--color-primary-soft-border);z-index:0;transition:transform var(--motion-standard) var(--ease-standard),height var(--motion-standard) var(--ease-standard);pointer-events:none}.shell-nav__link{position:relative;z-index:1}.shell-nav__link.is-active{background:transparent;border-color:transparent}.shell-nav__group{display:grid;gap:var(--space-1)}.shell-nav__heading{padding:0 var(--space-3) var(--space-1);color:var(--color-text-subtle);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.shell-nav__link{display:flex;align-items:center;gap:var(--space-3);min-height:40px;color:var(--color-text-muted);font-weight:650;text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid transparent}.shell-nav__link:hover{background:var(--color-surface-muted);color:var(--color-text)}.shell-nav__link.is-active{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary-soft-border)}.shell-nav__icon,.mobile-tab-bar__icon{display:inline-flex;flex:0 0 auto;width:18px;height:18px}.app-sidebar__footer{margin-top:auto;display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.user-chip{display:flex;align-items:center;gap:var(--space-3);min-width:0;color:var(--color-text);text-decoration:none}.user-chip__avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--color-neutral-bg);color:var(--color-text);font-weight:750}.user-chip__name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.user-chip__role{display:block;color:var(--color-text-muted);font-size:12px}.app-main-shell{min-width:0;display:flex;flex-direction:column}.test-mode-banner{display:flex;align-items:center;gap:var(--space-2);min-height:34px;padding:var(--space-1) clamp(var(--space-4),3vw,var(--space-6));background:var(--color-warning-bg);color:var(--color-warning-text);border-bottom:1px solid var(--color-warning-border);font-size:12px;font-weight:700;flex-wrap:wrap}.test-mode-banner__dot{width:8px;height:8px;border-radius:50%;background:var(--color-warning);flex:0 0 auto;animation:pulse-glow var(--motion-critical) ease-in-out infinite}.test-mode-banner__meta{color:var(--color-text-muted);font-weight:600}.test-mode-banner__link{margin-left:auto;color:var(--color-warning-text);text-decoration:underline;white-space:nowrap}.app-shell-sticky-header{position:sticky;top:0;z-index:30}.app-topbar{min-height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 clamp(var(--space-4),3vw,var(--space-6));background:var(--color-topbar);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-topbar__context{display:grid;gap:2px;min-width:0}.app-topbar__eyebrow{color:var(--color-text-subtle);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.app-topbar__title{color:var(--color-text);font-size:16px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar__actions{display:flex;align-items:center;gap:var(--space-2);min-width:0}.topbar-signout{min-height:34px;padding-inline:var(--space-3)}.app-topbar .app-topbar__menu{display:none;flex:0 0 auto}.theme-switcher{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:40;display:grid;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-sm)}.theme-switcher--compact{width:48px}.theme-switcher:hover{border-color:var(--color-border-strong);color:var(--color-text)}.theme-switcher__icon{width:20px;height:20px;flex:0 0 auto}.live-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);border-radius:999px;border:1px solid var(--color-success-border);background:var(--color-success-bg);color:var(--color-success);font-size:12px;font-weight:700}.live-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.app-content{width:100%;min-width:0;max-width:var(--content-max);margin:0 auto;padding:var(--space-6) clamp(var(--space-4),3vw,var(--space-7)) var(--space-8)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;border-radius:var(--radius);border:1px solid transparent;padding:var(--space-2) var(--space-4);font-size:14px;font-weight:700;cursor:pointer;background:var(--color-primary);color:var(--color-on-primary);text-decoration:none;white-space:nowrap;max-width:100%}.btn:hover{background:var(--color-primary-hover)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none}.btn.is-loading{cursor:wait;opacity:.85}.btn__spinner{flex:0 0 auto;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-muted)}.btn-danger{background:var(--color-danger);color:var(--color-on-primary)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-ghost{background:transparent;color:var(--color-text);border-color:transparent}.btn-ghost:hover{background:var(--color-surface-muted)}.btn-sm{min-height:34px;padding:5px var(--space-3);font-size:13px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.icon-btn:hover{color:var(--color-text);background:var(--color-surface-muted)}.field-label{display:block;font-weight:700;font-size:13px;margin-bottom:var(--space-1)}.field-input{display:block;width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius);font-size:14px;background:var(--color-surface);color:var(--color-text);min-width:0}.field-input::placeholder{color:var(--color-text-subtle)}.field-input:hover{border-color:var(--color-input-border-hover)}.field-input:focus{outline:3px solid var(--color-focus-ring-subtle);outline-offset:1px;border-color:var(--color-focus)}.field-input:disabled{background:var(--color-surface-muted);color:var(--color-text-subtle);cursor:not-allowed}.field-error{color:var(--color-danger);font-size:12px;margin:var(--space-1) 0 0}.field-hint{color:var(--color-text-muted);font-size:12px;margin:var(--space-1) 0 0}.field-input.has-error{border-color:var(--color-danger)}.form-grid{display:grid;gap:var(--space-4)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card--interactive{transition:transform var(--motion-standard) var(--ease-standard),box-shadow var(--motion-standard) var(--ease-standard),border-color var(--motion-standard) var(--ease-standard)}.card--interactive:hover,.card--interactive:focus-within{transform:translateY(-2px);box-shadow:var(--shadow-raised);border-color:var(--color-border-strong)}.section-card{display:grid;gap:var(--space-4)}.section-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);min-width:0}.section-card__title{margin:0;font-size:15px;line-height:1.35}.section-card__description{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:13px}.page-stack,.test-mode-page{display:grid;gap:var(--space-5)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;min-width:0}.page-header h1{font-size:clamp(22px,2vw,28px);line-height:1.2;margin:0;letter-spacing:0}.page-header p{margin:var(--space-2) 0 0;color:var(--color-text-muted);max-width:78ch}.page-header__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;min-width:0}.breadcrumbs{display:flex;align-items:center;gap:var(--space-1);font-size:13px;color:var(--color-text-muted);flex-wrap:wrap}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-primary)}.badge{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:24px;padding:2px var(--space-2);border-radius:999px;font-size:12px;font-weight:750;line-height:1.2;white-space:nowrap;background:var(--color-neutral-bg);color:var(--color-neutral);border:1px solid var(--color-badge-border);text-transform:none;max-width:100%}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge--success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.alert-banner{border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:13px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.alert-banner--error{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.alert-banner--warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.alert-banner--success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.active-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-active-alert-bg);border:1px solid var(--color-danger-border);border-left:5px solid var(--color-danger);border-radius:var(--radius);color:var(--color-danger);box-shadow:var(--shadow-sm);flex-wrap:wrap}.active-alert-banner strong{color:var(--color-active-alert-strong);font-size:16px}.data-table-wrap{overflow-x:auto;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.data-table th{position:sticky;top:0;z-index:1;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-weight:750;white-space:nowrap;background:var(--color-surface-muted)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle;overflow-wrap:normal;word-break:normal}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.is-clickable{cursor:pointer}.data-table tbody tr.is-clickable:hover{background:var(--color-surface-muted)}.data-table tbody tr.is-clickable:focus-visible{outline:3px solid var(--color-focus-ring-subtle);outline-offset:-3px}.data-table code,.mono{font-family:var(--font-mono);font-size:12px;color:var(--color-code);overflow-wrap:anywhere}.data-table-cards{display:none}.state-block{display:grid;place-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);text-align:center;color:var(--color-text-muted)}.state-block__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--color-surface-muted);color:var(--color-text-subtle)}.skeleton-rows{display:grid;gap:var(--space-3);padding:var(--space-4)}.skeleton-rows__row{display:flex;gap:var(--space-4);align-items:center}.skeleton-card{display:grid;gap:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4)}.state-block h2{margin:0;color:var(--color-text);font-size:16px;font-weight:600}.state-block p{margin:0;font-size:13px;max-width:46ch}.skeleton{background:linear-gradient(90deg,var(--color-skeleton) 25%,var(--color-skeleton-shine) 37%,var(--color-skeleton) 63%);background-size:400% 100%;animation:skeleton-pulse 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-pulse{0%{background-position:100% 50%}to{background-position:0 50%}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:13px;color:var(--color-text-muted);flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-modal-overlay);display:grid;place-items:center;padding:var(--space-4);z-index:100}.modal-panel{background:var(--color-surface-raised);border-radius:var(--radius-lg);padding:var(--space-5);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-overlay)}.modal-overlay--closing{animation:fade-in var(--motion-fast) var(--ease-standard) reverse both}.modal-panel--closing{animation:scale-in var(--motion-fast) var(--ease-standard) reverse both}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.modal-header h2{min-width:0}.modal-panel h2{margin:0 0 var(--space-2);font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap}.tabs{position:relative;display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);overflow-x:auto}.tabs__indicator{position:absolute;bottom:-1px;left:0;height:2px;background:var(--color-primary);transition:transform var(--motion-standard) var(--ease-standard),width var(--motion-standard) var(--ease-standard)}.tab-btn{min-height:40px;padding:var(--space-2) var(--space-4);border:none;background:transparent;font-weight:700;font-size:13px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.tab-btn:hover{color:var(--color-text);background:var(--color-surface-muted)}.tab-btn.is-active{color:var(--color-primary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-4)}.stat-tile{position:relative;overflow:hidden;display:grid;gap:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm)}.stat-tile__label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted);font-weight:750;text-transform:uppercase;letter-spacing:.06em}.stat-tile__icon{display:inline-flex;flex:0 0 auto;width:14px;height:14px}.stat-tile__row{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.stat-tile__value{font-size:28px;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums}.stat-tile__trend{font-size:12px;font-weight:700;color:var(--color-text-muted)}.stat-tile__description{color:var(--color-text-muted);font-size:12px}.stat-tile--attention{border-color:var(--color-danger-border);background:var(--color-stat-attention-bg)}.stat-tile--attention .stat-tile__value{color:var(--color-danger)}.stat-tile--pulse{animation:pulse-glow var(--motion-critical) ease-in-out infinite}.fleet-distribution{display:grid;gap:6px;margin-top:var(--space-2)}.fleet-distribution__bar{display:flex;height:8px;width:100%;border-radius:999px;overflow:hidden;background:var(--color-neutral-bg)}.fleet-distribution__segment{height:100%;transition:width var(--motion-emphasis) var(--ease-emphasis)}.fleet-distribution__segment--green{background:var(--color-success)}.fleet-distribution__segment--yellow{background:var(--color-warning)}.fleet-distribution__segment--red{background:var(--color-danger)}.fleet-distribution__legend{display:flex;gap:var(--space-3);flex-wrap:wrap;font-size:11px;color:var(--color-text-muted);font-weight:700}.toast-stack{position:fixed;bottom:var(--space-5);right:var(--space-5);display:grid;gap:var(--space-2);z-index:200;max-width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:var(--space-2);background:var(--color-inverse-surface);color:var(--color-inverse-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:13px;box-shadow:var(--shadow-md)}.toast__icon{flex:0 0 auto}.toast--error{background:var(--color-danger)}.toast--success{background:var(--color-success)}.toast--warning{background:var(--color-warning);color:var(--color-inverse-surface)}.toast--info{background:var(--color-info)}.toast--critical{background:var(--color-danger);box-shadow:var(--shadow-md),0 0 0 1px var(--color-danger-border)}.toast--leaving{animation:slide-in-right var(--motion-standard) var(--ease-standard) reverse both}.search-input-wrap{position:relative;min-width:min(260px,100%);flex:1}.filter-bar{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}.filter-bar .field-label{font-size:12px}.test-mode-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);background:var(--color-test-mode-bg);border:1px solid var(--color-warning-border);border-left:5px solid var(--color-warning);border-radius:var(--radius);color:var(--color-text)}.test-mode-header h1,.test-mode-panel h2{margin:0;font-size:20px}.test-mode-header p,.test-mode-panel p{margin:var(--space-1) 0 0}.test-mode-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:var(--space-5);align-items:start}.test-mode-arm-column{position:sticky;top:calc(var(--topbar-height) + var(--space-4));align-self:start}.commissioning-two-col{display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;align-items:start}.test-mode-panel{display:grid;gap:var(--space-3)}.muted{color:var(--color-text-muted)}.session-list{display:grid;gap:var(--space-3)}.session-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.split-row,.button-row,.inline-form-row,.responsive-control-grid,.step-card__header{display:flex;gap:var(--space-2);min-width:0}.split-row,.step-card__header{justify-content:space-between;align-items:center}.split-row--interactive{cursor:pointer}.split-row--bordered{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.button-row{align-items:center;flex-wrap:wrap}.inline-form-row{align-items:center;margin-bottom:var(--space-4)}.inline-form-row>.field-input{flex:1 1 180px}.responsive-control-grid{flex-wrap:wrap;align-items:flex-end;margin-top:var(--space-4)}.state-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-4)}.session-title{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.offline-banner{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border);border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:13px;font-weight:700;text-align:center}.stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2)}.stepper__item{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:12px;font-weight:700;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.stepper__index{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--color-neutral-bg);color:var(--color-neutral);font-size:11px;font-variant-numeric:tabular-nums}.stepper__item.is-done{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.stepper__item.is-done .stepper__index{background:var(--color-success);color:var(--color-on-primary)}.stepper__item.is-current{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary-soft-border)}.stepper__item.is-current .stepper__index{background:var(--color-primary);color:var(--color-on-primary)}.detail-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-2) var(--space-4);margin:0;font-size:13px}.detail-grid dt{color:var(--color-text-muted);font-weight:700}.detail-grid dd{margin:0;min-width:0;word-break:break-word}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);font-size:13px}.info-item{min-width:0}.info-label{color:var(--color-text-muted);font-size:12px;font-weight:700}.info-value{margin-top:2px;word-break:break-word}.timeline{display:grid;gap:var(--space-3)}.timeline__item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-3)}.timeline__marker{width:12px;height:12px;margin:4px auto 0;border-radius:50%;background:var(--color-border-strong);box-shadow:0 0 0 4px var(--color-surface-muted)}.timeline__item.is-danger .timeline__marker{background:var(--color-danger)}.timeline__item.is-success .timeline__marker{background:var(--color-success)}.timeline__title{font-weight:750}.timeline__meta{color:var(--color-text-muted);font-size:12px}.mobile-tab-bar,.mobile-drawer{display:none}.login-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px)}.login-panel{display:grid;align-content:center;padding:clamp(var(--space-5),6vw,72px);background:var(--color-login-panel);color:var(--color-login-panel-text)}.login-panel h1{margin:0;max-width:12ch;font-size:clamp(36px,5vw,62px);line-height:1}.login-panel p{max-width:54ch;color:var(--color-login-panel-muted)}.login-brand{color:var(--color-login-panel-text);margin-bottom:var(--space-6)}.login-brand .app-brand__meta{color:var(--color-login-panel-muted)}.login-card-wrap{position:relative;display:grid;place-items:center;padding:var(--space-5)}.login-theme-switcher{position:absolute;top:var(--space-5);right:var(--space-5)}.login-card{width:min(100%,380px)}.login-card__button{width:100%}@media(max-width:1020px){.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}.app-topbar .app-topbar__menu{display:inline-flex}}@media(max-width:760px){.app-topbar{min-height:58px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.app-topbar__actions{justify-content:flex-end}.app-topbar .user-chip{min-width:44px;justify-content:center}.app-topbar .user-chip__avatar{width:44px;height:44px}.app-topbar .btn-sm{display:none}.pagination .btn-sm{min-height:40px}.app-topbar__eyebrow{display:none}.app-content{padding:var(--space-4) var(--space-3) 92px}.page-header{display:grid;gap:var(--space-3)}.page-header h1{font-size:22px}.page-header__actions,.page-header__actions .btn,.page-header__actions .btn-secondary,.page-header__actions .btn-primary{width:100%}.filter-bar{display:grid;gap:var(--space-3);padding:var(--space-3)}.filter-bar>*,.search-input-wrap{width:100%;min-width:0}.test-mode-grid,.commissioning-two-col{grid-template-columns:1fr}.test-mode-arm-column{position:static}.session-row{align-items:stretch;flex-direction:column}.split-row,.step-card__header{align-items:flex-start;flex-direction:column}.button-row,.inline-form-row,.responsive-control-grid{display:grid;grid-template-columns:1fr;align-items:stretch}.button-row .btn,.inline-form-row .btn,.responsive-control-grid .btn,.responsive-control-grid>*,.responsive-control-grid .field-input{width:100%}.state-diff-grid{grid-template-columns:1fr}.card{padding:var(--space-4)}.section-card__header,.active-alert-banner,.test-mode-header{display:grid;gap:var(--space-3)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.stat-tile{padding:var(--space-3)}.stat-tile__value{font-size:24px}.form-row,.info-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr;gap:var(--space-1)}.data-table-wrap{border:none;background:transparent;box-shadow:none;overflow:visible}.data-table-wrap table{display:none}.data-table-cards{display:grid;gap:var(--space-3)}.data-table-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);background:var(--color-surface);display:grid;gap:var(--space-2);box-shadow:var(--shadow-sm);min-width:0}.data-table-card[role=button]{cursor:pointer;min-height:44px}.data-table-card .btn-sm{min-height:40px}.data-table-card__primary{display:grid;gap:2px;min-width:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);font-weight:750}.data-table-card__primary-label{color:var(--color-text-muted);font-size:11px;font-weight:750;text-transform:uppercase}.data-table-card__row{display:grid;grid-template-columns:minmax(92px,38%) minmax(0,1fr);align-items:start;gap:var(--space-3);font-size:13px;min-width:0}.data-table-card__label{color:var(--color-text-muted);font-weight:700}.data-table-card__row>span:last-child{text-align:right;min-width:0;overflow-wrap:normal;word-break:normal}.modal-overlay{align-items:end;padding:var(--space-3)}.modal-panel{max-height:calc(100dvh - var(--space-5));padding:var(--space-4);border-radius:var(--radius-lg) var(--radius-lg) var(--radius) var(--radius)}.modal-actions{position:sticky;bottom:calc(-1 * var(--space-4));margin-inline:calc(-1 * var(--space-4));margin-bottom:calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4) max(var(--space-3),env(safe-area-inset-bottom));background:var(--color-surface-raised);border-top:1px solid var(--color-border)}.modal-actions .btn{flex:1 1 140px;min-height:44px}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:flex-start;background:var(--color-modal-overlay);animation:fade-in var(--motion-standard) var(--ease-standard) both}.mobile-drawer--closing{animation:fade-in var(--motion-fast) var(--ease-standard) reverse both}.mobile-drawer__panel{width:min(88vw,360px);height:100dvh;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-3) max(var(--space-4),env(safe-area-inset-bottom));background:var(--color-surface-raised);border-right:1px solid var(--color-border);box-shadow:var(--shadow-overlay);animation:drawer-in var(--motion-emphasis) var(--ease-emphasis) both}.mobile-drawer--closing .mobile-drawer__panel{animation:drawer-in var(--motion-fast) var(--ease-standard) reverse both}.mobile-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px}.mobile-drawer__nav{gap:var(--space-4);padding-right:0}.mobile-drawer__nav .shell-nav__link{min-height:44px}.mobile-drawer__footer{display:grid;gap:var(--space-3);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.mobile-tab-bar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--color-mobile-nav);border-top:1px solid var(--color-border);padding:var(--space-2) var(--space-1) max(var(--space-2),env(safe-area-inset-bottom));z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-tab-bar__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;font-size:11px;font-weight:700;color:var(--color-text-muted);text-decoration:none;padding:var(--space-1);border-radius:var(--radius-sm);min-width:0}.mobile-tab-bar__link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-tab-bar__link.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.login-shell{grid-template-columns:1fr}.login-panel{min-height:240px}}@media(max-width:430px){.app-topbar{grid-template-columns:44px minmax(0,1fr) auto}.theme-switcher{right:var(--space-4);bottom:calc(76px + env(safe-area-inset-bottom))}.stat-grid{grid-template-columns:1fr}.data-table-card__row{grid-template-columns:1fr;gap:2px}.data-table-card__row>span:last-child{text-align:left}.pagination{display:grid}.pagination .btn{min-width:0}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--color-danger-border)}50%{box-shadow:0 0 0 6px transparent}}@keyframes pulse-glow-warning{0%,to{box-shadow:0 0 0 0 var(--color-warning-border)}50%{box-shadow:0 0 0 6px transparent}}@keyframes check-pop{0%{transform:scale(.7)}55%{transform:scale(1.18)}to{transform:scale(1)}}.motion-fade-in{animation:fade-in var(--motion-standard) var(--ease-standard) both}.motion-fade-in-up{animation:fade-in-up var(--motion-emphasis) var(--ease-emphasis) both;animation-delay:calc(var(--stagger-index, 0) * var(--stagger-step))}.motion-scale-in{animation:scale-in var(--motion-emphasis) var(--ease-emphasis) both}.motion-slide-in-right{animation:slide-in-right var(--motion-standard) var(--ease-standard) both}.motion-check-pop{animation:check-pop var(--motion-emphasis) var(--ease-emphasis) both}.motion-critical-pulse{animation:pulse-glow var(--motion-critical) ease-in-out infinite}.motion-warning-pulse{animation:pulse-glow-warning var(--motion-critical) ease-in-out infinite}@keyframes row-highlight{0%{background-color:var(--color-primary-soft)}to{background-color:transparent}}.is-new-row{animation:row-highlight 2.4s var(--ease-standard) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.kb-search-row{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap}.kb-search-row .search-input-wrap{flex:1 1 320px;min-width:0}.kb-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.kb-section-card{display:block;text-align:left;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.kb-section-card:hover,.kb-section-card:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.kb-section-card.is-active{border-color:var(--color-primary);background:var(--color-primary-soft)}.kb-section-card__title{font-weight:600;font-size:14px;margin:0 0 4px}.kb-section-card__count{color:var(--color-text-muted);font-size:12px;margin:0}.kb-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.kb-doc-card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);text-decoration:none;color:inherit;min-height:100%}.kb-doc-card:hover,.kb-doc-card:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.kb-doc-card__title{font-weight:600;font-size:14px;margin:0;color:var(--color-text)}.kb-doc-card__description{color:var(--color-text-muted);font-size:13px;margin:0;flex:1}.kb-doc-card__meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:12px;color:var(--color-text-subtle)}.kb-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--space-5);align-items:start}.kb-toc{position:sticky;top:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:13px}.kb-toc__title{margin:0 0 var(--space-2);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle)}.kb-toc ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.kb-toc a{color:var(--color-text-muted);text-decoration:none;display:block}.kb-toc a:hover{color:var(--color-primary)}.kb-toc__level-3{padding-left:var(--space-3)}.kb-toc__level-4{padding-left:var(--space-5)}.kb-article-body{min-width:0}.kb-heading{scroll-margin-top:var(--space-5)}.kb-paragraph{line-height:1.65;color:var(--color-text)}.kb-list{padding-left:1.4em;line-height:1.6;display:grid;gap:4px}.kb-list--checklist{list-style:none;padding-left:0}.kb-list--checklist li{display:flex;align-items:flex-start;gap:8px}.kb-list--checklist input[type=checkbox]{margin-top:4px}.kb-callout{border-radius:var(--radius);padding:var(--space-3) var(--space-4);border:1px solid;line-height:1.55}.kb-callout--note{background:var(--color-info-bg);border-color:var(--color-primary-soft-border);color:var(--color-text)}.kb-callout--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-text)}.kb-table-wrap{overflow-x:auto}.kb-table{border-collapse:collapse;width:100%;font-size:13px}.kb-table th,.kb-table td{border:1px solid var(--color-border);padding:8px 10px;text-align:left;vertical-align:top}.kb-table th{background:var(--color-surface-muted);font-weight:600}.kb-inline-code{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:4px;padding:1px 5px;font-size:.9em;color:var(--color-code)}.kb-link{color:var(--color-primary)}.kb-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}@media(max-width:760px){.kb-detail-layout{grid-template-columns:1fr}.kb-toc{position:static}.kb-search-row{flex-direction:column;align-items:stretch}}
