:root{--brand-navy:#10233f;--brand-navy-dark:#0a1626;--brand-navy-light:#1e3a5f;--brand-orange:#f77f00;--brand-orange-dark:#d96b00;--brand-amber:#ffb703;--bg:#f6f4f0;--surface:#ffffff;--surface-muted:#f1eee7;--border:#e3ddd0;--text:#1c1e24;--text-muted:#5c6270;--text-faint:#8b90a0;--success:#1f8a52;--danger:#c1392b;--danger-bg:#fbeae7;--radius:10px;--shadow:0 1px 2px rgba(16,35,63,0.06),0 1px 6px rgba(16,35,63,0.05);--font-sans:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.5}h1,h2,h3,h4{font-weight:700;line-height:1.25}a,h1,h2,h3,h4{color:var(--brand-navy)}a{-webkit-text-decoration-color:var(--brand-orange);text-decoration-color:var(--brand-orange)}a:hover{color:var(--brand-orange-dark)}p[role=alert]{color:var(--danger);background:var(--danger-bg);border:1px solid rgba(193,57,43,.25);border-radius:var(--radius);padding:.5rem .75rem;font-size:.9rem}input,select,textarea{font-family:inherit;font-size:.9rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-orange);box-shadow:0 0 0 3px rgba(247,127,0,.18)}label{color:var(--text-muted);font-size:.85rem}button,label{font-weight:600}button{font-family:inherit;font-size:.9rem;color:#fff;background:var(--brand-navy);border:1px solid var(--brand-navy);border-radius:6px;padding:.45rem .9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .05s ease}button:hover:not(:disabled){background:var(--brand-navy-light);border-color:var(--brand-navy-light)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{background:var(--text-faint);border-color:var(--text-faint);cursor:not-allowed}button[type=submit]{background:var(--brand-orange);border-color:var(--brand-orange)}button[type=submit]:hover:not(:disabled){background:var(--brand-orange-dark);border-color:var(--brand-orange-dark)}