/* Premium mobile-first theme with gentle motion */
:root{
  --bg:#0b0f1a; --card:#0f172a; --ink:#e5e7eb; --muted:#a7b0bf;
  --line:#1f2937; --accent:#60a5fa; --accent2:#22d3ee; --ok:#34d399; --err:#f87171; --warn:#fbbf24;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1000px 500px at 100% -20%,rgba(96,165,250,.08),transparent),var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
a{color:var(--accent)}
#app{min-height:100svh;display:grid;place-items:center;padding:20px}
.card{width:min(560px,100%);background:linear-gradient(180deg,#0f172a, #0b1220);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.45);padding:22px;transform:translateY(10px);opacity:0;animation:cardIn .35s ease forwards}
@keyframes cardIn{to{transform:none;opacity:1}}
.h{font-weight:800;margin:0 0 6px;font-size: clamp(20px, 4.2vw, 26px)}
.p{color:var(--muted);font-size: clamp(13px, 3.6vw, 15px);line-height:1.55;margin:0 0 12px}
.progress{height:4px;background:#0b1220;border-radius:999px;margin:10px 0 18px;overflow:hidden}
.progress>div{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));width:0;transition:width .35s ease}
.row{display:flex;gap:12px;flex-wrap:wrap}
.input{width:100%;background:#0b1220;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:16px 16px;font-size:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:14px 16px;font-weight:700;background:linear-gradient(90deg,var(--accent2),var(--accent));color:#081019;transition:transform .05s ease, filter .2s ease}
.btn:active{transform:translateY(1px)}
.btn.secondary{background:#0b1220;color:var(--ink);border:1px solid var(--line)}
.btn.ghost{background:#0b1220;color:var(--ink);border:1px dashed #2a3550}
.badge{display:inline-block;background:#0b1220;border:1px solid var(--line);color:var(--muted);padding:6px 10px;border-radius:999px;font-size:12px;margin-bottom:10px}
.notice{background:#0b1220;border:1px dashed #374151;border-radius:14px;padding:12px 14px;color:#9ca3af;font-size:13px}
.legal-footer{max-width:720px;margin:0 auto;padding:20px 12px;color:#9ca3af;text-align:center;font-size:12px}
.error{display:flex;align-items:flex-start;gap:8px;color:var(--err);font-size:13px;margin-top:8px}
.error{}
.segment{display:flex;gap:10px;margin:8px 0 2px}
.segment>button{flex:1;border-radius:12px;padding:12px 10px;border:1px solid var(--line);background:#0b1220;color:var(--ink)}
.segment>button.active{outline:2px solid color-mix(in oklab, var(--accent), white 10%); background:linear-gradient(180deg,#0e1422,#0b1220)}
.helper{font-size:12px;color:var(--muted);margin-top:6px}
.fade-enter{animation:fadeIn .22s ease both}
@keyframes fadeIn{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}
kbd{background:#0b1220;border:1px solid var(--line);padding:2px 6px;border-radius:6px;font-size:12px}
ul.clean{padding-left:18px;margin:8px 0 0}
ul.clean li{margin:6px 0}

/* Admin table alignment */
.admin-table th, .admin-table td{vertical-align:middle}
.admin-table input.input{width:100%}
.admin-table td:nth-child(1){width:28px}
.admin-table td:nth-child(2){width:40px}
.admin-table td:nth-child(4){width:140px}
.admin-table td:nth-child(5){width:150px}
.admin-table td:nth-child(9), .admin-table td:nth-child(10){white-space:nowrap}


/* Error visibility control */
.error{display:none}
.error.show{display:flex}


/* Admin table alignment */
table{table-layout:fixed}
th:nth-child(1){width:28px}
th:nth-child(2){width:40px}
th:nth-child(4){width:130px}
th:nth-child(5){width:140px}
th:nth-child(7), th:nth-child(8){width:110px}
th:nth-child(9){width:100px}
td .input{width:100%}
.handle{cursor:grab;opacity:.7}
