:root { --ink:#17212b; --muted:#64748b; --line:#d8e1e8; --surface:#fff; --page:#f4f7f8; --primary:#087f5b; --primary-dark:#065f46; --warning:#8a4b08; }
* { box-sizing:border-box; }
body { margin:0; background:var(--page); color:var(--ink); font-family:Inter,Arial,sans-serif; }
.topbar { min-height:68px; display:flex; align-items:center; gap:12px; padding:10px max(18px,calc((100% - 1120px)/2)); background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:4; }
.topbar div { display:flex; flex-direction:column; line-height:1.25; }
.topbar div span { color:var(--muted); font-size:12px; }
.brand { width:38px; height:38px; display:grid; place-items:center; background:var(--primary); color:#fff; font-weight:800; text-decoration:none; border-radius:6px; }
.state { margin-left:auto; font-size:12px; padding:5px 8px; border:1px solid var(--line); border-radius:5px; }
main { max-width:1120px; margin:0 auto; padding:20px 18px 48px; }
.steps { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--line); background:#fff; }
.steps span { padding:10px; font-size:12px; text-align:center; border-right:1px solid var(--line); }
.steps span:last-child { border-right:0; }
.steps .active { background:#e8f6f0; color:var(--primary-dark); font-weight:700; }
.intro { padding:28px 0 14px; max-width:850px; }
.intro h1 { margin:4px 0 8px; font-size:32px; letter-spacing:0; }
.intro p:last-child { color:#465667; line-height:1.55; }
.eyebrow { margin:0; text-transform:uppercase; font-size:11px; font-weight:800; color:var(--primary); }
.panel { background:var(--surface); border:1px solid var(--line); margin-top:14px; padding:18px; }
.panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:15px; }
.panel h2 { font-size:18px; margin:3px 0 0; }
.badge { padding:5px 8px; background:#eef2f5; border-radius:4px; font-size:11px; font-weight:700; white-space:nowrap; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
label { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:700; }
input,select { min-height:42px; width:100%; border:1px solid #b9c5ce; border-radius:4px; padding:8px 10px; background:#fff; color:var(--ink); }
input:focus,select:focus { outline:3px solid #bce8d8; border-color:var(--primary); }
fieldset { grid-column:1/-1; border:1px solid var(--line); padding:12px; }
legend { font-size:12px; font-weight:700; }
.checks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.checks label { flex-direction:row; align-items:center; font-weight:500; }
.checks input { width:16px; min-height:16px; }
.actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:8px; }
button { border:0; border-radius:4px; background:var(--primary); color:#fff; min-height:40px; padding:8px 14px; font-weight:750; cursor:pointer; }
button:hover { background:var(--primary-dark); }
button.secondary { background:#fff; color:var(--ink); border:1px solid #aab7c0; }
.message { margin-top:12px; padding:12px; border-left:4px solid var(--primary); background:#e8f6f0; }
.message.error { border-color:#b42318; background:#fff0ee; }
.status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.status-grid article { border:1px solid var(--line); padding:12px; }
.status-grid strong { display:block; margin-bottom:5px; }
.status-grid p { margin:0; color:var(--muted); font-size:13px; }
@media (max-width:760px) { .steps { grid-template-columns:1fr; } .steps span { text-align:left; border-right:0; border-bottom:1px solid var(--line); } .form-grid,.form-grid.three,.checks,.status-grid { grid-template-columns:1fr; } .intro h1 { font-size:26px; } }
