@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_6b03d3{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_6b03d3{--font-sans:"Manrope","Manrope Fallback"}:root{--md-sys-color-surface:#111827;--md-sys-color-surface-container:#172033;--md-sys-color-surface-container-high:#1c2740;--md-sys-color-surface-bright:#243049;--md-sys-color-on-surface:#e8eefc;--md-sys-color-on-surface-variant:#9db0d0;--md-sys-color-primary:#8ab4ff;--md-sys-color-on-primary:#002e6b;--md-sys-color-primary-container:#1a4b9c;--md-sys-color-secondary-container:#2a354d;--md-sys-color-outline:#3a4a66;--md-sys-color-outline-variant:#2a3750;--md-sys-color-error:#ffb4ab;--md-sys-color-ok:#7ddcb0;--md-sys-color-warn:#f0c56d;--bg:#0a0f1a;--panel:var(--md-sys-color-surface-container);--line:var(--md-sys-color-outline-variant);--text:var(--md-sys-color-on-surface);--muted:var(--md-sys-color-on-surface-variant);--accent:var(--md-sys-color-primary);--ok:var(--md-sys-color-ok);--warn:var(--md-sys-color-warn);--danger:#f07178;--radius:16px;--radius-sm:10px;--elev-1:0 1px 2px rgba(0,0,0,.28),0 1px 3px 1px rgba(0,0,0,.18);--elev-2:0 2px 6px rgba(0,0,0,.32),0 1px 8px 2px rgba(0,0,0,.18);--elev-3:0 8px 24px rgba(0,0,0,.4);--shadow:var(--elev-2);--font:var(--font-sans),"Manrope","Segoe UI",sans-serif;--ease:cubic-bezier(0.2,0,0,1);--bg-glow-a:rgba(138,180,255,0.12);--bg-glow-b:rgba(125,220,176,0.08);font-family:var(--font)}html[data-theme=light]{--md-sys-color-surface:#f4f7fc;--md-sys-color-surface-container:#ffffff;--md-sys-color-surface-container-high:#eef2f9;--md-sys-color-surface-bright:#e4ebf6;--md-sys-color-on-surface:#152238;--md-sys-color-on-surface-variant:#5a6b86;--md-sys-color-primary:#1a56db;--md-sys-color-on-primary:#ffffff;--md-sys-color-primary-container:#d6e3ff;--md-sys-color-secondary-container:#e8eef8;--md-sys-color-outline:#c5d0e2;--md-sys-color-outline-variant:#dce3ef;--md-sys-color-error:#b42318;--md-sys-color-ok:#0f7a4e;--md-sys-color-warn:#9a6700;--bg:#e9eef7;--panel:var(--md-sys-color-surface-container);--line:var(--md-sys-color-outline-variant);--text:var(--md-sys-color-on-surface);--muted:var(--md-sys-color-on-surface-variant);--accent:var(--md-sys-color-primary);--ok:var(--md-sys-color-ok);--warn:var(--md-sys-color-warn);--danger:#c62828;--elev-1:0 1px 2px rgba(21,34,56,.06),0 1px 3px 1px rgba(21,34,56,.04);--elev-2:0 2px 8px rgba(21,34,56,.08),0 1px 4px rgba(21,34,56,.05);--elev-3:0 10px 28px rgba(21,34,56,.12);--shadow:var(--elev-2);--bg-glow-a:rgba(26,86,219,0.08);--bg-glow-b:rgba(15,122,78,0.06)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(900px 480px at 0 0,var(--bg-glow-a),transparent 55%),radial-gradient(700px 420px at 100% 0,var(--bg-glow-b),transparent 45%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button,input,select,textarea{font:inherit}h1{font-size:clamp(1.35rem,2.2vw + 1rem,1.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.2}h2{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;font-size:1.25rem;line-height:1;vertical-align:middle}.shell{display:grid;grid-template-columns:272px 1fr;min-height:100vh;min-height:100dvh;position:relative;width:100%;overflow-x:clip}.shell-main{min-width:0;width:100%}.shell-main,.sidebar{display:flex;flex-direction:column}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:color-mix(in srgb,var(--md-sys-color-surface) 92%,#000);padding:1.15rem .85rem 1rem;z-index:30}.brand-block{display:flex;gap:.75rem;align-items:center;padding:.35rem .65rem 1.1rem}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:.85rem;color:#fff;background:linear-gradient(145deg,#4b97ff,#1a4b9c);box-shadow:0 8px 20px rgba(61,139,253,.28)}.brand{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}.nav-sub{margin:.15rem 0 0;font-size:.72rem;color:var(--muted)}.nav{flex:1 1;overflow:auto;padding:0 .25rem}.nav-group{margin-bottom:.85rem}.nav-group-title{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.35rem .85rem}.nav a{display:flex;align-items:center;gap:.65rem;padding:.62rem .85rem;border-radius:999px;color:var(--muted);margin-bottom:.15rem;transition:background .16s var(--ease),color .16s var(--ease)}.nav a,.nav a:hover{text-decoration:none}.nav a:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}.nav a.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);font-weight:650}.nav-ico{font-size:1.2rem;opacity:.9}.nav-dropdown{margin-bottom:.15rem}.nav-parent{display:flex;align-items:center;gap:.15rem;border-radius:999px;color:var(--muted);transition:background .16s var(--ease),color .16s var(--ease)}.nav-parent.active,.nav-parent:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}.nav-parent.active{font-weight:650}.nav-parent-link{flex:1 1;display:flex;align-items:center;gap:.65rem;padding:.62rem .35rem .62rem .85rem;margin:0!important;border-radius:999px;font-weight:inherit}.nav-parent-link,.nav-parent-link:hover{color:inherit;text-decoration:none;background:transparent!important}.nav-caret{flex:0 0 auto;width:2rem;height:2rem;margin-right:.35rem;border:0;border-radius:999px;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer}.nav-caret:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.nav-caret .material-symbols-outlined{font-size:1.15rem}.nav-sublist{display:grid;grid-gap:.1rem;gap:.1rem;margin:.1rem 0 .25rem .85rem;padding:.2rem 0 .15rem .65rem;border-left:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.nav-sublink{display:flex;align-items:center;gap:.55rem;padding:.5rem .75rem!important;margin-bottom:0!important;border-radius:999px;font-size:.9rem;color:var(--muted)}.nav-sublink .nav-ico{font-size:1.05rem}.nav{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 55%,transparent) transparent}.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 45%,transparent);border-radius:999px}.nav::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent) 55%,var(--muted))}.nav::-webkit-scrollbar-button{display:none;width:0;height:0}.sidebar-foot{font-size:.72rem;padding:.75rem .85rem .25rem;border-top:1px solid var(--line);margin-top:.5rem}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;padding:.85rem 1.5rem;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.appbar,.appbar-left{display:flex;align-items:center}.appbar-left{gap:.65rem;min-width:0;flex:1 1 220px}.appbar-identity{min-width:0}.appbar-eyebrow{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted)}.appbar-user{font-weight:650;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.appbar-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-end;flex:0 1 auto;min-width:0}.clock-controls{display:inline-flex;flex-wrap:wrap;gap:.45rem;align-items:center}.btn-label-short{display:none}.drawer-toggle,.icon-btn.drawer-toggle{display:none!important}.env-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--ok);box-shadow:0 0 0 3px rgba(125,220,176,.2)}.env-dot.demo{background:var(--warn);box-shadow:0 0 0 3px rgba(240,197,109,.2)}.main{padding:1.35rem 1.75rem 2.5rem;max-width:none;width:100%;flex:1 1;box-sizing:border-box;min-width:0;overflow-x:clip}.topbar{display:none}.elevation-2,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.05rem 1.15rem;box-shadow:var(--elev-1);margin-bottom:1rem;min-width:0}.elevation-2{box-shadow:var(--elev-2)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:.85rem 1rem;margin-bottom:.85rem;flex-wrap:wrap}.panel-head>div{min-width:0;flex:1 1 220px}.panel-head-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex:0 0 auto;align-items:center;justify-content:flex-end;margin-left:auto}.panel-head-actions>.btn,.panel-head-actions>a.btn,.panel-head>.btn,.panel-head>a.btn{flex:0 0 auto;white-space:nowrap}.panel-head h1,.panel-head h2{margin:0;overflow-wrap:anywhere}.panel h2,.panel h3{margin-top:0}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));grid-gap:.85rem;margin-bottom:1rem}.grid,.grid-2{display:grid;gap:.85rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-gap:.85rem}.kpi{background:var(--md-sys-color-surface-container-high);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--elev-1);transition:transform .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}a.kpi-link{color:inherit;display:block;text-decoration:none}a.kpi-link:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-2px);box-shadow:var(--elev-2);text-decoration:none}.kpi .label{color:var(--muted);font-size:.78rem;font-weight:650;letter-spacing:.02em}.kpi .value{font-size:clamp(1.15rem,2.5vw,1.45rem);font-weight:800;margin-top:.4rem;letter-spacing:-.02em}.kpi-hint{font-size:.72rem;margin-top:.45rem;color:var(--accent);font-weight:600}.kpi-sub{font-size:.78rem;margin-top:.4rem;line-height:1.35}.kpi-dense{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.recon-bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;padding:.95rem 1.1rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--ok) 35%,var(--line));margin-bottom:.85rem;background:color-mix(in srgb,var(--ok) 10%,var(--panel));box-shadow:var(--elev-1)}.recon-bar.bad{border-color:color-mix(in srgb,var(--danger) 40%,var(--line));background:color-mix(in srgb,var(--danger) 10%,var(--panel))}.hint-line{color:var(--muted);font-size:.9rem;margin:0 0 1rem;padding:.75rem .95rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line))}.skel{display:block;background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 70%,var(--line)) 0,color-mix(in srgb,var(--line) 55%,transparent) 50%,color-mix(in srgb,var(--panel) 70%,var(--line)) 100%);background-size:200% 100%;animation:skel-shine 1.2s ease-in-out infinite;border-radius:6px}.skel-line{height:.75rem;margin:.35rem 0}.skel-value{height:1.75rem;width:55%;margin:.55rem 0}.skel-row{height:2.4rem;margin-bottom:.55rem}.skel-card{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.skeleton-bar{opacity:.85;min-height:3.2rem;align-items:center}.skel-table{padding:.25rem 0}@keyframes skel-shine{0%{background-position:100% 0}to{background-position:-100% 0}}.pay-bar{height:6px;background:var(--md-sys-color-surface-bright);border-radius:999px;overflow:hidden;margin-bottom:.25rem;min-width:80px}.pay-fill{height:100%;background:linear-gradient(90deg,#4b97ff,#3ecf8e)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:1.75rem;box-shadow:var(--elev-3)}.auth-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}.auth-card h1{margin:0 0 .35rem;font-size:1.65rem}.auth-card p{color:var(--muted);margin-top:0}.field{display:grid;grid-gap:.4rem;gap:.4rem;margin:.9rem 0;font-size:.88rem;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea,.mini-input{background:var(--md-sys-color-surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:.75rem .85rem;font-weight:500;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.field input:focus,.field select:focus,.field textarea:focus,.mini-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.mini-input{width:64px;padding:.5rem .6rem}.btn{border:1px solid transparent;background:var(--md-sys-color-secondary-container);color:var(--text);border-radius:999px;padding:.55rem 1rem;cursor:pointer;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:background .16s var(--ease),box-shadow .16s var(--ease),transform .12s var(--ease)}.btn:hover{filter:brightness(1.08);text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(180deg,#5aa0ff,#2f6fd6);color:#fff;width:100%;box-shadow:0 6px 16px rgba(47,111,214,.35)}.btn-tonal{background:color-mix(in srgb,var(--accent) 16%,var(--md-sys-color-secondary-container))}.btn-ico{font-size:1.1rem}.icon-btn{border:0;background:transparent;color:var(--text);width:40px;height:40px;border-radius:999px;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.btn:disabled{opacity:.55;cursor:wait}.error{color:var(--danger);min-height:1.2rem;font-size:.9rem}.field-error{display:block;margin-top:.3rem;min-height:1.05rem;color:var(--danger);font-size:.78rem;font-weight:600;line-height:1.25}.field input.invalid,.field select.invalid,.field textarea.invalid,input.invalid{border-color:var(--danger)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 35%,transparent)}.row-actions.fields-top{align-items:flex-start}.row-actions.fields-top .field{margin:0}.row-actions.fields-top .field>input,.row-actions.fields-top .field>select{width:100%}.row-actions.fields-top>.btn{margin-top:1.55rem}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 55%,transparent) transparent}.table-wrap::-webkit-scrollbar{height:6px;width:6px}.table-wrap::-webkit-scrollbar-track{background:transparent}.table-wrap::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 45%,transparent);border-radius:999px}.table-wrap::-webkit-scrollbar-button{display:none;width:0;height:0}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top}.table th{color:var(--muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.datatable{display:flex;flex-direction:column;gap:.75rem}.datatable-toolbar{display:flex;flex-wrap:wrap;gap:.65rem .85rem;align-items:flex-end}.datatable-search{display:flex;align-items:center;gap:.35rem;flex:1 1 12rem;min-width:10rem;background:color-mix(in srgb,var(--panel) 80%,#000);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.35rem .55rem}.datatable-search .material-symbols-outlined{font-size:1.1rem;color:var(--muted)}.datatable-search input{flex:1 1;border:0;background:transparent;color:inherit;font:inherit;outline:none;min-width:0}.datatable-filter,.datatable-pagesize{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem}.datatable-filter select,.datatable-pagesize select{min-width:8rem;background:color-mix(in srgb,var(--panel) 80%,#000);border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;padding:.4rem .5rem;font:inherit}.datatable-sort{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:inherit;cursor:pointer;padding:0}.datatable-sort:hover{color:var(--text,#e8eefc)}.datatable-sort.is-active{color:var(--accent)}.datatable-sort-ico{font-size:.7rem;opacity:.7}.datatable-footer{gap:.75rem;justify-content:space-between}.datatable-footer,.datatable-pager{display:flex;flex-wrap:wrap;align-items:center}.datatable-pager{gap:.35rem}.datatable-pager .btn{width:auto;min-width:2.1rem;padding:.35rem .55rem}.datatable-page-label{font-size:.85rem;min-width:6.5rem;text-align:center}.search-select{position:relative;width:100%}.search-select.is-disabled{opacity:.6;pointer-events:none}.search-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;background:color-mix(in srgb,var(--panel) 80%,#000);border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;font:inherit;padding:.55rem .65rem;cursor:pointer}.field .search-select-trigger:focus,.search-select.is-open .search-select-trigger{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));outline:none}.search-select.invalid .search-select-trigger{border-color:var(--danger,#f07178)}.search-select-chevron{font-size:1.15rem;color:var(--muted);transition:transform .15s ease}.search-select.is-open .search-select-chevron{transform:rotate(180deg)}.search-select-menu{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);max-height:16rem;display:flex;flex-direction:column;background:var(--md-sys-color-surface-container-high,#1a2333);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--elev-3,0 12px 32px rgba(0,0,0,.35));overflow:hidden}.search-select-search{display:flex;align-items:center;gap:.35rem;padding:.45rem .6rem;border-bottom:1px solid var(--line)}.search-select-search .material-symbols-outlined{font-size:1.05rem;color:var(--muted)}.search-select-search input{flex:1 1;border:0;background:transparent;color:inherit;font:inherit;outline:none;min-width:0}.search-select-options{list-style:none;margin:0;padding:.25rem;overflow-y:auto;max-height:12.5rem}.search-select-option{width:100%;display:flex;align-items:center;gap:.4rem;text-align:left;border:0;background:transparent;color:inherit;font:inherit;padding:.45rem .55rem;border-radius:6px;cursor:pointer}.search-select-option:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.search-select-option.is-active{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.search-select-check{font-size:.85rem;width:.9rem}.search-select-empty{padding:.65rem .55rem;font-size:.85rem}.datatable-filter .search-select,.datatable-pagesize .search-select{min-width:8rem}.field .search-select{margin-top:.35rem}.badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;background:var(--md-sys-color-surface-bright);border:1px solid var(--line);font-size:.75rem;font-weight:650}.badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--line));background:color-mix(in srgb,var(--ok) 12%,transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--line));background:color-mix(in srgb,var(--warn) 12%,transparent)}.badge.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line));background:color-mix(in srgb,var(--danger) 12%,transparent)}.muted{color:var(--muted)}.row-actions{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.qr{display:block;margin:.75rem auto;background:white;padding:.5rem;border-radius:12px}.crumbs{margin-bottom:.75rem;font-size:.88rem;color:var(--muted)}.crumb-sep{margin:0 .4rem;opacity:.5}.formula{margin-top:.75rem;padding:.7rem .85rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.check-results,.checklist,.compact-list,.gate-list,.map-legend{list-style:none;padding:0;margin:.5rem 0 0}.check-results li,.gate-list li{display:flex;gap:.75rem;align-items:flex-start;padding:.55rem 0;border-bottom:1px solid var(--line)}.checklist li,.compact-list li,.map-legend li{padding:.45rem 0;border-bottom:1px solid var(--line)}.json-block{margin:0;padding:1rem;overflow:auto;max-height:min(70vh,640px);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45;border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,var(--panel));white-space:pre}.record-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.75rem 1rem;gap:.75rem 1rem;margin:0}.record-field{display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,transparent);min-width:0}.record-field dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.record-field dd{margin:0;font-size:.95rem;overflow-wrap:anywhere}.mono,.record-field .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.record-field .wrap{white-space:pre-wrap}.source-highlight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.85rem}.source-highlight{display:flex;flex-direction:column;gap:.25rem}.source-highlight .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.source-highlight .v{font-size:1rem;font-weight:600;overflow-wrap:anywhere}.map-svg{width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--line)}.plot-wrap{position:relative;width:100%}.plot-svg{min-height:300px}.fleet-map{width:100%;border-radius:var(--radius-sm);border:1px solid var(--line);overflow:hidden;background:#0b1220;display:flex;flex-direction:column}.fleet-map-toolbar{gap:.45rem .75rem;justify-content:space-between;padding:.55rem .65rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--md-sys-color-surface-container-high) 92%,#000);z-index:5}.fleet-map-toolbar,.fleet-map-toolbar-group{display:flex;flex-wrap:wrap;align-items:center}.fleet-map-toolbar-group{gap:.35rem}.fleet-map-toolbar .btn{padding:.4rem .75rem;font-size:.82rem}.fleet-map-canvas{width:100%;height:min(64vh,680px);min-height:360px;z-index:1;cursor:-webkit-grab;cursor:grab}.fleet-map-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.fleet-google-canvas{cursor:default;position:relative}.fleet-google-map .fleet-map-canvas{background:#e8eaed}.fleet-map-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;align-items:center;padding:.45rem .75rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);background:color-mix(in srgb,var(--md-sys-color-surface) 88%,#000)}.fleet-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;vertical-align:middle}.fleet-legend-dot.unlocked{background:#6ea8ff}.fleet-legend-dot.locked{background:#f07178}.fleet-marker-wrap{background:transparent!important;border:none!important}.fleet-marker-pin{display:inline-flex;align-items:center;gap:.35rem;pointer-events:auto}.fleet-marker-dot{display:block;width:14px;height:14px;border-radius:50%;background:var(--pin,#6ea8ff);border:2px solid var(--ring,#0b1220);box-shadow:0 2px 8px rgba(0,0,0,.5);flex-shrink:0}.fleet-marker-pin.is-active .fleet-marker-dot{width:16px;height:16px;box-shadow:0 0 0 3px color-mix(in srgb,var(--pin) 45%,transparent),0 2px 10px rgba(0,0,0,.55)}.fleet-marker-label{font-size:11px;font-weight:700;color:#e8eefc;background:rgba(11,18,32,.88);border:1px solid color-mix(in srgb,var(--pin) 45%,#2a3750);border-radius:999px;padding:.1rem .45rem;white-space:nowrap;max-width:96px;overflow:hidden;text-overflow:ellipsis}.fleet-popup{color:#1a2336;min-width:160px;font-size:.85rem}.fleet-popup .muted{color:#5a6a84}.fleet-popup a{color:#1a4b9c}.fleet-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);grid-gap:1rem;gap:1rem;align-items:start}.fleet-map-side{min-width:0}.fleet-control-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem;max-height:min(64vh,680px);overflow:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 55%,transparent) transparent}.fleet-control-list::-webkit-scrollbar{width:6px}.fleet-control-list::-webkit-scrollbar-track{background:transparent}.fleet-control-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 45%,transparent);border-radius:999px}.fleet-control-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent) 55%,var(--muted))}.fleet-control-list::-webkit-scrollbar-button{display:none;width:0;height:0}.fleet-control-item{width:100%;text-align:left;border:1px solid var(--line);background:var(--md-sys-color-surface-container-high);color:var(--text);border-radius:var(--radius-sm);padding:.65rem .75rem;cursor:pointer;display:grid;grid-gap:.15rem;gap:.15rem;transition:border-color .16s var(--ease),background .16s var(--ease)}.fleet-control-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.fleet-control-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--md-sys-color-surface-container-high))}.fleet-control-item.locked{border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.fleet-control-meta{font-size:.78rem;color:var(--muted)}.leaflet-container{font:inherit;background:#0b1220}.leaflet-popup-content-wrapper{border-radius:10px;box-shadow:var(--elev-2)}.leaflet-control-attribution{font-size:10px;background:rgba(11,18,32,.75)!important;color:#9db0d0!important}.leaflet-control-attribution a{color:#8ab4ff!important}.leaflet-bar a{background:var(--md-sys-color-surface-container-high)!important;color:var(--text)!important;border-bottom-color:var(--line)!important}.leaflet-bar a:hover{background:color-mix(in srgb,var(--accent) 18%,var(--md-sys-color-surface-container-high))!important}.leaflet-control-scale-line{background:rgba(11,18,32,.75)!important;color:#e8eefc!important;border-color:#3a4a66!important}.plot-selection{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line)}.ping-list{display:grid;grid-gap:.75rem;gap:.75rem}.ping-card{border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.05rem;background:var(--md-sys-color-surface-container-high);box-shadow:var(--elev-1);transition:border-color .16s var(--ease),transform .16s var(--ease)}.ping-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));transform:translateY(-1px)}.ping-card-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.ping-kicker{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:.25rem}.ping-id{font-size:.78rem;color:var(--muted);background:var(--md-sys-color-surface);border:1px solid var(--line);border-radius:8px;padding:.25rem .5rem}.ping-meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin-top:.65rem;color:var(--muted);font-size:.86rem}.snack,.toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;max-width:min(420px,calc(100vw - 2rem));padding:.85rem 1.05rem;border-radius:12px;border:1px solid var(--line);background:var(--md-sys-color-surface-container-high);box-shadow:var(--elev-3);font-size:.9rem}.snack{position:static;margin-bottom:.75rem}.map-legend{list-style:none;padding:0;margin:.5rem 0 0}.stepup{margin-top:.25rem;padding-top:.25rem}.workbench{margin-bottom:1rem}.value-lg{font-size:clamp(1.35rem,4vw,1.8rem);font-weight:800}.mobile-only,.nav-scrim{display:none}.nav-scrim{position:fixed;inset:0;border:0;background:rgba(0,0,0,.45);z-index:25}@media (max-width:1280px) and (min-width:961px){.shell{grid-template-columns:240px 1fr}.main{padding:1.15rem 1.25rem 2rem}.appbar{padding:.75rem 1.25rem}.elevation-2,.panel{padding:1rem}}@media (max-width:960px){.shell{grid-template-columns:1fr}.shell-main{width:100%;max-width:100vw}.sidebar{position:fixed;left:0;top:0;width:min(300px,86vw);height:100dvh;transform:translateX(-105%);transition:transform .22s var(--ease);box-shadow:var(--elev-3)}.nav-open .sidebar{transform:translateX(0)}.nav-open .nav-scrim{display:block}.drawer-toggle,.icon-btn.drawer-toggle,.mobile-only{display:grid!important}.main{padding:1rem 1rem 1.75rem}.appbar{padding:.7rem 1rem;gap:.65rem;flex-wrap:nowrap}.appbar-left{flex:1 1 auto;gap:.5rem}.appbar-actions{flex:0 0 auto;flex-wrap:nowrap;gap:.35rem}.panel-head{flex-direction:column;align-items:stretch;gap:.75rem}.panel-head-actions{margin-left:0;width:100%;justify-content:flex-end}.panel-head-actions>.btn,.panel-head-actions>a.btn,.panel-head>.btn,.panel-head>a.btn{width:100%;justify-content:center}.fleet-map-layout{grid-template-columns:1fr;gap:.85rem}.fleet-control-list{max-height:280px}.grid-2,.grid-3{grid-template-columns:1fr}.recon-bar{flex-direction:column;align-items:flex-start;gap:.65rem}.table-wrap{margin:0 -.25rem;padding:0 .25rem}.table td,.table th{padding:.6rem .45rem;font-size:.85rem}.row-actions{gap:.4rem}.clock-controls .mini-input{width:48px}}@media (max-width:900px){h1{font-size:clamp(1.35rem,4.5vw,1.6rem)}.appbar{flex-wrap:wrap}.appbar-actions{width:100%;justify-content:flex-start}.btn-label{display:none}.btn-label-short{display:inline}.ping-card-top{flex-direction:column;align-items:stretch}.ping-id{align-self:flex-start;word-break:break-all}.fleet-map-canvas{height:min(55vh,520px);min-height:280px}.check-results li,.gate-list li{flex-wrap:wrap}.elevation-2,.panel{margin-bottom:.85rem}.grid,.kpi-dense{gap:.7rem}}@media (max-width:600px){.main{padding:.85rem .75rem 1.75rem}.appbar{padding:.6rem .75rem;gap:.5rem}.appbar-email{display:none}.appbar-env{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}.appbar-user{font-size:.9rem}.elevation-2,.panel{padding:.85rem;border-radius:14px}.kpi{padding:.85rem}.grid,.kpi-dense{grid-template-columns:1fr 1fr;gap:.55rem}.btn{padding:.5rem .85rem}.mini-input{width:52px}.snack,.toast{right:.75rem;left:.75rem;bottom:.75rem;max-width:none}.auth-wrap{padding:1rem}.auth-card{padding:1.25rem;border-radius:18px}.crumbs{font-size:.8rem}.row-actions{gap:.35rem}.formula{font-size:.75rem;overflow-x:auto}.field{margin:.7rem 0}.brand{font-size:1rem}.sidebar{padding:1rem .7rem .85rem}}@media (max-width:380px){.grid,.kpi-dense{grid-template-columns:1fr}.appbar-user{font-size:.85rem}.appbar-env{max-width:36vw}}@media (max-height:520px) and (orientation:landscape){.sidebar{height:100dvh}.fleet-map-canvas{height:min(70vh,360px);min-height:220px}.appbar{padding-top:.45rem;padding-bottom:.45rem}.main{padding-top:.85rem;padding-bottom:1.25rem}}.pay-progress{display:flex;flex-direction:column;gap:.25rem;min-width:110px}.pay-progress .bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden}.pay-progress .bar-fill{height:100%;background:var(--ok);border-radius:inherit}.pay-progress .bar-fill.warn{background:var(--warn)}.appbar-user-link{text-decoration:none;color:inherit}.appbar-user-link:hover .appbar-name{text-decoration:underline;text-underline-offset:3px}.profile-hero{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.profile-avatar{width:3.25rem;height:3.25rem;border-radius:999px;display:grid;place-items:center;font-weight:700;font-size:1.25rem;background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);flex-shrink:0}.profile-name{font-size:1.15rem;font-weight:650}.perm-chips{display:flex;flex-wrap:wrap;gap:.4rem}.perm-group{margin-top:1rem}.perm-group h3{margin:0 0 .5rem;font-size:.95rem;text-transform:capitalize}.rbac-page-head{margin-bottom:1rem}.rbac-page-head p{margin:.35rem 0 0}.rbac-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.rbac-summary>div{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.rbac-summary strong{font-size:1.45rem;color:var(--text)}.rbac-summary span{color:var(--muted);font-size:.78rem}.rbac-section-copy{margin-top:-.25rem}.rbac-role-name{display:flex;align-items:center;gap:.7rem;min-width:180px}.rbac-role-name>span:last-child{display:flex;flex-direction:column;gap:.1rem}.rbac-role-name small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.role-monogram{width:2.25rem;height:2.25rem;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--accent);font-weight:800;background:color-mix(in srgb,var(--accent) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line))}.role-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem 1rem;gap:.75rem 1rem}.role-description{grid-column:1/-1}.field-help{color:var(--muted);font-size:.72rem;font-weight:400}.permission-editor-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 0 .75rem;border-bottom:1px solid var(--line)}.permission-editor-head h3,.permission-editor-head p{margin:0}.permission-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-top:.75rem}.permission-resource{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 84%,var(--bg))}.permission-resource-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 6%,transparent)}.permission-resource-head>div{display:flex;align-items:baseline;gap:.5rem;text-transform:capitalize}.permission-resource-head span{color:var(--muted);font-size:.72rem}.permission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.permission-option{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.65rem .75rem;cursor:pointer;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.permission-option:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.permission-option input{accent-color:var(--accent);width:1rem;height:1rem}.permission-option>span:not(.badge){display:flex;flex-direction:column;min-width:0;flex:1 1}.permission-option strong{text-transform:capitalize}.permission-option small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-editor-actions{position:-webkit-sticky;position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:.5rem;margin:1rem -1rem -1rem;padding:.75rem 1rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-compact{min-height:30px;padding:.3rem .65rem;font-size:.75rem}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.permission-filters{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr);grid-gap:1rem;gap:1rem}.permission-filters .field{margin:0}.permission-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.permission-catalog-group{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--elev-1)}.permission-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 6%,transparent)}.permission-catalog-head>div{display:flex;align-items:center;gap:.65rem}.permission-catalog-head h2{margin:0;font-size:1rem;text-transform:capitalize}.permission-catalog-head p{margin:.12rem 0 0;color:var(--muted);font-size:.72rem}.permission-catalog-head .material-symbols-outlined{color:var(--accent)}.permission-list{display:flex;flex-direction:column}.permission-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;grid-gap:.65rem;gap:.65rem;padding:.65rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--line) 58%,transparent)}.permission-row:last-child{border-bottom:0}.permission-row>div{display:flex;flex-direction:column;min-width:0}.permission-row strong{font-size:.82rem}.permission-row code{color:var(--muted);font-size:.72rem}.permission-row-meta{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.permission-action-icon{width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:1rem}.rbac-empty{text-align:center;padding:1.5rem}.rbac-empty>.material-symbols-outlined{display:block;color:var(--muted);font-size:2rem}.rbac-empty p{margin:.3rem 0 .85rem}@media (max-width:900px){.rbac-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-catalog,.permission-matrix{grid-template-columns:1fr}}@media (max-width:600px){.permission-filters,.role-form-grid{grid-template-columns:1fr}.role-description{grid-column:auto}.permission-options{grid-template-columns:1fr}.rbac-summary{gap:.5rem}.permission-row{grid-template-columns:2rem minmax(0,1fr)}.permission-row-meta{grid-column:2;justify-content:flex-start}}.toast{position:fixed;bottom:1.25rem;right:1.25rem;z-index:40;padding:.75rem 1rem;border-radius:var(--radius);background:var(--ink);color:var(--paper,#fff);box-shadow:var(--elev-2);max-width:min(360px,90vw)}.theme-toggle .btn-label{display:none}@media (min-width:720px){.theme-toggle .btn-label{display:inline}}.btn.danger-outline{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.btn.danger-outline:hover{background:color-mix(in srgb,var(--danger) 16%,transparent)}.fleet-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.fleet-row-actions .btn{width:auto}.kpi-unit{font-size:.75rem;font-weight:600;margin-left:.25rem;color:var(--muted)}.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-gap:.85rem;gap:.85rem}.coverage-card{padding:.9rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb,var(--md-sys-color-surface-bright) 55%,transparent)}.coverage-card-top{display:flex;align-items:center;gap:.55rem;margin-bottom:.55rem}.coverage-card-top .material-symbols-outlined{color:var(--accent);font-size:1.35rem}.policy-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.policy-stat{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 70%,var(--bg))}.policy-stat strong{font-size:1.05rem;letter-spacing:-.02em}.field-check{flex-direction:row!important;align-items:center;gap:.65rem;grid-column:1/-1}.field-check input{width:auto;accent-color:var(--accent)}.evidence-split{align-items:stretch}.audit-action .badge{font-weight:600}html[data-theme=light] .sidebar{background:color-mix(in srgb,var(--md-sys-color-surface) 96%,#fff)}html[data-theme=light] .brand-mark{box-shadow:0 8px 20px rgba(26,86,219,.22)}html[data-theme=light] .nav a.active,html[data-theme=light] .nav-sublink.active{background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent)}