:root{--bg:#0f1117;--surface:#181b24;--surface-2:#1f2330;--border:#2a2f3d;--text:#e6e8ee;--text-muted:#9aa1b1;--primary:#4f7cff;--primary-hover:#3d68e8;--danger:#e5484d;--danger-hover:#d23438;--warning:#f5a524;--success:#30a46c;--radius:8px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;font-weight:600}.app-shell{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;height:56px;padding:0 1.5rem;display:flex}.topbar .brand{color:var(--text);font-weight:700}.topbar nav{gap:1rem;display:flex}.topbar nav a{color:var(--text-muted);padding:.25rem 0}.topbar nav a.active,.topbar nav a:hover{color:var(--text);text-decoration:none}.topbar .spacer{flex:1}.topbar .admin-id{color:var(--text-muted);font-size:13px}.container{max-width:1080px;margin:0 auto;padding:2rem 1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat .label{color:var(--text-muted);font-size:13px}.stat .value{margin-top:.25rem;font-size:1.75rem;font-weight:700}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.65rem .75rem}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:500}tbody tr:hover{background:var(--surface-2)}.badge{border-radius:999px;padding:.15rem .55rem;font-size:12px;font-weight:500;display:inline-block}.badge.active{color:var(--success);background:#30a46c26}.badge.over_quota{color:var(--warning);background:#f5a52426}.badge.locked{color:var(--danger);background:#e5484d26}.badge.role-superadmin{color:var(--primary);background:#4f7cff26}.badge.role-admin{background:var(--surface-2);color:var(--text-muted)}.badge.disabled{color:var(--danger);background:#e5484d26}.badge.beta{color:var(--primary);background:#4f7cff26}.badge.plan-free{background:var(--surface-2);color:var(--text-muted)}.progress{background:var(--surface-2);border-radius:999px;width:120px;height:6px;overflow:hidden}.progress>span{background:var(--primary);height:100%;display:block}.progress.over>span{background:var(--warning)}label{color:var(--text-muted);margin-bottom:.25rem;font-size:13px;display:block}input[type=text],input[type=email],input[type=password],input[type=number],select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:.5rem .65rem;font-family:inherit;font-size:14px}input:focus,select:focus{border-color:var(--primary);outline:none}.field{margin-bottom:1rem}.field-row{gap:1rem;display:flex}.field-row .field{flex:1}button,.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:inherit;font-size:14px;display:inline-flex}button:hover,.btn:hover{border-color:var(--text-muted)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.65rem .9rem;font-size:14px}.alert-error{color:#ff9ea1;background:#e5484d1f;border:1px solid #e5484d66}.alert-warning{background:color-mix(in srgb, var(--warning) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--warning) 40%, var(--border));color:var(--text)}.alert-success{color:#7ee2b8;background:#30a46c1f;border:1px solid #30a46c66}.danger-zone{border-radius:var(--radius);border:1px solid #e5484d80;margin-top:2rem;padding:1.25rem}.danger-zone h3{color:var(--danger)}.muted{color:var(--text-muted)}.row{align-items:center;gap:.75rem;display:flex}.between{justify-content:space-between}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-2{margin-bottom:1rem}.pagination{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.login-wrap{place-items:center;min-height:100vh;display:grid}.login-card{width:360px}.section-header{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.progress-bar-track{background:var(--surface-2);border-radius:999px;height:8px;display:flex;overflow:hidden}.progress-bar-seg{height:100%;transition:width .3s}.seg-active{background:#4f7cff}.seg-trash{background:#f5a524}.seg-pending{background:#e5484d}.seg-allocated{background:#a855f7}.progress-bar-legend{color:var(--text-muted);align-items:center;gap:.4rem;margin-top:.5rem;font-size:12px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.breakdown-table{border-collapse:collapse;width:100%;font-size:13px}.breakdown-table td{border-top:1px solid var(--border);vertical-align:middle;padding:.45rem .5rem}.breakdown-table tr:first-child td{border-top:none}.breakdown-table .num{text-align:right;white-space:nowrap}.breakdown-table .pct{text-align:right;width:3.5rem;font-size:11px}.breakdown-table .bold{font-weight:600}.breakdown-table .muted{color:var(--text-muted)}.breakdown-table .sub-row td{padding-top:.2rem;padding-bottom:.2rem}.badge-grace{color:var(--warning);background:#f5a5241f;border:1px solid #f5a5244d;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-size:11px;display:inline-block}.enrollment-banner.svelte-12qhfyh{background:color-mix(in srgb, var(--warning) 15%, var(--surface));border-bottom:1px solid var(--warning);color:var(--text);padding:.5rem 1.5rem;font-size:13px}
