.portal{--bg:#f4f6f8;--panel:#fff;--border:#dfe3e8;--text:#1c2530;--muted:#66707d;--primary:#1b5e9b;--primary-ink:#fff;--ok:#1f7a4d;--warn:#9a6700;--danger:#b3261e;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-geist-sans,system-ui,sans-serif)}.portal-header{background:#0f1d2e;color:#fff;padding:1rem 1.25rem}.portal-header .wrap{max-width:760px;margin:0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.portal-header .brand{font-weight:700}.portal-header .tag{color:#9fb3cc;font-size:.8rem}.portal-main{max-width:760px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.portal h1{font-size:1.5rem;margin:0 0 .25rem}.portal .lede{color:var(--muted);margin:0 0 1.5rem}.portal .card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.4rem;margin-bottom:1.25rem}.portal .card h2{font-size:1.1rem;margin:0 0 .4rem}.portal .card h3{font-size:.98rem;margin:1.1rem 0 .5rem}.portal .help,.portal .muted{color:var(--muted)}.portal .help{font-size:.84rem;margin-top:.3rem}.portal .deadline{display:inline-block;background:#e7f0fa;color:var(--primary);border-radius:8px;padding:.4rem .7rem;font-size:.88rem}.portal .btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--primary);color:var(--primary-ink);border:none;border-radius:9px;padding:.7rem 1.2rem;font-size:.98rem;cursor:pointer;text-decoration:none}.portal .btn:hover{filter:brightness(1.08)}.portal .btn.secondary{background:#eef1f5;color:var(--text)}.portal .btn.block{width:100%}.portal .btn:disabled{opacity:.55;cursor:not-allowed}.portal .btn-row{display:flex;gap:.8rem;flex-wrap:wrap}.portal label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.3rem}.portal label .req{color:var(--danger)}.portal input[type=date],.portal input[type=email],.portal input[type=number],.portal input[type=text],.portal select,.portal textarea{width:100%;box-sizing:border-box;padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff}.portal textarea{line-height:1.45}.portal input:focus,.portal select:focus,.portal textarea:focus{outline:2px solid var(--primary);border-color:var(--primary)}.portal .field{margin-bottom:1rem}.portal .field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:560px){.portal .field-row{grid-template-columns:1fr}}.portal .choice-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:.9rem;gap:.9rem}@media (max-width:560px){.portal .choice-cards{grid-template-columns:1fr}}.portal .choice{border:2px solid var(--border);border-radius:10px;padding:1rem;cursor:pointer;background:#fff}.portal .choice.selected{border-color:var(--primary);background:#f2f7fc}.portal .choice .t{font-weight:700}.portal .choice .d{color:var(--muted);font-size:.85rem;margin-top:.25rem}.portal .check{display:flex;gap:.55rem;align-items:flex-start;margin:.5rem 0}.portal .check input{margin-top:.2rem}.portal .check label{font-weight:500;margin:0}.portal .radio{display:flex;gap:.55rem;align-items:flex-start;border:1px solid var(--border);border-radius:9px;padding:.7rem .8rem;margin-bottom:.6rem;cursor:pointer}.portal .radio.selected{border-color:var(--primary);background:#f2f7fc}.portal .radio input{margin-top:.2rem}.portal .radio .label{font-weight:600}.portal .radio .sub{color:var(--muted);font-size:.84rem;margin-top:.2rem}.portal .alert{padding:.7rem .9rem;border-radius:9px;font-size:.9rem;margin-bottom:1rem}.portal .alert.error{background:#fde7e6;color:var(--danger);border:1px solid #f3c6c3}.portal .alert.warn{background:#fdf2db;color:var(--warn);border:1px solid #ecd9a6}.portal .alert.ok{background:#e4f3ea;color:var(--ok);border:1px solid #c2e2cf}.portal .alert.info{background:#e7f0fa;color:var(--primary);border:1px solid #c5dcf2}.portal .review dt{font-weight:600;font-size:.82rem;color:var(--muted)}.portal .review dd{margin:0 0 .7rem}.portal .steps{display:flex;gap:.4rem;margin-bottom:1.25rem;flex-wrap:wrap}.portal .steps .step{font-size:.78rem;color:var(--muted);padding:.25rem .6rem;border-radius:999px;background:#eceff3}.portal .steps .step.active{background:var(--primary);color:#fff}.portal .steps .step.done{background:#d6e6d9;color:var(--ok)}.portal .ref{font-family:var(--font-geist-mono,ui-monospace,monospace);font-size:1.05rem;background:#eef1f5;padding:.3rem .55rem;border-radius:6px}.portal .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}