.global-alerts{position:fixed;z-index:2147483000;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:grid;width:min(420px,calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));gap:10px;pointer-events:none}.global-alert{display:flex;align-items:flex-start;gap:12px;padding:15px 12px 15px 16px;border:1px solid #a53d48;border-radius:12px;background:#351b22;box-shadow:0 18px 45px #0803047a;color:#fff6f6;pointer-events:auto}.global-alert__content{min-width:0;flex:1}.global-alert__content strong{display:block;font-size:13px;line-height:1.35}.global-alert__content p{margin:5px 0 0;overflow-wrap:anywhere;color:#f4d9dc;font-size:12px;line-height:1.5}.global-alert__close{display:grid;width:34px;height:34px;margin:-4px -2px -4px 0;flex:0 0 auto;place-items:center;border:0;border-radius:7px;background:transparent;color:#fff6f6}.global-alert__close:hover{background:#ffffff24}.global-alert__close:focus-visible{outline:3px solid #fff;outline-offset:2px}@media(max-width:520px){.global-alerts{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:min(420px,calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)))}}: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);font-size:14px;line-height:1.5}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}.page-header h1{font-size:clamp(1.5rem,2.1vw,1.75rem);line-height:1.15;letter-spacing:-.035em}.page-header h2{font-size:1.4rem;line-height:1.2}.card h2{font-size:1rem;line-height:1.25}.card h3{font-size:.95rem;line-height:1.3}.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;font-size:13px;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:6.5rem}.metric-value{display:block;font-size:clamp(1.25rem,1.7vw,1.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.2;margin-top:.75rem}.split-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panels{align-items:start}@media(min-width:921px){.dashboard-audit .data-table{min-width:0;table-layout:fixed}.dashboard-audit .data-table th:nth-child(1){width:31%}.dashboard-audit .data-table th:nth-child(2){width:46%}.dashboard-audit .data-table th:nth-child(3){width:23%}.dashboard-audit .data-table td{overflow-wrap:anywhere}}.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}.subscription-source-grid{align-items:start}.manual-access-actions{justify-content:flex-start}.subscription-user-search-field{flex:1 1 20rem}.subscription-user-search-field .search-input{width:100%}.modal-backdrop{align-items:center;background:#000000b8;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:1.5rem;position:fixed;z-index:1000}.modal-card{box-shadow:0 1.5rem 5rem #0000007a;margin:auto;max-width:36rem;width:100%}.modal-card form{gap:1rem}.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;background:#1b1212;color:#faf9f6;display:grid;min-height:100dvh;overflow:hidden;padding:clamp(1.5rem,5vw,4rem);place-items:center;position:relative;isolation:isolate}.login-page:before{background:radial-gradient(circle at 15% 12%,rgb(255 255 255 / 4%),transparent 34%),radial-gradient(circle at 82% 88%,rgb(91 57 57 / 18%),transparent 38%);content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}.login-card{background:transparent;border:0;border-radius:0;max-width:24.375rem;padding:0;width:100%}.login-brand{color:#faf9f6;font-size:1.4rem;font-weight:900;letter-spacing:-.045em;margin-bottom:4rem}.login-brand .muted{color:#bbafac}.login-card .eyebrow{color:#bbafac;font-size:.64rem;letter-spacing:.2em;margin-bottom:1rem}.login-card h1{color:#faf9f6;font-size:clamp(1.6rem,4vw,2rem);letter-spacing:-.04em;line-height:1.15;margin-bottom:.75rem}.login-card>.muted{color:#bbafac;font-size:.83rem;line-height:1.75;margin:0}.login-card form{display:grid;gap:1.25rem;margin-top:2rem}.login-card .field{gap:.5rem}.login-card .field>span{color:#faf9f6;font-size:.75rem;font-weight:600}.login-card .field input{background:#271d1d;border-color:#796866;border-radius:.5rem;color:#faf9f6;min-height:3.1rem;padding:0 .95rem}.login-card .field input::placeholder{color:#b4a5a2}.login-card .field input:focus{border-color:#faf9f6;box-shadow:0 0 0 3px #faf9f61a;outline:0}.login-card .login-submit{background:#faf9f6;border-color:#faf9f6;border-radius:.5rem;color:#111;font-size:.78rem;font-weight:600;margin-top:.5rem;min-height:3.1rem;width:100%}.login-card .login-submit:hover:not(:disabled){background:#eee;border-color:#eee;filter:none}.login-card .login-submit:focus-visible{outline-color:#faf9f6}@media(max-width:520px){.login-page{align-items:start;padding:2rem 1.5rem 7rem}.login-card{margin-top:1rem}.login-brand{margin-bottom:3.25rem}.login-card .field input{font-size:1rem;min-height:3.25rem}.login-card .login-submit{font-size:.9rem;min-height:3.25rem}}.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}}
