:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f4;--panel:#fff;--ink:#202622;--muted:#69746d;--line:#dce3dc;--green:#1f7a4d;--green-soft:#e6f3ec;--blue:#2563a7;--blue-soft:#e9f1fb;--amber:#a76508;--amber-soft:#fff3dc;--red:#b3261e;--red-soft:#feecea;--slate:#38434b;--button:#1d5c3b;--button-hover:#164a30;--radius:8px;--shadow:0 18px 42px #1f2d2414}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,.button{cursor:pointer;white-space:nowrap;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;text-decoration:none;display:inline-flex}button.compact{min-height:32px;padding:0 10px;font-size:12px}.icon-button{min-width:38px;padding:0}button:disabled,.disabled{cursor:not-allowed;opacity:.58}.primary,.login-form button{background:var(--button);color:#fff}.primary:hover,.login-form button:hover{background:var(--button-hover)}.secondary,.button.secondary{color:var(--ink);background:#eef3ee}.danger-button{background:var(--red-soft);color:var(--red)}.centered{justify-content:center;align-items:center;min-height:100vh;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:linear-gradient(120deg, #1f7a4d24, transparent 48%), linear-gradient(300deg, #2563a71f, transparent 45%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:420px;padding:30px}.brand-row{color:var(--green);align-items:center;gap:10px;font-weight:800;display:flex}.login-panel h1{letter-spacing:0;margin:24px 0;font-size:32px;line-height:1.05}.google-login{color:var(--ink);background:#fff;border:1px solid #cfd8cf;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:44px;font-weight:800;text-decoration:none;display:flex}.google-login:hover{background:#f8faf8;border-color:#b6c4b7}.google-mark{background:conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-family:Arial,sans-serif;font-size:15px;font-weight:900;display:inline-flex}.login-divider{color:var(--muted);text-transform:uppercase;align-items:center;gap:10px;margin:18px 0 14px;font-size:12px;font-weight:800;display:flex}.login-divider:before,.login-divider:after{background:var(--line);content:"";flex:1;height:1px}.login-form{gap:10px;display:grid}.login-form label{color:var(--muted);font-size:13px;font-weight:700}.login-form input{border:1px solid var(--line);border-radius:7px;min-height:44px;padding:0 12px}.error-text{color:var(--red);margin:0}.app-shell{max-width:1480px;margin:0 auto;padding:28px}.topbar,.control-band,.panel-heading,.toolbar,.control-group{align-items:center;display:flex}.topbar{justify-content:space-between;margin-bottom:22px}.eyebrow{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:13px;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:34px;line-height:1.1}h2{letter-spacing:0;margin-bottom:0;font-size:18px}.toolbar,.control-group{gap:10px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.summary-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.summary-card{color:inherit;text-align:left;white-space:normal;justify-content:stretch;gap:7px;min-height:154px;padding:18px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid}.summary-card:hover{border-color:#b9c9bc;transform:translateY(-1px);box-shadow:0 20px 46px #1f2d241f}.summary-card:focus-visible{outline-offset:2px;outline:3px solid #b9d8c3}.summary-icon{background:var(--blue-soft);color:var(--blue);border-radius:7px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.summary-card.warn .summary-icon{background:var(--amber-soft);color:var(--amber)}.summary-card.danger .summary-icon{background:var(--red-soft);color:var(--red)}.summary-card span{color:var(--muted);font-size:13px;font-weight:800}.summary-card strong{letter-spacing:0;font-size:28px}.summary-card p{color:var(--muted);margin:0}.control-band{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;justify-content:space-between;margin-bottom:12px;padding:12px}.control-band input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.period-bar{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px 12px;display:flex}.period-bar div{gap:2px;display:grid}.period-bar span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.period-bar strong{font-size:16px}.period-bar select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;min-width:180px;min-height:38px;padding:0 10px}.notice{background:var(--blue-soft);border-radius:var(--radius);color:#224e7d;border:1px solid #c9ddf3;margin:0 0 12px;padding:10px 12px}.notice.muted{border-color:var(--line);color:var(--muted);background:#f1f4f1}.view-tabs{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:16px;padding:6px;display:grid}.view-tabs button{color:var(--muted);white-space:normal;background:0 0;gap:3px;min-height:48px;padding:6px 8px;font-weight:800;display:grid}.view-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 6px #1f2d2424}.view-tabs span{color:var(--green);font-size:12px}.workspace-panel{margin-bottom:16px}.content-grid{grid-template-columns:minmax(0,1fr) 360px;gap:16px;margin-bottom:16px;display:grid}.panel{min-width:0;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 18px}.panel-heading span{color:var(--muted);font-size:13px;font-weight:700}.panel-heading-copy{gap:3px;display:grid}.focus-tabs{border-bottom:1px solid var(--line);gap:6px;padding:10px 14px;display:flex;overflow-x:auto}.focus-tabs button{color:var(--muted);background:#eef3ee;min-height:32px;font-size:12px;font-weight:800}.focus-tabs button.active{background:var(--green-soft);color:var(--green)}.focus-tabs button span{background:#ffffffb8;border-radius:999px;margin-left:2px;padding:2px 6px;font-size:11px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:920px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef2ee;padding:13px 14px}th{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:800}td{font-size:14px}td strong{display:block}td small{color:var(--muted);margin-top:4px;display:block}.status{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.status.paid{background:var(--green-soft);color:var(--green)}.status.no-payment-due{color:var(--slate);background:#eef0f2}.status.due-soon{background:var(--amber-soft);color:var(--amber)}.status.upcoming{background:var(--blue-soft);color:var(--blue)}.status.overdue,.status.needs-review{background:var(--red-soft);color:var(--red)}.status.paused,.status.skipped{color:var(--slate);background:#eef0f2}.paid-icon{color:var(--green)}.no-match-needed{color:var(--muted);font-size:12px;font-weight:700}.transaction-actions{flex-wrap:wrap;gap:8px;display:flex}.matched-bill-pill{background:var(--green-soft);color:var(--green);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;max-width:210px;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex;overflow:hidden}.bill-match-stack{align-items:flex-start;gap:6px;display:grid}.bill-actions{gap:6px;display:grid}.override-stack,.paused-override{gap:7px;display:grid}.override-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.paused-override span{color:var(--muted);font-size:12px;font-weight:800}.segmented{background:#eef3ee;border-radius:7px;grid-template-columns:repeat(3,64px);padding:3px;display:inline-grid}.segmented button{background:0 0;border-radius:5px;min-height:30px;padding:0 6px;font-size:12px;font-weight:800}.segmented button.active{background:#fff;box-shadow:0 1px 5px #1f2d241f}.side-stack{align-content:start;gap:16px;display:grid}.reminders,.account-list,.discovery-list{display:grid}.account-toolbar,.subheading{border-bottom:1px solid #eef2ee;justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.account-toolbar span,.subheading span{color:var(--muted);font-size:13px;font-weight:800}.reminder,.account,.discovery{border-bottom:1px solid #eef2ee;gap:4px;padding:14px 18px;display:grid}.reminder span,.account span,.discovery span{color:var(--muted);font-size:13px}.reminder em,.discovery em{color:var(--amber);font-style:normal;font-weight:800}.account{grid-template-columns:minmax(0,1fr) 150px auto auto;align-items:center}.account b{color:var(--green)}.hidden-account{background:#fafbfa}.hidden-account-section{border-top:1px solid var(--line)}.owner-select{color:var(--muted);gap:5px;font-size:12px;font-weight:800;display:grid}.owner-select select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;width:100%;min-height:36px;padding:0 9px}.discovery-actions{gap:8px;margin-top:8px;display:flex}.empty{color:var(--muted);margin:0;padding:18px}.empty-table-row td{padding:0}.transactions-panel{margin-bottom:28px}.review-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1fr)}.add-bill-row td{background:#f8fbf8;padding:0}.bill-editor{border-bottom:1px solid var(--line);background:#f8fbf8;grid-template-columns:minmax(170px,1.2fr) 120px 150px minmax(180px,1fr);gap:12px;padding:16px 18px;display:grid}.bill-editor-title{grid-column:1/-1;gap:3px;display:grid}.bill-editor-title span{color:var(--muted);font-size:13px}.bill-editor label,.scope-field legend{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.bill-editor input:not([type=checkbox]):not([type=radio]),.bill-editor select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;width:100%;min-height:38px;padding:0 10px}.bill-editor select{appearance:auto}.linked-account-field small{color:var(--muted);font-size:12px;font-weight:500;line-height:1.4}.bill-editor .wide-field{grid-column:span 2}.scope-field{border:0;grid-column:span 2;min-width:0;margin:0;padding:0}.scope-options{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.scope-options label,.repeat-toggle{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;align-items:center;gap:8px;min-height:38px;padding:8px 10px;font-size:13px;display:flex}.repeat-toggle{align-self:end}.repeat-toggle.disabled{opacity:.55}.delete-bill-confirmation{grid-template-columns:minmax(180px,.8fr) minmax(330px,1.4fr) auto;align-items:end;gap:14px;padding:16px;display:grid}.bill-override-form{grid-template-columns:minmax(260px,1fr) minmax(180px,260px) auto;align-items:end;gap:14px;padding:16px;display:grid}.bill-override-form>div:first-child{gap:3px;display:grid}.bill-override-form span{color:var(--muted);font-size:13px}.bill-override-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.bill-override-form input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;width:100%;min-height:38px;padding:0 10px}.delete-bill-confirmation>div:first-child{gap:3px;display:grid}.delete-bill-confirmation span{color:var(--muted);font-size:13px}.add-bill-form{grid-template-columns:minmax(170px,1.2fr) 110px 150px minmax(180px,1fr);gap:12px;padding:16px;display:grid}.match-bill-form{grid-template-columns:minmax(260px,1.2fr) minmax(220px,1fr) auto;align-items:end;gap:12px;padding:16px;display:grid}.add-bill-form label,.match-bill-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.add-bill-form input,.match-bill-form select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;width:100%;min-height:38px;padding:0 10px}.match-preview{border:1px solid var(--line);background:#fff;border-radius:7px;gap:3px;min-height:58px;padding:9px 10px;display:grid}.match-preview span{color:var(--muted);font-size:12px;font-weight:800}.match-preview em{color:var(--muted);font-style:normal}.add-bill-form .wide-field{grid-column:span 2}.form-actions{align-items:end;gap:8px;display:flex}@media (max-width:1040px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media (max-width:720px){.app-shell{padding:18px}.topbar,.control-band,.period-bar{flex-direction:column;align-items:stretch;gap:14px}.toolbar,.control-group{flex-wrap:wrap}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{gap:5px;min-height:132px;padding:14px}.summary-card strong{font-size:24px}.summary-card p{font-size:13px}.view-tabs{z-index:5;position:sticky;top:0}.view-tabs button{min-height:44px;font-size:12px}.period-bar select{width:100%}.table-wrap{overflow-x:visible}table{min-width:0}thead{display:none}tbody{gap:12px;padding:12px;display:grid}tr{border-radius:var(--radius);background:#fff;border:1px solid #e8eee8;display:grid;overflow:hidden}td{border-bottom:1px solid #eef2ee;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:4px;padding:10px 12px;display:grid}td:last-child{border-bottom:0}td:before{color:var(--muted);content:attr(data-label);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.2}td[data-label=Creditor],td[data-label=Merchant]{grid-template-columns:1fr}td[data-label=Creditor]:before,td[data-label=Merchant]:before{display:none}td[data-label=Status],td[data-label=Match],td[data-label=Bill],td[data-label=Override]{align-items:center}.add-bill-row{border-color:#d8e9dd}.empty-table-row td{display:block}.empty-table-row td:before{display:none}.add-bill-row td{padding:0;display:block}.add-bill-row td:before{display:none}.transaction-actions{grid-template-columns:1fr;width:100%;display:grid}button.compact{width:100%;min-height:36px}.matched-bill-pill{max-width:100%}.segmented{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.add-bill-form,.bill-editor,.delete-bill-confirmation,.bill-override-form,.match-bill-form{grid-template-columns:1fr}.add-bill-form .wide-field,.bill-editor .wide-field,.scope-field{grid-column:auto}.bill-actions,.delete-bill-confirmation .form-actions,.bill-override-form .form-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.account{grid-template-columns:1fr;align-items:stretch}.account b{font-size:18px}.account-toolbar,.subheading{align-items:stretch;gap:8px}h1{font-size:29px}}
