@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/plus-jakarta-sans-latin-800-normal-CusIZhrK.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-800-normal-BRNHt2w0.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:22px}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}[hidden]{display:none!important}.fx-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}.fx-num{font-variant-numeric:tabular-nums}.fx-mono{font-family:var(--font-mono)}.fx-muted{color:var(--ink-muted)}.fx-secondary{color:var(--ink-secondary)}.fx-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.fx-row--between{justify-content:space-between}.fx-row--end{justify-content:flex-end}.fx-stack{gap:var(--space-3);flex-direction:column;display:flex}.fx-stack--lg{gap:var(--space-6)}.fx-stack--sm{gap:var(--space-2)}.fx-grid{gap:var(--space-5);display:grid}.fx-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1024px){.fx-grid--4,.fx-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.fx-grid--2,.fx-grid--3,.fx-grid--4{grid-template-columns:1fr}}.fx-divider{background:var(--border);height:1px;margin:var(--space-4) 0;border:0}.fx-link{color:var(--link);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:none}.fx-link:hover{text-decoration:underline}.fx-icon{vertical-align:-3px;flex:none;width:16px;height:16px;display:inline-block}.fx-icon--lg{width:20px;height:20px}.fx-icon--xl{width:28px;height:28px}.fx-kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-sunken);padding:1px 6px;font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fx-btn{--h:36px;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--h);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--control-border);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;font-size:14px;font-weight:600;line-height:20px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.fx-btn:hover{background:var(--surface-hover)}.fx-btn--primary{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--on-brand)}.fx-btn--ghost{color:var(--ink-secondary);background:0 0;border-color:#0000}.fx-btn--ghost:hover{background:var(--surface-hover);color:var(--ink)}.fx-btn--danger{background:var(--danger-solid);border-color:var(--danger-solid);color:var(--on-danger)}.fx-btn--danger:hover{filter:brightness(.94)}.fx-btn--danger-quiet{color:var(--danger-text);border-color:var(--danger-border);background:var(--surface)}.fx-btn--danger-quiet:hover{background:var(--danger-bg)}.fx-btn--sm{--h:30px;padding:0 var(--space-3);font-size:13px}.fx-btn--lg{--h:var(--touch-target-driver);padding:0 var(--space-6);border-radius:var(--radius-md);font-size:17px}.fx-btn--block{width:100%;display:flex}.fx-btn--icon{width:var(--h);padding:0}.fx-btn[disabled],.fx-btn[aria-disabled=true]{background:var(--surface-sunken);border-color:var(--border-strong);color:var(--ink-disabled);cursor:not-allowed;filter:none}.fx-btn[aria-busy=true]{cursor:progress}.fx-btn[aria-busy=true] .fx-btn__label{opacity:.65}@media (pointer:coarse){.fx-btn{min-height:var(--touch-target)}.fx-btn--sm{min-height:36px}}.fx-spinner{border-radius:var(--radius-pill);border:2px solid;border-right-color:#0000;flex:none;width:16px;height:16px;animation:.7s linear infinite fx-spin}@keyframes fx-spin{to{transform:rotate(360deg)}}.fx-field{flex-direction:column;gap:6px;min-width:0;display:flex}.fx-label{color:var(--ink);font-size:13px;font-weight:500;line-height:18px}.fx-label__opt{color:var(--ink-muted);font-weight:400}.fx-help{color:var(--ink-muted);font-size:12px;line-height:18px}.fx-error{color:var(--danger-text);align-items:flex-start;gap:6px;font-size:12px;font-weight:500;line-height:18px;display:flex}.fx-input,.fx-select,.fx-textarea{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:36px;color:var(--ink);padding:7px 10px;font-size:14px;line-height:20px}.fx-textarea{resize:vertical;min-height:84px}.fx-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.fx-input::placeholder,.fx-textarea::placeholder{color:var(--ink-muted)}.fx-input:hover,.fx-select:hover,.fx-textarea:hover{border-color:var(--ink-secondary)}.fx-input[aria-invalid=true],.fx-select[aria-invalid=true],.fx-textarea[aria-invalid=true]{border-color:var(--danger-solid);box-shadow:0 0 0 1px var(--danger-solid)}.fx-input[readonly],.fx-input[disabled],.fx-select[disabled]{background:var(--surface-sunken);color:var(--ink-secondary)}.fx-input--lg{min-height:var(--touch-target-driver);border-radius:var(--radius-md);padding:12px 14px;font-size:18px}.fx-search{align-items:center;display:flex;position:relative}.fx-search .fx-icon{color:var(--ink-muted);pointer-events:none;position:absolute;left:10px}.fx-search .fx-input{padding-left:34px}.fx-check{align-items:flex-start;gap:var(--space-2);cursor:pointer;font-size:14px;line-height:20px;display:inline-flex}.fx-check input{width:16px;height:16px;accent-color:var(--brand-black);flex:none;margin:2px 0 0}[data-theme=dark] .fx-check input{accent-color:var(--brand-yellow)}.fx-fieldset{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.fx-fieldset legend{margin-bottom:var(--space-2);padding:0}.fx-badge{--fg:var(--neutral-text);--bg:var(--neutral-bg);border-radius:var(--radius-xs);background:var(--bg);height:24px;color:var(--fg);white-space:nowrap;align-items:center;gap:6px;max-width:100%;padding:0 8px 0 6px;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.fx-badge .fx-icon{width:14px;height:14px}.fx-badge--success{--fg:var(--success-text);--bg:var(--success-bg)}.fx-badge--warning{--fg:var(--warning-text);--bg:var(--warning-bg)}.fx-badge--danger{--fg:var(--danger-text);--bg:var(--danger-bg)}.fx-badge--critical{--fg:var(--critical-text);--bg:var(--critical-bg);box-shadow:inset 0 0 0 1px var(--critical-border)}.fx-badge--review{--fg:var(--review-text);--bg:var(--review-bg)}.fx-badge--info{--fg:var(--info-text);--bg:var(--info-bg)}.fx-badge--neutral{--fg:var(--neutral-text);--bg:var(--neutral-bg)}.fx-badge--brand{--fg:var(--on-brand);--bg:var(--brand-yellow)}.fx-badge--outline{box-shadow:inset 0 0 0 1px var(--border-strong);background:0 0}.fx-badge--sm{height:20px;padding:0 6px;font-size:11px}.fx-dot{border-radius:var(--radius-pill);background:var(--neutral-solid);flex:none;width:8px;height:8px;display:inline-block}.fx-dot--success{background:var(--success-solid)}.fx-dot--warning{background:var(--warning-solid)}.fx-dot--danger{background:var(--danger-solid)}.fx-dot--critical{background:var(--critical-solid)}.fx-dot--review{background:var(--review-solid)}.fx-dot--info{background:var(--info-solid)}.fx-tag{border-radius:var(--radius-xs);letter-spacing:.04em;text-transform:uppercase;background:var(--neutral-bg);height:20px;color:var(--neutral-text);align-items:center;gap:4px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.fx-tag--critical{background:var(--critical-bg);color:var(--critical-text)}.fx-tag--compulsory{background:var(--info-bg);color:var(--info-text)}.fx-tag--general{background:var(--neutral-bg);color:var(--neutral-text)}.fx-state{border-radius:var(--radius-xs);letter-spacing:.05em;border:1px solid;align-items:center;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.fx-state--live{color:var(--success-text)}.fx-state--legacy{color:var(--warning-text)}.fx-state--inactive{color:var(--neutral-text)}.fx-state--approval{color:var(--review-text)}.fx-state--review{color:var(--danger-text)}.fx-chip{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);height:28px;color:var(--ink-secondary);align-items:center;gap:6px;padding:0 4px 0 10px;font-size:13px;display:inline-flex}.fx-chip b{color:var(--ink);font-weight:600}.fx-chip__x{border-radius:var(--radius-pill);cursor:pointer;width:22px;height:22px;color:var(--ink-muted);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.fx-chip__x:hover{background:var(--surface-hover);color:var(--ink)}.fx-chip--toggle{cursor:pointer;padding:0 12px}.fx-chip--toggle[aria-pressed=true]{background:var(--brand-black);border-color:var(--brand-black);color:var(--ink-inverse)}[data-theme=dark] .fx-chip--toggle[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.fx-chip__count{font-variant-numeric:tabular-nums;font-weight:600}.fx-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.fx-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);display:flex}.fx-card__header--plain{border-bottom:0;padding-bottom:0}.fx-card__title{font-size:15px;font-weight:600;line-height:22px}.fx-card__sub{color:var(--ink-muted);font-size:12px;line-height:18px}.fx-card__body{padding:var(--space-4) var(--space-6) var(--space-6)}.fx-card__body--flush{padding:0}.fx-card__footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--border);gap:var(--space-2);justify-content:flex-end;align-items:center;display:flex}@media (max-width:640px){.fx-card__header,.fx-card__body,.fx-card__footer{padding-left:var(--space-4);padding-right:var(--space-4)}}.fx-kpi{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);text-align:left;color:inherit;flex-direction:column;gap:6px;min-width:0;display:flex;position:relative}button.fx-kpi{cursor:pointer;font:inherit}button.fx-kpi:hover{border-color:var(--control-border)}.fx-kpi__label{color:var(--ink-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;line-height:18px;display:flex}.fx-kpi__value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:30px;font-weight:600;line-height:36px}.fx-kpi__context{color:var(--ink-muted);font-size:12px;line-height:18px}.fx-kpi__delta{white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.fx-kpi__delta--up{color:var(--success-text)}.fx-kpi__delta--down{color:var(--danger-text)}.fx-kpi__delta--flat{color:var(--ink-muted)}.fx-kpi__foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:2px;display:flex}.fx-kpi--attention{border-color:var(--warning-border)}.fx-kpi--attention .fx-kpi__value{color:var(--warning-text)}.fx-kpi--risk{border-color:var(--danger-border)}.fx-kpi--risk .fx-kpi__value{color:var(--danger-text)}.fx-kpi__scope{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600}.fx-page{max-width:var(--content-max);padding:var(--space-8) var(--space-8) var(--space-16);margin:0 auto}@media (max-width:768px){.fx-page{padding:var(--space-4) var(--space-4) var(--space-16)}}.fx-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.fx-page-header__title{font-size:24px;font-weight:600;line-height:32px}.fx-page-header__sub{color:var(--ink-muted);max-width:720px;margin-top:2px;font-size:14px;line-height:22px}.fx-page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.fx-section-title{font-size:18px;font-weight:600;line-height:26px}.fx-crumbs{color:var(--ink-muted);margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;gap:6px;padding:0;font-size:13px;list-style:none;display:flex}.fx-crumbs a,.fx-crumbs button{color:var(--ink-secondary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:none}.fx-crumbs a:hover,.fx-crumbs button:hover{color:var(--ink);text-decoration:underline}.fx-crumbs li+li:before{content:"/";color:var(--border-strong);margin-right:6px}.fx-crumbs [aria-current]{color:var(--ink);font-weight:500}.fx-tabs{gap:var(--space-1);border-bottom:1px solid var(--border-strong);scrollbar-width:none;display:flex;overflow-x:auto}.fx-tab{color:var(--ink-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:10px 12px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.fx-tab:hover{color:var(--ink)}.fx-tab[aria-selected=true]{color:var(--ink);font-weight:600}.fx-tab[aria-selected=true]:after{content:"";background:var(--brand-yellow);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:8px;right:8px}.fx-tab__count{color:var(--ink-muted);background:var(--neutral-bg);border-radius:var(--radius-pill);padding:0 6px;font-size:12px;font-weight:600}.fx-seg{background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.fx-seg button{color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:5px 12px;font-size:13px;font-weight:500}.fx-seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1),0 0 0 1px var(--border-strong);font-weight:600}.fx-alert{--fg:var(--info-text);--bg:var(--info-bg);--bd:var(--info-border);gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--bd);background:var(--bg);border-radius:var(--radius-md);color:var(--ink);align-items:flex-start;display:flex}.fx-alert>.fx-icon{color:var(--fg);width:18px;height:18px;margin-top:2px}.fx-alert__title{color:var(--ink);font-weight:600}.fx-alert__body{color:var(--ink-secondary);font-size:13px;line-height:20px}.fx-alert__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fx-alert__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.fx-alert--success{--fg:var(--success-text);--bg:var(--success-bg);--bd:var(--success-border)}.fx-alert--warning{--fg:var(--warning-text);--bg:var(--warning-bg);--bd:var(--warning-border)}.fx-alert--danger{--fg:var(--danger-text);--bg:var(--danger-bg);--bd:var(--danger-border)}.fx-alert--critical{--fg:var(--critical-text);--bg:var(--critical-bg);--bd:var(--critical-border);border-width:2px}.fx-alert--review{--fg:var(--review-text);--bg:var(--review-bg);--bd:var(--review-border)}.fx-alert--neutral{--fg:var(--ink-muted);--bg:var(--surface-sunken);--bd:var(--border-strong)}.fx-banner{justify-content:center;align-items:center;gap:var(--space-3);padding:8px var(--space-4);background:var(--warning-bg);color:var(--ink);border-bottom:1px solid var(--warning-border);font-size:13px;font-weight:500;display:flex}.fx-banner--offline{background:var(--brand-black);color:var(--ink-inverse);border-color:var(--brand-black)}.fx-toasts{z-index:var(--z-toast);right:var(--space-5);bottom:var(--space-5);gap:var(--space-2);pointer-events:none;flex-direction:column;width:min(92vw,400px);display:flex;position:fixed}.fx-toast{pointer-events:auto;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);box-shadow:var(--shadow-2);align-items:flex-start;font-size:14px;line-height:20px;animation:.18s ease-out fx-rise;display:flex}.fx-toast .fx-icon{color:var(--info-text);margin-top:2px}.fx-toast--success .fx-icon{color:var(--success-text)}.fx-toast--warning .fx-icon{color:var(--warning-text)}.fx-toast--error .fx-icon{color:var(--danger-text)}.fx-toast__main{flex:1}.fx-toast__action{color:var(--link);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}@keyframes fx-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fx-scrim{background:var(--scrim);z-index:var(--z-dialog);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fx-dialog{width:min(100%,var(--dialog-sm));background:var(--surface);border-radius:var(--radius-lg);max-height:calc(100vh - 32px);box-shadow:var(--shadow-3);border:1px solid var(--border-strong);flex-direction:column;display:flex}.fx-dialog--md{width:min(100%,var(--dialog-md))}.fx-dialog__header{padding:var(--space-5) var(--space-6) 0;gap:var(--space-3);align-items:flex-start;display:flex}.fx-dialog__title{flex:1;font-size:17px;font-weight:600;line-height:24px}.fx-dialog__body{padding:var(--space-3) var(--space-6) var(--space-5);gap:var(--space-4);color:var(--ink-secondary);flex-direction:column;display:flex;overflow:auto}.fx-dialog__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.fx-impact{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink);align-items:flex-start;font-size:13px;display:flex}.fx-drawer-wrap{z-index:var(--z-drawer);background:var(--scrim);justify-content:flex-end;display:flex;position:fixed;inset:0}.fx-drawer{width:min(100%,var(--drawer-width));background:var(--surface);height:100%;box-shadow:var(--shadow-3);flex-direction:column;animation:.2s ease-out fx-slide;display:flex}.fx-drawer__header{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);display:flex}.fx-drawer__body{padding:var(--space-5) var(--space-6);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow:auto}.fx-drawer__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);gap:var(--space-2);justify-content:flex-end;display:flex}@keyframes fx-slide{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:none}}@media (max-width:640px){.fx-scrim{align-items:flex-end;padding:0}.fx-dialog{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92vh}}.fx-menu{z-index:var(--z-dialog);min-width:200px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-2);position:absolute}.fx-menu__item{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;padding:8px 10px;font-size:14px;display:flex}.fx-menu__item:hover,.fx-menu__item:focus-visible{background:var(--surface-hover)}.fx-menu__item--danger{color:var(--danger-text)}.fx-menu__item[aria-disabled=true]{color:var(--ink-disabled);cursor:not-allowed}.fx-menu__why{color:var(--ink-muted);padding:0 10px 6px 34px;font-size:12px;display:block}.fx-menu__sep{background:var(--border);height:1px;margin:4px 0}.fx-toolbar{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;display:flex}.fx-toolbar .fx-search{flex:240px;max-width:360px}.fx-toolbar__spacer{flex:1}.fx-chips{gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;display:flex}.fx-table-wrap{max-width:100%;overflow:auto}.fx-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;line-height:20px}.fx-table th{z-index:var(--z-sticky);background:var(--surface-sunken);color:var(--ink-muted);text-align:left;border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:8px 12px;font-size:12px;font-weight:600;position:sticky;top:0}.fx-table th button{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.fx-table th button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fx-table td{border-bottom:1px solid var(--border);color:var(--ink-secondary);vertical-align:middle;padding:10px 12px}.fx-table td.fx-num,.fx-table th.fx-num{text-align:right;white-space:nowrap}.fx-table td.fx-nowrap{white-space:nowrap}.fx-table__primary{color:var(--ink);font-weight:600}.fx-table__sub{color:var(--ink-muted);font-size:12px;font-weight:400;display:block}.fx-table__check{width:36px}.fx-selection-bar{bottom:var(--space-4);z-index:var(--z-sticky);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:var(--space-3);background:var(--brand-black);color:var(--ink-inverse);border-radius:var(--radius-md);box-shadow:var(--shadow-2);flex-wrap:wrap;display:flex;position:sticky}.fx-selection-bar .fx-btn{color:var(--ink-inverse);border-color:var(--sidebar-ink-muted);background:0 0}.fx-selection-bar .fx-btn:hover{background:var(--sidebar-active-bg)}.fx-selection-bar .fx-btn--primary{background:var(--brand-yellow);color:var(--on-brand);border-color:var(--brand-yellow)}.fx-cards{flex-direction:column;display:none}.fx-cardrow{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;flex-direction:column;gap:6px;display:flex}.fx-cardrow:hover{background:var(--surface-hover)}.fx-cardrow__meta{color:var(--ink-muted);flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}@media (max-width:768px){.fx-table-wrap--responsive{display:none}.fx-table-wrap--responsive+.fx-cards{display:flex}}.fx-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--ink-muted);flex-wrap:wrap;font-size:13px;display:flex}.fx-pagination__pages{gap:var(--space-1);align-items:center;display:flex}.fx-progress{border-radius:var(--radius-pill);background:var(--surface-sunken);height:8px;box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}.fx-progress__bar{border-radius:var(--radius-pill);background:var(--brand-yellow);height:100%;transition:width .3s}.fx-progress--success .fx-progress__bar{background:var(--success-solid)}.fx-progress--info .fx-progress__bar{background:var(--info-solid)}.fx-progress--thin{height:4px}.fx-segbar{border-radius:var(--radius-pill);gap:2px;height:12px;display:flex;overflow:hidden}.fx-segbar span{height:100%;display:block}.fx-meter{gap:var(--space-3);grid-template-columns:auto 1fr auto;align-items:center;font-size:13px;display:grid}.fx-empty{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);color:var(--ink-muted);flex-direction:column;display:flex}.fx-empty__icon{border-radius:var(--radius-pill);background:var(--surface-sunken);width:44px;height:44px;color:var(--ink-secondary);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.fx-empty__title{color:var(--ink);font-size:15px;font-weight:600}.fx-empty__body{max-width:380px;font-size:13px}.fx-empty--success .fx-empty__icon{background:var(--success-bg);color:var(--success-text)}.fx-skeleton{border-radius:var(--radius-xs);background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface-hover) 50%,var(--surface-sunken) 100%);background-size:200% 100%;height:12px;animation:1.4s linear infinite fx-shimmer;display:block}@keyframes fx-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fx-shell{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.fx-shell--collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.fx-sidebar{background:var(--sidebar-bg);height:100vh;color:var(--sidebar-ink);padding:var(--space-3) var(--space-2);gap:var(--space-1);scrollbar-width:thin;flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.fx-sidebar__brand{align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-2);margin-bottom:var(--space-2);display:flex}.fx-sidebar__brand img{width:auto;height:26px}.fx-nav-group{margin-top:var(--space-3);flex-direction:column;gap:2px;display:flex}.fx-nav-group__label{letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-ink-muted);padding:0 var(--space-3) 4px;font-size:11px;font-weight:600;line-height:16px}.fx-nav-item{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--sidebar-ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.fx-nav-item:hover{background:var(--sidebar-active-bg);color:var(--sidebar-ink-active)}.fx-nav-item[aria-current=page]{background:var(--sidebar-active-bg);color:var(--sidebar-ink-active);font-weight:600}.fx-nav-item[aria-current=page]:before{content:"";background:var(--brand-yellow);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-8px}.fx-nav-item .fx-icon{width:18px;height:18px}.fx-nav-item__label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.fx-nav-badge{border-radius:var(--radius-pill);background:var(--brand-yellow);min-width:20px;height:20px;color:var(--on-brand);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.fx-nav-badge--quiet{background:var(--sidebar-active-bg);color:var(--sidebar-ink)}.fx-shell--collapsed .fx-nav-item__label,.fx-shell--collapsed .fx-nav-group__label,.fx-shell--collapsed .fx-sidebar__wordmark{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.fx-shell--collapsed .fx-nav-item{justify-content:center;padding:0}.fx-shell--collapsed .fx-nav-badge{min-width:16px;height:16px;padding:0 4px;font-size:10px;position:absolute;top:2px;right:4px}.fx-shell--collapsed .fx-nav-group{border-top:1px solid var(--sidebar-active-bg);padding-top:var(--space-2)}.fx-sidebar__foot{padding-top:var(--space-3);border-top:1px solid var(--sidebar-active-bg);flex-direction:column;gap:2px;margin-top:auto;display:flex}.fx-topbar{z-index:var(--z-header);height:var(--header-height);align-items:center;gap:var(--space-3);padding:0 var(--space-6);background:var(--surface);border-bottom:1px solid var(--border-strong);display:flex;position:sticky;top:0}.fx-topbar__search{flex:1;max-width:440px}.fx-topbar__spacer{flex:1}.fx-role{border-radius:var(--radius-pill);border:1px solid var(--border-strong);height:24px;color:var(--ink-secondary);align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.fx-role:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.fx-role--superadmin{color:var(--critical-text)}.fx-role--admin{color:var(--info-text)}.fx-role--reviewer{color:var(--review-text)}.fx-role--training_manager{color:var(--success-text)}.fx-role--viewer{color:var(--neutral-text)}.fx-avatar{border-radius:var(--radius-pill);background:var(--neutral-bg);width:32px;height:32px;color:var(--ink-secondary);flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.fx-avatar--lg{width:48px;height:48px;font-size:16px}.fx-bell{position:relative}.fx-bell__count{border-radius:var(--radius-pill);background:var(--danger-solid);min-width:16px;height:16px;color:var(--on-danger);justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.fx-bottomnav{z-index:var(--z-header);background:var(--surface);border-top:1px solid var(--border-strong);padding:4px 4px calc(4px + env(safe-area-inset-bottom));display:none;position:fixed;bottom:0;left:0;right:0}.fx-bottomnav button{min-height:52px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex;position:relative}.fx-bottomnav button[aria-current=page]{color:var(--ink)}.fx-bottomnav button[aria-current=page]:before{content:"";background:var(--brand-yellow);border-radius:0 0 3px 3px;width:28px;height:3px;position:absolute;top:0}@media (max-width:1024px){.fx-shell{grid-template-columns:var(--sidebar-collapsed) 1fr}.fx-shell .fx-nav-item__label,.fx-shell .fx-nav-group__label,.fx-shell .fx-sidebar__wordmark{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.fx-shell .fx-nav-item{justify-content:center;padding:0}}@media (max-width:768px){.fx-shell{grid-template-columns:1fr}.fx-shell>.fx-sidebar{display:none}.fx-bottomnav{display:flex}.fx-topbar{padding:0 var(--space-4)}}.fx-drawer-nav{background:var(--sidebar-bg);width:min(86vw,300px);height:100%;padding:var(--space-3) var(--space-2);overflow:auto}.fx-attn{flex-direction:column;display:flex}.fx-attn__item{gap:var(--space-3);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.fx-attn__item:last-child{border-bottom:0}.fx-attn__sev{border-radius:var(--radius-sm);background:var(--neutral-bg);width:32px;height:32px;color:var(--neutral-text);justify-content:center;align-items:center;display:flex}.fx-attn__sev--critical{background:var(--critical-bg);color:var(--critical-text)}.fx-attn__sev--danger{background:var(--danger-bg);color:var(--danger-text)}.fx-attn__sev--warning{background:var(--warning-bg);color:var(--warning-text)}.fx-attn__sev--review{background:var(--review-bg);color:var(--review-text)}.fx-attn__title{color:var(--ink);font-size:14px;font-weight:600}.fx-attn__why{color:var(--ink-muted);font-size:13px}.fx-attn__count{font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:2ch;font-size:18px;font-weight:700}@media (max-width:640px){.fx-attn__item{padding:var(--space-3) var(--space-4);grid-template-columns:auto 1fr}.fx-attn__item>.fx-row{grid-column:2}}.fx-steps{counter-reset:s;gap:0;margin:0;padding:0;list-style:none;display:flex}.fx-steps li{align-items:center;gap:var(--space-2);color:var(--ink-muted);padding-right:var(--space-3);flex:1;font-size:13px;font-weight:500;display:flex;position:relative}.fx-steps li:after{content:"";background:var(--border-strong);flex:1;min-width:12px;height:1px}.fx-steps li:last-child:after{display:none}.fx-steps__n{border-radius:var(--radius-pill);border:1px solid var(--control-border);background:var(--surface);flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-flex}.fx-steps li[aria-current=step]{color:var(--ink);font-weight:600}.fx-steps li[aria-current=step] .fx-steps__n{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--on-brand)}.fx-steps li.is-done .fx-steps__n{background:var(--brand-black);border-color:var(--brand-black);color:var(--ink-inverse)}[data-theme=dark] .fx-steps li.is-done .fx-steps__n{background:var(--ink);border-color:var(--ink);color:var(--surface)}@media (max-width:640px){.fx-steps li:not([aria-current=step]) .fx-steps__label{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}}.fx-journey{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fx-journey__step{gap:var(--space-3);padding-bottom:var(--space-5);grid-template-columns:32px 1fr;display:grid;position:relative}.fx-journey__step:not(:last-child):before{content:"";background:var(--border-strong);width:2px;position:absolute;top:34px;bottom:2px;left:15px}.fx-journey__step.is-done:not(:last-child):before{background:var(--success-solid)}.fx-journey__mark{border-radius:var(--radius-pill);border:2px solid var(--control-border);background:var(--surface);width:32px;height:32px;color:var(--ink-muted);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.fx-journey__step.is-done .fx-journey__mark{background:var(--success-solid);border-color:var(--success-solid);color:var(--surface)}.fx-journey__step.is-current .fx-journey__mark{background:var(--brand-yellow);border-color:var(--brand-black);color:var(--on-brand)}.fx-journey__step.is-locked .fx-journey__mark{border-style:dashed}.fx-journey__title{color:var(--ink);font-size:16px;font-weight:600;line-height:24px}.fx-journey__meta{color:var(--ink-muted);font-size:14px;line-height:20px}.fx-journey__step.is-current .fx-journey__body{background:var(--brand-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:-6px}.fx-driver{background:var(--canvas);flex-direction:column;min-height:100vh;font-size:17px;line-height:26px;display:flex}.fx-appbar{z-index:var(--z-header);height:var(--header-height);align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--border-strong);display:flex;position:sticky;top:0}.fx-appbar__logo{width:auto;height:24px}.fx-appbar__spacer{flex:1}.fx-driver__main{width:100%;max-width:var(--driver-max);padding:var(--space-4) var(--space-4) var(--space-12);gap:var(--space-4);flex-direction:column;flex:1;margin:0 auto;display:flex}.fx-driver__title{font-size:24px;font-weight:600;line-height:30px}.fx-driver__lead{color:var(--ink-secondary);font-size:17px;line-height:26px}.fx-driver .fx-card__body{padding:var(--space-5)}.fx-actionbar{z-index:var(--z-sticky);gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border-strong);box-shadow:var(--shadow-2);display:flex;position:sticky;bottom:0}.fx-actionbar .fx-btn{flex:1}.fx-actionbar__inner{width:100%;max-width:var(--driver-max);gap:var(--space-3);margin:0 auto;display:flex}.fx-actionbar__inner .fx-btn{flex:1}.fx-actionbar .fx-btn{min-width:0;padding:0 var(--space-3);white-space:normal;text-align:center;line-height:20px}.fx-timer{border-radius:var(--radius-pill);background:var(--brand-black);height:36px;color:var(--brand-yellow);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border:1px solid var(--brand-black);align-items:center;gap:6px;padding:0 12px;font-size:18px;font-weight:600;line-height:24px;display:inline-flex}[data-theme=dark] .fx-timer{border-color:var(--border-strong)}.fx-timer .fx-icon{width:16px;height:16px}.fx-timer--warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.fx-timer--critical{background:var(--danger-solid);color:var(--on-danger);border-color:var(--danger-solid)}.fx-timer__label{font-family:var(--font-sans);font-size:12px;font-weight:600}.fx-qhead{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.fx-qhead__row{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--ink-secondary);font-size:14px;font-weight:500;line-height:20px;display:flex}.fx-qhead__count{color:var(--ink);font-weight:600}.fx-sections{gap:var(--space-2);flex-wrap:wrap;display:flex}.fx-sections__item{color:var(--ink-secondary);border-radius:var(--radius-xs);background:var(--surface-sunken);align-items:center;gap:6px;padding:2px 8px;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.fx-sections__item b{color:var(--ink);font-variant-numeric:tabular-nums}.fx-sections__item[aria-current=true]{background:var(--brand-subtle);box-shadow:inset 0 0 0 1px var(--brand-yellow-hover)}.fx-question{gap:var(--space-4);flex-direction:column;display:flex}.fx-question__section{align-items:center;gap:var(--space-2);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);font-size:13px;font-weight:700;display:flex}.fx-question__section--critical{color:var(--critical-text)}.fx-question__text{color:var(--ink);font-size:20px;font-weight:500;line-height:30px}@media (max-width:380px){.fx-question__text{font-size:19px;line-height:28px}}.fx-question__media{border-radius:var(--radius-md);border:1px solid var(--border);object-fit:contain;background:var(--surface-sunken);width:100%;max-height:240px}.fx-options{gap:var(--space-3);border:0;flex-direction:column;margin:0;padding:0;display:flex}.fx-option{align-items:center;gap:var(--space-3);min-height:var(--touch-target-driver);border:1.5px solid var(--control-border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;color:var(--ink);padding:12px 14px;font-size:17px;font-weight:500;line-height:24px;transition:border-color .12s,background .12s;display:flex;position:relative}.fx-option:hover{border-color:var(--ink-secondary)}.fx-option input{opacity:0;pointer-events:none;position:absolute}.fx-option__letter{border-radius:var(--radius-pill);border:1.5px solid var(--control-border);width:28px;height:28px;color:var(--ink-secondary);background:var(--surface);flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.fx-option.is-selected{border-color:var(--ink);background:var(--brand-subtle);border-width:2px}.fx-option:has(input:checked){border-color:var(--ink);background:var(--brand-subtle);border-width:2px}.fx-option.is-selected .fx-option__letter{background:var(--brand-yellow);border-color:var(--brand-black);color:var(--on-brand)}.fx-option:has(input:checked) .fx-option__letter{background:var(--brand-yellow);border-color:var(--brand-black);color:var(--on-brand)}[data-theme=dark] .fx-option.is-selected{border-color:var(--brand-yellow)}[data-theme=dark] .fx-option:has(input:checked){border-color:var(--brand-yellow)}.fx-option:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.fx-option__check{color:var(--ink);visibility:hidden;margin-left:auto}.fx-option.is-selected .fx-option__check{visibility:visible}.fx-option:has(input:checked) .fx-option__check{visibility:visible}.fx-option--correct{border-color:var(--success-solid);background:var(--success-bg)}.fx-option--wrong{border-color:var(--danger-solid);background:var(--danger-bg)}.fx-saved{color:var(--ink-muted);align-items:center;gap:6px;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.fx-saved--ok{color:var(--success-text)}.fx-saved--queued{color:var(--warning-text)}.fx-qnav{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;display:grid}.fx-qnav__cell{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);font-variant-numeric:tabular-nums;height:40px;color:var(--ink-muted);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:relative}.fx-qnav__cell--answered{background:var(--surface-sunken);color:var(--ink);border-color:var(--control-border)}.fx-qnav__cell--answered:after{content:"";background:var(--success-solid);border-radius:2px;width:12px;height:2px;position:absolute;bottom:4px}.fx-qnav__cell--skipped{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text);cursor:pointer}.fx-qnav__cell--current{border:2px solid var(--ink);color:var(--ink)}.fx-qnav-legend{gap:var(--space-4);color:var(--ink-muted);flex-wrap:wrap;font-size:13px;display:flex}.fx-score{flex-direction:column;display:flex}.fx-score__row{gap:var(--space-3);border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;padding:10px 0;display:grid}.fx-score__row:last-child{border-bottom:0}.fx-score__name{color:var(--ink);font-size:15px;font-weight:600}.fx-score__mark{color:var(--ink-muted);font-size:12px;font-weight:400;display:block}.fx-score__value{font-variant-numeric:tabular-nums;color:var(--ink);font-size:15px;font-weight:600}.fx-score__bar{border-radius:var(--radius-pill);background:var(--surface-sunken);grid-column:1/-1;height:6px;margin-top:2px;position:relative;overflow:visible}.fx-score__fill{border-radius:var(--radius-pill);background:var(--success-solid);height:100%}.fx-score__fill--fail{background:var(--danger-solid)}.fx-score__pass{background:var(--ink);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.fx-result{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.fx-result__status{align-items:center;gap:var(--space-2);letter-spacing:.05em;text-transform:uppercase;font-size:13px;font-weight:700;display:inline-flex}.fx-result__status--pass{color:var(--success-text)}.fx-result__status--fail{color:var(--danger-text)}.fx-result__status--review{color:var(--review-text)}.fx-result__status--partial{color:var(--warning-text)}.fx-result__title{font-size:24px;font-weight:600;line-height:30px}.fx-result__score{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:56px;font-weight:700;line-height:60px}.fx-result__sub{color:var(--ink-secondary);font-size:16px;line-height:24px}.fx-next{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:var(--brand-black);color:var(--ink-inverse);flex-direction:column;display:flex}.fx-next__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-yellow);font-size:12px;font-weight:700}.fx-next__text{font-size:16px;line-height:24px}[data-theme=dark] .fx-next{background:var(--surface-hover);border:1px solid var(--border-strong);color:var(--ink)}.fx-decision{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.fx-decision>div{padding:var(--space-4);border-right:1px solid var(--border);flex-direction:column;gap:6px;min-width:0;display:flex}.fx-decision>div:last-child{border-right:0}.fx-decision__k{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:700}.fx-decision__v{color:var(--ink);font-size:18px;font-weight:600;line-height:24px}@media (max-width:768px){.fx-decision{grid-template-columns:1fr 1fr}.fx-decision>div:nth-child(2){border-right:0}.fx-decision>div:nth-child(-n+2){border-bottom:1px solid var(--border)}}.fx-retake{gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.fx-retake--recommended{border-color:var(--ink);border-width:2px}.fx-retake__title{color:var(--ink);font-size:17px;font-weight:600}.fx-retake__facts{gap:6px var(--space-3);grid-template-columns:auto 1fr;margin:0;font-size:15px;line-height:22px;display:grid}.fx-retake__facts dt{color:var(--ink-muted)}.fx-retake__facts dd{color:var(--ink);margin:0;font-weight:500}.fx-cert{border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface);padding:var(--space-5);position:relative;overflow:hidden}.fx-cert:before{content:"";background:var(--brand-yellow);width:6px;position:absolute;top:0;bottom:0;left:0}.fx-cert__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:700}.fx-cert__name{margin-top:4px;font-size:20px;font-weight:600;line-height:28px}.fx-cert__meta{gap:4px var(--space-4);margin-top:var(--space-3);grid-template-columns:auto 1fr;font-size:14px;display:grid}.fx-cert__meta dt{color:var(--ink-muted)}.fx-cert__meta dd{margin:0;font-weight:500}.fx-cert__code{font-family:var(--font-mono);letter-spacing:.08em;font-weight:600}.fx-setting{gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid}.fx-setting:last-child{border-bottom:0}.fx-setting__name{align-items:center;gap:var(--space-2);color:var(--ink);flex-wrap:wrap;font-size:14px;font-weight:600;display:flex}.fx-setting__desc{color:var(--ink-muted);margin-top:4px;font-size:13px;line-height:20px}.fx-setting__key{font-family:var(--font-mono);color:var(--ink-muted);font-size:12px}.fx-setting__control{flex-direction:column;gap:6px;display:flex}.fx-setting__unit{align-items:center;gap:var(--space-2);display:flex}.fx-setting__unit .fx-input{max-width:120px}.fx-setting--changed{background:linear-gradient(90deg,var(--brand-subtle),transparent 60%);margin:0 calc(var(--space-6) * -1);padding-left:var(--space-6);padding-right:var(--space-6)}@media (max-width:768px){.fx-setting{gap:var(--space-3);grid-template-columns:1fr}}.fx-lock{gap:var(--space-2);color:var(--ink-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px dashed var(--border-strong);align-items:flex-start;font-size:13px;line-height:20px;display:flex}.fx-lock .fx-icon{color:var(--ink-muted);margin-top:2px}.fx-chart{width:100%;height:auto;display:block;overflow:visible}.fx-chart text{font-family:var(--font-sans);fill:var(--chart-axis);font-size:11px}.fx-chart .grid line{stroke:var(--chart-grid);stroke-width:1px}.fx-chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.fx-chart-legend{gap:var(--space-4);color:var(--ink-secondary);flex-wrap:wrap;font-size:12px;display:flex}.fx-chart-legend span{align-items:center;gap:6px;display:inline-flex}.fx-chart-legend i{border-radius:2px;width:12px;height:3px;display:inline-block}.fx-tooltip{pointer-events:none;z-index:var(--z-toast);background:var(--brand-black);color:var(--ink-inverse);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);white-space:nowrap;padding:6px 10px;font-size:12px;line-height:18px;position:absolute}.fx-hbar{gap:var(--space-3);grid-template-columns:minmax(120px,1.2fr) 2fr 56px;align-items:center;padding:6px 0;font-size:13px;display:grid}.fx-hbar__track{border-radius:var(--radius-pill);background:var(--surface-sunken);height:10px;overflow:hidden}.fx-hbar__fill{background:var(--chart-1);border-radius:0 4px 4px 0;height:100%}.fx-hbar__label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.fx-hbar__value{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.fx-kv{gap:8px var(--space-4);grid-template-columns:minmax(120px,auto) 1fr;margin:0;font-size:13px;display:grid}.fx-kv dt{color:var(--ink-muted)}.fx-kv dd{color:var(--ink);min-width:0;margin:0;font-weight:500}.fx-notif{width:min(92vw,380px);max-height:480px;overflow:auto}.fx-notif__item{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border-top:0;border-left:0;border-right:0;grid-template-columns:auto 1fr;display:grid}.fx-notif__item:hover{background:var(--surface-hover)}.fx-notif__item[data-unread=true]{background:var(--brand-subtle)}.fx-notif__title{color:var(--ink);font-size:13px;font-weight:600}.fx-notif__body{color:var(--ink-muted);font-size:12px}.fx-logo--on-dark,[data-theme=dark] .fx-logo--on-light{display:none}[data-theme=dark] .fx-logo--on-dark{display:inline-block}:root{--font-sans:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--brand-yellow:#f9c41a;--brand-yellow-hover:#f5b000;--brand-black:#0a0c0b;--on-brand:#0a0c0b;--brand-subtle:#fff6d6;--canvas:#f1f4f5;--surface:#fff;--surface-sunken:#f6f8f9;--surface-hover:#edf1f2;--border:#e2e7e9;--border-strong:#c5ced2;--control-border:#7e8984;--ink:#0a0c0b;--ink-secondary:#384140;--ink-muted:#566059;--ink-disabled:#9aa29e;--ink-inverse:#fff;--sidebar-bg:#0a0c0b;--sidebar-ink:#c9d1ce;--sidebar-ink-muted:#8b9590;--sidebar-active-bg:#1f2725;--sidebar-ink-active:#fff;--success-text:#1b6b3e;--success-bg:#e9f5ee;--success-border:#b5d9c3;--success-solid:#1e7a46;--warning-text:#7f5300;--warning-bg:#fff4dc;--warning-border:#edcf92;--warning-solid:#b86e00;--danger-text:#b42318;--danger-bg:#fdedeb;--danger-border:#f2c4be;--danger-solid:#c0392b;--on-danger:#fff;--critical-text:#8e1b12;--critical-bg:#fbe3e0;--critical-border:#e3a097;--critical-solid:#8e1b12;--review-text:#5b34a8;--review-bg:#f2edfc;--review-border:#cdbdf0;--review-solid:#6d3fc0;--info-text:#1d5fa6;--info-bg:#eaf2fb;--info-border:#b7d0ee;--info-solid:#1d5fa6;--neutral-text:#4a5450;--neutral-bg:#eef1f2;--neutral-solid:#7a837e;--focus-ring:#1d5fa6;--link:#1d5fa6;--scrim:#0a0c0b7a;--chart-grid:#e2e7e9;--chart-axis:#566059;--chart-1:#384140;--chart-2:#1d5fa6;--chart-highlight:#f9c41a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-1:0 1px 2px #0a0c0b0f;--shadow-2:0 4px 16px #0a0c0b1f;--shadow-3:0 16px 48px #0a0c0b33;--touch-target:44px;--touch-target-driver:52px;--header-height:56px;--sidebar-width:248px;--sidebar-collapsed:64px;--content-max:1320px;--dialog-sm:440px;--dialog-md:560px;--drawer-width:440px;--driver-max:560px;--z-sticky:2;--z-header:20;--z-drawer:40;--z-dialog:50;--z-toast:60;--map-land:#e9eee8;--map-water:#cfe0ec;--map-road:#fff;--map-road-edge:#c9d1ce;--map-label:#566059}body{font-family:var(--font-sans);background:var(--canvas);color:var(--ink);margin:0}.ff-shell{background:var(--canvas);min-height:100vh;font-family:var(--font-sans);color:var(--ink);flex-wrap:wrap;font-size:14px;line-height:22px;display:flex}.ff-shell__side{flex:none;display:flex}.ff-shell__main{flex-direction:column;flex:999 560px;min-width:0;display:flex}.ff-page{width:100%;max-width:var(--content-max);box-sizing:border-box;flex-direction:column;gap:20px;margin:0 auto;padding:24px 32px 48px;display:flex}@media (max-width:760px){.ff-page{padding:16px}}.ff-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.ff-head h1{margin:0;font-size:24px;font-weight:600;line-height:32px}.ff-head p{color:var(--ink-muted);max-width:760px;margin:2px 0 0}.ff-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600;line-height:16px}.ff-demo{border-radius:var(--radius-xs);background:var(--review-bg);height:24px;color:var(--review-text);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.ff-mono{font-family:var(--font-mono);font-size:13px}.ff-num{font-variant-numeric:tabular-nums}.ff-muted{color:var(--ink-muted)}.ff-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ff-split{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.ff-split>.ff-grow{flex:999 560px;min-width:0}.ff-split>.ff-side{flex:340px;min-width:0}.ff-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-1);min-width:0}.ff-card__hd{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.ff-card__hd h2,.ff-card__hd h3{margin:0;font-size:15px;font-weight:600;line-height:22px}.ff-card__bd{padding:16px 20px}.ff-kv{grid-template-columns:minmax(120px,40%) 1fr;gap:6px 12px;margin:0;font-size:13px;line-height:20px;display:grid}.ff-kv dt{color:var(--ink-muted)}.ff-kv dd{color:var(--ink);min-width:0;margin:0}.ff-src{letter-spacing:.04em;border:1px solid var(--border-strong);height:18px;color:var(--ink-secondary);background:var(--surface-sunken);vertical-align:1px;border-radius:3px;align-items:center;margin-left:4px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.ff-src--p{border-color:var(--info-border);color:var(--info-text);background:var(--info-bg)}.ff-src--s{border-color:var(--review-border);color:var(--review-text);background:var(--review-bg)}.ff-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}@media (max-width:1180px){.ff-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:700px){.ff-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.ff-kpi{all:unset;box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;transition:background .12s,border-color .12s;display:flex}.ff-kpi:hover{background:var(--surface-hover)}.ff-kpi:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-kpi[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--brand-yellow)}.ff-kpi__l{color:var(--ink-secondary);font-size:12px;font-weight:500;line-height:16px}.ff-kpi__v{font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:32px}.ff-kpi__c{color:var(--ink-muted);font-size:11px;line-height:16px}.ff-kpi--warn .ff-kpi__v{color:var(--warning-text)}.ff-kpi--warn{border-color:var(--warning-border)}.ff-kpi--risk .ff-kpi__v{color:var(--danger-text)}.ff-kpi--risk{border-color:var(--danger-border)}.ff-map{background:var(--map-land);border-radius:0 0 var(--radius-md) var(--radius-md);min-height:300px;position:relative;overflow:hidden}.ff-map>svg.ff-map__base{width:100%;height:100%;display:block;position:absolute;inset:0}.ff-map__ctrl{z-index:3;flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;right:12px}.ff-map__ctrl button{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-1);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.ff-map__ctrl button:hover{background:var(--surface-hover)}.ff-map__tl{z-index:3;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px}.ff-map__legend{z-index:3;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ink-secondary);box-sizing:border-box;flex-wrap:wrap;gap:10px;max-width:calc(100% - 24px);padding:6px 10px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.ff-map__legend span{align-items:center;gap:6px;display:inline-flex}.ff-pin{z-index:2;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.ff-pin__tag{border-radius:var(--radius-xs);background:var(--surface);border:1px solid var(--border-strong);color:var(--ink);white-space:nowrap;box-shadow:var(--shadow-1);padding:1px 6px;font-size:11px;font-weight:600;line-height:16px}.ff-pin:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.ff-pin.is-selected .ff-pin__tag{background:var(--brand-black);color:#fff;border-color:var(--brand-black)}.ff-mk{box-sizing:border-box;flex:none;width:14px;height:14px;display:inline-block}.ff-mk--moving{border-left:8px solid #0000;border-right:8px solid #0000;border-bottom:15px solid var(--success-solid);width:0;height:0}.ff-mk--idle{background:var(--warning-solid);box-shadow:0 0 0 3px var(--warning-bg);border-radius:50%}.ff-mk--parked{background:var(--info-solid);border-radius:3px}.ff-mk--offline{border:2px dashed var(--neutral-solid);background:var(--surface);border-radius:50%}.ff-mk--alert{background:var(--danger-solid);width:13px;height:13px;box-shadow:0 0 0 3px var(--danger-bg);transform:rotate(45deg)}.ff-mk--immob{background:var(--critical-solid);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);width:15px;height:15px}.ff-mk--discrep{background:var(--review-solid);box-shadow:0 0 0 3px var(--review-bg);border-radius:50%}.ff-st{white-space:nowrap;color:var(--ink-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.ff-dot{background:var(--neutral-solid);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.ff-dot--ok{background:var(--success-solid)}.ff-dot--warn{background:var(--warning-solid)}.ff-dot--bad{background:var(--danger-solid)}.ff-dot--off{border:2px solid var(--neutral-solid);background:0 0;width:6px;height:6px}.ff-dot--rev{background:var(--review-solid)}.ff-dot--info{background:var(--info-solid)}.ff-dot--crit{background:var(--critical-solid)}.ff-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;min-width:0;display:flex}.ff-panel__hd{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.ff-panel__bd{flex-direction:column;gap:16px;padding:16px 20px;display:flex}.ff-panel__ft{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:12px 20px;display:flex}.ff-sec{flex-direction:column;gap:8px;display:flex}.ff-sec>h4{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:11px;font-weight:600;line-height:16px}.ff-cmp td.is-bad{color:var(--danger-text);font-weight:600}.ff-cmp td.is-ok{color:var(--success-text)}.ff-cmp td.is-warn{color:var(--warning-text);font-weight:600}.ff-tl{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ff-tl li{grid-template-columns:56px 14px 1fr;gap:10px;padding:6px 0;font-size:13px;line-height:20px;display:grid}.ff-tl__t{font-family:var(--font-mono);color:var(--ink-muted);font-size:12px}.ff-tl__d{margin-top:6px}.ff-tl b{color:var(--ink);font-weight:600}.ff-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:900px){.ff-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.ff-steps li{border-top:3px solid var(--border-strong);color:var(--ink-muted);padding-top:8px;font-size:12px;line-height:16px}.ff-steps li b{color:var(--ink);font-size:13px;font-weight:600;line-height:18px;display:block}.ff-steps li.is-done{border-top-color:var(--success-solid)}.ff-steps li.is-now{border-top-color:var(--brand-yellow)}.ff-steps li.is-now b:after{content:" · now";color:var(--warning-text);font-weight:600}.ff-bars{border-bottom:1px solid var(--chart-grid);align-items:flex-end;gap:10px;height:160px;padding-top:8px;display:flex}.ff-bars__c{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.ff-bars__b{background:var(--chart-1);border-radius:3px 3px 0 0;width:100%;max-width:36px}.ff-bars__b.is-hi{background:var(--chart-highlight)}.ff-bars__v{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.ff-bars__x{color:var(--ink-muted);gap:10px;font-size:11px;display:flex}.ff-bars__x span{text-align:center;flex:1;min-width:0}.ff-scrim{background:var(--scrim);z-index:50;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ff-dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(100%,600px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-3);flex-direction:column;display:flex;overflow:auto}.ff-dialog__hd{padding:20px 24px 4px}.ff-dialog__hd h2{margin:0;font-size:17px;font-weight:600;line-height:24px}.ff-dialog__bd{color:var(--ink-secondary);flex-direction:column;gap:14px;padding:12px 24px 20px;display:flex}.ff-dialog__ft{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.ff-check{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13px;line-height:20px;list-style:none;display:flex}.ff-check li{grid-template-columns:18px 1fr;align-items:start;gap:8px;display:grid}.ff-check svg{margin-top:2px}.ff-warn{color:var(--warning-text)}.ff-scrub{border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border-strong);height:36px;position:relative;overflow:hidden}.ff-scrub__seg{position:absolute;top:0;bottom:0}.ff-scrub__head{background:var(--brand-black);border-radius:2px;width:3px;position:absolute;top:-2px;bottom:-2px}.ff-switch{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.ff-switch input{width:16px;height:16px;accent-color:var(--brand-black)}.ff-perm{border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border);color:var(--ink-secondary);grid-template-columns:20px 1fr;gap:8px;padding:10px 12px;font-size:13px;line-height:20px;display:grid}.ff-sb{box-sizing:border-box;background:var(--sidebar-bg);width:248px;min-height:100%;color:var(--sidebar-ink);font-family:var(--font-sans);flex-direction:column;transition:width .18s;display:flex}.ff-sb.is-collapsed{width:64px}.ff-sb__brand{border-bottom:1px solid #1f2725;align-items:center;gap:10px;height:56px;padding:0 16px;display:flex}.ff-sb__mark{background:var(--brand-yellow);width:28px;height:28px;color:var(--on-brand);border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ff-sb__name{flex-direction:column;min-width:0;line-height:16px;display:flex}.ff-sb__name b{color:#fff;letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:20px}.ff-sb__name span{color:var(--sidebar-ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.ff-sb__nav{flex-direction:column;flex:1;gap:2px;padding:8px 8px 16px;display:flex;overflow:auto}.ff-sb__grp{letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-ink-muted);padding:14px 10px 4px;font-size:11px;font-weight:600;line-height:16px}.ff-nav{min-height:38px;color:var(--sidebar-ink);white-space:nowrap;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.ff-nav:focus-visible{outline-offset:1px;outline:2px solid #8dbbf0}.ff-nav svg{flex:none;width:18px;height:18px}.ff-nav.is-active{background:var(--sidebar-active-bg);color:#fff;font-weight:600}.ff-nav.is-active:before{content:"";background:var(--brand-yellow);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-8px}.ff-nav__ct{box-sizing:border-box;color:#fff;background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.ff-sb.is-collapsed .ff-nav__lb,.ff-sb.is-collapsed .ff-sb__name,.ff-sb.is-collapsed .ff-sb__grp,.ff-sb.is-collapsed .ff-nav__ct{display:none}.ff-sb.is-collapsed .ff-sb__grp+.ff-nav{margin-top:8px}.ff-sb__ft{border-top:1px solid #1f2725;padding:8px}.ff-sb__col{all:unset;box-sizing:border-box;width:100%;min-height:38px;color:var(--sidebar-ink-muted);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex}.ff-sb__col:focus-visible{outline:2px solid #8dbbf0}.ff-sb.is-collapsed .ff-sb__col span{display:none}@media (max-width:760px){.ff-sb{width:100%;min-height:0}.ff-sb__nav{flex-flow:wrap}.ff-sb__grp{display:none}}.ff-tb{box-sizing:border-box;background:var(--surface);border-bottom:1px solid var(--border-strong);min-height:56px;font-family:var(--font-sans);color:var(--ink);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 24px;display:flex}.ff-tb__search{flex:280px;max-width:480px;position:relative}.ff-tb__search svg{color:var(--ink-muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.ff-tb__search input{box-sizing:border-box;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:36px;color:var(--ink);font:inherit;padding:7px 10px 7px 34px;font-size:14px}.ff-tb__sp{flex:1}.ff-tb__sync{color:var(--ink-secondary);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.ff-tb__icon{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--ink-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex;position:relative}.ff-tb__icon:hover{background:var(--surface-hover);color:var(--ink)}.ff-tb__badge{box-sizing:border-box;background:var(--danger-solid);min-width:18px;height:18px;color:var(--on-danger);border:2px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:3px;right:2px}.ff-tb__user{border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);font:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:inline-flex}.ff-tb__user:hover{background:var(--surface-hover)}.ff-tb__av{background:var(--brand-black);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-flex}.ff-tb__who{text-align:left;flex-direction:column;line-height:16px;display:flex}.ff-tb__who b{font-size:13px;font-weight:600}.ff-tb__who span{color:var(--ink-muted);font-size:11px}.ff-tb__menu{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:340px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-2);z-index:30;text-align:left;position:absolute;top:46px;right:0}.ff-tb__menu ul{margin:0;padding:4px 0;list-style:none}.ff-tb__menu li{border-bottom:1px solid var(--border);color:var(--ink-secondary);grid-template-columns:10px 1fr;gap:10px;padding:10px 14px;font-size:13px;line-height:18px;display:grid}.ff-tb__menu li b{color:var(--ink);display:block}.ff-nav__ct--q{color:#c9d1ce;background:#2a3330}.ff-sb__scope{padding:12px 12px 4px}.ff-sb__sel{box-sizing:border-box;color:#fff;width:100%;min-height:36px;font:inherit;background:#141a18;border:1px solid #3c4643;border-radius:6px;padding:6px 10px;font-size:13px}.ff-sb.is-collapsed .ff-sb__scope{display:none}.ff-sb__feed{color:var(--sidebar-ink);align-items:flex-start;gap:10px;padding:8px 10px;font-size:12px;line-height:16px;display:flex}.ff-sb__feed .ff-dot{margin-top:4px}.ff-pulse{border-radius:6px;gap:2px;height:28px;display:flex;overflow:hidden}.ff-pulse button{all:unset;cursor:pointer;color:#fff;white-space:nowrap;align-items:center;min-width:0;padding:0 8px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.ff-pulse button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-pulse__moving{background:var(--success-solid)}.ff-pulse__idle{background:var(--warning-solid)}.ff-pulse__parked{background:var(--info-solid)}.ff-pulse__offline{background:var(--neutral-solid)}.ff-leg{color:var(--ink-secondary);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.ff-leg b{color:var(--ink);font-variant-numeric:tabular-nums}.ff-leg span{align-items:center;gap:6px;display:inline-flex}.ff-sw{border-radius:2px;width:10px;height:10px;display:inline-block}.ff-attn{margin:0;padding:0;list-style:none}.ff-attn li{border-bottom:1px solid var(--border);grid-template-columns:4px 1fr auto;align-items:center;gap:12px;padding:10px 16px;display:grid}.ff-attn li:last-child{border-bottom:0}.ff-attn__sev{border-radius:2px;align-self:stretch}.ff-attn b{color:var(--ink);font-size:13px;line-height:18px;display:block}.ff-attn span.ff-attn__why{color:var(--ink-muted);font-size:12px;line-height:16px;display:block}.ff-ins{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ff-ins li{color:var(--ink-secondary);grid-template-columns:18px 1fr;gap:8px;font-size:13px;line-height:20px;display:grid}.ff-ins b{color:var(--ink)}.ff-hb{grid-template-columns:150px 1fr 44px;align-items:center;gap:10px;font-size:13px;display:grid}.ff-hb__t{background:var(--surface-sunken);height:10px;box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;overflow:hidden}.ff-hb__f{background:var(--chart-1);border-radius:999px;height:100%;display:block}.ff-chip-p{border:1px solid var(--border-strong);height:20px;color:var(--ink-secondary);background:var(--surface);border-radius:4px;align-items:center;margin-right:4px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.ff-src-tag{color:var(--ink-muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}:root{--canvas:#f7f8f8;--surface:#fff;--surface-sunken:#f4f6f7;--surface-hover:#f1f4f5;--border:#eceff1;--border-strong:#dde3e6;--control-border:#8a948f;--brand-subtle:#fff6d6;--brand-tint:#fffbeb;--radius-md:12px;--radius-lg:16px;--radius-sm:8px;--shadow-1:0 1px 2px #0a0c0b0a,0 2px 8px #0a0c0b0a;--shadow-2:0 8px 24px #0a0c0b14;--sidebar-bg:#fff;--sidebar-ink:#384140;--sidebar-ink-muted:#6b746f;--sidebar-active-bg:#fff6d6;--sidebar-ink-active:#0a0c0b;--map-land:#f1f4ef;--map-water:#d7e7f2;--map-road:#fff;--map-road-edge:#dce2de;--map-label:#6b746f}body,.ff-shell{background:var(--canvas)}.ff-card,.ff-panel,.ff-kpi{border-color:var(--border-strong);box-shadow:var(--shadow-1)}.ff-card__hd{border-bottom-color:var(--border)}.fx-table th{background:var(--surface);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.fx-table td{border-bottom-color:var(--border)}.fx-btn{border-color:var(--border-strong)}.fx-btn--primary{border-color:var(--brand-yellow)}.fx-seg{border-color:var(--border);border-radius:999px;padding:3px}.fx-seg button{border-radius:999px}.fx-badge{border-radius:999px;padding:0 10px 0 8px}.ff-demo{border-radius:999px;padding:0 10px}.ff-sb{border-right:1px solid var(--border-strong);background:var(--sidebar-bg)!important;color:var(--sidebar-ink)!important}.ff-sb__brand,.ff-sb__ft{border-color:var(--border)}.ff-sb__name b{color:var(--ink)}.ff-sb__name span{color:var(--sidebar-ink-muted)}.ff-nav{color:var(--sidebar-ink)}.ff-nav svg{color:var(--ink-muted)}.ff-nav:hover{background:var(--surface-hover);color:var(--ink)}.ff-nav.is-active{background:var(--sidebar-active-bg);color:var(--ink)}.ff-nav.is-active svg{color:var(--ink)}.ff-nav.is-active:before{background:var(--brand-yellow);width:4px;left:-8px}.ff-nav:focus-visible,.ff-sb__col:focus-visible{outline:2px solid var(--focus-ring)}.ff-nav__ct{background:var(--danger-solid);color:#fff}.ff-nav__ct--q{background:var(--neutral-bg);color:var(--neutral-text)}.ff-sb__sel{background:var(--surface-sunken);border-color:var(--border-strong);color:var(--ink);border-radius:8px}.ff-sb__col{color:var(--sidebar-ink-muted)}.ff-sb__col:hover{background:var(--surface-hover);color:var(--ink)}.ff-sb__feed{color:var(--sidebar-ink);background:var(--surface-sunken);border-radius:8px;margin:0 0 6px}.ff-sb__grp{color:#7a837e}.ff-tb{border-bottom-color:var(--border);background:#ffffffeb}.ff-tb__search input{background:var(--surface-sunken);border-color:#0000;border-radius:999px}.ff-tb__search input:hover{border-color:var(--border-strong)}.ff-tb__av{background:var(--brand-yellow);color:var(--on-brand)}.ff-ic{border-radius:10px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.ff-ic svg{width:18px;height:18px}.ff-ic--ok{background:var(--success-bg);color:var(--success-text)}.ff-ic--warn{background:var(--warning-bg);color:var(--warning-text)}.ff-ic--bad{background:var(--danger-bg);color:var(--danger-text)}.ff-ic--rev{background:var(--review-bg);color:var(--review-text)}.ff-ic--info{background:var(--info-bg);color:var(--info-text)}.ff-ic--brand{background:var(--brand-subtle);color:var(--on-brand)}.ff-kpi2{all:unset;box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-1);cursor:pointer;border-radius:12px;grid-template-columns:32px 1fr;gap:4px 12px;min-width:0;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:grid}.ff-kpi2:hover{border-color:var(--control-border);box-shadow:var(--shadow-2)}.ff-kpi2:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-kpi2[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.ff-kpi2 .ff-ic{grid-row:span 3}.ff-kpi2__l{color:var(--ink-secondary);font-size:12px;font-weight:500;line-height:16px}.ff-kpi2__v{font-variant-numeric:tabular-nums;color:var(--ink);font-size:24px;font-weight:600;line-height:30px}.ff-kpi2__c{color:var(--ink-muted);font-size:11px;line-height:16px}.ff-live{background:var(--success-bg);height:24px;color:var(--success-text);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.ff-live i{background:var(--success-solid);border-radius:50%;width:8px;height:8px;animation:1.8s infinite ff-ping;box-shadow:0 0 #1e7a4680}@keyframes ff-ping{0%{box-shadow:0 0 #1e7a4673}70%{box-shadow:0 0 0 7px #1e7a4600}to{box-shadow:0 0 #1e7a4600}}@media (prefers-reduced-motion:reduce){.ff-live i{animation:none}}.ff-hero{background:var(--brand-tint);border:1px solid #f3e3a6;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:20px 24px;display:flex}.ff-hero h1{margin:0;font-size:26px;font-weight:600;line-height:34px}.ff-hero p{color:var(--ink-secondary);margin:4px 0 0}.ff-hero__stats{flex-wrap:wrap;gap:28px;display:flex}.ff-hero__stats div{flex-direction:column;display:flex}.ff-hero__stats b{font-variant-numeric:tabular-nums;font-size:20px;line-height:26px}.ff-hero__stats span{color:var(--ink-muted);font-size:12px}.ff-toast{z-index:60;color:#fff;background:#0a0c0b;border-radius:12px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:13px;line-height:20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0a0c0b33}.ff-toast b{color:#f9c41a;font-weight:600}.ff-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:760px){.ff-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.ff-stat{all:unset;box-sizing:border-box;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.ff-stat:hover{background:var(--surface-hover)}.ff-stat:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-stat[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.ff-stat__top{color:var(--ink-secondary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ff-stat__n{font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.01em;font-size:34px;font-weight:600;line-height:40px}.ff-stat__p{color:var(--ink-muted);font-size:12px}.ff-pulse span{transition:opacity .15s;display:block}.ff-filterbar{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.ff-filterbar .ff-lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600}.ff-sc{border:1px solid var(--border-strong);background:var(--surface);height:32px;color:var(--ink-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:13px;font-weight:500;display:inline-flex}.ff-sc:hover{background:var(--surface-hover)}.ff-sc:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-sc[aria-pressed=true]{background:var(--brand-black);border-color:var(--brand-black);color:#fff}.ff-sc__n{box-sizing:border-box;background:var(--neutral-bg);min-width:22px;height:20px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.ff-sc[aria-pressed=true] .ff-sc__n{background:var(--brand-yellow);color:var(--on-brand)}.ff-gps{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.ff-gps__pill{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 12px;font-weight:600;display:inline-flex}.ff-gps__pill b{font-variant-numeric:tabular-nums;font-size:15px}.ff-gps__pill--ok{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.ff-gps__pill--bad{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.ff-gps__pill--rev{background:var(--review-bg);border-color:var(--review-border);color:var(--review-text)}.ff-gps__pill--brand{background:var(--brand-subtle);color:var(--ink);border-color:#f0d676}.ff-mapzoom{transition:transform .25s;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.ff-mapzoom{transition:none}}.ff-map__ctrl button[aria-pressed=true]{background:var(--brand-black);color:#fff;border-color:var(--brand-black)}.ff-map__zoomlbl{text-align:center;color:var(--ink-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;padding:2px 0;font-size:11px;font-weight:600}.ff-vl{margin:0;padding:0;list-style:none;overflow:auto}.ff-vl li{border-bottom:1px solid var(--border)}.ff-vl button{all:unset;box-sizing:border-box;cursor:pointer;flex-direction:column;gap:6px;width:100%;padding:12px 14px;display:flex}.ff-vl button:hover{background:var(--surface-hover)}.ff-vl button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ff-vl button[aria-pressed=true]{background:var(--brand-subtle)}.ff-vl__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-vl__reg{font-family:var(--font-mono);color:var(--ink);font-size:14px;font-weight:600}.ff-vl__ago{color:var(--ink-muted);font-size:11px}.ff-vl__who{color:var(--ink-secondary);font-size:12px}.ff-tags{flex-wrap:wrap;gap:4px;display:flex}.ff-tag{background:var(--neutral-bg);height:20px;color:var(--neutral-text);border-radius:999px;align-items:center;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}.ff-tag--ok{background:var(--success-bg);color:var(--success-text)}.ff-tag--warn{background:var(--warning-bg);color:var(--warning-text)}.ff-tag--bad{background:var(--danger-bg);color:var(--danger-text)}.ff-tag--rev{background:var(--review-bg);color:var(--review-text)}.ff-tag--info{background:var(--info-bg);color:var(--info-text)}.ff-donut{flex:none;width:132px;height:132px;position:relative}.ff-donut svg{width:100%;height:100%;transform:rotate(-90deg)}.ff-donut__c{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ff-donut__c b{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:32px}.ff-donut__c span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600}.ff-mini{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;display:flex}.ff-mini .ff-lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600}.ff-mini b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.ff-mini--warn{background:var(--warning-bg);border-color:var(--warning-border)}.ff-mini--warn b{color:var(--warning-text)}.ff-skip{z-index:var(--z-toast);background:var(--surface);border:2px solid var(--focus-ring);border-radius:var(--radius-sm);padding:8px 12px;position:absolute;top:-48px;left:8px}.ff-skip:focus{top:8px}.ff-page:focus{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-center{justify-content:center;align-items:center;gap:10px;min-height:60vh;padding:16px;display:flex}.ff-sb__section{flex-direction:column;gap:2px;display:flex}.ff-sb__feedsub{color:var(--sidebar-ink-muted)}.ff-tb__who--solo{line-height:20px}.ff-login{box-sizing:border-box;background:var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:14px;display:flex}.ff-login__shell{width:100%;max-width:1500px;min-height:calc(100vh - 28px);box-shadow:var(--shadow-2);background:#fff;border-radius:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);display:grid;overflow:hidden}.ff-login__hero{color:#fff;background:radial-gradient(circle at 85% 95%,#f9c41a29,#0000 45%),#0a0c0b;flex-direction:column;gap:18px;padding:44px 44px 32px;display:flex}.ff-login__logo{color:#0a0c0b;background:#fff;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;height:44px;padding:0 16px;font-size:18px;font-weight:700;display:inline-flex}.ff-login__logo svg{color:#0a0c0b}.ff-login__eyebrow{color:var(--brand-yellow);letter-spacing:.08em;text-transform:uppercase;border:1px solid #f9c41a73;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.ff-login__dot{background:var(--brand-yellow);border-radius:50%;width:7px;height:7px}.ff-login__headline{letter-spacing:-.02em;max-width:18ch;margin:0;font-size:36px;font-weight:700;line-height:1.1}.ff-login__tag{color:var(--brand-yellow);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:22px;font-weight:700}.ff-login__lede{color:#ffffffb3;max-width:46ch;margin:0;font-size:15px;line-height:1.6}.ff-login__features{grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 0;padding:0;list-style:none;display:grid}.ff-login__feature{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ff-login__feature strong{font-size:14px}.ff-login__feature span{color:#ffffff94;font-size:12px;line-height:1.5}.ff-login__points{color:#ffffffd9;flex-direction:column;gap:12px;margin:8px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.ff-login__points li{align-items:center;gap:10px;display:flex}.ff-login__points svg{color:var(--brand-yellow);flex:none}.ff-login__legal{color:#ffffff73;margin:auto 0 0;padding-top:12px;font-size:12px}.ff-login__panel{align-items:center;padding:32px 44px;display:flex}.ff-login__form{flex-direction:column;gap:16px;width:100%;max-width:560px;margin:0 auto;display:flex}.ff-login__pill{background:var(--brand-subtle);color:#7a5b00;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.ff-login__title{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700;line-height:1.15}.ff-login__sub{color:var(--neutral-text);margin:-8px 0 4px}.ff-login__label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.ff-login__pw{position:relative}.ff-login__pw .fx-input{box-sizing:border-box;width:100%;padding-right:64px}.ff-login__eye{min-width:56px;color:var(--neutral-text);font:inherit;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:600;position:absolute;top:0;bottom:0;right:0}.ff-login__submit{min-height:52px;color:var(--brand-yellow);letter-spacing:.06em;text-transform:uppercase;background:#0a0c0b;border-color:#0a0c0b;font-weight:700}.ff-login__submit:hover:not(:disabled){background:#1b1f1d}.ff-login__notice{border-left:3px solid var(--brand-yellow);background:var(--canvas);color:var(--neutral-text);border-radius:8px;margin:0;padding:12px 14px;font-size:12px;line-height:1.5}.ff-login__help{text-align:center;color:var(--neutral-text);margin:0;font-size:12px}@media (max-width:900px){.ff-login{padding:0}.ff-login__shell{border-radius:0;grid-template-columns:1fr;min-height:100vh}.ff-login__hero{padding:24px 16px}.ff-login__headline{font-size:26px}.ff-login__features,.ff-login__points,.ff-login__lede{display:none}.ff-login__panel{padding:24px 16px 32px}}.ff-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ff-gap-left{margin-left:6px}.ff-th-btn{all:unset;cursor:pointer;font:inherit;color:inherit}.ff-th-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-subtable{width:100%}.ff-check-inline{align-items:center;gap:6px;margin-left:8px;display:inline-flex}.ff-skeleton-row{height:40px;margin-bottom:8px}.ff-pager{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ff-filterbar .fx-field{min-width:180px}.ff-linkbtn{all:unset;cursor:pointer;font:inherit;color:var(--ink);font-weight:600}.ff-linkbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-push{margin-left:auto}.ff-grow-field{flex:220px}.ff-summary{margin:12px 0 0}.fx-table tr.is-selected td{background:var(--brand-yellow-bg,#fff7d6)}.fx-table--clickable tbody tr{cursor:pointer}.ff-panel__title{font-family:var(--font-mono);letter-spacing:.02em;margin:2px 0 0;font-size:20px;line-height:28px}.ff-panel .ff-panel__hd{align-items:center}.ff-side .ff-panel{position:sticky;top:16px}.ff-trk{border:1px solid var(--border);border-radius:var(--radius-md,8px);padding:12px}.ff-trk__hd{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ff-nav--soon{cursor:default;opacity:.62}.ff-nav--soon:hover{color:var(--sidebar-ink);background:0 0}.ff-soon{border:1px solid var(--border-strong);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:600}.ff-sb__scope{display:block}.ff-nav--soon .ff-nav__lb{text-overflow:ellipsis;min-width:0;overflow:hidden}.ff-soon{flex:none}@media (min-width:761px) and (max-width:1100px){.ff-sb{width:64px}.ff-sb .ff-nav__lb,.ff-sb .ff-sb__name,.ff-sb .ff-sb__grp,.ff-sb .ff-nav__ct,.ff-sb .ff-soon,.ff-sb .ff-sb__scope{display:none}.ff-sb .ff-nav{justify-content:center;padding:0}.ff-sb .ff-sb__brand,.ff-sb .ff-sb__feed{justify-content:center}}.ff-form{flex-direction:column;gap:16px;display:flex}.ff-form__pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ff-form__ft{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.ff-flabel{color:var(--ink);font-weight:600}.ff-help{color:var(--ink-muted);font-size:12px;line-height:16px}.ff-lock{color:var(--ink-muted);align-items:flex-start;gap:5px;font-size:12px;line-height:16px;display:inline-flex}.ff-lock svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:12px;height:12px;margin-top:2px}.ff-form .fx-input,.ff-form .fx-select{text-overflow:ellipsis;min-width:0}.ff-panel__bd--sep{border-top:1px solid var(--border)}.ff-trk__badges{flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0;display:flex}.ff-trk__hd{flex-wrap:wrap}.ff-trk__extra{margin:0 0 8px}.ff-kv__row{display:contents}.ff-trk .ff-gap-left{margin-left:0}.ff-trk__hd{display:block}.ff-trk__badges{justify-content:flex-start;margin-top:6px}.ff-partial{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning-text);margin:0 0 8px;padding:8px 10px}.ff-lmhead{align-items:flex-end}.ff-lmhead__pill{vertical-align:middle;margin-left:6px}.ff-lmhead__tabs{gap:8px;display:flex}.ff-tab.is-on{background:var(--brand-yellow-bg,#fff3c4);border-color:var(--brand-yellow,#f2c230);pointer-events:none;font-weight:600}.ff-lmtool{margin-bottom:16px}.ff-lmtool__row{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;padding:14px 20px;display:flex}.ff-lmtool__row--gps{border-top:1px solid var(--border);align-items:center;padding:10px 20px}.ff-lmtool__field{flex-direction:column;gap:4px;min-width:220px;display:flex}.ff-lmtool__status{flex-direction:column;flex:320px;gap:4px;min-width:0;display:flex}.ff-lmtool__actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.ff-lmtool__updated{margin-left:auto;font-size:12px}.ff-gps{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ff-gps__label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-right:2px;font-size:11px;font-weight:700}.ff-gpill{border:1px solid #0000;border-radius:999px;align-items:baseline;gap:5px;padding:3px 12px;font-size:13px;display:inline-flex}.ff-gpill b{font-size:17px;font-weight:600}.ff-gpill--tracked{color:#3d3210;background:#fbf0cf;border-color:#f1dc9a}.ff-gpill--fitted{background:var(--review-bg);color:var(--review-text)}.ff-gpill--ok{background:var(--success-bg);color:var(--success-text)}.ff-gpill--bad{background:var(--danger-bg);color:var(--danger-text)}.ff-gpill--neutral{background:var(--neutral-bg);color:var(--neutral-text)}.ff-lm{grid-template-columns:320px minmax(0,1fr) 340px;align-items:stretch;gap:16px;display:grid}.ff-lmlist,.ff-lmdetails{flex-direction:column;min-width:0;max-height:760px;display:flex}.ff-lmlist__hd{border-bottom:1px solid var(--border);gap:10px}.ff-lrows{flex:auto;min-height:160px;margin:0;padding:0;list-style:none;overflow-y:auto}.ff-lrow{border-bottom:1px solid var(--border)}.ff-lrow.is-selected{background:var(--brand-yellow-bg,#fff7d6)}.ff-lrow.is-nopos .ff-lrow__plate{opacity:.7}.ff-lrow__btn{all:unset;box-sizing:border-box;cursor:pointer;flex-direction:column;gap:4px;width:100%;padding:10px 16px;display:flex}.ff-lrow__btn:hover{background:var(--surface-hover)}.ff-lrow__btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ff-lrow__top{align-items:center;gap:8px;display:flex}.ff-lrow__plate{letter-spacing:.02em;font-size:15px}.ff-lrow__age{white-space:nowrap;margin-left:auto;font-size:12px}.ff-lrow__who{font-size:12px}.ff-lrow__tags{flex-wrap:wrap;gap:4px;display:flex}.ff-lrow__tags .ff-tag b{opacity:.75;margin-right:3px}.ff-dotk{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.ff-dotk--moving{background:var(--success-solid)}.ff-dotk--idle{background:var(--warning-solid)}.ff-dotk--parked{background:var(--info-solid);border-radius:2px}.ff-dotk--last{border:2px dashed var(--neutral-solid);width:10px;height:10px}.ff-dotk--none{border:2px solid var(--border-strong)}.ff-lmlist__ft{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 16px;font-size:12px;display:flex}.ff-check-inline--sm{margin-left:0;font-size:12px}.ff-lmstage{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-1);flex-direction:column;display:flex;overflow:hidden}.ff-lmstage__hd{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.ff-lmstage__title{align-items:center;gap:10px;font-size:17px;display:flex}.ff-lmstage__opts{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ff-opt{align-items:center;gap:6px;font-size:14px;display:inline-flex}.ff-lmstage__map{flex:auto;position:relative}.ff-lmstage .ff-mapnote{border-bottom:1px solid var(--border);padding:6px 16px}.ff-lmstage .ff-mapcanvas{border:0;border-radius:0;height:640px;min-height:420px}.ff-legendbar{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md,8px);max-width:calc(100% - 200px);box-shadow:var(--shadow-1);z-index:2;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:7px 12px;font-size:13px;display:flex;position:absolute;bottom:12px;left:12px;right:190px}.ff-legendbar__item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.ff-legendbar__item--soon{opacity:.55}.ff-legendbar__item i{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-style:normal}.ff-key--moving{fill:var(--success-solid)}.ff-key--idle{fill:var(--warning-solid)}.ff-key--parked{fill:var(--info-solid)}.ff-key--last{fill:#fff;stroke:var(--neutral-solid);stroke-width:3px;stroke-dasharray:4 3}.ff-key--alert{fill:var(--danger-solid)}.ff-key--immob{fill:#6b1f17}.ff-maptag{border:1px solid var(--border-strong);font-family:var(--font-mono);white-space:nowrap;box-shadow:var(--shadow-1);pointer-events:none;background:#fff;border-radius:4px;padding:2px 7px;font-size:11px;line-height:16px}.ff-maptag.is-selected{color:#fff;background:#111;border-color:#111;font-weight:600}.ff-lmdetails .ff-panel__bd{flex:auto;min-height:0;overflow-y:auto}.ff-lmdetails .ff-panel__bd section+section{margin-top:4px}.ff-small{margin:8px 0 0;font-size:12px}.ff-trktable th,.ff-trktable td{text-align:left;vertical-align:top;padding:6px 8px;font-size:13px}.ff-trktable th[scope=row]{color:var(--ink-muted);font-weight:400}.ff-lmactions{gap:8px}@media (max-width:1320px){.ff-lm{grid-template-columns:300px minmax(0,1fr)}.ff-lmdetails{grid-column:1/-1;max-height:none}}@media (max-width:900px){.ff-lm{grid-template-columns:minmax(0,1fr)}.ff-lmstage{order:1}.ff-lmlist{order:2;max-height:520px}.ff-lmdetails{order:3}.ff-lmstage .ff-mapcanvas{height:460px}}.ff-mapcanvas{background:var(--surface-sunken);width:100%;height:640px;position:relative}.ff-mapcanvas--loading{justify-content:center;align-items:center;display:flex}.ff-map-fail{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);padding:16px}.ff-mapnote{color:var(--ink-muted);margin:0;font-size:13px}.ff-key__shape{vertical-align:-4px;width:18px;height:18px}.ff-key--flagring{fill:none;stroke:var(--warning-solid);stroke-width:2.5px}.ff-tb__input{border-radius:999px;width:100%;padding-left:16px}.ff-feedpill{background:var(--neutral-bg);color:var(--neutral-text);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.ff-feedpill--ok{background:var(--success-bg);color:var(--success-text)}.ff-feedpill--warn{background:var(--warning-bg);color:var(--warning-text)}.ff-feedpill--bad{background:var(--danger-bg);color:var(--danger-text)}.ff-tb__icon:disabled{opacity:.5;cursor:default}.ff-page:has(.ff-lm){max-width:none}.ff-lmtool__field,.ff-lmtool__status{flex-direction:row;align-items:center;gap:12px}.ff-lmtool__status{flex-wrap:wrap}.ff-lmtool__field{min-width:0}.ff-lmtool__row{align-items:center}.ff-trktable{table-layout:fixed;width:100%}.ff-trktable th[scope=row]{width:76px}.ff-trktable td{overflow-wrap:anywhere}.ff-trktable .fx-badge{white-space:normal;text-align:left;height:auto;min-height:20px;padding-top:2px;padding-bottom:2px;line-height:16px}.ff-trkfacts{margin-top:10px}.ff-head__actions{gap:8px;display:flex}.ff-nowrap{white-space:nowrap}.ff-vspec{white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}.ff-vtable th,.ff-vtable td{padding-inline:8px}.ff-vtable td:last-child .fx-badge{white-space:nowrap}.ff-hero__meta{margin-top:10px}.ff-gps__pill--plain{font-size:12px;font-weight:500}.ff-gps__pill--plain .ff-mono{font-size:12px}.ff-hero__card{justify-content:space-between;align-items:center;gap:16px;min-width:260px;padding:14px 18px;display:flex}.ff-hero__pct{font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:36px}.ff-small-text{font-size:12px}.ff-ic--hero{color:#f9c41a;background:#0a0c0b;border-radius:12px;width:44px;height:44px}.ff-ic--hero svg{width:22px;height:22px}.ff-viewtabs{flex-wrap:wrap;gap:6px;padding:8px;display:flex}.ff-viewtabs .ff-tab.is-on{background:var(--brand-subtle);border-color:#f0d676}.ff-filterbar--top{padding-bottom:6px}.ff-filterbar--bottom{padding-top:6px}.ff-w160{width:160px}.ff-w170{width:170px}.ff-w190{width:190px}.ff-w280{width:280px}.ff-lbl--gap{margin-left:8px}.ff-sumrow{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.ff-donut__track{fill:none;stroke:var(--surface-sunken);stroke-width:12px}.ff-donut__ring{fill:none;stroke:var(--success-solid);stroke-width:12px;stroke-linecap:round}.ff-donut__ring.is-warn{stroke:var(--warning-solid)}.ff-kpi3{border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(3,minmax(110px,1fr));display:grid;overflow:hidden}.ff-kpi3>div{border-right:1px solid var(--border);padding:14px 18px}.ff-kpi3>div:last-child{border-right:0}.ff-kpi3__n{font-size:30px;font-weight:600;line-height:38px}.ff-ok{color:var(--success-text)}.ff-bad{color:var(--danger-text)}.ff-minis{flex:360px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ff-gap16{gap:16px}.ff-nodata{margin:0;font-size:13px;line-height:20px}.ff-stack9{flex-direction:column;gap:9px;display:flex}.ff-stack6{flex-direction:column;gap:6px;display:flex}.ff-hb--offline{grid-template-columns:110px 1fr 30px}.ff-hb__f--neutral{background:var(--neutral-solid)}.ff-hb__f--warn{background:var(--warning-solid)}.ff-offnote{color:var(--ink-secondary);margin:4px 0 0;font-size:13px;line-height:20px}.ff-offnote b{color:var(--ink)}.ff-fleetrow{all:unset;box-sizing:border-box;cursor:pointer;border-radius:6px;grid-template-columns:130px 1fr 52px;align-items:center;gap:8px;padding:3px 6px;display:grid}.ff-fleetrow[aria-pressed=true]{background:var(--brand-subtle)}.ff-fleetrow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ff-fleetrow:disabled{cursor:default}.ff-right{text-align:right}.ff-tabsbar{padding:10px 20px 0}.ff-plate a{color:var(--link);font-weight:600;text-decoration:none}.ff-plate a:hover{text-decoration:underline}.ff-emptyrows{text-align:center;padding:28px}.ff-emptyrows p{margin:0 0 10px}.ff-foot{margin:0;padding:12px 20px;font-size:12px}.ff-w-0{width:0%}.ff-w-1{width:1%}.ff-w-2{width:2%}.ff-w-3{width:3%}.ff-w-4{width:4%}.ff-w-5{width:5%}.ff-w-6{width:6%}.ff-w-7{width:7%}.ff-w-8{width:8%}.ff-w-9{width:9%}.ff-w-10{width:10%}.ff-w-11{width:11%}.ff-w-12{width:12%}.ff-w-13{width:13%}.ff-w-14{width:14%}.ff-w-15{width:15%}.ff-w-16{width:16%}.ff-w-17{width:17%}.ff-w-18{width:18%}.ff-w-19{width:19%}.ff-w-20{width:20%}.ff-w-21{width:21%}.ff-w-22{width:22%}.ff-w-23{width:23%}.ff-w-24{width:24%}.ff-w-25{width:25%}.ff-w-26{width:26%}.ff-w-27{width:27%}.ff-w-28{width:28%}.ff-w-29{width:29%}.ff-w-30{width:30%}.ff-w-31{width:31%}.ff-w-32{width:32%}.ff-w-33{width:33%}.ff-w-34{width:34%}.ff-w-35{width:35%}.ff-w-36{width:36%}.ff-w-37{width:37%}.ff-w-38{width:38%}.ff-w-39{width:39%}.ff-w-40{width:40%}.ff-w-41{width:41%}.ff-w-42{width:42%}.ff-w-43{width:43%}.ff-w-44{width:44%}.ff-w-45{width:45%}.ff-w-46{width:46%}.ff-w-47{width:47%}.ff-w-48{width:48%}.ff-w-49{width:49%}.ff-w-50{width:50%}.ff-w-51{width:51%}.ff-w-52{width:52%}.ff-w-53{width:53%}.ff-w-54{width:54%}.ff-w-55{width:55%}.ff-w-56{width:56%}.ff-w-57{width:57%}.ff-w-58{width:58%}.ff-w-59{width:59%}.ff-w-60{width:60%}.ff-w-61{width:61%}.ff-w-62{width:62%}.ff-w-63{width:63%}.ff-w-64{width:64%}.ff-w-65{width:65%}.ff-w-66{width:66%}.ff-w-67{width:67%}.ff-w-68{width:68%}.ff-w-69{width:69%}.ff-w-70{width:70%}.ff-w-71{width:71%}.ff-w-72{width:72%}.ff-w-73{width:73%}.ff-w-74{width:74%}.ff-w-75{width:75%}.ff-w-76{width:76%}.ff-w-77{width:77%}.ff-w-78{width:78%}.ff-w-79{width:79%}.ff-w-80{width:80%}.ff-w-81{width:81%}.ff-w-82{width:82%}.ff-w-83{width:83%}.ff-w-84{width:84%}.ff-w-85{width:85%}.ff-w-86{width:86%}.ff-w-87{width:87%}.ff-w-88{width:88%}.ff-w-89{width:89%}.ff-w-90{width:90%}.ff-w-91{width:91%}.ff-w-92{width:92%}.ff-w-93{width:93%}.ff-w-94{width:94%}.ff-w-95{width:95%}.ff-w-96{width:96%}.ff-w-97{width:97%}.ff-w-98{width:98%}.ff-w-99{width:99%}.ff-w-100{width:100%}.ff-sumtable th,.ff-sumtable td{padding-inline:8px}.ff-sumtable .ff-plate{white-space:nowrap}.ff-sumtable td.fx-table__primary{min-width:96px}.ff-actionbar{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ff-actionbar .ff-perm{flex:420px}.ff-thresholds{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ff-kpis--8{grid-template-columns:repeat(8,minmax(0,1fr))}@media (max-width:1280px){.ff-kpis--8{grid-template-columns:repeat(4,minmax(0,1fr))}}.ff-kpi--static{cursor:default}.ff-kpi__v--sm{font-size:20px}.ff-queryrow{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.ff-w110{width:110px}.ff-w220{width:220px}.ff-routeframe{position:relative}.ff-mapcanvas--route{border-radius:var(--radius-md) var(--radius-md) 0 0;height:480px}.ff-routelegend{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-1);z-index:2;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:7px 12px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px;right:190px}.ff-routelegend span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.ff-routelegend__soon{opacity:.55}.ff-routelegend__soon i{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-style:normal}.ff-lg{display:inline-block}.ff-lg--primary{background:var(--brand-black);width:18px;height:3px}.ff-lg--secondary{border-top:2px dotted #6b3fa0;width:18px}.ff-lg--speeding{background:var(--warning-solid);width:18px;height:5px}.ff-lg--gap{border:2px solid var(--brand-black);background:var(--surface);border-radius:50%;width:10px;height:10px}.ff-playbar{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 20px;display:flex}.ff-playbar__row{justify-content:space-between}.ff-playbtn{min-width:84px}.ff-scrubrange{accent-color:#0a0c0b;width:200px}.ff-scrub__seg--moving{background:var(--chart-1);opacity:.25}.ff-scrub__seg--stop{background:var(--info-bg);border-left:1px solid var(--info-solid);border-right:1px solid var(--info-solid)}.ff-scrub__seg--gap{background:repeating-linear-gradient(45deg, var(--surface-sunken) 0 6px, var(--border-strong) 6px 8px)}.ff-stack16{flex-direction:column;gap:16px;display:flex}.ff-tl--events{padding:8px 20px 12px}.ff-notes{margin:0}.ff-rtpin{pointer-events:none;align-items:center;gap:4px;display:flex;transform:translate(-6px)}.ff-rtpin__dot{border:2px solid var(--brand-black);background:var(--surface);border-radius:50%;flex:none;width:12px;height:12px}.ff-rtpin--start .ff-rtpin__dot{background:var(--brand-black)}.ff-rtpin--end .ff-rtpin__dot{background:var(--brand-yellow)}.ff-rtpin--max .ff-rtpin__dot{background:var(--warning-solid);border-color:var(--warning-solid)}.ff-rtpin--stop .ff-rtpin__dot{background:var(--info-solid);border-color:var(--info-solid)}.ff-rtpin--gap .ff-rtpin__dot{background:var(--surface);border-color:var(--brand-black)}.ff-rtpin__tag{background:var(--surface);border:1px solid var(--border-strong);color:var(--ink-secondary);white-space:nowrap;box-shadow:var(--shadow-1);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.ff-rtpin--gap .ff-rtpin__tag{border-style:dashed}.ff-rthead{background:var(--success-solid);width:18px;height:18px;box-shadow:0 0 0 2px var(--success-solid), var(--shadow-1);border:3px solid #fff;border-radius:50%}.ff-ink{color:var(--ink)}.ff-selfcenter{align-self:center}.ff-stack14{flex-direction:column;gap:14px;display:flex}.ff-stack10{flex-direction:column;gap:10px;display:flex}.ff-between{justify-content:space-between}.ff-h15{margin:0;font-size:15px;line-height:22px}.ff-gap24{gap:24px}.ff-mb6{margin-bottom:6px}.ff-mt6{margin-top:6px}.ff-big{font-size:28px}.ff-selreg{font-size:17px;font-weight:600;line-height:24px}.ff-note{color:var(--ink-secondary);margin:4px 0 0;font-size:13px;line-height:20px}.ff-note b{color:var(--ink)}.ff-sw--moving{background:var(--success-solid);border-radius:3px;width:12px;height:12px}.ff-sw--idle{background:var(--warning-solid);border-radius:3px;width:12px;height:12px}.ff-sw--parked{background:var(--info-solid);border-radius:3px;width:12px;height:12px}.ff-sw--last_known{background:var(--neutral-solid);border-radius:3px;width:12px;height:12px}.ff-pulse--bar{height:14px}.ff-age--under_1{background:var(--success-solid)}.ff-age--m1_5{background:var(--chart-2)}.ff-age--m5_30{background:var(--warning-solid)}.ff-age--over_30{background:var(--neutral-solid)}.ff-kpis--6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1180px){.ff-kpis--6{grid-template-columns:repeat(3,minmax(0,1fr))}}a.ff-kpi2{color:inherit;cursor:pointer;text-decoration:none}.ff-kpi2--off{cursor:default;opacity:.8}.ff-kpi2--off:hover{box-shadow:none;border-color:var(--border-strong)}.ff-kpi2__g{font-size:14px;font-weight:700}.ff-attn__sev--danger{background:var(--danger-solid)}.ff-attn__sev--review{background:var(--review-solid)}.ff-attn__sev--warning{background:var(--warning-solid)}.ff-attn__sev--info{background:var(--info-solid)}.ff-hb--fleet{grid-template-columns:130px 1fr 72px}.ff-bars--hours{height:140px}.ff-bars__x--hours{gap:2px}.ff-rel{position:relative}.ff-avgline{border-top:2px dashed var(--chart-2);position:absolute;left:8%;right:8%}.ff-strip{background:linear-gradient(90deg, var(--brand-subtle), #fff 55%);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;padding:10px 20px;display:flex}.ff-strip__lead{align-items:center;gap:8px;display:flex}.ff-strip__icon{color:#7a5b00;display:inline-flex}.ff-strip__title{font-size:13px;font-weight:700}.ff-strip__sub{font-size:11px}.ff-strip__tiles{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.ff-strip__tile{border:1px solid var(--border-strong,#d5dbde);color:var(--neutral-text);font:inherit;cursor:pointer;background:#fff;border-radius:8px;align-items:baseline;gap:8px;padding:6px 14px;font-size:12px;display:inline-flex}.ff-strip__tile b{font-family:var(--font-mono,ui-monospace, monospace);color:var(--ink);font-size:14px}.ff-strip__tile--ok{background:var(--success-bg,#e8f6ee);border-color:#b7dfc6}.ff-strip__tile--warn{background:var(--warning-bg,#fff4d6);border-color:#efd18a}.ff-strip__tile--bad{background:var(--danger-bg,#fdecea);border-color:#f0b8b2}.ff-strip__tile--review{background:var(--review-bg,#f0eafa);border-color:#cdbbea}.ff-strip__tile.is-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.ff-strip__end{align-items:center;gap:12px;margin-left:auto;display:flex}:root{--font-sans:"Plus Jakarta Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--canvas:#f3f5fa;--surface-sunken:#f7f8fc;--surface-hover:#eef0f7;--border:#e8ebf3;--border-strong:#e1e5ef;--control-border:#d4d9e6;--ink:#0f1424;--ink-secondary:#2c3347;--ink-muted:#5b6479;--gold:#c99a06;--indigo:#4f46e5;--indigo-bg:#f1f0ff;--indigo-border:#dcd9fa;--navy:#181e33;--navy-2:#232b47;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--shadow-1:0 1px 2px #181e330a, 0 6px 20px #181e330a;--shadow-2:0 2px 4px #181e330d, 0 12px 32px #181e3314;--content-max:1480px}body,.ff-shell{background:var(--canvas);letter-spacing:-.005em;font-size:15px;line-height:24px}h1,h2,h3,h4{letter-spacing:-.02em}.ff-mono,.fx-mono,.ff-num,.fx-num,.ff-plate,.ff-lrow__plate,.ff-vl__reg,.ff-kpi__v,.ff-kpi2__v,.ff-stat__n,.ff-hero__stats b,.ff-strip__tile b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ff-split>.ff-side{flex:300px}.ff-page{gap:24px;padding:32px 36px 64px}@media (max-width:760px){.ff-page{gap:16px;padding:16px}}.ff-card,.ff-panel,.fx-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.ff-card__hd,.ff-panel__hd{border-bottom:1px solid var(--border);padding:22px 28px}.ff-card__bd,.ff-panel__bd{padding:22px 28px}.ff-card__hd h2,.ff-card__hd h3,.ff-panel__title{letter-spacing:-.02em;font-size:17px;font-weight:800;line-height:24px}.ff-panel__ft{padding:16px 28px}.ff-head,.ff-hero{border:1px solid var(--border);background:radial-gradient(120% 140% at 0% 0%, #fff3c4 0%, #fff3c400 48%), var(--surface);box-shadow:var(--shadow-1);border-radius:28px;gap:24px;padding:28px 32px;position:relative}.ff-head h1,.ff-hero h1{letter-spacing:-.035em;font-size:34px;font-weight:800;line-height:42px}.ff-head p,.ff-hero p{color:var(--ink-secondary);margin-top:8px;font-size:16px;line-height:26px}.ff-hero__stats{gap:20px}.ff-hero__stats div{border-radius:var(--radius-md);background:var(--indigo-bg);border:1px solid var(--indigo-border);padding:14px 18px}.ff-hero__stats b{color:var(--indigo);font-size:22px;font-weight:700;line-height:30px}.ff-hero__stats span{font-size:12px;font-weight:500}.ff-eyebrow{letter-spacing:.16em;color:var(--gold);font-size:12px;font-weight:800;line-height:16px}.ff-hero__card{background:var(--indigo-bg);border:1px solid var(--indigo-border);box-shadow:none;border-radius:20px}.fx-btn{--h:44px;border:1px solid var(--control-border);border-radius:14px;padding:0 20px;font-size:14px;font-weight:700;box-shadow:0 1px #181e3308}.fx-btn--sm{--h:36px;border-radius:12px;padding:0 14px;font-size:13px}.fx-btn--primary{background:linear-gradient(#fbd038,#f5b800);border-color:#eaa900;box-shadow:0 8px 20px #f5b80047}.fx-btn--primary:hover{background:linear-gradient(#f9c928,#eaa900);border-color:#dd9f00}.ff-filterbar .fx-btn--primary,.ff-form__ft .fx-btn--primary{background:var(--navy);border-color:var(--navy);color:#fbd038;box-shadow:none}.ff-filterbar .fx-btn--primary:hover,.ff-form__ft .fx-btn--primary:hover{background:#0f1424;border-color:#0f1424}.fx-input,.fx-select,.fx-textarea,.ff-tb__input{border:1px solid var(--control-border);background:var(--surface-sunken);border-radius:14px;min-height:48px;padding:10px 16px;font-size:15px}.fx-input:hover,.fx-select:hover,.fx-input:focus,.fx-select:focus,.fx-textarea:focus{background:#fff}.ff-flabel,.ff-lbl,.fx-field__label,.ff-filterbar .ff-lbl,.ff-sec>h4{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:800;line-height:16px}.ff-filterbar{gap:16px 20px;padding:22px 28px}.fx-chip{height:36px;padding:0 16px;font-weight:600}.fx-chip--toggle[aria-pressed=true]{background:var(--navy);border-color:var(--navy)}.fx-badge,.ff-tag,.fx-tag{border-radius:999px;height:26px;padding:0 11px;font-weight:700}.fx-badge .fx-dot{margin-left:-2px}.ff-kpis{gap:20px}.ff-kpi,.ff-kpi2,.ff-stat{border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:22px;gap:6px;padding:22px 24px}.ff-kpi:hover,.ff-kpi2:hover,.ff-stat:hover{box-shadow:var(--shadow-2);background:#fff}.ff-kpi[aria-pressed=true],.ff-kpi2[aria-pressed=true],.ff-stat[aria-pressed=true]{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.ff-kpi__l,.ff-kpi2__l,.ff-stat__top{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:800;line-height:16px}.ff-kpi__v,.ff-kpi2__v{font-size:24px;font-weight:700;line-height:32px}.ff-stat__n{font-size:44px;font-weight:700;line-height:52px}.ff-kpi__c,.ff-kpi2__c,.ff-stat__p{color:var(--ink-muted);font-size:13px;line-height:20px}.ff-kpi--warn{background:var(--warning-bg);border-color:var(--warning-border)}.ff-kpi--risk{background:var(--danger-bg);border-color:var(--danger-border)}.ff-kpis--dark,.ff-darkband{background:radial-gradient(60% 140% at 100% 0%, var(--navy-2) 0%, #232b4700 70%), var(--navy);color:#fff;border-radius:28px;padding:28px 32px}.fx-table-wrap{overflow-x:auto}.fx-table th{background:var(--surface-sunken);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--border-strong);padding:14px;font-size:11.5px;font-weight:800}.fx-table td{border-bottom:1px solid var(--border);padding:16px 14px}.fx-table tbody tr:hover td{background:#fafbfe}.fx-table tbody tr[aria-selected=true] td{background:var(--brand-subtle)}.fx-table td.fx-table__primary,.ff-plate,.fx-tab,.ff-tab{font-weight:700}.ff-viewtabs,.ff-tabsbar{gap:8px}.fx-alert{border-radius:16px;padding:16px 20px}.fx-alert__title{font-weight:800}.fx-nav-item{border-radius:12px;min-height:42px;font-weight:600}.ff-sb__name{letter-spacing:-.02em;font-weight:800}.ff-tb{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffdb;min-height:68px;padding:10px 32px}.ff-tb__search,.ff-tb__input{border-radius:999px}.ff-strip{background:linear-gradient(90deg,#fff3c4,#fff 58%);border-radius:22px;gap:14px 20px;padding:18px 28px}.ff-strip__tile{border-radius:14px;padding:10px 18px;font-weight:600}.ff-strip__tile b{font-size:15px;font-weight:700}.fx-dialog,.ff-dialog{border-radius:28px}.fx-drawer{border-radius:28px 0 0 28px}.ff-vtable th,.ff-vtable td,.ff-trktable th,.ff-trktable td,.ff-sumtable th,.ff-sumtable td{padding-inline:10px;font-size:14px}.ff-vtable th,.ff-trktable th,.ff-sumtable th{letter-spacing:.08em;font-size:11px}.ff-vspec{max-width:120px}.ff-split>.ff-side{flex-basis:280px}.ff-card[aria-label=Online\ summary]{background:radial-gradient(60% 160% at 100% 0%, var(--navy-2) 0%, #232b4700 70%), var(--navy);border-color:var(--navy);color:#fff}.ff-card[aria-label=Online\ summary] .ff-card__bd{gap:28px;padding:28px 32px}.ff-card[aria-label=Online\ summary] .ff-donut__track{stroke:#ffffff1f}.ff-card[aria-label=Online\ summary] .ff-donut__c b{color:#fbd038;font-family:var(--font-mono);font-weight:700}.ff-card[aria-label=Online\ summary] .ff-donut__c span,.ff-card[aria-label=Online\ summary] .ff-kpi3 .ff-eyebrow,.ff-card[aria-label=Online\ summary] .ff-minis .ff-eyebrow{color:#ffffff9e}.ff-card[aria-label=Online\ summary] .ff-kpi3{background:#ffffff0d;border-color:#ffffff24}.ff-card[aria-label=Online\ summary] .ff-kpi3>div{border-right-color:#ffffff24}.ff-card[aria-label=Online\ summary] .ff-kpi3__n{color:#fff}.ff-card[aria-label=Online\ summary] .ff-kpi3__n.ff-ok{color:#5fe0a0}.ff-card[aria-label=Online\ summary] .ff-kpi3__n.ff-bad{color:#ff8f84}.ff-card[aria-label=Online\ summary] .ff-mini{color:var(--ink);border-radius:16px}.ff-kpi2{padding:18px}.ff-kpi2__l{letter-spacing:0;text-transform:none;color:var(--ink);font-size:13px;line-height:18px}@media (min-width:761px){.ff-sb{flex:none;height:100vh;min-height:0;position:sticky;top:0;overflow:hidden}.ff-sb__nav{min-height:0}.ff-shell__side{z-index:30;position:relative}.ff-shell__side:has(.ff-sb.is-collapsed){width:64px}.ff-sb.is-collapsed .ff-soon,.ff-sb.is-collapsed .ff-sb__feed .ff-nav__lb{display:none}.ff-sb.is-collapsed .ff-nav{justify-content:center;padding:0}.ff-sb.is-collapsed .ff-sb__brand,.ff-sb.is-collapsed .ff-sb__feed{justify-content:center}.ff-sb.is-collapsed:hover{width:248px;box-shadow:var(--shadow-2)}.ff-sb.is-collapsed:has(:focus-visible){width:248px;box-shadow:var(--shadow-2)}.ff-sb.is-collapsed:hover .ff-nav__lb,.ff-sb.is-collapsed:hover .ff-sb__name,.ff-sb.is-collapsed:hover .ff-sb__grp{display:revert}.ff-sb.is-collapsed:has(:focus-visible) .ff-nav__lb{display:revert}.ff-sb.is-collapsed:has(:focus-visible) .ff-sb__name{display:revert}.ff-sb.is-collapsed:has(:focus-visible) .ff-sb__grp{display:revert}.ff-sb.is-collapsed:hover .ff-nav__ct{display:inline-flex}.ff-sb.is-collapsed:has(:focus-visible) .ff-nav__ct{display:inline-flex}.ff-sb.is-collapsed:hover .ff-soon{display:inline-flex}.ff-sb.is-collapsed:has(:focus-visible) .ff-soon{display:inline-flex}.ff-sb.is-collapsed:hover .ff-sb__scope{display:block}.ff-sb.is-collapsed:has(:focus-visible) .ff-sb__scope{display:block}.ff-sb.is-collapsed:hover .ff-sb__col span{display:inline}.ff-sb.is-collapsed:has(:focus-visible) .ff-sb__col span{display:inline}.ff-sb.is-collapsed:hover .ff-nav{justify-content:flex-start;padding:0 10px}.ff-sb.is-collapsed:has(:focus-visible) .ff-nav{justify-content:flex-start;padding:0 10px}.ff-sb.is-collapsed:hover .ff-sb__brand,.ff-sb.is-collapsed:hover .ff-sb__feed{justify-content:flex-start}.ff-sb.is-collapsed:has(:focus-visible) .ff-sb__brand{justify-content:flex-start}.ff-sb.is-collapsed:has(:focus-visible) .ff-sb__feed{justify-content:flex-start}.ff-sb.is-collapsed:hover .ff-sb__name{display:flex}.ff-sb.is-collapsed:has(:focus-visible) .ff-sb__name{display:flex}.ff-sb.is-collapsed:hover .ff-sb__grp{display:block}.ff-sb.is-collapsed:has(:focus-visible) .ff-sb__grp{display:block}}.ff-page:has(.ff-lx__stage){max-width:none}.ff-lx__bar{border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-1);background:#fff;margin-bottom:14px}.ff-lx__row{flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 20px;display:flex}.ff-lx__row--gps{border-top:1px solid var(--border);gap:10px 14px;padding:10px 20px}.ff-lx__cap{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;font-size:11px;font-weight:800}.ff-lx__field,.ff-lx__statusbox{border:1px solid var(--border-strong);border-radius:var(--radius-sm);align-items:center;gap:10px;min-width:0;padding:4px 8px 4px 14px;display:inline-flex}.ff-lx__sel{border:1px solid var(--border-strong);min-width:0;max-width:190px;height:36px;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;padding:0 8px;font-size:13px;font-weight:700}.ff-lx__seg{background:var(--canvas);border-radius:12px;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.ff-lx__opt{height:36px;font:inherit;color:var(--ink-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:0 11px;font-size:12.5px;font-weight:700;display:inline-flex}.ff-lx__opt:hover:not(.is-on){background:#fffc}.ff-lx__opt.is-on{background:var(--navy);color:#fff}.ff-lx__n{min-width:22px;font-family:var(--font-mono);text-align:center;color:var(--ink);background:#e4e8f1;border-radius:7px;padding:1px 6px;font-size:11.5px;font-weight:700}.ff-lx__opt.is-on .ff-lx__n{color:#111;background:#ffc700}.ff-lx__dot{background:var(--neutral-solid);border-radius:999px;flex:none;width:7px;height:7px}.ff-lx__dot.ff-lmtool__dot--ok{background:var(--success-solid)}.ff-lx__dot.ff-lmtool__dot--off{background:#d97706}.ff-lx__dot.ff-lmtool__dot--warn{background:#0284c7}.ff-lx__dot.ff-lmtool__dot--info{background:var(--navy)}.ff-lx__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.ff-lx__btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);height:44px;font:inherit;color:var(--ink);white-space:nowrap;cursor:pointer;background:#fff;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.ff-lx__btn:hover:not(:disabled){background:var(--surface-hover)}.ff-lx__btn--dark{border-color:var(--navy);background:var(--navy);color:#ffc700}.ff-lx__btn:disabled{cursor:not-allowed;opacity:.55}.ff-lx__btn[aria-busy=true] svg{animation:.8s linear infinite fx-spin}.ff-lx__row--views{justify-content:space-between;padding-bottom:0}.ff-lx__views{background:var(--canvas);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.ff-lx__view{height:36px;font:inherit;color:#4b5563;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}a.ff-lx__view:hover{background:#ffffffb3}.ff-lx__view.is-on{color:#111;cursor:default;background:#fff;font-weight:600;box-shadow:0 1px 2px #0000001f}.ff-lx__view:disabled{cursor:not-allowed;opacity:.55}.ff-lx__role{display:inline-flex}.ff-lx__tabs{background:var(--canvas);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.ff-lx__tab{white-space:nowrap;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0000001f}.ff-lx__tab b{font-weight:700}.ff-lx__tabdot{border-radius:50%;width:8px;height:8px}.ff-lx__tab--neutral{color:#111;background:#fff;border-color:#ffc700}.ff-lx__tab--neutral .ff-lx__tabdot{background:#ffc700}.ff-lx__tab--green{color:#0b6b4a;background:#e3f5ec;border-color:#a7dec3}.ff-lx__tab--green .ff-lx__tabdot{background:#0f9d6b}.ff-lx__tab--red{color:#a61f1f;background:#fdeaea;border-color:#f3b6b6}.ff-lx__tab--red .ff-lx__tabdot{background:#c62828}.ff-lx__tab--purple{color:#4c2bb0;background:#eee9fd;border-color:#c9bcf6}.ff-lx__tab--purple .ff-lx__tabdot{background:#7c3aed}.ff-lx__tab--grey{color:#111;background:#fff;border-color:#d1d5db}.ff-lx__tab--grey .ff-lx__tabdot{background:#9aa0b4}.ff-tb__title{white-space:nowrap;flex:none;margin:0 24px 0 0;font-size:22px;font-weight:800;line-height:28px}.ff-tb:has(.ff-tb__title) .ff-tb__search{flex:auto;max-width:560px}.ff-lx__vr{background:var(--control-border);width:1px;height:22px}.ff-lx__updated{border:1px solid var(--border-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;height:32px;margin-left:auto;padding:0 14px;font-size:12.5px;font-weight:600;display:inline-flex}.ff-lx__live{background:var(--success-solid);border-radius:999px;width:8px;height:8px}.ff-lx__stage{border:1px solid var(--border-strong);border-radius:var(--radius-md);height:clamp(560px,100vh - 360px,880px);box-shadow:var(--shadow-1);background:#ece8e1;position:relative;overflow:hidden}.ff-lx__map,.ff-lx__map .ff-mapcanvas{border:0;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.ff-lx__note{z-index:3;max-width:calc(100% - 520px);box-shadow:var(--shadow-2);color:var(--ink-secondary);background:#fff;border-radius:999px;margin:0;padding:6px 14px;font-size:12.5px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.ff-lx__drawer{z-index:3;background:#fff;border-radius:16px;flex-direction:column;width:360px;max-width:calc(100% - 92px);display:flex;position:absolute;top:16px;bottom:16px;left:16px;overflow:hidden;box-shadow:0 8px 28px #11111138}.ff-lx__dhd{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 14px 10px;display:flex}.ff-lx__dhd--bar{flex-direction:row;align-items:center;gap:4px;padding:8px}.ff-lx__dhd--bar h2{flex:auto;margin:0;font-size:17px;font-weight:700}.ff-lx__dtop{justify-content:space-between;align-items:center;display:flex}.ff-lx__dtop h2{margin:0;font-size:15px;font-weight:800}.ff-lx__x{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;margin:-6px -6px -6px 0;display:inline-flex}.ff-lx__dhd--bar .ff-lx__x{margin:0}.ff-lx__x:hover{background:var(--surface-hover)}.ff-lx__search{border-radius:10px;height:44px}.ff-lx__chips{flex-direction:column;gap:8px;display:flex}.ff-lx__chiprow{flex-wrap:wrap;gap:6px;display:flex}.ff-lx__chip{border:1px solid var(--control-border);height:36px;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.ff-lx__chip b{font-family:var(--font-mono)}.ff-lx__chip--ok{color:#0b6b4a;background:#e3f5ec;border-color:#a7dec3}.ff-lx__chip--warn{color:#7a4b00;background:#fff4d6;border-color:#f0d28a}.ff-lx__chip--bad{color:#a61f1f;background:#fdeaea;border-color:#f3b6b6}.ff-lx__chip--review{color:#4c2bb0;background:#eee9fd;border-color:#c9bcf6}.ff-lx__chip.is-on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--navy)}.ff-lx__chipend{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-lx__clear{border:1px solid var(--control-border);height:28px;font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700}.ff-lx__check{color:var(--ink-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.ff-lx__rows{flex:1 1 0;height:auto;min-height:0;overflow-y:auto}.ff-lx__dbd{padding:14px}.ff-lx__dscroll{flex:1 1 0;min-height:0;padding:16px;overflow-y:auto}.ff-lx__dscroll section+section{margin-top:14px}.ff-lx__dft{border-top:1px solid var(--border);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 14px;font-size:11.5px;display:flex}.ff-lx__dft.ff-lmactions{justify-content:flex-start;gap:8px}.ff-lx__who{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.ff-lx__who b{font-size:15px;font-weight:700}.ff-lx__who span{color:var(--ink-muted);font-size:12px}.ff-lx__state{margin-top:6px}.ff-lx__toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.ff-lx__tog{border:1px solid var(--navy);border-radius:var(--radius-sm);height:44px;font:inherit;color:var(--ink);cursor:pointer;background:#fff;font-size:13px;font-weight:700}.ff-lx__tog[aria-pressed=true]{background:var(--navy);color:#fff}.ff-lx__ctls{z-index:3;flex-direction:column;gap:8px;display:flex;position:absolute;top:16px;right:16px}.ff-lx__ctl{width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px 8px #1113}.ff-lx__ctl[aria-pressed=true]{background:var(--navy);color:#ffc700}.ff-lx__ctl:disabled{cursor:not-allowed;opacity:.55}.ff-lx__zoom{z-index:3;background:#fff;border-radius:12px;flex-direction:column;display:flex;position:absolute;bottom:32px;right:16px;overflow:hidden;box-shadow:0 2px 8px #1113}.ff-lx__zoom button{width:44px;height:44px;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border:0;font-size:20px;font-weight:600}.ff-lx__zoom button+button{border-top:1px solid var(--border)}.ff-lx__legend{z-index:3;background:#fff;border-radius:14px;flex-direction:column;gap:2px;width:270px;max-height:calc(100% - 84px);padding:14px 18px;font-size:13px;display:flex;position:absolute;top:68px;right:68px;overflow-y:auto;box-shadow:0 8px 28px #11111138}.ff-lx__li{align-items:center;gap:10px;min-height:28px;font-weight:500;display:flex}.ff-lx__li--soon{opacity:.55}.ff-lx__li i{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-style:normal}.ff-lg__fence{background:#6b3fa01f;border:2px solid #6b3fa0;border-radius:3px;width:14px;height:14px}.ff-lx__layers{z-index:3;background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:224px;right:68px;box-shadow:0 8px 24px #11111138}.ff-lx__layers button{width:120px;height:44px;font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:13px;font-weight:700}.ff-lx__layers button.is-on{background:var(--navy);color:#fff}.ff-lx__layers button:disabled{cursor:not-allowed;opacity:.5}.ff-lx__stage .maplibregl-ctrl-bottom-right{right:68px}.ff-lx__stage .ff-maptag,.ff-lx__stage .ff-maptag.is-selected{background:var(--navy);border-color:var(--navy);color:#ffc700;font-weight:600}.ff-page:has(.ff-lx__stage){flex-direction:column;gap:10px;min-height:calc(100dvh - 68px);padding:12px 20px 16px;display:flex}.ff-lx__stage{flex:auto;height:auto;min-height:460px}.ff-lx__bar{flex:none;margin-bottom:0;container-type:inline-size}.ff-lx__row{flex-wrap:nowrap;gap:10px;min-width:0;padding:8px 14px}.ff-lx__row>*{flex:0 auto;min-width:0}.ff-lx__row--views{padding:8px 14px 0}.ff-lx__row--gps{gap:8px;padding:6px 14px 8px}.ff-lx__views{padding:3px}.ff-lx__view{height:30px;padding:0 12px;font-size:12.5px}.ff-lx__field,.ff-lx__statusbox{flex:0 auto;gap:8px;padding:3px 6px 3px 12px}.ff-lx__sel{text-overflow:ellipsis;max-width:170px;height:30px}.ff-lx__seg{flex-wrap:nowrap;min-width:0;padding:2px;overflow:hidden}.ff-lx__opt{text-overflow:ellipsis;flex:0 auto;min-width:0;height:30px;padding:0 10px;font-size:12px;overflow:hidden}.ff-lx__actions{flex-wrap:nowrap;flex:none;gap:6px}.ff-lx__btn{height:36px;padding:0 12px;font-size:12.5px}.ff-lx__role{flex:0 auto;min-width:0}.ff-lx__tabs{flex-wrap:nowrap;min-width:0;padding:3px}.ff-lx__tab{height:30px;padding:0 11px;font-size:12.5px}.ff-lx__updated{flex:none;height:30px;padding:0 12px;font-size:12px}.ff-lx__cap{flex:none}@container (width<=1240px){.ff-lx__bt{display:none}.ff-lx__btn{justify-content:center;width:36px;padding:0}}@container (width<=1320px){.ff-lx__field .ff-lx__cap,.ff-lx__statusbox .ff-lx__cap{display:none}.ff-lx__field,.ff-lx__statusbox{padding-left:6px}.ff-lx__opt{gap:5px;padding:0 8px}.ff-lx__tab{gap:6px;padding:0 9px;font-size:12px}.ff-lx__row--gps .ff-lx__cap{letter-spacing:.06em;font-size:9.5px}}@container (width<=940px){.ff-lx__dot,.ff-lx__tabdot,.ff-lx__updated{display:none}.ff-lx__sel{max-width:120px}.ff-lx__opt{padding:0 6px;font-size:11.5px}.ff-lx__n{min-width:0;padding:0 4px}.ff-lx__tab{padding:0 7px;font-size:11.5px}.ff-lx__view{padding:0 9px}}@container (width<=760px){.ff-lx__row{scrollbar-width:none;overflow-x:auto}.ff-lx__row>*{flex:none}}@media (max-width:900px){.ff-lx__vr{display:none}.ff-lx__drawer{width:auto;max-width:none;right:76px}.ff-lx__note{max-width:calc(100% - 100px)}}@media (max-width:760px){.ff-page:has(.ff-lx__stage){padding:10px}}@media (min-width:901px){.ff-hero{flex-wrap:nowrap;align-items:center;gap:24px;padding:20px 28px}.ff-hero>div:first-child{flex:auto;min-width:0}.ff-hero h1{font-size:30px;line-height:38px}.ff-hero p{margin-top:4px;font-size:15px;line-height:24px}.ff-hero__stats{flex-wrap:nowrap;flex:none;align-items:center;gap:12px}.ff-hero__stats div{white-space:nowrap;border-radius:16px;padding:10px 16px}.ff-hero__stats b{font-size:20px;line-height:26px}.ff-hero__stats .fx-btn{--h:40px}}@media (min-width:901px) and (max-width:1400px){.ff-hero__stats{gap:8px}.ff-hero__stats div{padding:8px 12px}.ff-hero__stats b{font-size:17px;line-height:22px}.ff-hero__stats span{font-size:11px}}.ff-card[aria-label=Fleet\ pulse] .ff-card__bd{gap:20px;padding:22px 28px 26px}.ff-card[aria-label=Fleet\ pulse] .ff-pulse--bar{height:10px}.ff-card[aria-label=Fleet\ pulse] .ff-stats{gap:0}.ff-card[aria-label=Fleet\ pulse] .ff-stat{border:0;border-left:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;gap:2px;padding:4px 28px}.ff-card[aria-label=Fleet\ pulse] .ff-stat:first-child{border-left:0;padding-left:0}.ff-card[aria-label=Fleet\ pulse] .ff-stat:hover{box-shadow:none;background:0 0}.ff-card[aria-label=Fleet\ pulse] .ff-stat[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--brand-yellow)}.ff-card[aria-label=Fleet\ pulse] .ff-stat__top{gap:8px;font-size:11px}.ff-card[aria-label=Fleet\ pulse] .ff-stat__n{font-size:36px;line-height:44px}.ff-stat__p{flex-direction:column;gap:2px;display:flex}.ff-stat__p b{color:var(--ink);font-size:13px;font-weight:700}.ff-stat__sep{display:none}.ff-stat__d{color:var(--ink-muted);font-size:12px;line-height:18px}.ff-kpis--6{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1);gap:0;padding:6px 0}.ff-kpis--6 .ff-kpi2{border:0;border-left:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:32px minmax(0,1fr);align-content:start;gap:8px 10px;padding:18px 22px}.ff-kpis--6 .ff-kpi2:first-child{border-left:0}.ff-kpis--6 .ff-kpi2:hover{background:var(--surface-sunken);box-shadow:none}.ff-kpis--6 .ff-kpi2 .ff-ic{grid-row:1;align-self:center}.ff-kpis--6 .ff-kpi2__l{align-self:center;font-weight:700}.ff-kpis--6 .ff-kpi2__v,.ff-kpis--6 .ff-kpi2__c{grid-column:1/-1}.ff-kpis--6 .ff-kpi2__v{font-size:26px;line-height:32px}.ff-kpis--6 .ff-kpi2__c{font-size:12px;line-height:18px}@media (max-width:1100px){.ff-card[aria-label=Fleet\ pulse] .ff-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.ff-card[aria-label=Fleet\ pulse] .ff-stat:nth-child(odd){border-left:0;padding-left:0}.ff-kpis--6{grid-template-columns:repeat(3,minmax(0,1fr))}.ff-kpis--6 .ff-kpi2:nth-child(3n+1){border-left:0}}.ff-card[aria-label=Tracker\ health] .ff-card__bd,.ff-card[aria-label=Morning\ start] .ff-card__bd,.ff-card[aria-label="Online by fleet"] .ff-card__bd{gap:20px;padding:22px 28px 26px}.ff-card[aria-label=Tracker\ health] .ff-row{flex-direction:column;align-items:stretch;gap:18px}.ff-card[aria-label=Tracker\ health] .ff-row>div{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:4px 14px;display:grid}.ff-card[aria-label=Tracker\ health] .ff-kpi2__v.ff-big{font-size:32px;line-height:40px}.ff-hbar{background:var(--border-strong);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.ff-hbar__f{background:var(--success-solid);border-radius:999px;height:100%;display:block}.ff-card[aria-label=Tracker\ health] .ff-kpi2__l{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:12px}.ff-card[aria-label=Tracker\ health] .ff-leg{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.ff-legdot{border-radius:999px;flex:none;width:8px;height:8px;display:inline-block}.ff-card .ff-note{background:var(--surface-sunken);border:1px solid var(--border);color:var(--ink-secondary);border-radius:14px;margin:0;padding:14px 16px;font-size:13px;line-height:20px}.ff-softbox{background:var(--surface-sunken);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;display:flex}.ff-softpill{background:var(--neutral-bg);height:26px;color:var(--ink-secondary);border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.ff-softbox .ff-nodata{font-size:13px;line-height:20px}.ff-card[aria-label="Online by fleet"] .ff-hb--fleet{grid-template-columns:minmax(120px,1.5fr) minmax(60px,1fr) auto;gap:14px}.ff-card[aria-label="Online by fleet"] .ff-hb--fleet>span:first-child{overflow-wrap:anywhere;min-width:0}.ff-card[aria-label="Online by fleet"] .ff-hb__t{height:8px;box-shadow:none;background:var(--border-strong)}.ff-card[aria-label="Online by fleet"] .ff-hb__f{background:var(--navy)}.ff-card[aria-label="Online by fleet"] .ff-hb__f--warn{background:var(--warning-solid)}.ff-card[aria-label="Online by fleet"] .ff-stack10{gap:14px}.ff-drv-tools{flex-wrap:wrap;gap:10px;display:flex}.ff-drv-tools .fx-select{min-width:170px}.ff-drv-tools .fx-input{min-width:260px}.ff-fleettable tfoot th,.ff-fleettable tfoot td{border-top:1px solid var(--border-strong);background:var(--surface-sunken);text-align:left;padding:16px 14px;font-weight:800}.ff-fleettable tfoot td.fx-num{text-align:right}.ff-fleettable tbody th{text-align:left;font-weight:700}.ff-fleettable .ff-partnerrow th,.ff-fleettable .ff-partnerrow td{background:var(--surface-sunken);border-top:1px solid var(--border-strong);text-align:left;font-weight:800}.ff-fleettable .ff-partnerrow td.fx-num{text-align:right}.ff-onl{white-space:nowrap;align-items:center;gap:12px;display:inline-flex}.ff-onl__bar{background:var(--border-strong);border-radius:999px;width:120px;height:8px;display:inline-block;overflow:hidden}.ff-onl__fill{background:var(--success-solid);border-radius:999px;height:100%;display:block}.ff-onl__fill--warn{background:var(--warning-solid)}.ff-drvtable tbody th{text-align:left;font-weight:700}.ff-fleettable tbody th,.ff-drvtable tbody th{border-bottom:1px solid var(--border);letter-spacing:0;text-transform:none;color:var(--ink);white-space:nowrap;background:0 0;padding:16px 14px;font-size:14px;position:static}.ff-fleettable tbody th a{color:var(--ink);text-decoration:none}.ff-fleettable tbody th a:hover{text-decoration:underline}.ff-zones{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}.ff-zones__main{flex-direction:column;gap:24px;min-width:0;display:flex}.ff-zones__list{position:sticky;top:88px}.ff-zlist{flex-direction:column;gap:8px;margin:0;padding:16px;list-style:none;display:flex}.ff-zlist__item{border:1px solid var(--border);background:var(--surface);width:100%;font:inherit;text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ff-zlist__item:hover{background:var(--surface-sunken)}.ff-zlist__item[aria-pressed=true]{background:#fff9e6;border-color:#eaa900;box-shadow:0 0 0 1px #eaa900}.ff-zlist__name{color:var(--ink);font-size:15px;font-weight:800}.ff-zlist__meta,.ff-zlist__alarms{color:var(--ink-muted);font-size:12.5px}.ff-mapcanvas--fence{border-radius:0 0 var(--radius-lg) var(--radius-lg);height:440px;overflow:hidden}.ff-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;display:grid}.ff-fact{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.ff-fact__l{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:800}.ff-fact__v{text-align:right;font-weight:600}.ff-zonetable th,.ff-zonetable td{padding-inline:14px;font-size:14px}@media (max-width:1100px){.ff-zones{grid-template-columns:1fr}.ff-zones__list{position:static}.ff-facts{grid-template-columns:1fr}}.ff-fencetag{color:#6b3fa0;white-space:nowrap;pointer-events:none;background:#fff;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:700;box-shadow:0 1px 4px #181e332e}.ff-lg--fence{background:0 0;border:2px solid #6b3fa0;border-radius:3px}.ff-fencetag.is-hidden{display:none}.ff-tb{flex-wrap:nowrap;gap:12px}.ff-tb__search{min-width:0}.ff-tb:has(.ff-tb__title) .ff-tb__search{flex:160px;width:auto;min-width:80px}@media (max-width:1240px){.ff-tb__sync>span:first-child{display:none}}@media (max-width:1000px){.ff-tb__who{display:none}.ff-tb__title{margin-right:12px;font-size:19px}}a.ff-tb__icon{color:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.ff-kpis--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ff-alerts{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.ff-alerts__side{position:sticky;top:84px}.ff-alerts__filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ff-alerts__types{flex-wrap:wrap;gap:6px;padding-top:0;display:flex}.ff-alerts__acts{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:12px 16px;display:flex}.ff-alerts tr.is-selected td{background:var(--surface-hover)}@media (max-width:1100px){.ff-kpis--4{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-alerts.has-side{grid-template-columns:minmax(0,1fr)}.ff-alerts__side{position:static}}.ff-alerts.has-side{grid-template-columns:minmax(0,1fr) 360px}.ff-alerts__side .ff-facts{grid-template-columns:minmax(0,1fr)}.ff-alerts__side .ff-fact{flex-direction:row;justify-content:space-between;gap:12px}.ff-alerts .ff-zonetable td.ff-mono{white-space:nowrap}.rp{flex-direction:column;gap:16px;display:flex}.rp-card{border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-1);background:#fff}.rp-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:10.5px;font-weight:800}.rp-eyebrow--gold{color:var(--gold)}.rp-sub{color:var(--ink-muted);font-size:12.5px;line-height:18px}.rp-pad{padding:12px 20px 16px}.rp-hero{border-radius:var(--radius-lg);box-shadow:var(--shadow-1);background:linear-gradient(100deg,#fff4cf 0%,#fff9e6 55%,#fffdf6 100%);border:1px solid #f1e3b0;justify-content:space-between;align-items:stretch;gap:24px;padding:22px 28px;display:flex}.rp-hero__main{flex-direction:column;gap:6px;min-width:0;display:flex}.rp-hero h1{margin:0;font-size:28px;font-weight:800;line-height:34px}.rp-hero p{color:var(--ink-secondary);margin:0}.rp-hero__side{background:#fff9;border:1px solid #f1e3b0;border-radius:18px;flex-direction:column;justify-content:center;gap:2px;min-width:220px;padding:14px 22px;display:flex}.rp-chips{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.rp-chip{font-family:var(--font-mono);white-space:nowrap;background:#ffffffb3;border:1px solid #f1e3b0;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:500}.rp-actions{gap:8px;margin-top:8px;display:flex}.rp-btn{border:1px solid var(--border-strong);height:36px;font:inherit;color:var(--ink);white-space:nowrap;cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-flex}.rp-btn:hover:not(:disabled){background:var(--surface-hover)}.rp-btn--dark{border-color:var(--navy);background:var(--navy);color:#ffc700}.rp-btn--dark:hover:not(:disabled){background:var(--navy-2)}.rp-btn--sm{height:30px;padding:0 12px;font-size:12px}.rp-btn:disabled{cursor:not-allowed;opacity:.55}.rp-tabsbar{padding:8px 12px}.rp-filters{flex-wrap:wrap;align-items:flex-end;gap:14px 16px;padding:16px 20px;display:flex}.rp-field{flex-direction:column;gap:6px;min-width:0;display:flex}.rp-select,.rp-search{border:1px solid var(--control-border);min-width:140px;height:38px;font:inherit;color:var(--ink);background:#fff;border-radius:10px;padding:0 10px;font-size:13px}.rp-select:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed}.rp-seg{background:var(--canvas);border-radius:12px;gap:4px;padding:3px;display:inline-flex}.rp-seg button{height:32px;font:inherit;color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 14px;font-size:12.5px;font-weight:700}.rp-seg button.is-on{background:var(--navy);color:#fff}.rp-run{height:38px}.rp-fetch{margin-left:auto}.rp-subtabs{border:1px solid var(--border-strong);background:var(--surface-sunken);border-radius:14px;align-self:flex-start;gap:2px;padding:4px;display:inline-flex}.rp-subtabs button{height:34px;font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 16px;font-size:12.5px;font-weight:700}.rp-subtabs button.is-on{color:var(--ink);background:#fff;box-shadow:0 1px 2px #181e331a}.rp-notes{color:var(--ink-muted);font-size:12.5px}.rp-notes summary{cursor:pointer;font-weight:700}.rp-notes ul{margin:8px 0 0;padding-left:18px}.rp-score{background:linear-gradient(100deg,#fff4cf 0%,#fffdf6 60%,#fff 100%);align-items:center;gap:24px;padding:20px 26px;display:flex}.rp-score h2{margin:4px 0 2px;font-size:19px;line-height:26px}.rp-score p{color:var(--ink-secondary);margin:0}.rp-score__ring{flex:none;width:92px;height:92px;position:relative}.rp-score__ring svg{width:100%;height:100%}.rp-score__ring b{font-family:var(--font-mono);justify-content:center;align-items:center;font-size:26px;font-weight:700;display:flex;position:absolute;inset:0}.rp-ring-bg{fill:none;stroke:#efe6c4;stroke-width:9px}.rp-ring-fg{fill:none;stroke:#d4a932;stroke-width:9px;stroke-linecap:round}.rp-section h2{letter-spacing:.04em;text-transform:uppercase;margin:8px 0 2px;font-size:13px;font-weight:800}.rp-section>.rp-sub{margin:0 0 12px}.rp-card h3{margin:0;font-size:14px;font-weight:800}.rp-stat{flex-direction:column;gap:8px;min-width:0;padding:16px 18px;display:flex}.rp-num{font-family:var(--font-mono);color:var(--ink);font-size:30px;font-weight:700;line-height:34px}.rp-num--gold{color:#c99a06}.rp-num--green{color:#0f9d6b}.rp-num--muted{color:var(--ink-muted);font-size:18px}.rp-grid5{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.rp-grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.rp-grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.rp-grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.rp-grid3>.rp-card{flex-direction:column;gap:4px;padding:16px 18px;display:flex}.rp-grid-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rp-role{padding:16px 18px}.rp-role .rp-stat{box-shadow:none}.rp-empty{padding:22px 26px}.rp-empty h2{margin:0 0 6px;font-size:17px}.rp-chart,.rp-donut{margin:0}.rp-chart svg{width:100%;height:auto;display:block}.rp-grid{stroke:var(--border);stroke-width:1px}.rp-tick{fill:var(--ink-muted);font-size:11px}.rp-line{fill:none;stroke:#0f9d6b;stroke-width:2px;stroke-linejoin:round}.rp-line--b{stroke:#4f46e5}.rp-line--ref{stroke:#9aa0b4;stroke-dasharray:5 4}.rp-area{fill:#0f9d6b1f}.rp-dot{fill:#0f9d6b;stroke:#fff;stroke-width:2px}.rp-dot--b{fill:#4f46e5}.rp-dot.is-hot{r:6}.rp-hit{fill:#0000}.rp-tip rect{fill:var(--navy)}.rp-tip text{fill:#fff;font-size:11.5px}.rp-legend{color:var(--ink-secondary);flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.rp-legend--col{flex-direction:column;gap:8px}.rp-legend b{font-family:var(--font-mono);color:var(--ink)}.rp-key{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.rp-key--b{background:#4f46e5}.rp-key--ref{background:#9aa0b4}.rp-donut{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.rp-donut svg{width:170px;height:170px}.rp-ring-bg{stroke:var(--border)}.rp-slice{fill:none;stroke-width:24px}.rp-t-good{stroke:#0f9d6b;background:#0f9d6b}.rp-t-warn{stroke:#f59e0b;background:#f59e0b}.rp-t-bad{stroke:#d9534f;background:#d9534f}.rp-t-none{stroke:#9aa0b4;background:#9aa0b4}.rp-donut__n{font-family:var(--font-mono);fill:var(--ink);font-size:28px;font-weight:700}.rp-donut__l{fill:var(--ink-muted);font-size:11px}.rp-tablecard{overflow:hidden}.rp-tablecard__hd{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.rp-tablecard__hd h2{margin:0;font-size:16px}.rp-tools{align-items:center;gap:8px;display:flex}.rp-scroll{border-top:1px solid var(--border);max-height:560px;overflow:auto}.rp-table{border-collapse:collapse;width:100%;font-size:12.5px}.rp-table th,.rp-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 14px}.rp-table thead th{z-index:1;background:var(--surface-sunken);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:10.5px;font-weight:800;position:sticky;top:0}.rp-table .fx-num{text-align:right}.rp-sort{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.rp-role-tag{border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700}.rp-role-tag--primary{color:#0b6b4a;background:#eef7f2}.rp-role-tag--secondary{color:#4c2bb0;background:#eee9fd}@media (max-width:1280px){.rp-grid5{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.rp-hero{flex-direction:column}.rp-grid5,.rp-grid4,.rp-grid3,.rp-grid-roles{grid-template-columns:minmax(0,1fr)}.rp-subtabs{max-width:100%;overflow-x:auto}}
