:root{--xpyw-signal:#ffd21c;--xpyw-gold-highlight:#dfc184;--xpyw-burnished-gold:#d8ab56;--xpyw-circuit-bronze:#96783d;--xpyw-carbon:#13120e;--xpyw-black:#000;--xpyw-light-text:#f6f1df;--xpyw-muted-text:#b9b5a6;--xpyw-ink:#171713;--xpyw-panel:#f4f5f7;--xpyw-surface:#fff;--xpyw-surface-strong:#fbfbfc;--xpyw-success:#2f7d57;--xpyw-warning:#b36b00;--xpyw-danger:#b3393b;--xpyw-info:#376b8f;--xpyw-text:#111217;--xpyw-muted:#67665d;--xpyw-border:#dedbd0;--xpyw-border-strong:#c6bea9;--bg:var(--xpyw-panel);--surface:var(--xpyw-surface);--surface-subtle:#f0eee5;--border:var(--xpyw-border);--text:var(--xpyw-text);--muted:var(--xpyw-muted);--shadow:0 1px 2px #13120e14;--shadow-low:0 1px 2px #13120e14;--topbar-height:64px;--sidebar-width:248px;--sidebar-collapsed-width:76px}html,body{background:var(--xpyw-panel);min-height:100%;color:var(--xpyw-text);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--xpyw-signal);outline-offset:2px}.skip-link{background:var(--xpyw-signal);color:var(--xpyw-carbon);z-index:20;border-radius:6px;min-height:36px;padding:8px 12px;font-weight:800;transition:transform .12s;position:fixed;top:14px;left:14px;transform:translateY(-160%)}.skip-link:focus-visible{outline:3px solid var(--xpyw-carbon);outline-offset:2px;transform:translateY(0)}.app-shell{grid-template-columns:auto minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--xpyw-carbon);color:var(--xpyw-light-text);min-height:100vh;width:var(--sidebar-width);flex-direction:column;gap:20px;padding:16px 12px;transition:width .16s;display:flex;overflow:hidden}.sidebar-collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{align-items:center;gap:8px;min-width:0;display:flex}.brand{flex:auto;align-items:center;gap:12px;min-width:0;min-height:52px;padding:8px;display:flex}.brand-mark{object-fit:contain;background:#000;border:1px solid #ffd21c3d;border-radius:6px;width:36px;height:36px;padding:5px}.brand strong,.brand small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.brand small{color:var(--xpyw-muted-text);margin-top:1px;font-size:12px}.brand-text{min-width:0}.sidebar-toggle{color:var(--xpyw-muted-text);cursor:pointer;background:#ffffff0a;border:1px solid #ffd21c2e;border-radius:7px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{color:var(--xpyw-light-text);background:#ffd21c1a;outline:none}.sidebar-nav{flex:auto;align-content:start;gap:18px;min-width:0;min-height:0;display:grid}.sidebar-footer{color:#f6f1df7a;white-space:nowrap;border-top:1px solid #ffffff17;flex:none;justify-content:center;align-items:center;gap:5px;padding:14px 8px 2px;font-size:11px;line-height:1;display:flex}.sidebar-version-number{font-variant-numeric:tabular-nums}.sidebar-section{gap:6px;min-width:0;display:grid}.sidebar-section-label{color:#f6f1df8a;letter-spacing:0;text-transform:uppercase;margin:0;padding:0 10px;font-size:10px;font-weight:850;line-height:1}.sidebar-section-items{gap:4px;min-width:0;display:grid}.nav-link{color:var(--xpyw-muted-text);border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;min-width:0;min-height:40px;padding:6px 8px;display:flex;position:relative}.nav-link-icon{border-radius:7px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;transition:background-color .16s,color .16s;display:inline-flex}.nav-link-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:760;overflow:hidden}.nav-link:hover,.nav-link:focus-visible{color:var(--xpyw-light-text);background:#ffd21c1a;outline:none}.nav-link-active,.nav-link[aria-current=page]{box-shadow:inset 3px 0 0 var(--xpyw-signal), 0 1px 0 #00000024;color:var(--xpyw-light-text);background:linear-gradient(90deg,#ffd21c2e,#ffd21c12);border-color:#ffd21c47}.nav-link-active .nav-link-icon,.nav-link[aria-current=page] .nav-link-icon{background:var(--xpyw-signal);color:var(--xpyw-carbon)}.sidebar-collapsed .sidebar-header{justify-items:center;display:grid}.sidebar-collapsed .brand{flex:none;padding:8px 0}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-link-label,.sidebar-collapsed .sidebar-version-label{display:none}.sidebar-collapsed .sidebar-section{border-top:1px solid #ffffff17;padding-top:10px}.sidebar-collapsed .sidebar-section:first-child{border-top:0;padding-top:0}.sidebar-collapsed .sidebar-section-label{width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.sidebar-collapsed .nav-link{justify-content:center;padding:6px}.sidebar-collapsed .nav-link-active,.sidebar-collapsed .nav-link[aria-current=page]{box-shadow:inset 0 0 0 1px #ffd21c47}.main-region{min-width:0}.impersonation-banner{color:#3d3200;background:#fff4c2;border-bottom:1px solid #d9b400;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.impersonation-banner form{flex:none}.impersonation-banner button{color:#fff;cursor:pointer;background:#181600;border:0;border-radius:.5rem;padding:.55rem .8rem;font-weight:700}.topbar{border-bottom:1px solid var(--border);z-index:2;background:#ffffffdb;justify-content:flex-end;align-items:center;min-height:64px;padding:12px 28px;display:flex;position:sticky;top:0}.account-menu{position:relative}.account-menu summary{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:999px;align-items:center;gap:10px;max-width:320px;min-height:44px;padding:5px 14px 5px 6px;list-style:none;display:flex}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover,.account-menu summary:focus-visible{background:var(--surface-subtle);outline:2px solid var(--xpyw-burnished-gold);outline-offset:2px}.account-avatar{background:var(--xpyw-carbon);color:var(--xpyw-signal);border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:750;display:inline-flex}.account-identity{min-width:0;display:grid}.account-email{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.account-role{color:var(--muted);font-size:12px}.account-panel{background:var(--surface);border:1px solid var(--border);z-index:5;border-radius:8px;gap:10px;min-width:240px;margin-top:8px;padding:14px;display:grid;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #13120e29}.account-panel p{color:var(--muted);margin:0;font-size:12px}.account-signout{color:#4b3b06;font-weight:700}.account-signout:hover,.account-signout:focus-visible{outline:2px solid var(--xpyw-burnished-gold);outline-offset:2px;text-decoration:underline}.content-shell{max-width:1440px;margin:0 auto;padding:28px}.login-page{background:var(--xpyw-carbon);color:var(--xpyw-light-text);place-items:center;min-height:100vh;padding:32px;display:grid}.login-card{background:#000;border:1px solid #ffd21c3d;border-radius:8px;gap:18px;width:min(100%,420px);padding:28px;display:grid;box-shadow:0 18px 48px #00000052}.login-brand{align-items:center;gap:14px;min-width:0;display:flex}.login-brand img{background:var(--xpyw-carbon);object-fit:contain;border:1px solid #ffd21c4d;border-radius:8px;width:56px;height:56px;padding:8px}.login-brand h1,.login-note{margin:0}.login-brand h1{font-size:28px;line-height:1.15}.login-form{gap:12px;display:grid}.login-form input{color:var(--xpyw-light-text);font:inherit;background:#14130f;border:1px solid #ffd21c3d;border-radius:6px;width:100%;min-height:44px;padding:10px 12px}.login-form input::placeholder{color:var(--xpyw-muted-text)}.login-form input:focus-visible{border-color:var(--xpyw-signal);outline:none;box-shadow:0 0 0 3px #ffd21c38}.login-button{background:var(--xpyw-signal);color:var(--xpyw-carbon);cursor:pointer;font:inherit;border:0;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:44px;padding:8px 12px;font-weight:750;display:inline-flex}.login-button:hover,.login-button:focus-visible{background:var(--xpyw-gold-highlight);outline:none}.login-note,.login-link{color:var(--xpyw-muted-text);font-size:13px;line-height:1.45}.login-link{justify-self:start;font-weight:800;text-decoration:none}.login-link:hover,.login-link:focus-visible{color:var(--xpyw-signal);outline:none}.page-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:24px;display:flex}.page-title{gap:6px;display:grid}.eyebrow{color:var(--xpyw-circuit-bronze);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.page-title h1,.admin-empty-state h1{color:var(--xpyw-ink);margin:0;font-size:1.6rem;line-height:1.2}.page-title p,.admin-empty-state p{color:var(--xpyw-muted);max-width:720px;margin:0;line-height:1.55}.page-header-tools,.page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.page-header-tools{align-self:start}.console-section{border-top:1px solid var(--xpyw-border);gap:12px;padding-top:18px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-heading h2{color:var(--xpyw-ink);margin:0;font-size:1.08rem;line-height:1.25}.section-heading p{color:var(--xpyw-muted);max-width:880px;margin:4px 0 0;line-height:1.45}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.stat-card{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);box-shadow:var(--shadow-low);border-radius:8px;gap:9px;min-height:116px;padding:14px;display:grid}.stat-card-top{color:var(--xpyw-muted);justify-content:space-between;align-items:start;gap:8px;font-size:.78rem;font-weight:750;display:flex}.stat-card strong{color:var(--xpyw-ink);font-size:1.75rem;line-height:1}.stat-card p{color:var(--xpyw-muted);margin:0;font-size:.8rem;line-height:1.42}.dashboard-table-stack{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:18px;display:grid}.value-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px;display:grid}.value-item{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);box-shadow:var(--shadow-low);border-radius:8px;gap:5px;padding:12px;display:grid}.value-item dt{color:var(--xpyw-muted);font-size:.75rem;font-weight:750}.value-item dd{color:var(--xpyw-ink);overflow-wrap:anywhere;margin:0;font-size:.92rem;font-weight:750}.table-frame{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);box-shadow:var(--shadow-low);border-radius:8px;overflow:hidden}.table-scroll{overflow-x:auto}.table-scroll:focus-visible{outline-offset:-3px}.data-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.82rem}.data-table caption{color:var(--xpyw-muted);text-align:left;padding:10px 12px}.data-table th,.data-table td{border-top:1px solid var(--xpyw-border);text-align:left;vertical-align:top;padding:10px 12px}.data-table th{color:#2f3238;background:#f0f2f4;font-size:.75rem;font-weight:800}.data-table tr:hover td{background:#fafbfc}.numeric-cell{font-variant-numeric:tabular-nums;text-align:right!important}.status-pill{border:1px solid var(--xpyw-border);overflow-wrap:normal;white-space:nowrap;word-break:normal;border-radius:999px;align-items:center;max-width:100%;min-height:24px;padding:3px 8px;font-size:.74rem;font-weight:760;line-height:1.2;display:inline-flex}.status-pill-neutral{color:#30343b;background:#f3f4f6}.status-pill-good{color:#24533d;background:#edf8f2;border-color:#9ccdb9}.status-pill-warn{color:#6b5200;background:#fff8df;border-color:#e0c56d}.status-pill-danger{color:#8f2d2c;background:#fff0ef;border-color:#e7aaa8}.status-pill-info{color:#195260;background:#edf9fb;border-color:#a9d9e4}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem}.muted{color:var(--xpyw-muted)}.empty-state{border:1px dashed var(--xpyw-border);color:var(--xpyw-muted);background:#ffffffb3;border-radius:8px;padding:16px}.crud-panel{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);box-shadow:var(--shadow-low);border-radius:8px;gap:14px;margin-bottom:18px;padding:16px;display:grid}.auth-panel{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);box-shadow:var(--shadow-low);border-radius:8px;gap:14px;max-width:760px;padding:18px;display:grid}.auth-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-help{color:var(--xpyw-muted);margin:0;line-height:1.45}.auth-help a{color:var(--xpyw-info);font-weight:800}.crud-panel-heading{gap:4px;display:grid}.crud-panel-heading h2{color:var(--xpyw-ink);margin:0;font-size:1rem;line-height:1.25}.crud-panel-heading p{color:var(--xpyw-muted);max-width:880px;margin:0;font-size:.86rem;line-height:1.45}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.form-field{color:var(--xpyw-muted);gap:6px;font-size:.78rem;font-weight:760;display:grid}.form-field input,.form-field textarea{background:var(--xpyw-surface-strong);border:1px solid var(--xpyw-border-strong);color:var(--xpyw-ink);border-radius:7px;width:100%;min-width:0;min-height:40px;padding:0 10px}.form-field textarea{resize:vertical;min-height:180px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.45}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:var(--xpyw-danger);box-shadow:0 0 0 1px var(--xpyw-danger)}.form-field input:disabled,.form-field textarea:disabled,.form-field input[readonly]{color:var(--xpyw-muted);opacity:1;background:#f5f5f1}.form-field input:disabled,.form-field textarea:disabled{cursor:not-allowed}.form-field input[readonly]{cursor:default}.form-field-hint,.form-field-error{font-size:.75rem;font-weight:560;line-height:1.4}.form-field-hint{color:var(--xpyw-muted)}.form-field-error{color:var(--xpyw-danger);font-weight:720}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.crud-disabled,.crud-feedback{border-radius:8px;gap:4px;padding:12px;display:grid}.crud-disabled{border:1px dashed var(--xpyw-border-strong);color:var(--xpyw-muted);background:#f5f5f1}.crud-disabled strong{color:var(--xpyw-ink)}.crud-feedback{border:1px solid var(--xpyw-border);margin-bottom:14px}.crud-feedback-success{color:#24533d;background:#edf8f2;border-color:#9ccdb9}.crud-feedback-error{color:#8f2d2c;background:#fff0ef;border-color:#e7aaa8}.form-error-summary{color:#8f2d2c;background:#fff0ef;border:1px solid #e7aaa8;border-radius:8px;gap:6px;padding:12px;display:grid}.form-error-summary ul{gap:4px;margin:0;padding-left:20px;display:grid}.row-action-form{display:inline-flex}.unit-camera-panel{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);box-shadow:var(--shadow-low);border-radius:8px;gap:14px;margin-bottom:18px;padding:16px;display:grid}.unit-camera-actions{gap:10px;min-width:260px;display:grid}.unit-camera-action-form{grid-template-columns:minmax(140px,1fr) auto;align-items:end;gap:8px;display:grid}.policy-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.policy-card{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);box-shadow:var(--shadow-low);border-radius:8px;gap:8px;padding:12px;display:grid}.policy-card-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.policy-card p{color:var(--xpyw-muted);margin:0;line-height:1.45}.admin-panel{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);box-shadow:var(--shadow-low);border-radius:8px;padding:18px}.download-actions{flex-wrap:wrap;gap:10px;display:flex}.provisioning-instructions{gap:16px;display:grid}.provisioning-command{color:#e8eef6;overflow-wrap:anywhere;white-space:pre-wrap;background:#10151d;border:1px solid #263241;border-radius:8px;max-width:100%;margin:0;padding:16px;overflow-x:auto}.table-link{text-underline-offset:.2em;text-decoration:underline}.admin-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.button-primary,.button-secondary,.button-danger{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:.9rem;font-weight:800;display:inline-flex}.button-primary{background:var(--xpyw-carbon);color:var(--xpyw-light-text)}.button-primary:hover{background:var(--xpyw-black)}.button-secondary{background:var(--xpyw-surface);border-color:var(--xpyw-border-strong);color:var(--xpyw-ink)}.button-secondary:hover{background:#eeeade}.button-danger{color:#8f2d2c;background:#fff0ef;border-color:#e7aaa8}.button-danger:hover{background:#ffe4e2}.admin-empty-state{background:var(--xpyw-surface);border:1px solid var(--xpyw-border);border-radius:8px;align-content:center;gap:14px;min-height:360px;padding:32px;display:grid}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{gap:12px;width:100%;min-height:auto;padding:12px}.sidebar-collapsed{width:100%}.sidebar-header{justify-content:space-between}.sidebar-collapsed .sidebar-header{justify-items:stretch;display:flex}.sidebar-toggle{display:none}.sidebar-collapsed .brand{flex:auto;padding:8px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-link-label{display:block}.sidebar-nav{scrollbar-width:thin;flex:0 auto;gap:18px;padding-bottom:2px;display:flex;overflow-x:auto}.sidebar-footer{justify-content:flex-end;padding:8px}.sidebar-collapsed .sidebar-version-label{display:inline}.sidebar-section{border-top:0;flex:none;padding-top:0}.sidebar-collapsed .sidebar-section{border-top:0;padding-top:0}.sidebar-section-label,.sidebar-collapsed .sidebar-section-label{width:auto;height:auto;padding:0 8px;position:static;overflow:visible}.sidebar-section-items{gap:6px;display:flex}.nav-link{white-space:nowrap;flex:none;min-height:36px}.sidebar-collapsed .nav-link{justify-content:flex-start;padding:6px 8px}.nav-link-active,.nav-link[aria-current=page]{box-shadow:inset 0 -3px 0 var(--xpyw-signal), 0 1px 0 #00000024}.content-shell{padding:20px}.page-header{display:grid}.page-header-tools{justify-content:start}.span-4,.span-6,.span-8{grid-column:span 12}.stat-grid,.value-grid,.form-grid,.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.topbar{justify-content:flex-start;width:100vw;max-width:100vw;padding:10px 14px}.account-menu{min-width:0;max-width:100%}.account-menu summary{min-width:0;max-width:calc(100vw - 28px)}.account-identity{max-width:calc(100vw - 96px)}.main-region{max-width:100vw;overflow-x:hidden}.brand small{display:none}.content-shell{max-width:100vw;padding:16px;overflow-x:hidden}.login-page{padding:18px}.admin-empty-state{min-height:300px;padding:22px}.section-heading,.page-header{align-items:start;display:grid}.stat-grid,.value-grid,.form-grid,.policy-grid{grid-template-columns:1fr}.stat-card strong{font-size:1.5rem}.data-table{min-width:680px}}
