:root{--bg:#f7f4ef;--surface:#fffdf8;--surface-2:#fff;--text:#211c18;--muted:#756d63;--line:#e5ddd2;--accent:#7c4d2b;--accent-soft:#f0e2d4;--green:#247252;--red:#a23a35;--amber:#966515;--blue:#315f8f;--shadow:0 24px 70px #251b121a}:root[data-theme=dark]{--bg:#12100e;--surface:#1b1815;--surface-2:#24201c;--text:#f7f0e8;--muted:#b0a69a;--line:#342d27;--accent:#d19a65;--accent-soft:#34281f;--green:#77d0a7;--red:#e9847e;--amber:#dfb35f;--blue:#8ab5e5;--shadow:0 24px 70px #00000059}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 32%), var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{background:var(--text);color:var(--bg);font:inherit;cursor:pointer;border:0;border-radius:12px;padding:10px 14px;font-weight:750}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.shell{width:min(1180px,100vw - 32px);margin:0 auto;padding:32px 0 80px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:850}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.075em;margin-bottom:8px;font-size:clamp(36px,5vw,60px);line-height:.92}.subtitle{color:var(--muted);margin-bottom:0;font-size:17px}.actions{flex-wrap:wrap;gap:10px;display:flex}.summaryGrid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.summaryCard,.tableCard,.drawer,.amountCard,.splitCard,.noteCard{background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid var(--line);box-shadow:var(--shadow)}.summaryCard{border-radius:18px;padding:18px}.summaryCard span{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.summaryCard strong{letter-spacing:-.04em;font-size:28px}.positive{color:var(--green)}.tableCard{border-radius:22px;overflow:hidden}.tableHeader{justify-content:space-between;align-items:end;gap:20px;padding:20px 20px 10px;display:flex}.tableHeader h2{letter-spacing:-.04em;margin-bottom:0}.tableHeader p{color:var(--muted);margin-bottom:0;font-size:14px}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:14px 20px;font-size:11px}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:16px 20px}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:var(--accent-soft)}tbody tr:last-child td{border-bottom:0}.right{text-align:right}.amount{white-space:nowrap;font-weight:850}.merchantLine{align-items:center;gap:8px;margin-bottom:4px;display:flex}td small{color:var(--muted)}.badge,.typeBadge{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.badge.reviewed{color:var(--green)}.badge.needs_receipt{color:var(--red)}.badge.needs_split{color:var(--amber)}.typeBadge{text-transform:capitalize;background:var(--accent-soft);color:var(--accent)}.typeBadge.income{color:var(--green)}.typeBadge.transfer{color:var(--blue)}.drawerBackdrop{z-index:20;background:#0000003d;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{width:min(440px,100vw);min-height:100vh;padding:24px;animation:.18s ease-out slideIn;overflow-y:auto}@keyframes slideIn{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.drawerHeader{justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px;display:flex}.drawerHeader h2{letter-spacing:-.055em;margin-bottom:0;font-size:30px}.iconButton{background:var(--surface-2);width:38px;height:38px;color:var(--text);border:1px solid var(--line);border-radius:999px;padding:0;font-size:24px;line-height:1}.amountCard,.splitCard,.noteCard{border-radius:18px;margin-bottom:14px;padding:18px}.amountCard span,dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.amountCard strong{letter-spacing:-.055em;margin-top:8px;font-size:34px;display:block}.amountCard small{color:var(--muted)}.details{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;margin:0 0 14px;overflow:hidden}.details div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:12px;padding:14px 16px;display:grid}.details div:last-child{border-bottom:0}dd{margin:0}.splitHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.splitHeader h3,.noteCard h3{letter-spacing:-.03em;margin-bottom:0;font-size:16px}.splitHeader span{color:var(--muted);font-weight:800}.splitBar{background:var(--line);border-radius:999px;height:10px;margin:16px 0 10px;overflow:hidden}.splitBar div{background:var(--accent);border-radius:999px;height:100%}.splitValues{color:var(--muted);justify-content:space-between;gap:10px;font-size:13px;display:flex}.noteCard p{color:var(--muted);margin:10px 0 0;line-height:1.55}.emptyRow{text-align:center;color:var(--muted);padding:40px 20px}.rangePicker{position:relative}.rangeTrigger{background:var(--surface-2);color:var(--text);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-weight:700;display:inline-flex}.rangeTrigger .chevron{color:var(--muted);font-size:12px}.calendarPop{z-index:25;background:var(--surface);border:1px solid var(--line);width:min(300px,100vw - 24px);box-shadow:var(--shadow);border-radius:18px;padding:16px;position:fixed}.calendarHeader{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.calendarHeader strong{letter-spacing:-.02em;font-size:15px}.calendarHeader .iconButton{width:32px;height:32px;font-size:20px}.calendarHeader .iconButton:disabled{opacity:.35;cursor:not-allowed}.calendarWeekdays{grid-template-columns:repeat(7,1fr);margin-bottom:6px;display:grid}.calendarWeekdays span{text-align:center;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.calendarGrid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendarDay{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.calendarDay:hover:not(.muted){background:var(--accent-soft)}.calendarDay.inRange{background:var(--accent-soft);border-radius:0}.calendarDay.selected{background:var(--accent);color:var(--bg);font-weight:800}.calendarDay.muted{color:var(--muted);opacity:.4;cursor:default}.calendarActions{justify-content:flex-end;margin-top:12px;display:flex}@media (max-width:760px){.topbar,.tableHeader{flex-direction:column;align-items:stretch}.summaryGrid{grid-template-columns:1fr}th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4){display:none}.shell{width:min(100vw - 20px,1180px);padding-top:18px}}
