:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e8edf5;background:#0b0f15;color-scheme:dark;--bg:#0b0f15;--surface:#121925;--surface2:#0f141e;--border:#263246;--muted:#8794a8;--text:#e8edf5;--accent:#4d7cff;--radius:14px}*{box-sizing:border-box}html,body{margin:0;min-width:0;background:var(--bg)}body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.topbar{min-height:64px;padding:10px clamp(12px,2vw,30px);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#111722;border-bottom:1px solid #273143;position:relative;z-index:30}.brand-head{display:flex;align-items:center;gap:10px;min-width:0}.brand-head strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-logo{display:block;width:auto;height:38px;max-width:min(220px,38vw);object-fit:contain}.version{color:#8794a8;font-size:.8rem;white-space:nowrap}.user{color:#a9b5c7;white-space:nowrap}.nav-toggle{display:none;align-items:center;gap:7px;background:#1a2331;border:1px solid #39465c;color:#eef4ff;border-radius:9px;padding:9px 12px}.nav{display:flex;align-items:center;gap:6px;padding:8px clamp(12px,2vw,30px);background:var(--surface2);border-bottom:1px solid #202a3a;white-space:nowrap;min-width:0;position:relative;z-index:25}.nav a,.nav button{color:#dce5f2;text-decoration:none;background:transparent;border:0;padding:9px 10px;border-radius:8px;cursor:pointer}.nav a:hover,.nav button:hover,.nav a.active{background:#1a2331}.nav a.active{box-shadow:inset 0 -2px 0 var(--accent);color:#fff}.nav form{margin-left:auto}.container{width:100%;max-width:none;margin:0;padding:clamp(14px,2vw,30px);flex:1;min-width:0}h1{font-size:clamp(1.45rem,2vw,1.9rem);margin:0 0 22px}h2{font-size:1.15rem;margin:0 0 14px}h3{margin-top:20px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.cards.six{grid-template-columns:repeat(6,minmax(0,1fr))}.cards article,.cards .card,.panel,.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;min-width:0}.cards article>span,.cards .card>span{display:block;color:#8f9bae;font-size:.86rem}.cards strong{display:block;font-size:clamp(1.45rem,2.2vw,2rem);margin-top:5px;overflow-wrap:anywhere}.cards small{color:#7d899b}.smallstrong{font-size:1rem!important;overflow-wrap:anywhere}.panel{margin-bottom:18px;overflow-x:auto}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.panel-head p{margin:3px 0 0;color:#8996aa}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;align-items:end}.grid-form label,.stack label,.form-row label{display:grid;gap:6px;color:#aab6c8;min-width:0}.grid-form .actions{grid-column:1/-1}.filter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.table-scroll,.tablewrap,.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.table-scroll table,.tablewrap table,.table-wrap table{min-width:850px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #273143;vertical-align:top;max-width:42rem}th{color:#8996aa;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}td{overflow-wrap:anywhere}.ip-cell,.ip-cell code,.nowrap{white-space:nowrap;overflow-wrap:normal;word-break:normal}.num-cell{white-space:nowrap;font-variant-numeric:tabular-nums}button,.primary,select,input,textarea{font:inherit}button,.button-link{border:1px solid #3b4a62;background:#1b2636;color:#e6edf7;border-radius:8px;padding:9px 12px;cursor:pointer}.button-link{display:inline-block;text-decoration:none;font-size:.9rem}.primary{background:#285ce7;border-color:#376af2}.danger{background:#681f2b;border-color:#a53b4c}.stack{display:grid;gap:14px}.stack input,.stack select,.stack textarea,.grid-form input,.grid-form select,.form-row input,.form-row select{width:100%;min-width:0;padding:10px 11px;border:1px solid #34435a;border-radius:8px;background:#0d131d;color:#eef3fb}.notice{padding:12px 14px;border-radius:10px;margin-bottom:16px}.notice.ok{background:#112e25;border:1px solid #255c49}.notice.error{background:#35171d;border:1px solid #6e2a39}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.78rem;white-space:nowrap}.badge.good,.status-online{background:#143429;color:#83d8b3}.badge.bad,.status-offline,.status-revoked{background:#3d1d23;color:#f0a2ad}.badge.warn,.status-degraded{background:#493717;color:#f4cd78}.status-pending,.status-disabled{background:#283142;color:#aebbd0}.muted{color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.danger-zone{border-color:#5a2630}.login-card{max-width:430px;margin:8vh auto}.login-card h1{margin-bottom:4px}.status-list{line-height:1.7}code,pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#c9d7eb}.break-all{overflow-wrap:anywhere}canvas{display:block;width:100%;max-width:100%;min-height:220px;background:#0d131d;border-radius:10px;border:1px solid #202b3c}.journal{max-height:520px;overflow:auto;background:#0a1018;border:1px solid #202b3c;border-radius:10px;padding:14px;font-size:.78rem;line-height:1.45}.inline-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-form select,.inline-form input{padding:9px;border:1px solid #34435a;border-radius:8px;background:#0d131d;color:#eef3fb}.inline-form label{display:flex;align-items:center;gap:6px;color:#aab6c8}.form-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.fleet-table small{color:#8794a8}.fleet-table a{color:#dce8ff;text-decoration:none}.fleet-table a:hover{text-decoration:underline}.analytics-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:9px;color:#8794a8}.analytics-hover{margin-top:8px;min-height:1.4em}.analytics-panel canvas{cursor:crosshair}.ip-intel{display:block;margin-top:6px;max-width:36rem;color:#9eb0c7;font-size:.78rem;line-height:1.35}.ip-intel.ip-intel-loaded{color:#c7d5e8}.ip-intel-details{max-height:260px;overflow:auto}.qr-code{display:block;width:min(260px,100%);height:auto;background:#fff;padding:8px;border-radius:12px;margin:12px 0}.ticket-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px}.ticket-thread{display:grid;gap:12px}.ticket-event{padding:12px;border:1px solid #2a374b;border-radius:10px;background:#0e151f}.ticket-event header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.footer{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:18px clamp(12px,2vw,30px);border-top:1px solid #202a3a;color:#7f8ca0;background:#0d121a}.footer a{color:#9ebcff}.nav.nav-compact{display:none}.topbar.nav-compact .nav-toggle{display:inline-flex}.topbar.nav-compact+nav.nav{display:none}.topbar.nav-compact+nav.nav.open{display:flex;position:absolute;top:64px;left:0;right:0;max-height:calc(100vh - 64px);overflow:auto;flex-direction:column;align-items:stretch;padding:12px 16px;box-shadow:0 20px 35px rgba(0,0,0,.45)}.topbar.nav-compact+nav.nav.open a,.topbar.nav-compact+nav.nav.open button{width:100%;text-align:left}.topbar.nav-compact+nav.nav.open form{margin:0;width:100%}
@media(max-width:1500px){.topbar .nav-toggle{display:inline-flex}.nav{display:none}.nav.open{display:flex;position:absolute;top:64px;left:0;right:0;max-height:calc(100vh - 64px);overflow:auto;flex-direction:column;align-items:stretch;padding:12px 16px;box-shadow:0 20px 35px rgba(0,0,0,.45)}.nav.open a,.nav.open button{width:100%;text-align:left}.nav.open form{margin:0;width:100%}.cards.six{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.ticket-grid{grid-template-columns:1fr}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.user{display:none}}
@media(max-width:620px){.topbar{min-height:58px}.brand-logo{height:32px}.version{display:none}.container{padding:14px 10px}.cards,.cards.six{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.panel,.cards article,.cards .card{padding:14px}.grid-form{grid-template-columns:1fr}.nav.open{top:58px;max-height:calc(100vh - 58px)}th,td{padding:9px 8px}.footer{justify-content:flex-start}}

/* 0.0.0.0.49 responsive/enterprise ACP contract */
.ban-filters{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.ban-table{min-width:1180px}.control-plane-table{min-width:1650px}.ticket-list{display:grid;gap:10px}.ticket-card{display:flex;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);background:#0e151f}.ticket-card:hover{border-color:#466081;background:#121c29}.ticket-card>div{display:grid;gap:5px;min-width:0}.ticket-card>div:last-child{text-align:right;justify-items:end}.ticket-card small{color:var(--muted)}dl{display:grid;grid-template-columns:minmax(110px,.4fr) minmax(0,1fr);gap:8px 14px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.branding-preview{height:auto;max-height:100px;max-width:min(400px,100%)}.ip-intel-details summary{cursor:pointer}.ip-intel-details pre{font-size:.72rem;max-width:min(680px,80vw);max-height:300px;overflow:auto}.topbar.nav-compact{padding-right:12px}.topbar.nav-compact .user{margin-left:auto}.nav-toggle{white-space:nowrap}
@media(max-width:1500px){.topbar .nav-toggle{display:inline-flex}.nav{display:none}.nav.open{display:flex;position:absolute;top:64px;left:0;right:0;max-height:calc(100vh - 64px);overflow:auto;flex-direction:column;align-items:stretch;padding:12px 16px;box-shadow:0 20px 35px rgba(0,0,0,.45)}.nav.open a,.nav.open button{width:100%;text-align:left}.nav.open form{margin:0;width:100%}}
@media(max-width:420px){.topbar{gap:8px}.brand-head{max-width:calc(100% - 78px)}.brand-head strong{font-size:.9rem}.nav-toggle{padding:8px 9px;font-size:.85rem}.container{padding:10px 8px}.panel{border-radius:10px}.ticket-card{flex-direction:column}.ticket-card>div:last-child{text-align:left;justify-items:start}canvas{min-height:190px}}


/* 0.0.0.0.54 operator acceptance: metric integrity + enterprise policy forms */
.metric-number{display:flex!important;align-items:baseline;gap:.22em;white-space:nowrap}.metric-number>span{display:inline!important}.metric-unit{font-size:.7em;color:inherit!important}.policy-intro{margin:-8px 0 18px;color:#a8b4c6;max-width:110rem}.policy-section{display:grid;gap:16px}.policy-section+.policy-section{margin-top:22px}.policy-section-head{display:grid;gap:5px;margin-bottom:2px}.policy-section-head h2,.policy-section-head h3{margin:0}.policy-section-head p{margin:0;color:var(--muted);max-width:100rem}.policy-form{display:grid;gap:18px}.policy-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 16px;align-items:start}.policy-field{display:grid;gap:7px;grid-column:span 3;min-width:0;color:#aab6c8}.policy-field.span-4{grid-column:span 4}.policy-field.span-6{grid-column:span 6}.policy-field.span-8{grid-column:span 8}.policy-field.span-12{grid-column:1/-1}.policy-field input,.policy-field select,.policy-field textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid #34435a;border-radius:8px;background:#0d131d;color:#eef3fb}.policy-field textarea{resize:vertical;line-height:1.45}.policy-check{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 11px;border:1px solid #2b394e;border-radius:8px;background:#0e151f;color:#d8e1ee}.policy-check input{width:auto}.policy-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:2px}.policy-rollout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(140px,.55fr));gap:14px 16px}.policy-divider{height:1px;background:#263246;margin:2px 0}.policy-subtitle{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#7f8da2;margin:0}.policy-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.policy-editor-grid>.panel{margin-bottom:0}.policy-editor-grid h3{margin:0}.policy-table-section{margin-top:22px}
@media(max-width:1200px){.policy-field{grid-column:span 4}.policy-field.span-4,.policy-field.span-6,.policy-field.span-8{grid-column:span 6}.policy-rollout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.policy-form-grid,.policy-rollout-grid,.policy-editor-grid{grid-template-columns:1fr}.policy-field,.policy-field.span-4,.policy-field.span-6,.policy-field.span-8,.policy-field.span-12{grid-column:1}.policy-actions>*{width:100%}}

/* 0.0.0.0.56 ordered navigation + dedicated account/footer controls */
.nav{overflow:visible}.nav-dashboard{font-weight:650}.nav-menu{position:relative;display:flex;align-items:center}.nav-menu-trigger{display:flex!important;align-items:center;gap:6px;white-space:nowrap}.nav-caret{font-size:.72em;color:#8fa0b8;transition:transform .14s ease}.nav-menu.contains-active>.nav-menu-trigger{background:#1a2331;box-shadow:inset 0 -2px 0 var(--accent);color:#fff}.nav-dropdown{display:none;position:absolute;top:100%;left:0;min-width:250px;max-width:min(360px,calc(100vw - 24px));padding:7px;background:#111925;border:1px solid #30405a;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.5);z-index:90}.nav-dropdown-right{left:auto;right:0}.nav-dropdown a,.nav-dropdown button{display:block;width:100%;text-align:left;padding:10px 11px!important;border-radius:7px}.nav-dropdown a,.nav-dropdown button{color:#dce5f2;text-decoration:none;background:transparent;border:0;cursor:pointer}.nav-dropdown a:hover,.nav-dropdown button:hover,.nav-dropdown a:focus-visible,.nav-dropdown button:focus-visible{background:#1a2331;color:#fff;outline:none}.nav-dropdown form{margin:0!important;width:100%}.nav-menu:hover>.nav-dropdown,.nav-menu:focus-within>.nav-dropdown,.nav-menu.open>.nav-dropdown{display:block}.nav-menu:hover>.nav-menu-trigger .nav-caret,.nav-menu:focus-within>.nav-menu-trigger .nav-caret,.nav-menu.open>.nav-menu-trigger .nav-caret{transform:rotate(180deg)}
.user-menu{margin-left:auto}.user-menu-trigger{color:#d6dfec;background:transparent;border:1px solid transparent;border-radius:9px;padding:9px 10px;cursor:pointer}.user-menu-trigger:hover,.user-menu.open>.user-menu-trigger,.user-menu:focus-within>.user-menu-trigger{background:#1a2331;border-color:#2d3b50}.user-dropdown{left:auto;right:0;top:100%;min-width:220px}.user-role{color:#8f9cb0;font-size:.88em}.footer .copyright{font-weight:600;color:#aeb9c9}.footer-extra:before{content:'·';margin-right:12px;color:#5d6a7d}.branding-live-preview{display:grid;gap:9px;padding:16px;border:1px solid #2d3b50;border-radius:10px;background:#0e151f;max-width:900px}
@media(max-width:1500px){.nav.open>.nav-menu{display:block;width:100%}.nav.open>.nav-menu>.nav-menu-trigger{width:100%;justify-content:space-between}.nav.open .nav-dropdown{position:static;min-width:0;max-width:none;margin:4px 0 7px;padding:5px 5px 5px 14px;box-shadow:none;background:#0d141f;border-color:#243247}.nav.open .nav-menu:not(.open)>.nav-dropdown{display:none}.nav.open .nav-menu.open>.nav-dropdown{display:block}.nav.open .nav-menu:hover>.nav-dropdown,.nav.open .nav-menu:focus-within>.nav-dropdown{display:none}.nav.open .nav-menu.open:hover>.nav-dropdown,.nav.open .nav-menu.open:focus-within>.nav-dropdown{display:block}.user-menu{display:flex}.user-dropdown{position:absolute}.nav-toggle{margin-left:0}}
@media(max-width:1000px){.user-role{display:none}.user-menu-trigger{padding:8px}.user-menu{margin-left:auto}}
@media(max-width:620px){.user-menu-trigger{max-width:140px;overflow:hidden;text-overflow:ellipsis}.footer-extra:before{display:none}.footer{gap:7px}.footer>*{width:100%}}
