*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow-x:hidden}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#1a1a2e;color:#fff;min-height:100vh;font-size:16px;-webkit-font-smoothing:antialiased}.page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px 16px}.card{background:#2a2a40;border:1px solid #444;border-radius:10px;padding:28px 20px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}h1{font-size:2rem;font-weight:800;color:#7f77dd;text-align:center;letter-spacing:1px}h2{font-size:1.4rem;font-weight:700;text-align:center}.subtitle{text-align:center;color:#aaa;font-size:.9rem}.section-label{font-size:.85rem;color:#aaa;text-transform:uppercase;letter-spacing:1px;font-weight:600}.btn{display:block;width:100%;min-height:48px;padding:12px 20px;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:opacity .15s,background .15s;text-align:center;line-height:1.4}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:#7f77dd;color:#fff;border:none}.btn-primary:hover:not(:disabled){opacity:.85}.btn-secondary{background:transparent;color:#a89df5;border:1.5px solid #7F77DD}.btn-secondary:hover:not(:disabled){background:#7f77dd1a}.btn-danger{background:transparent;color:#f09595;border:1.5px solid #E24B4A}.btn-danger:hover:not(:disabled){background:#e24b4a1a}.form-group{display:flex;flex-direction:column;gap:6px}label{font-size:.85rem;color:#aaa;font-weight:500}input[type=text]{background:#1a1a2e;border:1.5px solid #444;border-radius:8px;padding:12px 14px;color:#fff;font-size:1rem;width:100%;min-height:48px;outline:none;transition:border-color .15s}input[type=text]:focus{border-color:#7f77dd}input[type=text]::placeholder{color:#555}.error-msg{color:#f09595;font-size:.85rem;text-align:center;padding:8px;background:#e24b4a1a;border-radius:6px;border:1px solid rgba(226,75,74,.3)}.divider{height:1px;background:#444;border:none;margin:4px 0}@media (min-width: 769px){body{background:#0f0f1a}.page{padding:40px 20px}.card{padding:36px 32px}}@media (max-height: 500px) and (max-width: 768px){.page{justify-content:flex-start;padding:16px}}
