/* Calculator styles. Uses the site's colour variables (--brand, --surface, --line ...). */
.cx-bar{display:grid;gap:12px;margin:0 0 26px}
.cx-search{width:100%;max-width:460px;padding:.8em 1.1em;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}
.cx-chips{display:flex;gap:8px;flex-wrap:wrap}
.cx-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:.4em 1em;font:600 .88rem system-ui,sans-serif;cursor:pointer}
.cx-chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.cx-group{margin-bottom:30px}
.cx-cat{display:flex;align-items:center;gap:10px;font:700 1.05rem Georgia,serif;margin:0 0 12px}
.cx-n{font:700 .75rem system-ui;background:var(--soft);color:var(--brand);border-radius:999px;padding:.15em .7em}
.cx-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.cx-card{display:grid;align-content:start;gap:4px;text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--ink);cursor:pointer;font:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.cx-card:hover,.cx-card:focus-visible{transform:translateY(-3px);box-shadow:var(--sh);border-color:var(--brand)}
.cx-ic{width:38px;height:38px;border-radius:11px;background:var(--soft);display:grid;place-items:center;font-size:1.15rem;margin-bottom:6px}
.cx-tt{font:700 1rem system-ui,sans-serif}
.cx-ds{font-size:.88rem;color:var(--muted);line-height:1.4}
.cx-none{color:var(--muted)}
.cx-dlg{border:0;padding:0;border-radius:22px;max-width:min(680px,calc(100vw - 24px));width:100%;max-height:calc(100dvh - 24px);background:var(--surface);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.cx-dlg::backdrop{background:rgba(5,20,28,.62);backdrop-filter:blur(3px)}
.cx-panel{padding:22px 22px 18px}
.cx-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cx-head h3{font-size:1.5rem;margin:0}
.cx-eyebrow{font:700 .7rem system-ui;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.cx-x{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;width:36px;height:36px;font-size:1.3rem;line-height:1;cursor:pointer;flex:none}
.cx-lead{color:var(--muted);margin:.4em 0 1em}
.cx-fields{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cx-field{display:grid;gap:5px;align-content:start}.cx-field.wide{grid-column:1/-1}
.cx-field label,.cx-sub{font:600 .88rem system-ui,sans-serif;color:var(--ink)}
.cx-sub{grid-column:1/-1;margin:8px 0 0;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cx-hint{color:var(--muted);font-size:.78rem}
.cx-with{display:flex;gap:6px;align-items:center}
.cx-with input{flex:1;min-width:0}
.cx-fields input[type=number],.cx-fields input[type=date],.cx-fields input[type=text],.cx-fields select{width:100%;padding:.62em .8em;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;min-height:44px}
.cx-unit{width:auto!important;flex:none}
.cx-u{color:var(--muted);font-size:.9rem;min-width:2.2em}
.cx-segs{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cx-seg{flex:1;border:0;background:var(--bg);color:var(--muted);padding:.62em .6em;font:600 .92rem system-ui;cursor:pointer;min-height:44px}
.cx-seg.on{background:var(--brand);color:#fff}
.cx-checks{grid-column:1/-1;display:grid;gap:8px}
.cx-check{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);cursor:pointer;font-size:.95rem}
.cx-check input{margin-top:.25em;width:18px;height:18px;accent-color:var(--brand)}
.cx-check em{font-style:normal;color:var(--brand);font-weight:700}
.cx-check small{display:block;color:var(--muted)}
.cx-btns{display:flex;gap:10px;margin-top:16px}
.cx-go,.cx-reset{border-radius:999px;padding:.7em 1.6em;font:600 1rem system-ui;cursor:pointer;border:2px solid var(--brand)}
.cx-go{background:var(--brand);color:#fff}.cx-reset{background:transparent;color:var(--ink);border-color:var(--line)}
.cx-res{margin-top:16px}
.cx-err{padding:12px 14px;border-radius:12px;background:rgba(200,50,50,.1);color:#b3261e;border:1px solid rgba(200,50,50,.3)}
:root[data-theme=dark] .cx-err{color:#ff9a92}
.cx-card2{border-radius:16px;padding:16px 18px;border:1px solid var(--line);border-inline-start:6px solid var(--brand);background:var(--bg)}
.cx-card2.lv-ok{border-inline-start-color:#1fb26b}.cx-card2.lv-warn{border-inline-start-color:#e0a21a}.cx-card2.lv-bad{border-inline-start-color:#d6453d}
.cx-lab{font:700 .72rem system-ui;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cx-big{font:700 2.3rem Georgia,serif;line-height:1.1;margin:4px 0}.cx-big small{font:600 1rem system-ui;color:var(--muted)}
.cx-txt{font-weight:600;margin-bottom:6px}
.cx-rows{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0 0;font-size:.93rem}
.cx-rows dt{color:var(--muted)}.cx-rows dd{margin:0;font-weight:600}
.cx-note{margin:10px 0 0;font-size:.86rem;color:var(--muted)}
.cx-about{margin-top:16px;border-top:1px solid var(--line);padding-top:10px;font-size:.9rem}
.cx-about summary{cursor:pointer;font-weight:600;color:var(--brand)}
.cx-about p{margin:.6em 0;color:var(--muted)}.cx-about b{color:var(--ink)}
.cx-disc{margin:14px 0 0;font-size:.78rem;color:var(--muted)}
@media(max-width:560px){.cx-panel{padding:16px 14px}.cx-dlg{border-radius:16px}}

.cx-hb{display:flex;gap:8px;align-items:center;flex:none}
.cx-link{border:1px solid var(--line);background:transparent;color:var(--brand);border-radius:999px;padding:.35em .9em;font:600 .8rem system-ui;cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.cx-card{text-decoration:none}
.cx-more{margin-top:22px;text-align:center}
