:root { color-scheme:light; --bg:#f5f8fd; --card:#fff; --ink:#0f1b33; --muted:#6b7a90; --line:#e6ecf5; --blue:#1769f2; --purple:#9333ea; --blue-soft:#e8f0fe; --green:#13a152; --green-soft:#e5f6ec; --red:#e03b3b; --red-soft:#fdeceb; --amber:#a15c00;
  --radius:18px; --shadow:0 1px 2px rgba(15,27,51,.04), 0 10px 28px rgba(15,27,51,.06); --mountains:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 160'%3E%3Cpath d='M0 160V120L70 70l50 40 80-80 90 85 50-35 60 55v25z' fill='%231769f2' fill-opacity='.07'/%3E%3Cpath d='M120 160l70-60 60 45 70-55 80 70v0z' fill='%231769f2' fill-opacity='.06'/%3E%3C/svg%3E"); }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif; }
.hidden, [hidden] { display:none !important; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
#app { min-height:100vh; }
.app { min-height:100vh; display:flex; }
.col { flex:1; min-width:0; display:flex; flex-direction:column; position:relative; }
.ic { flex:none; }

/* ---------- sidebar (computers) ---------- */
.side { display:none; }
.brand-d, .m-brand { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; border-radius:12px; } .wordmark { display:block; height:22px; width:auto; } .m-brand .wordmark { height:18px; } .plain-brand .wordmark { height:34px; margin:0 auto; }
.co-card { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:14px; padding:12px; background:var(--card); }
.co-av { width:40px; height:40px; border-radius:50%; background:var(--blue); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; }
.co-text { min-width:0; display:flex; flex-direction:column; flex:1; } .co-role { font-size:.8rem; color:var(--muted); }
.co-select { width:100%; border:0 !important; background-color:transparent !important; padding:0 38px 0 0 !important; min-height:0 !important; font-weight:700; font-size:1rem !important; color:var(--ink); text-overflow:ellipsis; cursor:pointer; }
.side-nav { display:flex; flex-direction:column; gap:4px; }
.nav { display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:12px; color:var(--muted); text-decoration:none; font-weight:600; }
.nav:hover { background:var(--bg); } .nav[aria-current=page] { background:var(--blue-soft); color:var(--blue); }
.grow { flex:1; }
.fy { border:1px solid var(--line); border-radius:14px; padding:12px 14px; display:flex; flex-direction:column; gap:1px; } .fy-l, .fy-r { font-size:.78rem; color:var(--muted); } .fy strong { font-size:1.1rem; }

/* ---------- top bar ---------- */
.top { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:10px; padding:calc(10px + env(safe-area-inset-top)) 16px 10px; background:var(--card); border-bottom:1px solid var(--line); }
.m-co { flex:1; min-width:0; } .m-co select { width:100%; }
.pill { border-radius:99px !important; padding:8px 12px !important; min-height:40px !important; font-weight:600; text-overflow:ellipsis; }
.top .d-title, .top .d-new { display:none; }
.me { display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:var(--blue-soft); color:var(--blue); font-weight:700; text-decoration:none; flex:none; } .me.on { outline:3px solid rgba(23,105,242,.3); }

main { flex:1; width:100%; max-width:1120px; margin:0 auto; padding:16px 16px calc(104px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:14px; }
h2 { margin:6px 0 2px; font-size:1.35rem; letter-spacing:-.2px; } h3 { margin:0 0 6px; font-size:1.05rem; } h4 { margin:12px 0 6px; font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }
.page-h { font-size:1.6rem; margin:2px 0 0; } .page-h + p { margin:0 0 4px; }

/* ---------- cards and text ---------- */
.card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow); }
.card.empty { text-align:center; color:var(--muted); padding:26px; } .card.err { border-color:var(--red); }
.stack { display:flex; flex-direction:column; gap:12px; } .between { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.row { display:flex; justify-content:space-between; gap:12px; padding:4px 0; } .row.gap { justify-content:flex-start; flex-wrap:wrap; }
.small { font-size:.9rem; } .tiny { font-size:.75rem; } .muted { color:var(--muted); } .pad { padding:6px 2px; } .center { text-align:center; }
.link { color:var(--blue); text-decoration:none; font-weight:600; display:inline-block; }
code { background:var(--bg); padding:1px 5px; border-radius:6px; font-size:.85em; word-break:break-all; }
.note { display:block; background:#fff6e5; color:#6b4300; border:1px solid #f1d9a6; border-radius:14px; padding:11px 14px; text-decoration:none; font-size:.92rem; }

/* ---------- forms and buttons ---------- */
.field { display:flex; flex-direction:column; gap:5px; } .lbl { font-weight:600; font-size:.9rem; } .hint { color:var(--muted); font-size:.82rem; }
input[type=text], input[type=search], input[type=date], input[type=email], input[type=password], input[type=tel], select, textarea { width:100%; font:inherit; font-size:16px; color:var(--ink); background-color:var(--bg); border:1px solid var(--line); border-radius:12px; padding:11px 12px; min-height:44px; }
input[readonly] { font-size:.85rem; }
select { -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7a90' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:16px; padding-right:38px; cursor:pointer; }
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible { outline:2px solid var(--blue); outline-offset:1px; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font:inherit; font-weight:600; min-height:44px; padding:10px 18px; border-radius:12px; border:1px solid var(--line); background:var(--card); color:var(--ink); text-decoration:none; cursor:pointer; }
.btn.primary { background:var(--blue); border-color:var(--blue); color:#fff; box-shadow:0 6px 16px rgba(23,105,242,.28); } .btn.wide { width:100%; } .btn.small { min-height:38px; padding:6px 12px; font-size:.9rem; } .btn:disabled { opacity:.55; cursor:default; }
.form-error { color:var(--red); font-weight:600; margin:0; } .form-error:empty { display:none; }
.ok { color:var(--green); font-weight:600; font-size:.85rem; }

/* ---------- dashboard ---------- */
.hero { position:relative; border:1px solid var(--line); border-radius:var(--radius); padding:20px 18px 18px; background:var(--card) var(--mountains) no-repeat right bottom / 380px auto; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:4px; overflow:hidden; }
.eyebrow { font-size:.72rem; letter-spacing:.22em; color:var(--muted); font-weight:600; }
.greet { font-size:1.7rem; margin:2px 0 0; font-weight:800; letter-spacing:-.5px; } .sub { margin:0 0 8px; color:var(--muted); }
.period { width:auto; max-width:100%; align-self:flex-start; border-radius:12px; font-weight:600; }
.qa-row { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; }
.qa { display:flex; flex-direction:column; align-items:center; gap:8px; padding:12px 4px; border:1px solid var(--line); border-radius:16px; background:var(--card); color:var(--ink); text-decoration:none; font-weight:600; font-size:.82rem; text-align:center; box-shadow:var(--shadow); }
.qic { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; background:var(--blue-soft); color:var(--blue); flex:none; }
.cur { font-weight:700; color:var(--muted); font-size:.8rem; letter-spacing:.6px; margin:6px 0 4px; }
.cur-block { display:flex; flex-direction:column; gap:14px; }
.kpis { display:grid; grid-template-columns:1fr 1fr; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.kpi { display:flex; gap:14px; align-items:center; padding:16px 18px; min-width:0; } .kpi:nth-child(2) { border-left:1px solid var(--line); } .kpi:nth-child(3) { grid-column:1 / -1; border-top:1px solid var(--line); }
.kic { display:none; } .kbody { display:flex; flex-direction:column; gap:2px; min-width:0; }
.sl { font-size:.92rem; color:var(--muted); display:flex; align-items:center; gap:8px; }
.kpi .sl::before { content:""; width:10px; height:10px; border-radius:50%; background:var(--muted); } .kpi.in .sl::before { background:var(--green); } .kpi.out .sl::before { background:var(--red); } .kpi.pos .sl::before { background:var(--blue); } .kpi.neg .sl::before { background:var(--red); }
.sv { font-size:clamp(1.3rem, 6.3vw, 1.95rem); font-weight:800; letter-spacing:-.8px; line-height:1.1; font-variant-numeric:tabular-nums; white-space:nowrap; } .sv.xl { font-size:clamp(1.05rem, 4.6vw, 1.5rem); }
.sym { font-size:.55em; font-weight:700; margin-right:2px; vertical-align:.45em; } .cents { font-size:.55em; font-weight:700; color:var(--muted); letter-spacing:0; vertical-align:baseline; }
.kpi.neg .sv { color:var(--red); }
.chg { font-size:.82rem; font-weight:700; } .chg.good { color:var(--green); } .chg.bad { color:var(--red); } .chg.flat { color:var(--muted); } .vs { color:var(--muted); font-weight:500; }
.chart-card p { margin:0; } .chart-card .chart { margin-top:10px; } .chart-legend { display:flex; flex-wrap:wrap; align-items:center; gap:14px; justify-content:space-between; }
.lg { font-size:.85rem; color:var(--muted); display:flex; align-items:center; gap:6px; } .lg::before { content:""; width:10px; height:10px; border-radius:50%; } .lg.in::before { background:var(--blue); } .lg.out::before { background:var(--purple); }
.chart-legend .lg { display:none; } 
.seg-tabs { display:inline-flex; background:var(--bg); border-radius:12px; padding:3px; margin-left:auto; }
.seg-tabs button { border:0; background:transparent; font:inherit; font-size:.85rem; font-weight:600; color:var(--muted); padding:6px 12px; border-radius:9px; cursor:pointer; min-height:34px; }
.seg-tabs button[aria-pressed=true] { background:var(--card); color:var(--ink); box-shadow:0 1px 3px rgba(15,27,51,.12); }
.chart-box svg { display:block; max-width:100%; touch-action:pan-y; } .chart-readout { margin:6px 0 0; font-size:.9rem; font-weight:600; min-height:1.3em; }
.grid { stroke:var(--line); stroke-dasharray:3 4; } .ax { fill:var(--muted); font-size:11px; } .guide { stroke:var(--line); stroke-width:1.5; }
.line { stroke-width:2.5; stroke-linecap:round; } .line-in { stroke:var(--blue); } .line-out { stroke:var(--purple); }
.dot { stroke:var(--card); stroke-width:2; } .dot-in { fill:var(--blue); } .dot-out { fill:var(--purple); }
.stop-in-a { stop-color:var(--blue); stop-opacity:.22; } .stop-in-b { stop-color:var(--blue); stop-opacity:0; } .stop-out-a { stop-color:var(--purple); stop-opacity:.2; } .stop-out-b { stop-color:var(--purple); stop-opacity:0; }
.cats { display:grid; grid-template-columns:1fr; gap:6px 28px; } .catrow { padding:3px 0; } .track { display:block; height:6px; border-radius:99px; background:var(--bg); margin-top:3px; }
.bar { display:block; height:100%; width:var(--w, 0%); border-radius:99px; } .bar.out { background:#f0a3a0; } .bar.in { background:#7fd0a0; }

/* ---------- transaction rows ---------- */
.list { display:flex; flex-direction:column; gap:10px; }
.list-h { margin:8px 2px 0; font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.entry { position:relative; border-bottom:1px solid var(--line); } .card .entry:last-of-type { border-bottom:none; }
.list > .entry { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:2px 14px 10px; box-shadow:var(--shadow); }
.entry.archived { opacity:.6; }
.erow { display:flex; width:100%; align-items:center; gap:12px; text-align:left; background:none; border:0; padding:12px 0 8px; font:inherit; color:inherit; cursor:pointer; }
.eic { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:var(--blue-soft); color:var(--blue); flex:none; } .eic.in { background:var(--green-soft); color:var(--green); } .eic.out { background:var(--red-soft); color:var(--red); }
.ecol { display:flex; flex-direction:column; min-width:0; flex:1; } .en { font-weight:700; overflow-wrap:anywhere; } .em { font-size:.82rem; color:var(--muted); }
.amt { font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; } .amt.in { color:var(--green); } .amt.out { color:var(--red); } .amt.q { color:var(--muted); font-weight:700; }
.badge { display:inline-block; font-size:.72rem; font-weight:600; padding:2px 9px; border-radius:99px; background:var(--bg); color:var(--muted); margin:0 6px 4px 54px; } .badge.q { background:#fff1d6; color:var(--amber); }
.detail { padding:6px 0 0 54px; display:flex; flex-direction:column; gap:6px; } .filelist { display:flex; flex-direction:column; gap:6px; }
.filelink { color:var(--blue); text-decoration:none; font-weight:600; overflow-wrap:anywhere; }
.filters { display:grid; grid-template-columns:1fr 1fr; gap:8px; } .filters input[type=search] { grid-column:1 / -1; } .check { display:flex; align-items:center; gap:6px; font-size:.9rem; }
.more-row { display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit; }

/* ---------- add form ---------- */
.seg-wrap { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.seg { min-height:48px; font:inherit; font-weight:700; border-radius:12px; border:2px solid var(--line); background:var(--bg); color:var(--muted); cursor:pointer; }
.seg.in.on { border-color:var(--green); color:var(--green); background:var(--green-soft); } .seg.out.on { border-color:var(--red); color:var(--red); background:var(--red-soft); }
.chosen { display:flex; flex-direction:column; gap:8px; } .chip-file { display:flex; align-items:center; gap:10px; background:var(--bg); border-radius:12px; padding:8px; }
.thumb { width:46px; height:46px; object-fit:cover; border-radius:8px; flex:none; } .thumb.doc { display:flex; align-items:center; justify-content:center; background:var(--line); font-weight:700; font-size:.75rem; }
.cn { flex:1; min-width:0; overflow-wrap:anywhere; font-size:.9rem; }
.x { border:0; background:none; font-size:1.1rem; color:var(--muted); min-width:44px; min-height:44px; cursor:pointer; }
.person { padding:8px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:6px; } .person:last-child { border-bottom:none; }

/* ---------- phone: bottom tabs and the + button ---------- */
.tabs { position:fixed; left:0; right:0; bottom:0; z-index:6; display:flex; gap:4px; background:var(--card); border-top:1px solid var(--line); padding:6px 8px calc(6px + env(safe-area-inset-bottom)); }
.tab { flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; text-decoration:none; color:var(--muted); font-size:.72rem; font-weight:600; padding:6px 2px; border-radius:14px; min-height:52px; justify-content:center; }
.tab[aria-current=page] { color:var(--blue); background:var(--blue-soft); } .ti { display:flex; }
.fab { position:fixed; right:18px; bottom:calc(84px + env(safe-area-inset-bottom)); z-index:7; width:56px; height:56px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(23,105,242,.4); text-decoration:none; }
.toast { position:fixed; left:50%; bottom:calc(88px + env(safe-area-inset-bottom)); transform:translateX(-50%) translateY(20px); opacity:0; pointer-events:none; background:#14181f; color:#fff; padding:10px 16px; border-radius:99px; font-size:.92rem; max-width:90vw; transition:.2s; z-index:20; text-align:center; }
.toast.show { opacity:1; transform:translateX(-50%); } .toast.error { background:var(--red); }
.noscript { padding:20px; }

/* ---------- before logging in ---------- */
.plain { max-width:440px; justify-content:center; padding-top:calc(28px + env(safe-area-inset-top)); gap:14px; }
.plain-brand { display:flex; align-items:center; justify-content:center; margin:0 0 14px; }

/* ---------- computers ---------- */
@media (min-width:900px) {
  .side { display:flex; flex-direction:column; gap:18px; width:264px; flex:none; position:sticky; top:0; height:100vh; background:var(--card); border-right:1px solid var(--line); padding:22px 16px; }
  .m-brand, .m-co, .tabs, .fab { display:none; }
  .top { padding:14px 32px; background:color-mix(in srgb, var(--card) 88%, transparent); backdrop-filter:blur(8px); justify-content:flex-end; }
  .top .d-title { display:block; font-size:1.25rem; font-weight:800; margin-right:auto; } .top .d-new { display:inline-flex; }
  main { padding:24px 32px 48px; gap:18px; }
  .hero { padding:26px 28px; } .greet { font-size:2.4rem; } .sub { font-size:1.05rem; } .period { position:absolute; top:22px; right:24px; align-self:auto; }
  .qa-row { display:none; }
  .kpis { background:none; border:0; box-shadow:none; grid-template-columns:repeat(3, 1fr); gap:16px; }
  .kpi, .kpi:nth-child(2), .kpi:nth-child(3) { grid-column:auto; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); gap:18px; }
  .kic { display:flex; align-items:center; justify-content:center; width:66px; height:66px; border-radius:50%; background:var(--blue-soft); color:var(--blue); flex:none; }
  .kpi.in .kic { background:var(--blue-soft); } .kpi.out .kic { background:var(--red-soft); color:var(--red); } .kpi.pos .kic { background:var(--blue-soft); }
  .kpi .sl::before { display:none; } .sl { font-size:.95rem; } .sv { font-size:1.9rem; } .sv.xl { font-size:1.5rem; }
  .chart-legend .lg { display:flex; } .chart-legend { flex-direction:row-reverse; }
  .cats { grid-template-columns:1fr 1fr; }
  .page-h { font-size:1.8rem; } .filters { grid-template-columns:2fr 1fr 1fr auto; } .filters input[type=search] { grid-column:auto; }
  .toast { bottom:32px; }
}

.offline-bar { background:#fff6e5; color:#6b4300; border:1px solid #f1d9a6; border-radius:14px; padding:11px 14px; font-size:.92rem; font-weight:600; }
.pending { display:block; background:var(--blue-soft); color:var(--blue); border-radius:14px; padding:11px 14px; font-weight:600; font-size:.92rem; text-decoration:none; }
.pending[hidden] { display:none; }
.link-btn { background:none; border:0; padding:0; font:inherit; font-weight:700; color:var(--blue); text-decoration:underline; cursor:pointer; }
.out-item .form-error { margin:0; }

.card summary { font-weight:700; cursor:pointer; list-style-position:inside; }
.card details[open] summary { margin-bottom:6px; }
.invite-box { margin-top:10px; }

.pw { position:relative; display:flex; }
.pw input { padding-right:68px; }
.pw-toggle { position:absolute; right:6px; top:50%; transform:translateY(-50%); min-height:34px; padding:4px 12px; border:0; border-radius:9px; background:transparent; color:var(--blue); font:inherit; font-size:.9rem; font-weight:700; cursor:pointer; }
.pw-toggle[aria-pressed=true] { background:var(--blue-soft); }

/* corrections: history of an entry */
.pre { white-space: pre-line; }
.history { display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.hv { border-left:3px solid var(--line); padding:2px 0 2px 10px; }
.nowrap { white-space:nowrap; }
.changes { margin:4px 0 2px; padding-left:18px; }
.changes li { margin:2px 0; overflow-wrap:anywhere; }

/* long unbroken text (folder paths, email addresses, links) wraps instead of pushing the page sideways on a phone */
main { overflow-wrap: break-word; }

/* deleting and the bin */
.btn.danger { color:var(--red); border-color:#f3c7c5; background:var(--card); } .btn.danger:hover { background:var(--red-soft); }
.bin-item { display:flex; flex-direction:column; gap:8px; }

/* the app's own question box and choice list (ui.js) */
body.sheet-open { overflow:hidden; }
.viewer { position:fixed; inset:0; z-index:1100; display:flex; flex-direction:column; background:#0b1220; }
.viewer-bar { display:flex; align-items:center; gap:12px; padding:calc(8px + env(safe-area-inset-top)) 12px 8px; background:#0b1220; color:#fff; }
.viewer-back { display:inline-flex; align-items:center; gap:4px; min-height:44px; padding:6px 14px 6px 8px; border-radius:12px; border:0; background:rgba(255,255,255,.14); color:#fff; font:inherit; font-weight:600; cursor:pointer; }
.viewer-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.9rem; opacity:.8; }
.viewer-body { flex:1; min-height:0; overflow:auto; display:flex; align-items:center; justify-content:center; padding-bottom:env(safe-area-inset-bottom); -webkit-overflow-scrolling:touch; }
.viewer-img { max-width:100%; max-height:100%; object-fit:contain; touch-action:pinch-zoom; }
.viewer-pdf { width:100%; height:100%; border:0; background:#fff; align-self:stretch; }
body.viewer-open { overflow:hidden; }
.sheet-layer { position:fixed; inset:0; z-index:1000; display:flex; align-items:flex-end; justify-content:center; background:rgba(15,27,51,0); transition:background .18s ease; }
.sheet-layer.in { background:rgba(15,27,51,.42); }
.sheet { width:100%; max-width:560px; max-height:86vh; overflow:auto; background:var(--card); color:var(--ink); border-radius:22px 22px 0 0; box-shadow:0 -10px 40px rgba(15,27,51,.18);
  padding:8px 20px calc(20px + env(safe-area-inset-bottom)); transform:translateY(100%); transition:transform .22s cubic-bezier(.2,.8,.2,1); outline:none; }
.sheet-layer.in .sheet { transform:none; }
.sheet-grip { width:40px; height:5px; border-radius:99px; background:var(--line); margin:4px auto 14px; }
.sheet-body { display:flex; flex-direction:column; gap:12px; }
.sheet-icon { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:var(--blue-soft); color:var(--blue); }
.sheet-icon.danger { background:var(--red-soft); color:var(--red); }
.sheet-title { margin:2px 0 0; font-size:1.2rem; line-height:1.3; letter-spacing:-.01em; overflow-wrap:anywhere; }
.sheet-msg { color:var(--muted); font-size:.95rem; line-height:1.45; } .sheet-msg p { margin:0 0 8px; } .sheet-msg p:last-child { margin:0; }
.sheet-input { width:100%; }
.sheet-actions { display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.btn.danger-solid { background:var(--red); border-color:var(--red); color:#fff; box-shadow:0 6px 16px rgba(224,59,59,.25); }
.btn.danger-solid:disabled { box-shadow:none; }
.dup-compare { width:100%; border-collapse:collapse; font-size:.88rem; table-layout:fixed; }
.dup-compare th, .dup-compare td { padding:7px 6px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.dup-compare th[scope=row] { width:26%; color:var(--muted); font-weight:600; }
.dup-compare thead th { font-size:.8rem; color:var(--muted); }
.dup-compare tr.diff td { background:#fff1d6; font-weight:600; }
.dup-pic { display:block; width:100%; max-height:240px; object-fit:contain; border-radius:8px; background:var(--bg); }
.choice-list { display:flex; flex-direction:column; gap:4px; margin:0 -8px; }
.choice { display:flex; align-items:center; gap:12px; width:100%; min-height:52px; padding:10px 12px; border:0; border-radius:12px; background:transparent; color:var(--ink); font:inherit; font-size:1rem; text-align:left; cursor:pointer; }
.choice:hover, .choice:focus-visible { background:var(--bg); outline:none; }
.choice.on { background:var(--blue-soft); color:var(--blue); font-weight:600; }
.choice.action { color:var(--blue); border-top:1px solid var(--line); border-radius:0 0 12px 12px; margin-top:4px; }
.choice-ic { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--bg); color:var(--muted); flex:none; }
.choice.on .choice-ic { background:#fff; color:var(--blue); }
.choice-t { flex:1; min-width:0; overflow-wrap:anywhere; }
.choice-check { color:var(--blue); display:grid; flex:none; }
.sheet-title.left { margin-bottom:4px; }
@media (min-width: 768px) {
  .sheet-layer { align-items:center; }
  .sheet { max-width:440px; border-radius:20px; padding:22px 24px 22px; transform:translateY(12px) scale(.98); opacity:0; transition:transform .18s ease, opacity .18s ease; }
  .sheet-layer.in .sheet { transform:none; opacity:1; }
  .sheet-grip { display:none; }
  .sheet-actions { flex-direction:row-reverse; } .sheet-actions .btn { width:auto; flex:1; }
}
@media (prefers-reduced-motion: reduce) { .sheet, .sheet-layer { transition:none; } }
.co-line { display:inline-flex; align-items:center; gap:8px; } .co-line .ic { color:var(--muted); flex:none; }
.icon-link { display:inline-flex; align-items:center; gap:6px; }
.danger-zone { border-color:#f3c7c5; } .danger-zone h3 { color:var(--red); }

/* which company you are working in, on every screen */
.co-banner { display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:12px; font-size:.88rem; background:var(--blue-soft); color:#1d3f7a; }
.co-banner.personal { background:var(--green-soft); color:#155c34; }
.co-banner.household { background:#f3ecff; color:#5b2ea6; }
.co-banner > span:first-of-type { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.co-kind { font-size:.75rem; font-weight:600; padding:2px 8px; border-radius:99px; background:rgba(255,255,255,.7); }
.badge-inline { align-self:flex-start; display:inline-block; font-size:.78rem; font-weight:600; padding:3px 10px; border-radius:99px; background:var(--blue-soft); color:var(--blue); }

.acct-row { padding:8px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.row.gap > select { flex:1; min-width:0; }

/* check my records (warnings) */
.toast.warn { background:#7a4a00; }
.warn-card { display:flex; flex-direction:column; gap:6px; border-left:4px solid var(--line); }
.warn-card.serious { border-left-color:var(--red); } .warn-card.review { border-left-color:#e8a33d; } .warn-card.info { border-left-color:var(--blue); }
.warn-chip { display:inline-flex; align-items:center; gap:5px; font-size:.74rem; font-weight:700; padding:3px 9px; border-radius:99px; }
.warn-chip.serious { background:var(--red-soft); color:var(--red); } .warn-chip.review { background:#fff1d6; color:#8a5300; } .warn-chip.info { background:var(--blue-soft); color:var(--blue); }
.warn-entry strong { overflow-wrap:anywhere; } .warn-what { margin:0; font-weight:600; } .warn-card p { margin:0; } .warn-next { color:var(--ink); }
details.card > summary { cursor:pointer; font-weight:600; } details.card[open] > summary { margin-bottom:10px; }
.toast { max-width:min(92vw, 440px); width:max-content; text-align:center; line-height:1.4; border-radius:16px; }

/* recurring items and the forecast */
.exp-row, .rec-item { display:flex; flex-direction:column; gap:6px; } .exp-row .late { color:#8a5300; font-weight:600; }
.up-row { padding:10px 0; border-top:1px solid var(--line); gap:10px; } .up-row:first-of-type { border-top:none; } .gap-s { gap:8px; align-items:center; }
table.fc { width:100%; border-collapse:collapse; font-size:.9rem; font-variant-numeric:tabular-nums; }
table.fc th { text-align:right; color:var(--muted); font-weight:600; font-size:.78rem; padding:4px 0 8px; } table.fc th:first-child, table.fc td:first-child { text-align:left; }
table.fc td { text-align:right; padding:8px 0; border-top:1px solid var(--line); white-space:nowrap; } table.fc td.in { color:var(--green); } table.fc td.out { color:var(--red); }

/* first profile: welcome and the business / personal choice */
.kind-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:12px; margin:0 0 16px; }
.kind-card { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:16px; min-height:120px; border:2px solid var(--line); border-radius:16px; background:var(--card); color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.kind-card:hover, .kind-card:focus-visible { border-color:var(--blue); outline:none; }
.kind-card[aria-pressed=true] { border-color:var(--blue); background:var(--blue-soft); }
.kc-ic { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:12px; background:var(--bg); color:var(--blue); }
.kind-card[aria-pressed=true] .kc-ic { background:var(--card); }
.kc-t { display:flex; flex-direction:column; gap:4px; } .kc-t span { color:var(--muted); font-size:.88rem; line-height:1.35; }
@media (max-width:380px) { .kind-cards { grid-template-columns:1fr; } .kind-card { min-height:0; flex-direction:row; align-items:center; } }
.note.tip { border-color:var(--blue); background:var(--blue-soft); color:var(--ink); text-decoration:none; }

/* drafts on Transactions */
.drafts .draft-row { display:flex; align-items:center; gap:8px; border-top:1px solid var(--line); padding:8px 0; }
.drafts .draft-row:first-of-type { border-top:0; }
.draft-open { display:flex; align-items:center; gap:12px; flex:1; min-width:0; color:var(--ink); text-decoration:none; min-height:48px; }
.draft-open .ecol { min-width:0; }
.drafts .x { flex:none; width:40px; height:40px; border:0; border-radius:10px; background:var(--bg); color:var(--muted); font:inherit; cursor:pointer; }

/* own categories */
.cat-chips { display:flex; flex-wrap:wrap; gap:8px; }
.cat-chip { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; background:var(--bg); color:var(--muted); font-size:.88rem; }
.cat-chip.own { background:var(--blue-soft); color:var(--blue); font-weight:600; padding-right:4px; }
.cat-chip .x { width:28px; height:28px; border:0; border-radius:999px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
details summary { cursor:pointer; padding:4px 0; }
/* mileage log */
.trip-row { display:flex; align-items:center; gap:10px; border-top:1px solid var(--line); padding:10px 0; }
.trip-row:first-of-type { border-top:0; }
.trip-row .x { flex:none; width:36px; height:36px; border:0; border-radius:10px; background:var(--bg); color:var(--muted); font:inherit; cursor:pointer; }
.date-range[hidden] { display:none; }
.date-range { grid-column:1 / -1; }
/* category picker */
.small-h { margin:0; font-size:.95rem; }
.tick-list { display:grid; grid-template-columns:1fr 1fr; gap:2px 10px; }
.tick-row { display:flex; align-items:center; gap:10px; min-height:44px; padding:4px 6px; border-radius:10px; cursor:pointer; font-size:.95rem; }
.tick-row:hover { background:var(--bg); }
.tick-row input { width:20px; height:20px; flex:none; accent-color:var(--blue); }
.cat-sheet .row .sheet-input { flex:1; min-width:0; }
.sheet-actions.sticky { position:sticky; bottom:calc(-20px - env(safe-area-inset-bottom)); padding-bottom:calc(16px + env(safe-area-inset-bottom)) !important; background:var(--card); padding:10px 0 4px; margin-top:4px; border-top:1px solid var(--line); }
@media (max-width:380px) { .tick-list { grid-template-columns:1fr; } }

/* app owner dashboard */
.o-tiles { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }   /* minmax(0): a long name or amount never makes a column wider than the screen */
@media (min-width:900px) { .o-tiles { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
.o-tile { display:flex; flex-direction:column; gap:2px; padding:14px 16px; min-width:0; overflow-wrap:anywhere; }
.o-num { font-size:clamp(1.05rem, 5vw, 1.7rem); line-height:1.1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.note-btn { width:100%; text-align:left; font:inherit; cursor:pointer; }
.wk-bars { display:grid; grid-template-columns:repeat(12, 1fr); gap:4px; align-items:end; }
.wk { display:flex; flex-direction:column; align-items:center; gap:3px; min-width:0; }
.wk-track { display:flex; align-items:flex-end; width:100%; height:90px; background:var(--bg); border-radius:6px; overflow:hidden; }
.wk-bar { display:block; width:100%; height:var(--h); min-height:0; border-radius:6px 6px 0 0; }
.wk-bar.new { background:var(--blue); } .wk-bar.act { background:var(--green); }
.wk-n { font-size:.72rem; font-weight:700; min-height:1em; font-variant-numeric:tabular-nums; }
.wk-l { font-size:.66rem; color:var(--muted); white-space:nowrap; min-height:1.3em; overflow:visible; }
.o-usage { display:flex; flex-direction:column; gap:8px; font-size:.93rem; }
.o-table { display:flex; flex-direction:column; font-size:.88rem; }
.o-tr { display:grid; grid-template-columns:1.1fr .9fr 1fr 1fr; gap:8px; padding:9px 0; border-bottom:1px solid var(--line); align-items:center; font-variant-numeric:tabular-nums; }
.o-th { color:var(--muted); font-size:.74rem; font-weight:600; }
.badge-inline.warn { background:#fff6e5; color:#6b4300; }
.small-btn { min-height:38px; padding:6px 14px; font-size:.88rem; }

.req-st.approved { color:var(--green); } .req-st.declined { color:var(--red); } .req-st.cancelled { color:var(--amber); }

/* the bell */
.bell { position:relative; display:inline-grid; place-items:center; width:44px; height:44px; border-radius:999px; color:var(--ink); background:var(--bg); flex:none; }
.bell.on, .bell:hover { background:var(--blue-soft); color:var(--blue); }
.bell-n { position:absolute; top:2px; right:0; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--red); color:#fff; font-size:.7rem; font-weight:700; line-height:18px; text-align:center; box-shadow:0 0 0 2px var(--card); }
.notif { display:flex; align-items:center; gap:12px; width:100%; text-align:left; font:inherit; color:var(--ink); cursor:pointer; border:1px solid var(--line); }
.notif .notif-dot { width:9px; height:9px; border-radius:999px; flex:none; background:transparent; }
.notif.unread { border-color:var(--blue); background:var(--blue-soft); }
.notif.unread .notif-dot { background:var(--blue); }
.notif-body { font-size:.93rem; line-height:1.35; overflow-wrap:anywhere; }

/* chart zoom */
.zoom-bar { display:flex; align-items:center; gap:10px; margin-top:8px; }
.zoom-btn { width:36px; height:36px; border-radius:10px; border:1px solid var(--line); background:var(--card); color:var(--ink); font:inherit; font-size:1.2rem; font-weight:700; line-height:1; cursor:pointer; }
.zoom-btn:disabled { opacity:.35; cursor:default; }
.zoom-name { min-width:96px; text-align:center; font-size:.9rem; }
.chart-box { touch-action:pan-y; } .chart-box.loading { opacity:.5; }
@media (hover:hover) and (pointer:fine) { .zoom-hint { display:none; } }

/* month picker */
.month-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:6px; }
@media (min-width:520px) { .month-grid { grid-template-columns:repeat(6, 1fr); } }
.month-chip { min-height:44px; border-radius:10px; border:1px solid var(--line); background:var(--bg); color:var(--ink); font:inherit; font-weight:600; cursor:pointer; }
.month-chip.on { background:var(--blue); border-color:var(--blue); color:#fff; }
.month-chip:disabled { opacity:.35; cursor:default; }

.show-tabs { margin:4px 0 0; margin-left:0; align-self:flex-start; }

/* terms */
.terms-text { display:flex; flex-direction:column; gap:12px; max-height:55vh; overflow:auto; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.sheet .terms-text { max-height:none; border:0; padding:0; background:transparent; }
.terms-text h3 { margin:6px 0 4px; font-size:.98rem; } .terms-text p { margin:0; font-size:.92rem; line-height:1.5; }
.terms-tick { align-items:flex-start; } .terms-tick input { margin-top:3px; width:20px; height:20px; flex:none; accent-color:var(--blue); }

/* AI tick box */
.o-tiles.ai-tiles { grid-template-columns:repeat(3, minmax(0, 1fr)); } .ai-tiles .o-tile { padding:10px 12px; } .ai-tiles .o-num { font-size:1.15rem; }
.ai-read { border-top:1px solid var(--line); padding-top:10px; display:grid; gap:3px; }
.ico-t { display:inline-flex; align-items:center; gap:6px; vertical-align:middle; } .ico-t > svg { flex:none; }
.ico-t.ok > svg { color:var(--green); } .ico-t.warn > svg { color:var(--amber); } .ico-t.bad > svg { color:var(--red); } .ico-t.ai > svg { color:var(--purple); }
.ai-tick { display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-height:44px; font:inherit; font-size:.93rem; color:var(--ink); text-align:left; }
.ai-tick.off { width:100%; border:1px dashed var(--line); border-radius:12px; padding:8px 12px; background:var(--bg); color:var(--muted); cursor:pointer; }
.ai-tick.off .fake-box { width:20px; height:20px; border-radius:5px; border:2px solid #c5cedb; background:#eef2f8; flex:none; }
.ai-tick .soon { margin-left:auto; font-size:.72rem; font-weight:700; letter-spacing:.02em; padding:3px 9px; border-radius:999px; background:linear-gradient(90deg, var(--purple), var(--blue)); color:#fff; white-space:nowrap; }
.ai-tick .ai-left { margin-left:auto; white-space:nowrap; }

/* last year in the chart */
.line.last-year { stroke-width:2; stroke-dasharray:5 5; opacity:.28; }
.chart-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; }
.last-year-tick { font-size:.88rem; color:var(--muted); } .last-year-tick[hidden] { display:none; }
.last-year-tick input { width:18px; height:18px; accent-color:var(--blue); }
.empty-period { margin:0; text-align:center; }

/* sales (shop tools) */
.grp { border-top:1px solid var(--line); } .grp:first-of-type { border-top:0; }
.grp-head { display:flex; align-items:center; gap:12px; width:100%; padding:10px 0; border:0; background:transparent; font:inherit; color:var(--ink); text-align:left; cursor:pointer; }
.grp-head .track { margin-top:6px; }
.grp-items { padding:0 0 10px; display:flex; flex-direction:column; gap:4px; }
.grp-items[hidden] { display:none; }
.fund-card { border:1px solid var(--green); }
.fold .fund-card { border-left:3px solid var(--green); padding-left:10px; }
/* Shop: details folded shut until tapped */
details.fold > summary { display:flex; align-items:center; gap:10px; list-style:none; font-weight:400; padding:0; }
details.fold > summary::-webkit-details-marker { display:none; }
details.fold > summary::after { content:'›'; font-size:1.4rem; line-height:1; color:var(--muted); transition:transform .15s; }
details.fold[open] > summary::after { transform:rotate(90deg); }
details.fold[open] > summary { margin-bottom:12px; }
.item-map { display:flex; flex-direction:column; gap:6px; }
.item-row { display:flex; align-items:center; gap:10px; border-top:1px solid var(--line); padding-top:6px; }
.item-row select { max-width:52%; }
.field.share { max-width:160px; }
.check-list { display:flex; flex-direction:column; gap:8px; } .check-list p { margin:0; }
.ins-bars .wk-track { height:110px; } .best-row { border-top:1px solid var(--line); padding-top:6px; }
.steps { margin:0; padding-left:20px; display:flex; flex-direction:column; gap:4px; color:var(--muted); }
/* bank statements */
.bank-lines { display:flex; flex-direction:column; }
.bank-line { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; text-align:left; font:inherit; color:inherit; background:none; border:0; border-bottom:1px solid var(--line); padding:10px 2px; cursor:pointer; min-height:48px; }
.bank-line:last-child { border-bottom:0; }
.bank-line .ecol { min-width:0; } .bank-line .en, .bank-line .em { overflow-wrap:anywhere; }
.bank-st { flex-direction:row; justify-content:space-between; align-items:center; }
.chip-ok, .chip-warn { flex:none; font-size:.8rem; font-weight:600; padding:3px 10px; border-radius:99px; background:var(--green-soft); color:var(--green); }
.chip-warn { background:#fff6e5; color:#6b4300; }
.o-tile.warn { border-color:#f1d9a6; background:#fff6e5; }
.stack-s { display:flex; flex-direction:column; gap:8px; }
/* two dropdowns in a hero (Shop: period and place) stay side by side instead of on top of each other */
.hero-picks { flex-wrap:wrap; position:relative; z-index:1; } .row.gap.hero-picks > select.period { flex:none; width:auto; max-width:100%; }
@media (min-width: 900px) { .hero-picks { position:absolute; top:22px; right:24px; justify-content:flex-end; max-width:60%; } .hero-picks .period { position:static; } }
/* pull down to refresh: a round button slides down from the top and turns; let go once it is blue */
html, body { overscroll-behavior-y:contain; }
.pull { position:fixed; top:0; left:50%; z-index:1100; width:40px; height:40px; margin-left:-20px; border-radius:50%; display:grid; place-items:center; background:var(--card); color:var(--muted); box-shadow:0 4px 14px rgba(15,27,51,.18); opacity:0; pointer-events:none; transform:translateY(calc(var(--d, 0px) - 44px + env(safe-area-inset-top))) rotate(var(--turn, 0deg)); transition:opacity .15s; }
.pull.on { opacity:1; } .pull.ready { color:#fff; background:var(--blue); }
.pull.spin { animation:pull-spin .7s linear infinite; }
@keyframes pull-spin { from { transform:translateY(calc(var(--d) - 44px + env(safe-area-inset-top))) rotate(0deg); } to { transform:translateY(calc(var(--d) - 44px + env(safe-area-inset-top))) rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pull.spin { animation:none; } }
/* households */
.hh-card { border-color:#d9c8f5; }
.hh-on { display:flex; align-items:center; gap:6px; color:#5b2ea6; margin:0; }
.bar.ok { background:#7fd0a0; } .bar.warn { background:#f2c26b; } .bar.over { background:#e5726d; }
.budget-row { display:flex; flex-direction:column; gap:4px; padding:8px 0; border-bottom:1px solid var(--line); } .budget-row:last-child { border-bottom:0; }
.budget-card { color:inherit; text-decoration:none; }
.tip-row { padding:6px 0; border-bottom:1px solid var(--line); } .tip-row:last-child { border-bottom:0; } .tip-row p { margin:4px 0 0; }
.t-neg { color:var(--red); } .t-pos { color:var(--green); }
button.link { background:none; border:0; padding:0; font:inherit; color:var(--blue); font-weight:600; cursor:pointer; }
.send-row { display:flex; flex-wrap:wrap; gap:8px; } .send-row .btn { flex:1; min-width:110px; justify-content:center; }
.btn.wa { background:#25d366; border-color:#25d366; color:#fff; }
/* "Add to Home Screen" strip and steps */
.install-bar { display:flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--blue); border-radius:14px; padding:10px 12px; box-shadow:var(--shadow); }
.install-bar .ib-ic { color:var(--blue); flex:none; } .install-bar .ib-t { flex:1; display:flex; flex-direction:column; min-width:0; }
.install-bar .ib-x { border:0; background:none; font-size:1rem; color:var(--muted); cursor:pointer; padding:6px; min-width:32px; min-height:32px; }
.ios-steps { list-style:none; padding:0; margin:8px 0; display:flex; flex-direction:column; gap:12px; }
.ios-step { display:flex; align-items:flex-start; gap:10px; } .ios-n { flex:none; width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; font-weight:700; font-size:.85rem; }
.ios-ic { flex:none; color:var(--blue); width:30px; height:30px; display:grid; place-items:center; border-radius:8px; background:var(--blue-soft); }
/* the household dashboard: budgets only */
.hh-chart { padding:14px 14px 8px; } .hh-line { display:block; width:100%; height:auto; overflow:visible; }
.hh-line .base { stroke:var(--line); stroke-width:1; } .hh-line .limit { stroke:var(--muted); stroke-width:1.5; stroke-dasharray:6 5; }
.hh-line .lbl { fill:var(--muted); font-size:12px; font-weight:600; }
.hh-line .spent { fill:none; stroke-width:3; stroke-linejoin:round; stroke-linecap:round; } .hh-line .spent.ok { stroke:var(--green); } .hh-line .spent.over { stroke:var(--red); }
.hh-line .area.ok { fill:var(--green); opacity:.12; } .hh-line .area.over { fill:var(--red); opacity:.12; }
.hh-line .dot.ok { fill:var(--green); } .hh-line .dot.over { fill:var(--red); }
.hh-budget { display:flex; flex-direction:column; gap:4px; padding:10px 0; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; } .hh-budget:last-of-type { border-bottom:0; }
.hh-track { height:10px; } .hh-budget .bar.ok { background:var(--green); } .hh-budget .bar.over { background:var(--red); }
.hh-other { text-decoration:none; }
.hh-steps { display:flex; gap:6px; margin-top:4px; } .hh-dot { width:28px; height:6px; border-radius:99px; background:var(--line); } .hh-dot.on { background:var(--blue); } .hh-dot.done { background:var(--green); }
.hh-set-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.hh-set-name { display:flex; flex-direction:column; min-width:0; } .hh-set-row input { width:130px; flex:none; text-align:right; }
.hh-more summary { cursor:pointer; color:var(--blue); font-weight:600; padding:8px 0; }
.hh-total { padding-top:6px; font-size:1.05rem; } .hh-how { color:var(--ink); }
/* personal profiles */
.qa-row.qa-3 { grid-template-columns:repeat(3, 1fr); }
.pot-bal { font-size:1.25rem; font-variant-numeric:tabular-nums; } .pot-chip { margin-left:8px; font-size:.72rem; vertical-align:middle; }
.tax-sec.no-claim { opacity:.85; border-style:dashed; } .pad-h { margin:6px 2px 0; }
.hh-link { display:flex; align-items:center; gap:6px; flex-wrap:wrap; text-decoration:none; color:inherit; }
.danger-link { color:var(--red); } .wrap { flex-wrap:wrap; }
.often-row { padding:6px 0; border-bottom:1px solid var(--line); } .often-row:last-child { border-bottom:0; } .often-row p { margin:0; }
.fee-bars { display:grid; grid-template-columns:repeat(12, 1fr); gap:4px; align-items:end; height:56px; }
.fee-bar { display:block; height:var(--h, 3%); background:var(--red); opacity:.75; border-radius:4px 4px 1px 1px; } .fee-bar:last-child { opacity:1; }
.acc-row { display:flex; flex-direction:column; gap:2px; padding:8px 0; border-bottom:1px solid var(--line); } .acc-row:last-child { border-bottom:0; }
.ts-col { display:inline-block; min-width:92px; text-align:right; }
