:root{--navy:#0b2e4e;--navy-700:#123f68;--green:#1e8a6e;--green-700:#17705a;--green-50:#e8f5f1;--surface:#f5f7fa;--surface-raised:#fff;--surface-sunken:#edf0f3;--text:#232a33;--text-secondary:#5b6572;--text-muted:#8a94a0;--border:#e2e6ea;--border-strong:#c7cdd3;--warn:#4f3a5a;--warn-bg:#f3eff4;--warn-border:#c9b8d1;--danger:#b3261e;--danger-bg:#fbe7e9;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #1e25300a;--shadow-md:0 4px 12px -2px #1e25300f;--gutter:16px;--tap:44px;--header-h:56px;--nav-h:60px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--surface);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-size:16px;line-height:1.45}h1,h2,h3{color:var(--text);margin:0 0 8px;line-height:1.2}h1{font-size:22px;font-weight:650}h2{font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600}p{margin:0 0 12px}a{color:var(--green-700)}.muted{color:var(--text-secondary)}.small{font-size:13px}.mono{font-family:var(--font-mono)}.right{text-align:right}.nowrap{white-space:nowrap}.row{align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.spacer{flex:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header{z-index:20;height:var(--header-h);padding:0 var(--gutter);padding-top:env(safe-area-inset-top);background:var(--surface-raised);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.app-header__mark{flex:none;width:32px;height:32px}.app-header__name{color:var(--navy);letter-spacing:-.01em;white-space:nowrap;font-size:16px;font-weight:650}@media (width<=400px){.app-header__name{display:none}}.app-main{max-width:720px;padding:var(--gutter);padding-bottom:calc(var(--nav-h) + var(--gutter) + env(safe-area-inset-bottom));margin:0 auto}.app-nav{z-index:20;background:var(--surface-raised);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.app-nav a{min-height:var(--tap);height:var(--nav-h);color:var(--text-secondary);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:550;text-decoration:none;display:flex}.app-nav a[aria-current=page]{color:var(--green-700);box-shadow:inset 0 2px 0 0 var(--green)}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--gutter);margin-bottom:12px}.card--flush{padding:0;overflow:hidden}.headline{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--gutter);margin-bottom:12px}.headline__figure{letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums;font-size:32px;font-weight:700}.banner{border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn);border-radius:var(--radius-md);padding:var(--gutter);margin-bottom:12px}.notice{background:var(--green-50);color:var(--green-700);border-radius:var(--radius-md);padding:var(--gutter);border:1px solid #a7d9cb;margin-bottom:12px}.problem{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-md);padding:var(--gutter);border:1px solid #eab8bc;margin-bottom:12px}.chip{border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface-sunken);color:var(--text-secondary);white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.chip--pending{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn)}.chip--transfer{color:var(--navy);background:#eaf2fa;border-color:#a7c4de}.chip--draw{background:var(--green-50);color:var(--green-700);border-color:#a7d9cb}.asof{color:var(--text-muted);white-space:nowrap;font-size:12px}.asof--unknown{color:var(--danger)}button{font-family:inherit}.btn{appearance:none;min-height:var(--tap);border-radius:var(--radius-md);background:var(--green);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:16px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--green-700)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--block{width:100%}.btn--secondary{background:var(--surface-raised);color:var(--green-700);border-color:var(--green)}.btn--secondary:hover:not(:disabled){background:var(--green-50)}.btn--quiet{background:var(--surface-raised);color:var(--text-secondary);border-color:var(--border-strong)}.btn--danger{background:var(--surface-raised);color:var(--danger);border-color:#eab8bc}.btn--danger:hover:not(:disabled){background:var(--danger-bg)}.btn--link{color:var(--green-700);min-height:var(--tap);cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:15px;font-weight:500;text-decoration:underline}.btn--small{min-height:var(--tap);padding:8px 12px;font-size:14px}label{color:var(--text-secondary);margin-bottom:4px;font-size:14px;font-weight:550;display:block}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;min-height:var(--tap);color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);margin-bottom:12px;padding:10px 12px;font-family:inherit;font-size:16px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:2px}.switch{min-height:var(--tap);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:550;display:inline-flex}.switch input[type=checkbox]{width:22px;height:22px;accent-color:var(--green);margin:0}.check-label{min-height:var(--tap);color:var(--text);cursor:pointer;align-items:center;gap:10px;margin:0 0 8px;font-size:15px;font-weight:500;display:flex}.check-label input[type=checkbox]{width:22px;height:22px;accent-color:var(--green);flex:none;margin:0}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--border)}.list>li:last-child{border-bottom:0}.txn{padding:12px var(--gutter);min-height:var(--tap);align-items:flex-start;gap:10px;display:flex}.txn__body{flex:auto;min-width:0}.txn__merchant{text-overflow:ellipsis;font-weight:600;overflow:hidden}.txn__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.txn__amount--credit{color:var(--green-700)}.txn__meta{color:var(--text-secondary);font-size:13px}.txn__raw{font-family:var(--font-mono);color:var(--text-secondary);background:var(--surface-sunken);border-radius:var(--radius-sm);overflow-wrap:anywhere;margin:8px 0 0;padding:8px;font-size:12px}.totals{flex-direction:column;gap:6px;display:flex}.totals__line{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.totals__line--strong{font-weight:650}.remainder{font-variant-numeric:tabular-nums;border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding-top:8px;font-size:18px;font-weight:650;display:flex}.remainder--off{color:var(--danger)}.remainder--zero{color:var(--green-700)}.codes{font-family:var(--font-mono);background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;padding:12px;font-size:15px;line-height:1.8}.filters{grid-template-columns:1fr;gap:0 12px;display:grid}.sticky-actions{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:10;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:12px;padding:12px;position:sticky}.drawer{z-index:40;background:#232a3366;align-items:flex-end;display:flex;position:fixed;inset:0}.drawer__panel{background:var(--surface-raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:88vh;padding:var(--gutter);padding-bottom:calc(var(--gutter) + env(safe-area-inset-bottom));overflow-y:auto}@media (width>=600px){.filters{grid-template-columns:1fr 1fr}.app-nav{border-top:0;border-bottom:1px solid var(--border);max-width:720px;margin:0 auto;position:static}.app-main{padding-bottom:calc(var(--gutter) * 2)}.sticky-actions{bottom:var(--gutter)}}
