:root{--primary:#1f3a5f;--primary-mid:#2c5c8a;--gold:#c9a24b;--gold-dark:#a9803a;--paper:#fff;--ink:#1b2430;--muted:#7a8493;--line:#e2e6ec;--bg:#f5f7fa}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:Manrope,system-ui,sans-serif}a{color:var(--primary-mid);text-decoration:none}a:hover{color:var(--primary)}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}.screen{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}.header{background:var(--primary);z-index:5;flex-shrink:0;padding:20px 20px 16px;position:sticky;top:0}.header-row{align-items:center;gap:12px;display:flex}.header-title{color:#fff;font-size:16px;font-weight:700}.back-btn{background:0 0;border:none;padding:4px;display:flex}.sect-title{color:var(--primary);text-transform:uppercase;letter-spacing:.6px;font-size:12px;font-weight:800}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:10.5px;font-weight:700}.field input,.field textarea{border:none;border-bottom:1.5px solid var(--line);color:var(--ink);background:0 0;outline:none;padding:8px 2px;font-size:14px}.field input:focus,.field textarea:focus{border-bottom-color:var(--primary-mid)}.btn-primary{background:var(--gold);width:100%;color:var(--primary);border:none;border-radius:14px;padding:15px;font-size:15px;font-weight:700}.btn-primary:disabled{opacity:.6}.btn-outline{border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;padding:10px 16px;font-size:13px;font-weight:700}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.pill{border:1.5px solid var(--line);color:var(--muted);background:#fff;border-radius:20px;padding:6px 12px;font-size:11.5px;font-weight:700}.pill.on{border-color:var(--primary);background:var(--primary);color:#fff}.toast{background:var(--primary);color:#fff;z-index:50;border-radius:12px;padding:12px 20px;font-size:13px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #00000040}.error-text{color:#b3261e;font-size:12.5px}.spinner{border:2.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
