*{box-sizing:border-box}
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142b45;background:#eaf5ff}
body{margin:0;min-height:100vh;background:linear-gradient(145deg,#eaf5ff,#d9edff);padding:28px 14px}
.shell{max-width:760px;margin:0 auto;background:#fff;border:1px solid #d5e7f7;border-radius:24px;padding:clamp(20px,5vw,42px);box-shadow:0 18px 50px rgba(24,71,117,.10)}
.brand{text-align:center;margin-bottom:28px}
.logo{width:92px;height:92px;object-fit:contain;display:block;margin:0 auto 14px}
h1{font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.15;margin:0;color:#123d70;letter-spacing:-.04em}
.intro,.section-subtitle{color:#647a91;line-height:1.6;margin:10px 0 0}
.progress-wrap{padding:18px;background:#f4f9ff;border:1px solid #e0edf9;border-radius:16px;margin-bottom:28px}
.step-flow{font-size:.82rem;font-weight:650;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 0 15px;line-height:1.5}
.step-label{color:#7b8fa4}.step-label.active{color:#123d70}.flow-arrow{color:#a8b9ca}
.progress-track{height:7px;background:#dce8f4;border-radius:99px;overflow:hidden}.progress-bar{height:100%;width:25%;background:#0c3972;border-radius:99px;transition:width .2s ease}
.step-count{font-size:.8rem;color:#71849a;text-align:right;margin:8px 0 0}
.form-step h2{font-size:1.35rem;margin:0;color:#153b66}.field{margin-top:20px}
label{display:block;font-weight:700;font-size:1rem;margin-bottom:6px;color:#102f50}
.hint{font-size:.87rem;color:#4f657c;line-height:1.5;margin:0 0 9px}
.required{color:#b42318}
input,select{width:100%;min-height:52px;border:2px solid #536b82;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:#142b45;outline:none;box-shadow:0 1px 3px rgba(20,43,69,.12)}
input::placeholder{color:#687d92;opacity:1}
input:hover,select:hover{border-color:#354e66}
input:focus,select:focus{border-color:#175da2;background:#fff;box-shadow:0 0 0 3px rgba(36,101,166,.18)}
input[readonly]{background:#edf4fb;color:#274968;border-color:#536b82}
.input-prefix{display:flex;align-items:center;border:2px solid #536b82;border-radius:10px;background:#fff;padding-left:13px;color:#38536e;box-shadow:0 1px 3px rgba(20,43,69,.12)}
.input-prefix:hover{border-color:#354e66}
.input-prefix:focus-within{border-color:#175da2;background:#fff;box-shadow:0 0 0 3px rgba(36,101,166,.18)}
.input-prefix input{border:0;box-shadow:none!important}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}
button{min-height:48px;border-radius:10px;border:0;padding:12px 22px;font:inherit;font-weight:700;cursor:pointer}
.primary{background:#0c3972;color:white;margin-left:auto}.primary:hover{background:#092d5c}.secondary{background:#e9f1f9;color:#24496f}
button:focus-visible{outline:3px solid #79b8f3;outline-offset:3px}
.error{background:#fff0f0;color:#9b1c1c;padding:12px;border-radius:10px;margin-top:18px}
.submit-status{background:#eff8ff;color:#164c80;padding:12px;border-radius:10px;margin-top:18px}
.success-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e6f5eb;color:#187744;font-size:1.7rem;font-weight:800;margin-bottom:16px}
.summary{margin:22px 0 0;border:1px solid #e0eaf4;border-radius:14px;overflow:hidden}
.summary div{display:grid;grid-template-columns:minmax(110px,.8fr) 1.4fr;gap:16px;padding:14px 16px;border-bottom:1px solid #e8eff6}
.summary div:last-child{border-bottom:0}.summary dt{color:#657b91;font-size:.9rem}.summary dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.status{display:inline-block;background:#fff5d8;color:#805b00;border-radius:8px;padding:7px 10px;font-size:.88rem}
.fine-print,footer{font-size:.8rem;line-height:1.6;color:#71849a;margin-top:20px}
footer{border-top:1px solid #e6eef6;padding-top:16px;text-align:center}
[hidden]{display:none!important}
@media(max-width:560px){body{padding:12px 8px}.shell{border-radius:18px;padding:20px 16px}.step-flow{font-size:.73rem;gap:5px}.summary div{grid-template-columns:1fr;gap:5px}.actions button{flex:1}.logo{width:76px;height:76px}}
