:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:#111827;color:#f9fafb}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem}.card{width:100%;max-width:560px;background:#1f2937;border:1px solid #374151;border-radius:.75rem;padding:1.5rem}.brand{color:#9ca3af;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;border-bottom:1px solid #374151;padding-bottom:.4rem;margin:1.5rem 0 .75rem}.field{margin-bottom:.9rem}label{display:block;font-size:.85rem;color:#d1d5db;margin-bottom:.3rem}.required-mark{color:#f87171;margin-left:.15rem}input,select{width:100%;padding:.55rem .7rem;font-size:.95rem;color:#f9fafb;background:#111827;border:1px solid #4b5563;border-radius:.5rem}input:focus,select:focus{outline:2px solid #2563eb;outline-offset:-1px;border-color:#2563eb}.field-error{color:#f87171;font-size:.8rem;margin-top:.25rem}.banner-error{background:#f871711a;border:1px solid #7f1d1d;color:#fca5a5;border-radius:.5rem;padding:.75rem 1rem;font-size:.9rem;margin-bottom:1rem}button{width:100%;margin-top:1rem;padding:.65rem 1rem;font-size:1rem;font-weight:600;color:#fff;background:#2563eb;border:none;border-radius:.5rem;cursor:pointer}button:hover:not(:disabled){background:#1d4ed8}button:disabled{opacity:.6;cursor:not-allowed}.status-card{text-align:center;padding:2.5rem 1.5rem}.status-card .icon{font-size:2.5rem;margin-bottom:.75rem}.status-card p{color:#9ca3af;margin:.5rem 0 0}.footer{margin-top:1.5rem;color:#6b7280;font-size:.75rem}
