*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#e0e7ff;--bg:#0f0f1a;--surface:#1a1a2e;--surface-2:#252540;--border:#2e2e50;--text:#e2e8f0;--text-muted:#94a3b8;--success:#22c55e;--success-bg:#052e16;--error:#ef4444;--error-bg:#2d0a0a;--warning:#f59e0b;--radius:12px;--radius-sm:8px;font-size:16px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6}.container{width:100%;max-width:480px;margin:0 auto;padding:0 1rem}.page{flex-direction:column;min-height:100dvh;display:flex}.navbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex;position:sticky;top:0}.navbar-brand{color:var(--primary);font-size:1rem;font-weight:700;text-decoration:none}.navbar-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:.8125rem;overflow:hidden}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}h1{letter-spacing:-.5px;font-size:1.625rem;font-weight:700;line-height:1.25}h2{letter-spacing:-.3px;font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}.text-muted{color:var(--text-muted);font-size:.875rem}.text-sm{font-size:.875rem}.text-center{text-align:center}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-muted);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}input[type=text],input[type=email],input[type=password]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);-webkit-appearance:none;outline:none;padding:.75rem 1rem;font-size:1rem;transition:border-color .15s}input:focus{border-color:var(--primary)}input::placeholder{color:var(--text-muted)}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{color:var(--primary);border:1px solid var(--primary);background:0 0;width:100%}.btn-ghost{color:var(--text-muted);background:0 0;padding:.5rem .75rem;font-size:.875rem}.btn-sm{padding:.5rem .875rem;font-size:.8125rem}.alert{border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem;display:none}.alert.show{display:block}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.badge{letter-spacing:.3px;text-transform:uppercase;border-radius:99px;padding:.2rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.badge-primary{background:var(--primary-light);color:var(--primary-dark)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-muted{background:var(--surface-2);color:var(--text-muted)}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:1.25rem;height:1.25rem;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{color:var(--text-muted);flex:1;justify-content:center;align-items:center;gap:.75rem;display:flex}.divider{color:var(--text-muted);align-items:center;gap:.75rem;margin:1rem 0;font-size:.8125rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.w-full{width:100%}@media (width>=640px){.container{max-width:520px;padding:0 1.5rem}h1{font-size:2rem}}
