*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,#101827,#020617);color:#e5e7eb}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:960px;background:#0f172af2;border-radius:16px;padding:24px 28px 28px;box-shadow:0 20px 45px #00000073;border:1px solid rgba(148,163,184,.25)}h1{margin:0 0 4px;font-size:24px}h2{margin:0 0 8px;font-size:18px}.subtitle{margin:0;color:#9ca3af;font-size:14px}.form{margin-top:16px;display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:14px}input{border-radius:8px;border:1px solid #4b5563;padding:8px 10px;background:#020617;color:#e5e7eb}input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f680}.btn{border-radius:999px;border:1px solid #4b5563;padding:8px 14px;background:#020617;color:#e5e7eb;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.primary{background:linear-gradient(to right,#2563eb,#4f46e5);border-color:transparent}.btn.ghost{background:transparent}.btn:disabled{opacity:.6;cursor:default}.alert{margin-top:12px;border-radius:10px;padding:8px 10px;font-size:13px}.alert-error{background:#ef444426;border:1px solid rgba(239,68,68,.5);color:#fecaca}.alert-info{background:#3b82f626;border:1px solid rgba(59,130,246,.5);color:#bfdbfe}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.header-actions{display:flex;gap:8px}.section{margin-top:18px;padding-top:12px;border-top:1px solid rgba(55,65,81,.8)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.list{display:flex;flex-direction:column;gap:6px;font-size:14px}.list-item{padding:8px 10px;border-radius:10px;background:#0f172ad9;border:1px solid rgba(55,65,81,.8)}.muted{color:#9ca3af;font-size:12px}@media(max-width:640px){.card{padding:18px 16px 20px}.header{flex-direction:column;align-items:flex-start;gap:8px}}
