*{box-sizing:border-box}
body{margin:0;background:#f2f6fa;color:#071f3b;font:16px/1.55 Arial,Helvetica,sans-serif}
header{background:#071f3b;padding:20px 24px}
.logo{color:#39b5de;font-size:28px;letter-spacing:4px;font-weight:bold}
main{max-width:760px;margin:28px auto;padding:0 16px}
section{padding:24px;border:1px solid #dbe3eb;border-radius:10px;background:#fff;margin-bottom:18px}
h1{font-size:24px;margin:0 0 12px}
h2{font-size:18px;margin:22px 0 8px}
p{margin:0 0 12px}
.muted{color:#4a5d73;font-size:14px}
.error{color:#a3122e;background:#fdecef;border:1px solid #f3c2cc;border-radius:8px;padding:10px 12px}
.ok{color:#0d5c3b;background:#e8f6ef;border:1px solid #bfe4d1;border-radius:8px;padding:12px 14px}
fieldset{border:0;padding:0;margin:0 0 14px}
legend{font-weight:bold;margin-bottom:6px}
label.choice{display:flex;gap:10px;align-items:flex-start;padding:7px 0;cursor:pointer}
label.choice input{margin-top:4px;width:18px;height:18px;flex:none}
details{border:1px solid #dbe3eb;border-radius:8px;margin:6px 0;padding:4px 12px;background:#fafcfe}
details details{background:#fff}
summary{cursor:pointer;font-weight:bold;padding:6px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:2px 16px}
textarea,input[type=text],input[type=email],input[type=tel]{width:100%;font:inherit;padding:9px 10px;border:1px solid #b9c7d6;border-radius:8px;color:#071f3b}
textarea{min-height:96px}
.field{margin-bottom:12px}
.field span{display:block;font-size:14px;font-weight:bold;margin-bottom:4px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
button{font:inherit;padding:11px 18px;border-radius:8px;border:1px solid #164f85;background:#164f85;color:#fff;cursor:pointer}
button.secondary{background:#fff;color:#164f85}
button:disabled{opacity:.6;cursor:wait}
.card{background:#f2f6fa;border-radius:8px;padding:14px 16px;margin:10px 0}
.card strong{display:block;font-size:18px}
ul.recap{padding-left:20px;margin:6px 0 12px}
a{color:#164f85}
footer{text-align:center;color:#4a5d73;font-size:13px;padding:10px 16px 30px}
.hidden{display:none}
#code{word-break:break-all;font-family:monospace}
