:root { --ink:#18222e; --muted:#5b6675; --line:#dce1e7; --bg:#f5f6f8; --brand:#1f4e79; --brand2:#e7eff8; --red:#b42318; --redbg:#fdecea; --amber:#9a5b00; --amberbg:#fff3dc; --green:#1a7f37; --greenbg:#e7f5ec; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:var(--bg); }
a { color: var(--brand); }
.wrap { max-width: 980px; margin: 0 auto; padding: 0 16px; }
main.wrap { padding-top: 20px; padding-bottom: 48px; }
header.top { background: var(--brand); color:#fff; }
.bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:12px; padding-bottom:12px; }
.logo { color:#fff; text-decoration:none; font-weight:700; font-size:1.15rem; line-height:1.15; }
.logo small { display:block; font-weight:400; font-size:.75rem; opacity:.85; }
header nav { display:flex; gap:4px; flex-wrap:wrap; }
header nav a { color:#fff; text-decoration:none; padding:7px 10px; border-radius:8px; font-size:.92rem; opacity:.92; }
header nav a:hover { background: rgba(255,255,255,.12); }
header nav a.cta { background:#fff; color:var(--brand); font-weight:600; }
.foot { color: var(--muted); font-size:.8rem; padding-bottom:32px; }
h1 { font-size:1.55rem; margin:.2em 0 .6em; } h2 { font-size:1.15rem; margin:.2em 0 .6em; } h3 { font-size:1.02rem; margin:.3em 0 .5em; } h4 { margin: 14px 0 6px; }
h1 small { font-size:.9rem; color:var(--muted); font-weight:400; }
.hero { background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px 22px; margin-bottom:18px; }
.hero h1 { font-size:1.9rem; } .hero p { font-size:1.08rem; max-width:720px; }
.card, fieldset { background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; margin:0 0 16px; }
fieldset legend { font-weight:650; padding:0 6px; }
.cardhead { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; } .grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width: 760px) { .grid2, .grid3 { grid-template-columns:1fr; } }
.narrow { max-width: 440px; margin: 20px auto; }
label { display:block; font-weight:550; margin:10px 0 4px; font-size:.95rem; }
label small, .muted { color:var(--muted); font-weight:400; } .sm { font-size:.85rem; }
input, select, textarea { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px; font:inherit; background:#fff; color:inherit; }
input[disabled] { background:#f1f3f5; }
textarea { min-height:100px; }
.row { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .row3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
@media (max-width: 640px) { .row, .row3 { grid-template-columns:1fr; } }
.check { display:flex; gap:10px; align-items:flex-start; font-weight:400; } .check input { width:auto; margin-top:5px; }
.rep { border:1px dashed var(--line); border-radius:10px; padding:12px; margin-top:12px; position:relative; }
.rep .x { position:absolute; top:6px; right:8px; }
.legal { background:#f8f9fb; border:1px solid var(--line); border-radius:8px; padding:12px; font-size:.92rem; }
button, .btn { display:inline-block; font:inherit; padding:10px 16px; border-radius:8px; border:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer; text-decoration:none; }
button.pri, .btn.pri { background:var(--brand); color:#fff; border-color:var(--brand); }
button.danger { background:var(--red); color:#fff; border-color:var(--red); }
button.big { width:100%; padding:14px; font-size:1.05rem; }
button.link { border:none; background:none; color:var(--brand); padding:4px; }
.btn.sm { padding:5px 10px; font-size:.85rem; }
.btns { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:14px; }
.alert { padding:12px 14px; border-radius:10px; margin:0 0 16px; }
.alert.err { background:var(--redbg); color:var(--red); } .alert.ok { background:var(--greenbg); color:var(--green); }
.alert.amber { background:var(--amberbg); color:var(--amber); } .alert.blue { background:var(--brand2); color:var(--brand); }
.alert.emerg { background:var(--redbg); color:var(--red); font-weight:600; }
.badge, .pill { display:inline-block; padding:2px 9px; border-radius:99px; font-size:.78rem; font-weight:650; }
.badge.emergency, .pill.red { background:var(--redbg); color:var(--red); }
.badge.time_sensitive, .pill.amber { background:var(--amberbg); color:var(--amber); }
.badge.routine, .pill.grey { background:#eceff3; color:var(--muted); }
.pill.green { background:var(--greenbg); color:var(--green); } .pill.blue { background:var(--brand2); color:var(--brand); }
.tablewrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; background:#fff; font-size:.92rem; }
th, td { text-align:left; padding:8px; border-bottom:1px solid var(--line); vertical-align:top; }
tr.hot td { background:#fff7f6; }
table.st th { width:170px; color:var(--muted); font-weight:550; } table.st td.r { text-align:right; width:80px; }
.kv { display:flex; gap:8px 14px; flex-wrap:wrap; font-size:.9rem; margin-bottom:6px; } .kv span { color:var(--muted); }
.li { padding:8px 0; border-bottom:1px solid var(--line); } .li:last-of-type { border-bottom:none; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.stat { background:#fff; border:1px solid var(--line); border-radius:10px; padding:12px; text-align:center; } .stat b { display:block; font-size:1.4rem; } .stat span { color:var(--muted); font-size:.8rem; }
@media (max-width: 560px) { .stats { grid-template-columns:repeat(2,1fr); } }
.filters a { margin-right:10px; } .filters a.on { font-weight:700; }
pre.notice { white-space:pre-wrap; background:#fff; border:1px solid var(--line); padding:12px; border-radius:8px; font-size:.9rem; }
form.inline { display:inline-block; margin:6px 8px 6px 0; } form.inline label { display:inline-block; margin-right:8px; }
.warn { color:var(--amber); } .hidden { display:none; }
details summary { cursor:pointer; margin:8px 0; }
dl dt { font-weight:600; margin-top:8px; font-size:.88rem; color:var(--muted); } dl dd { margin:0; }
.pill { border-radius:8px; line-height:1.35; padding:3px 9px; white-space:normal; }
@media (max-width: 560px) { table.st th { width:auto; padding-right:4px; } table.st td.r { width:auto; } table.st tr { display:grid; grid-template-columns:1fr auto; } table.st th { grid-column:1 / -1; border-bottom:none; padding-bottom:0; } }
.xl { margin-top:5px; font-size:.82rem; display:flex; flex-wrap:wrap; gap:4px 12px; }
.xl a.partner { font-weight:650; }
.footlinks, .linkrow { display:flex; flex-wrap:wrap; gap:6px 14px; margin:6px 0 10px; }
.partnerbox { border-color:#bcd3ea; background:#f4f8fc; }
.disclosure { background:#fff; border:1px solid var(--line); border-radius:8px; padding:10px 12px; color:var(--ink); font-size:.82rem; margin:10px 0; }
.disclosure-inline { font-size:.9rem; color:var(--muted); margin-top:14px; }
.disclosure-box { border-color:#e6c98a; background:#fffaf0; margin-top:12px; }
.price { font-size:1.02rem; margin:12px 0 0; }
.planbase { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.planbase .pr { text-align:right; font-weight:650; white-space:nowrap; min-width:110px; }
.planbase .pr .btn { margin-top:8px; font-weight:500; }
@media (max-width: 560px) { .planbase { flex-direction:column; } .planbase .pr { text-align:left; white-space:normal; } }
fieldset .planbase { background:#f4f8fc; border:1px solid #bcd3ea; border-radius:10px; padding:12px; }
label.addon { border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin:8px 0; }
label.addon:has(input:checked) { border-color:var(--brand); background:#f4f8fc; }
.estimate { background:#fff; border:2px solid var(--brand); border-radius:10px; padding:12px; margin-top:14px; line-height:1.6; }
.checkbox-cta { border:2px solid var(--brand); background:#f4f8fc; }
.checkbox-cta h2 { font-size:1.25rem; }
.free { background:var(--green); color:#fff; font-size:.75rem; padding:2px 8px; border-radius:99px; vertical-align:middle; }
.cta-row { display:flex; gap:8px; } .cta-row input { flex:1; } .cta-row button { white-space:nowrap; }
@media (max-width: 480px) { .cta-row { flex-direction:column; } }
.verdict { border-radius:10px; padding:12px 14px; margin:8px 0 14px; }
.verdict ul { margin:6px 0 10px; padding-left:20px; }
.verdict.good { background:var(--greenbg); color:var(--green); } .verdict.bad { background:var(--redbg); color:var(--red); }
.verdict.warn { background:var(--amberbg); color:var(--amber); } .verdict.unk { background:#eceff3; color:var(--muted); }
.hero .checkbox-cta { border-radius:12px; padding:14px; margin:16px 0; } .hero .checkbox-cta h2 { margin-top:0; } .hero .checkbox-cta p { font-size:.92rem; }
.trades { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
@media (max-width: 640px) { .trades { grid-template-columns:repeat(2,1fr); } }
label.trade { margin:0; font-weight:600; }
label.trade { position:relative; }
label.trade input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; z-index:1; }
label.trade span { display:block; border:1px solid var(--line); border-radius:10px; padding:10px; text-align:center; cursor:pointer; background:#fff; }
label.trade span small { display:block; font-weight:400; color:var(--muted); font-size:.75rem; }
label.trade input:checked + span { border:2px solid var(--brand); background:#f4f8fc; }
label.trade input:focus-visible + span { outline:2px solid var(--brand); }
label.trade.t-emerg span { border-color:#f1b5ae; }
.card.docnew { border-left:4px solid var(--red); }
.card.doc h3 { margin:6px 0 2px; }
