:root{--ink:#1e293b;--muted:#64748b;--line:#e2e8f0;--paper:#fff;--bg:#f5f7f5;--brand:#176b54;--brand-dark:#0e4e3d;--soft:#e8f4ee;--danger:#a12424}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.site-header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1000px)/2));gap:20px}.brand{text-decoration:none;font-weight:900;letter-spacing:.08em;color:var(--brand);font-size:18px}.brand span{display:block;font-size:10px;letter-spacing:.25em;color:var(--muted)}.header-note,.hint{color:var(--muted);font-size:13px}.container{width:min(850px,calc(100% - 32px));margin:42px auto 64px}.intro{margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:800;color:var(--brand)}h1{font-size:clamp(30px,5vw,44px);line-height:1.12;letter-spacing:-.04em;margin:8px 0 14px;max-width:700px}h2{font-size:25px;line-height:1.2;margin:0 0 8px}.intro>p:not(.eyebrow),.section-lead{color:var(--muted)}.notice{padding:14px 16px;background:var(--soft);border-radius:12px;color:var(--brand-dark);font-size:14px;margin:18px 0}.notice.warning{background:#fff5df;color:#7c4a06}form{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,4vw,34px);box-shadow:0 8px 35px #0f172a0a}.progress-wrap{margin-bottom:30px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:9px}.progress-track{height:6px;border-radius:10px;background:#e8eeea;overflow:hidden}#progress-bar{height:100%;width:16.67%;background:var(--brand);transition:width .2s}.form-step{display:none}.form-step.active{display:block}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:block;font-size:14px;font-weight:650;margin:17px 0;color:var(--ink)}input:not([type=checkbox]):not([type=file]),textarea,select{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit;color:var(--ink);outline:none}input[type=file]{display:block;width:100%;margin-top:8px;padding:12px;border:1px dashed #b7c6bd;border-radius:9px;background:#fbfdfb;font:inherit;font-size:13px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #176b541a}.form-actions{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.spacer{flex:1}.button{border:0;border-radius:9px;padding:12px 18px;font-weight:750;font-size:14px;cursor:pointer}.button.primary{background:var(--brand);color:white}.button.primary:hover{background:var(--brand-dark)}.button.secondary{background:#eef2ef;color:var(--ink)}.repeat-card{padding:16px;border:1px solid var(--line);border-radius:12px;margin:15px 0;background:#fcfdfc}.repeat-card h3{font-size:16px;margin:0}.repeat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.remove{border:0;background:transparent;color:var(--danger);cursor:pointer;font-weight:700}.consent{display:flex;align-items:flex-start;gap:10px;font-weight:500;line-height:1.5}.consent input{margin-top:5px;flex:0 0 auto}.form-error{margin-top:20px;padding:12px;background:#fff0f0;color:var(--danger);border-radius:9px}.site-footer{text-align:center;padding:24px;color:var(--muted);font-size:13px}@media(max-width:600px){.site-header{height:64px}.header-note{font-size:11px}.container{margin-top:25px}.field-grid{grid-template-columns:1fr;gap:0}form{border-radius:14px}.form-actions .button{padding:12px 13px}.repeat-card{padding:12px}}

.error-page{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,4vw,38px);box-shadow:0 8px 35px #0f172a0a}
.error-detail{margin:22px 0;padding:16px 18px;border:1px solid #fecaca;border-left:4px solid var(--danger);border-radius:10px;background:#fff5f5;color:#7f1d1d}
.error-detail p{margin:6px 0 0;overflow-wrap:anywhere}
.error-page .button{display:inline-block;text-decoration:none;margin:8px 0 14px}