:root { --ink:#1f2933; --soft:#5f6c7b; --line:#dde3ea; --bg:#f6f9fb; --brand:#cf5f0b; --brand-d:#a94c07; --navy:#1e3a5f; --orange:#f28c28; --warn:#b45309; --card:#fff; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; color:var(--ink); background:var(--bg); line-height:1.5; }
header { background:#fff; border-bottom:1px solid var(--line); }
.wrap { max-width: 720px; margin: 0 auto; padding: 0 18px; }
header .wrap { display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { font-weight:800; font-size:1.1rem; color:var(--navy); text-decoration:none; }
main { padding: 28px 0 60px; }
h1 { font-size:1.7rem; margin:0 0 6px; color:var(--navy); } h2 { font-size:1.1rem; margin:0 0 10px; }
.sub { color:var(--soft); margin:0 0 22px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px; margin-bottom:16px; }
label { display:block; font-size:.8rem; font-weight:600; color:var(--soft); margin:12px 0 4px; }
input, select, textarea { width:100%; padding:.7rem .8rem; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff; }
input:focus, select:focus, textarea:focus { outline:2px solid var(--brand); border-color:var(--brand); }
.row { display:grid; grid-template-columns:1fr 1fr; gap:12px; } @media (max-width:520px){ .row { grid-template-columns:1fr; } }
.btn { display:inline-block; border:0; border-radius:10px; padding:.75rem 1.2rem; font:inherit; font-weight:600; cursor:pointer; background:var(--brand); color:#fff; text-decoration:none; }
.btn:hover { background:var(--brand-d); } .btn:disabled { opacity:.55; cursor:not-allowed; }
.btn.quiet { background:#fff; color:var(--ink); border:1px solid var(--line); } .btn.quiet:hover { background:var(--bg); }
.btn.small { padding:.45rem .8rem; font-size:.85rem; } .btn.block { width:100%; margin-top:16px; }
.check { display:flex; gap:10px; align-items:flex-start; margin-top:14px; font-size:.9rem; } .check input { width:auto; margin-top:4px; }
.msg { padding:.7rem .9rem; border-radius:10px; margin-top:14px; background:#fef3c7; color:#78350f; font-size:.9rem; } .msg.ok { background:#dcfce7; color:#14532d; }
.hidden { display:none !important; } .hp { position:absolute; left:-9999px; }
table.q { width:100%; border-collapse:collapse; } table.q td { padding:6px 0; } table.q td:last-child { text-align:right; white-space:nowrap; } table.q tr.t td { border-top:1px solid var(--line); font-weight:700; padding-top:10px; }
.steps { list-style:none; padding:0; margin:0; } .steps li { padding:7px 0 7px 30px; position:relative; color:var(--soft); }
.steps li::before { content:""; position:absolute; left:4px; top:12px; width:14px; height:14px; border-radius:50%; border:2px solid var(--line); background:#fff; }
.steps li.done { color:var(--ink); } .steps li.done::before { background:var(--brand); border-color:var(--brand); }
.steps li.now { color:var(--ink); font-weight:700; } .steps li.now::before { border-color:var(--brand); }
.badge { display:inline-block; font-size:.75rem; font-weight:700; padding:.15rem .55rem; border-radius:99px; background:#ffedd9; color:var(--brand-d); }
.small-print { font-size:.8rem; color:var(--soft); } a { color:var(--brand); }
