.dash-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-gap:14px;gap:14px}@media (max-width:860px){.dash-top{grid-template-columns:minmax(0,1fr)}}.dash-top .stat.hero{justify-content:center;min-height:220px;gap:8px}.bars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;height:180px}.bars li{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.bars .col{width:min(44px,100%);border-radius:999px;background:var(--bar)}.bars li.now .col{background:var(--brand)}.bars .amt{font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bars li.now .amt{color:var(--brand-text);font-weight:700}.bars .mon{font-size:var(--t-xs);color:var(--muted);white-space:nowrap}@media (prefers-reduced-motion:no-preference){.bars .col{transition:height var(--med) var(--ease)}}.due-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;border-radius:var(--r-sm);background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn);font-size:var(--t-sm)}.due-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1 1 280px;min-width:0}.due-strip a{color:inherit;text-decoration:none}.due-strip a:hover{text-decoration:underline}.due-strip li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.balance .amount{font-size:30px}.on-surface{background:var(--surface)}.cal-chip.sb{background:transparent;border:1px solid var(--brand);color:var(--brand-text)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.cal-wd{font-size:12px;color:var(--muted);text-align:center;padding-bottom:2px}.cal-day{min-height:78px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:6px;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:stretch;gap:3px;text-align:right;min-width:0}.cal-day:hover{border-color:var(--field)}.cal-day .n{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-day.today .n{color:var(--brand-text);text-decoration:underline;text-underline-offset:4px}.cal-day.today{border-color:var(--brand)}.cal-day.sel{background:var(--brand-soft);border:2px solid var(--brand)}.cal-chip{display:inline-block;font-size:11px;border-radius:6px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip.ck{background:var(--brand-soft);color:var(--brand-text)}.cal-chip.ln{background:var(--personal-soft);color:var(--personal)}.cal-chip.late{background:var(--danger-soft);color:var(--danger)}@media (max-width:560px){.cal-day{min-height:58px;padding:4px}.cal-chip{font-size:10px;padding:0 3px}.cal-grid{gap:4px}}.legend{gap:18px}.total{margin:0;font-weight:700}.check-label{display:flex;align-items:center;gap:8px}.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:stretch}@media (max-width:820px){.calc{grid-template-columns:minmax(0,1fr)}}.calc-hero{background:var(--hero);color:#fff;border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;justify-content:center;gap:10px;box-shadow:var(--shadow);min-width:0}.calc-hero .label{color:var(--hero-sub);font-size:var(--t-sm)}.calc-hero .value{font-size:clamp(var(--t-2xl),4vw,var(--t-3xl));font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.calc-hero .unit{color:var(--hero-sub);font-size:var(--t-md);font-weight:500}.calc-facts{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18);font-size:var(--t-sm);color:var(--hero-sub)}.calc-facts b{color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-margin-start:4px;margin-inline-start:4px}.calc-form{gap:12px}.calc-minis{min-width:min(100%,360px)}.profile{max-width:760px}.profile .photo{display:flex;align-items:center;gap:14px}.btn.dashed{border-style:dashed}.msg{border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:14px}.msg.me{background:var(--brand-soft);border-color:transparent}.msg small{color:var(--muted)}.profile .remind{max-width:320px}