:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f1ec;background:#121114;font-synthesis:none;--bg: #121114;--panel: #1b191e;--panel-raised: #211f25;--panel-soft: #28252c;--border: #343039;--border-strong: #46404b;--text: #f5f1ec;--muted: #a8a2ad;--subtle: #77717c;--accent: #b99cff;--accent-strong: #8c66eb;--accent-soft: #2c253b;--success: #73d5a6;--warning: #efc36a;--danger: #ff8f91;--radius: 14px;--shadow: 0 24px 70px rgb(0 0 0 / 28%)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgb(185 156 255 / 32%);outline-offset:2px}h1,h2,h3,p{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;left:16px;top:-80px;padding:10px 14px;color:#17131d;background:#fff;border-radius:8px}.skip-link:focus{top:16px}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 18px 20px;border-right:1px solid var(--border);background:linear-gradient(180deg,#18161b,#141316)}.brand-mark{display:flex;align-items:center;gap:11px;padding:0 10px 28px}.brand-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#d8c7ff,#8c66eb);color:#1a1521;font-weight:900;box-shadow:0 10px 30px #8c66eb42}.brand-copy{min-width:0}.brand-copy strong{display:block;font-size:14px;letter-spacing:-.2px}.brand-copy span{color:var(--subtle);font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.nav-section-label{padding:7px 11px;color:#6e6873;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.nav-list{display:grid;gap:4px;margin:0 0 20px;padding:0;list-style:none}.nav-link{display:flex;align-items:center;gap:11px;min-height:43px;padding:9px 11px;border:1px solid transparent;border-radius:10px;color:#aaa4ae;font-size:12px;font-weight:550}.nav-link:hover{color:#fff;background:#ffffff09}.nav-link.active{color:#f3ebff;border-color:#604f813b;background:#a57cee14}.nav-link svg{width:17px;height:17px}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.admin-chip{display:flex;align-items:center;gap:10px;padding:8px}.admin-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800}.admin-chip__copy{min-width:0;flex:1}.admin-chip__copy strong,.admin-chip__copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-chip__copy strong{font-size:11px;font-weight:650}.admin-chip__copy span{color:var(--subtle);font-size:9px;margin-top:2px}.logout-button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;color:var(--muted);background:transparent}.logout-button:hover{color:var(--danger);background:#ff8f9114}.mobile-header{display:none}.content-column{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(22px,4vw,52px);border-bottom:1px solid var(--border);background:#121114db;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.topbar-copy strong{display:block;font-size:13px}.topbar-copy span{color:var(--subtle);font-size:10px}.environment-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:9px;letter-spacing:.7px;text-transform:uppercase}.environment-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 10px #73d5a6a6}.page-main{width:min(1460px,100%);margin:0 auto;padding:38px clamp(22px,4vw,52px) 70px}.route-loader,.state-panel{min-height:240px;display:grid;place-items:center;text-align:center;color:var(--muted)}.route-loader:before,.spinner{content:"";width:24px;height:24px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid var(--border-strong);border-radius:9px;background:var(--panel-soft);color:var(--text);font-size:11px;font-weight:650}.button:hover{border-color:#645a6b;background:#302c34}.button--primary{color:#17131d;border-color:#cab6ff;background:#cab6ff}.button--primary:hover{border-color:#dbcaff;background:#dbcaff}.button--danger{color:#ffd8d8;border-color:#ff8f9152;background:#ff8f911a}.button--ghost{border-color:transparent;background:transparent;color:var(--muted)}.icon-button{width:40px;padding:0}.mobile-backdrop{display:none}.access-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#30263f 0,transparent 42%),var(--bg)}.access-card{width:min(520px,100%);padding:42px;text-align:center;border:1px solid var(--border);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.access-card>svg{color:var(--accent);margin-bottom:22px}.access-card .eyebrow{color:var(--accent);font-size:10px;font-weight:750;letter-spacing:1.7px;text-transform:uppercase}.access-card h1{font-size:clamp(25px,4vw,38px);letter-spacing:-1.2px}.access-card p:not(.eyebrow){color:var(--muted);line-height:1.7}@media(max-width:960px){.app-shell{display:block}.sidebar{position:fixed;z-index:50;left:0;top:0;width:min(300px,86vw);transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow)}.app-shell.menu-open .sidebar{transform:translate(0)}.mobile-backdrop{position:fixed;z-index:40;inset:0;display:block;border:0;background:#00000094;opacity:0;pointer-events:none;transition:opacity .2s ease}.app-shell.menu-open .mobile-backdrop{opacity:1;pointer-events:auto}.mobile-header{display:flex;align-items:center;gap:10px}.mobile-header .brand-symbol{width:30px;height:30px}.desktop-title{display:none}}@media(max-width:640px){.topbar{height:62px;padding:0 16px}.page-main{padding:25px 16px 48px}.environment-pill{padding:6px 8px;font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.page-stack{display:grid;gap:1.5rem}.page-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.page-header h1,.page-header h2,.card h2,.card h3{margin:0}.eyebrow{color:var(--accent, #9af36f);font-size:.72rem;font-weight:800;letter-spacing:.14em;margin:0 0 .45rem;text-transform:uppercase}.muted,.meta{color:var(--text-muted, #9299a7)}.muted{margin:.45rem 0 0}.meta{font-size:.8rem}.card{background:var(--surface, #15171b);border:1px solid var(--border, #2a2d33);border-radius:1rem;padding:1.25rem}.card-header,.toolbar,.pagination,.row-actions,.inline-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.metric{min-height:7.5rem}.metric-value{display:block;font-size:clamp(1.55rem,3vw,2.35rem);font-weight:800;letter-spacing:-.04em;margin-top:1.1rem}.split-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;min-width:680px;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border, #2a2d33);padding:.9rem .75rem;text-align:left;vertical-align:top}.data-table th{color:var(--text-muted, #9299a7);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.data-table tbody tr:last-child td{border-bottom:0}.data-table a{color:inherit;font-weight:700}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:.45rem}.field-wide{grid-column:1 / -1}.field label,.field>span{color:var(--text-muted, #9299a7);font-size:.78rem;font-weight:700}.field input,.field select,.field textarea,.search-input{background:var(--input, #0e1013);border:1px solid var(--border, #343842);border-radius:.7rem;color:var(--text, #f5f7fa);font:inherit;min-height:2.75rem;padding:.7rem .85rem}.field textarea{min-height:6rem;resize:vertical}.button{align-items:center;background:var(--accent, #9af36f);border:1px solid transparent;border-radius:.7rem;color:#0b1009;cursor:pointer;display:inline-flex;font:inherit;font-weight:800;justify-content:center;min-height:2.65rem;padding:.65rem 1rem;text-decoration:none}.button:hover:not(:disabled){filter:brightness(1.06)}.button:disabled{cursor:not-allowed;opacity:.48}.button-secondary{background:transparent;border-color:var(--border, #343842);color:var(--text, #f5f7fa)}.button-danger{background:#ff646f;color:#190205}.button-small{min-height:2.2rem;padding:.45rem .75rem}.status{align-items:center;border:1px solid var(--border, #343842);border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:800;gap:.4rem;padding:.28rem .6rem}.status:before{background:currentColor;border-radius:50%;content:"";height:.45rem;width:.45rem}.status-success{color:#85e77c}.status-warning{color:#ffbd59}.status-danger{color:#ff747d}.status-neutral{color:#aab0bc}.state-panel{align-items:flex-start;background:color-mix(in srgb,var(--surface, #15171b) 88%,transparent);border:1px dashed var(--border, #343842);border-radius:.9rem;display:grid;gap:.5rem;justify-items:start;min-height:8rem;padding:1.4rem;place-content:center;text-align:left}.state-panel strong,.state-panel p{margin:0}.state-error{border-color:color-mix(in srgb,#ff646f 55%,transparent)}.state-warning{border-color:color-mix(in srgb,#ffbd59 55%,transparent)}.notice{background:color-mix(in srgb,var(--accent, #9af36f) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent, #9af36f) 30%,transparent);border-radius:.8rem;margin:0;padding:.85rem 1rem}.notice-error{background:color-mix(in srgb,#ff646f 10%,transparent);border-color:color-mix(in srgb,#ff646f 40%,transparent)}.detail-list{display:grid;gap:0;margin:0}.detail-list>div{align-items:baseline;border-bottom:1px solid var(--border, #2a2d33);display:grid;gap:1rem;grid-template-columns:11rem 1fr;padding:.75rem 0}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--text-muted, #9299a7);font-size:.78rem;font-weight:700}.detail-list dd{margin:0;overflow-wrap:anywhere}.confirm-panel{border-color:color-mix(in srgb,#ffbd59 45%,var(--border, #343842))}.confirm-panel h3,.confirm-panel p{margin-top:0}.code-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;overflow-wrap:anywhere}.progress{background:var(--input, #0e1013);border-radius:999px;height:.55rem;margin-top:.75rem;overflow:hidden}.progress>span{background:var(--accent, #9af36f);display:block;height:100%}.login-page{align-items:center;display:grid;min-height:100dvh;padding:1.25rem;place-items:center}.login-card{max-width:28rem;padding:2rem;width:100%}.login-brand{font-size:1.05rem;font-weight:900;letter-spacing:-.03em;margin-bottom:2.5rem}.login-card form{display:grid;gap:1rem;margin-top:1.5rem}.login-card .button{width:100%}.checkbox-field{align-items:center;color:var(--text-muted, #9299a7);display:flex;font-size:.85rem;gap:.55rem}.skeleton{animation:skeleton-pulse 1.4s ease-in-out infinite;background:linear-gradient(90deg,#1d2025 25%,#282c33,#1d2025 75%);background-size:200% 100%;border-radius:.65rem;height:5.5rem}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:920px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid{grid-template-columns:1fr}}@media(max-width:620px){.page-header{display:grid}.metric-grid,.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.detail-list>div{grid-template-columns:1fr;gap:.3rem}.toolbar>*,.toolbar .search-input{width:100%}.pagination{align-items:stretch}.pagination .button{flex:1}.card{padding:1rem}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}
