:root,[data-theme=light]{--surface-0:#fafaf7;--surface-1:#fff;--surface-2:#f4f3ee;--surface-3:#edece5;--surface-inverse:#14110f;--text-strong:#14110f;--text-default:#2a2622;--text-muted:#6f6a63;--text-subtle:#9c968d;--text-on-accent:#fff;--border-subtle:#e8e5dd;--border-default:#d8d3c7;--border-strong:#aaa399;--accent:#2c3690;--accent-hover:#1f2773;--accent-soft:#eef0fb;--accent-border:#c5cbed;--success:#2f6f3e;--success-soft:#e7f1e8;--warning:#8c5b14;--warning-soft:#fbf1d9;--danger:#b3261e;--danger-hover:#8c1c17;--danger-soft:#fbe9e7;--money-high-bg:#fdecc8;--money-high-fg:#6b3f04;--heat-0:#ebe8df;--heat-1:#cdd2ee;--heat-2:#9aa3df;--heat-3:#5b67c4;--heat-4:#2c3690;--shadow-1:0 1px 2px #14110f0a;--shadow-2:0 4px 14px #14110f0f, 0 1px 2px #14110f0a;--shadow-3:0 18px 48px #14110f2e, 0 2px 8px #14110f14;--focus-ring:0 0 0 3px #2c369040}[data-theme=dark]{--surface-0:#14130f;--surface-1:#1c1b17;--surface-2:#25241f;--surface-3:#2f2e28;--surface-inverse:#f3eee5;--text-strong:#f5efe2;--text-default:#d6d0c2;--text-muted:#9a948a;--text-subtle:#6e6a62;--text-on-accent:#fff;--border-subtle:#2c2b25;--border-default:#3b3933;--border-strong:#5a5750;--accent:#8c95e8;--accent-hover:#a8b0f0;--accent-soft:#232a55;--accent-border:#3b4488;--success:#6cc079;--success-soft:#1e3322;--warning:#e0a341;--warning-soft:#3a2c12;--danger:#ef6a64;--danger-hover:#f5837e;--danger-soft:#3a1817;--money-high-bg:#4a3210;--money-high-fg:#f1c987;--heat-0:#2a2924;--heat-1:#2f3a66;--heat-2:#4754a3;--heat-3:#7783d0;--heat-4:#b1b7ec;--shadow-1:0 1px 2px #00000073;--shadow-2:0 4px 14px #00000080, 0 1px 2px #0006;--shadow-3:0 18px 48px #000000a6, 0 2px 8px #00000073;--focus-ring:0 0 0 3px #8c95e852}:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;--font-display:"Fraunces", "Plus Jakarta Sans", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-1:4px;--r-2:6px;--r-3:10px;--r-4:14px;--r-pill:999px;--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--t-fast:.12s;--t-normal:.22s;--t-slow:.36s}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-default);background:var(--surface-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";font-size:15px;line-height:1.5}h1,h2,h3,h4,h5{color:var(--text-strong);letter-spacing:-.01em;margin:0;font-weight:600}h1{letter-spacing:-.02em;font-size:28px;line-height:1.15}h2{letter-spacing:-.015em;font-size:22px;line-height:1.2}h3{font-size:17px;line-height:1.3}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}::selection{background:var(--accent);color:var(--text-on-accent)}button,input,textarea,select{font:inherit;color:inherit}.app-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.app-main{width:100%;max-width:1320px;padding:var(--s-8) var(--s-6) var(--s-12);gap:var(--s-6);margin:0 auto;display:grid}.app-main:has(.dashboard-shell){max-width:1680px;padding:var(--s-4) var(--s-5) var(--s-8);gap:var(--s-4)}.appbar{z-index:50;background:var(--appbar-bg);-webkit-backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0}:root,[data-theme=light]{--appbar-bg:#fafaf7db}[data-theme=dark]{--appbar-bg:#14130feb}.appbar-inner{max-width:1320px;padding:var(--s-3) var(--s-6);align-items:center;gap:var(--s-6);margin:0 auto;display:flex}.brand{align-items:center;gap:var(--s-3);font-family:var(--font-display);color:var(--text-strong);letter-spacing:-.01em;font-size:19px;font-weight:700;display:flex}.brand-mark{background:var(--surface-inverse);width:28px;height:28px;color:var(--text-on-accent);font-family:var(--font-mono);letter-spacing:0;border-radius:7px;place-items:center;font-size:13px;font-weight:700;display:grid}.brand-image{object-fit:contain;width:auto;height:38px;display:block}[data-theme=dark] .brand-image{filter:invert()hue-rotate(180deg)}.appbar-nav{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.btn,button{appearance:none;background:var(--surface-1);color:var(--text-strong);border:1px solid #0000;border-color:var(--border-default);border-radius:var(--r-2);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);padding:8px 14px;font-size:14px;font-weight:500}button:hover,.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}button:active,.btn:active{transform:translateY(1px)}button:focus-visible,.btn:focus-visible{box-shadow:var(--focus-ring);border-color:var(--accent);outline:none}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--surface-1);color:var(--danger);border-color:var(--border-default)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger-hover)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--text-strong);border-color:#0000}.btn-chip{background:var(--surface-1);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--r-pill);padding:6px 12px;font-size:13px}.btn-chip:hover{border-color:var(--border-strong);color:var(--text-strong);background:var(--surface-1)}.btn-chip[data-active=true]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.btn-link{color:var(--accent);background:0 0;border:none;padding:0;font-weight:500}.btn-link:hover{text-underline-offset:3px;background:0 0;border:none;text-decoration:underline}.btn-icon{border-radius:var(--r-2);place-items:center;width:32px;height:32px;padding:0;display:inline-grid}.btn-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}input,textarea,select{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--r-2);width:100%;color:var(--text-strong);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);padding:9px 12px;font-size:14px}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:hover,textarea:hover,select:hover{border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}textarea{resize:vertical;min-height:84px;font-family:inherit}select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f6a63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.field{gap:6px;display:grid}.field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.field-required:after{content:" *";color:var(--danger)}.field-error-text{color:var(--danger);margin:0;font-size:12px}.input-error{background:var(--danger-soft);border-color:var(--danger)!important}.input-mono input,input.input-mono,.input-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.surface{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-3);box-shadow:var(--shadow-1)}.surface-pad{padding:var(--s-5)}.section-header{justify-content:space-between;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-3);display:flex}.section-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-strong);font-size:20px;font-weight:600}.section-meta{color:var(--text-muted);font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:11px;font-weight:600}.stats-strip{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-3);grid-template-columns:repeat(4,1fr);gap:0;display:grid;overflow:hidden}.stat{padding:var(--s-5) var(--s-6);border-right:1px solid var(--border-subtle);gap:var(--s-1);display:grid}.stat:last-child{border-right:none}.stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.stat-value{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.stat-sub{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}@media (width<=900px){.stats-strip{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:none}.stat:first-child,.stat:nth-child(2){border-bottom:1px solid var(--border-subtle)}}@media (width<=520px){.stats-strip{grid-template-columns:1fr}.stat{border-right:none;border-bottom:1px solid var(--border-subtle)}.stat:last-child{border-bottom:none}}.grid{gap:var(--s-4);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-auto-220{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-form{gap:var(--s-4);grid-template-columns:minmax(200px,1fr) minmax(220px,1fr) minmax(160px,auto) minmax(220px,1fr);align-items:end;display:grid}@media (width<=900px){.grid-form{grid-template-columns:1fr 1fr}}@media (width<=540px){.grid-form{grid-template-columns:1fr}}.row{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.filter-rail{gap:var(--s-3);display:grid}.filter-row{column-gap:var(--s-6);row-gap:var(--s-5);grid-template-columns:minmax(170px,1.4fr) repeat(4,minmax(150px,1fr)) minmax(220px,1.6fr) minmax(160px,1fr) minmax(120px,auto);align-items:end;display:grid}@media (width<=1100px){.filter-row{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=720px){.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.preset-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.table-wrap{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);overflow-x:auto}table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}table.data thead th{z-index:1;background:var(--surface-2);text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:11px;font-weight:600;position:sticky;top:0}table.data thead th:hover{background:var(--surface-3);color:var(--text-strong)}table.data thead th[data-sort=active]{color:var(--text-strong)}table.data thead th .sort-arrow{color:var(--accent);margin-left:4px;font-size:10px;display:inline-block}table.data tbody td{border-bottom:1px solid var(--border-subtle);vertical-align:top;color:var(--text-default);padding:11px 14px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr{transition:background var(--t-fast) var(--ease)}table.data tbody tr:hover{background:var(--surface-2)}.cell-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cell-id{font-family:var(--font-mono);color:var(--text-subtle);font-variant-numeric:tabular-nums}.cell-date{font-family:var(--font-mono);color:var(--text-default);white-space:nowrap;font-variant-numeric:tabular-nums}.cell-actions{white-space:nowrap;text-align:right}.cell-actions button{margin-left:4px;padding:4px 10px;font-size:12px}.cell-amount-high{color:var(--money-high-fg);background:var(--money-high-bg);font-weight:600}.cell-amount-credit{color:var(--success);font-weight:600}.cell-amount-credit:before{content:"↩ ";color:var(--success);margin-right:1px;font-weight:400}.empty-row td{text-align:center;padding:var(--s-12) var(--s-6);color:var(--text-muted);font-style:italic}.pagination-bar{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);flex-wrap:wrap;display:flex}.pagination-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.pagination-controls{gap:var(--s-1);align-items:center;display:flex}.pagination-controls button{border-radius:var(--r-2);background:var(--surface-1);padding:6px 10px;font-size:13px}.page-info{padding:0 var(--s-3);font-variant-numeric:tabular-nums;color:var(--text-default);font-size:13px}.toast-host{top:var(--s-5);right:var(--s-5);gap:var(--s-2);z-index:1000;pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--surface-inverse);color:#f3eee5;border-radius:var(--r-3);min-width:260px;max-width:360px;box-shadow:var(--shadow-3);align-items:flex-start;gap:var(--s-3);animation:toast-in var(--t-normal) var(--ease-out);padding:12px 16px;font-size:14px;display:flex}.toast[data-variant=success]{border-left:3px solid var(--success)}.toast[data-variant=error]{border-left:3px solid var(--danger)}.toast[data-variant=info]{border-left:3px solid var(--accent)}.toast-text{flex:1;line-height:1.4}.toast-dismiss{color:#ffffff8c;cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;font-size:16px}.toast-dismiss:hover{color:#fff;background:0 0;border:none}@keyframes toast-in{0%{opacity:0;transform:translate(8px,-8px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}.modal-overlay{-webkit-backdrop-filter:blur(2px);z-index:900;animation:overlay-in var(--t-fast) var(--ease);padding:var(--s-4);background:#14110f73;place-items:center;display:grid;position:fixed;inset:0}.modal-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-4);padding:var(--s-6);width:min(540px,100%);max-height:92vh;box-shadow:var(--shadow-3);animation:modal-in var(--t-normal) var(--ease-out);gap:var(--s-4);display:grid;overflow-y:auto}.modal-card h2{font-family:var(--font-display);font-size:22px}.modal-actions{justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-2);display:flex}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.login-page{background:var(--surface-0);grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-aside{background:var(--surface-inverse);color:#ece6d8;padding:var(--s-12) var(--s-10);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.login-aside:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 0,#ffffff0f 0%,#0000 35%),radial-gradient(circle at 80% 100%,#2c36902e 0%,#0000 50%);position:absolute;inset:0}.login-aside-inner{position:relative}.login-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#ece6d8a6;font-size:12px}.login-display{font-family:var(--font-display);letter-spacing:-.025em;margin-top:var(--s-6);color:#fffaef;font-size:clamp(40px,5vw,64px);font-weight:600;line-height:1.04}.login-display em{color:#c0c5ec;font-style:italic;font-weight:500}.login-tagline{margin-top:var(--s-5);color:#ece6d8c7;max-width:38ch;font-size:15px;line-height:1.55}.login-foot{gap:var(--s-6);font-family:var(--font-mono);color:#ece6d88c;letter-spacing:.04em;font-size:12px;display:flex;position:relative}.login-form-side{padding:var(--s-10);animation:form-in var(--t-slow) var(--ease-out);place-items:center;display:grid}.login-form{gap:var(--s-4);width:min(380px,100%);display:grid}.login-form h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:28px}.login-form p{color:var(--text-muted)}.login-form button[type=submit]{margin-top:var(--s-2);padding:11px 14px;font-size:15px}@keyframes form-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-aside{padding:var(--s-8) var(--s-6)}.login-form-side{padding:var(--s-6)}}.account-bar{align-items:end;gap:var(--s-3);flex-wrap:wrap;display:flex}.account-bar .field{min-width:240px}.results-header{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);flex-wrap:wrap;min-width:0;display:flex}.results-header>div{flex:220px;min-width:0}.results-header .section-meta{word-wrap:break-word}.results-totals{gap:var(--s-6);color:var(--text-muted);flex-wrap:wrap;font-size:13px;display:flex}.results-totals strong{font-family:var(--font-mono);color:var(--text-strong);font-variant-numeric:tabular-nums;margin-left:6px;font-weight:600}.spell-wrap{position:relative}.spell-wrap input,.spell-wrap textarea{width:100%}.spell-dropdown{z-index:200;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--r-2);align-items:center;gap:var(--s-2);box-shadow:var(--shadow-2);min-width:220px;animation:spell-in .14s var(--ease-out);flex-wrap:wrap;padding:6px 10px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.spell-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.spell-options{flex-wrap:wrap;gap:4px;display:flex}.spell-option{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--r-1);cursor:pointer;padding:3px 9px;font-size:13px}.spell-option:hover{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.spell-dismiss{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 6px;font-size:14px}.spell-dismiss:hover{color:var(--danger);background:0 0;border:none}@keyframes spell-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.loading-wrap{background:var(--surface-0);min-height:100vh;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em;place-items:center;font-size:14px;display:grid}.skeleton{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);border-radius:var(--r-2);background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rise-on-mount{animation:rise-on-mount var(--t-slow) var(--ease-out)}@keyframes rise-on-mount{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.autocomplete{width:100%;position:relative}.autocomplete-list{z-index:200;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--r-2);box-shadow:var(--shadow-2);max-height:220px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.autocomplete-list li{border-radius:var(--r-1);cursor:pointer;color:var(--text-default);-webkit-user-select:none;user-select:none;padding:7px 10px;font-size:14px}.autocomplete-list li[data-active=true],.autocomplete-list li:hover{background:var(--accent-soft);color:var(--accent)}.top-items-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.top-item-chip{text-align:left;padding:var(--s-3) var(--s-4);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--r-3);cursor:pointer;transition:transform var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);gap:4px;display:grid}.top-item-chip:hover{background:var(--accent-soft);border-color:var(--accent-border);transform:translateY(-1px)}.top-item-name{color:var(--text-strong);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.top-item-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-family:var(--font-mono)}.search-fields{gap:var(--s-3);grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(160px,1fr) auto auto;align-items:end;display:grid}@media (width<=900px){.search-fields{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.search-fields{grid-template-columns:1fr}}.search-advanced>summary{cursor:pointer;color:var(--text-muted);padding:var(--s-2) 0;-webkit-user-select:none;user-select:none;font-size:13px;list-style:none}.search-advanced>summary:before{content:"▸ ";color:var(--text-subtle);font-size:11px}.search-advanced[open]>summary:before{content:"▾ "}.search-advanced>summary:hover{color:var(--text-strong)}.select-compact{border-radius:var(--r-2);background-position:right 6px center;background-size:12px;min-width:130px;padding:5px 26px 5px 8px;font-size:12px}.dashboard-shell{gap:var(--s-4);grid-template-columns:240px minmax(0,1fr) 260px;align-items:start;width:100%;min-width:0;display:grid}.dashboard-side{gap:var(--s-3);flex-direction:column;align-self:start;min-width:0;min-height:0;max-height:calc(100vh - 84px);display:flex;position:sticky;top:72px;overflow:hidden}.dashboard-main{gap:var(--s-4);min-width:0;display:grid;overflow:hidden}.side-section{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-3);padding:var(--s-3) var(--s-4);gap:var(--s-2);flex-direction:column;min-height:0;display:flex;overflow:hidden}.dashboard-side .side-section:first-child{flex:auto;min-height:0}.dashboard-side .side-section:not(:first-child){flex:none}.side-section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle);flex:none;font-size:11px;font-weight:600}.side-section .section-meta{word-wrap:break-word;flex:none;line-height:1.4}.side-account-list{flex:auto;gap:4px;min-height:0;display:grid;overflow-y:auto}.side-account-row{border-radius:var(--r-2);text-align:left;cursor:pointer;color:var(--text-default);transition:background var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.side-account-row:hover{background:var(--surface-2);border-color:var(--border-subtle)}.side-account-row[data-active=true]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent);font-weight:600}.side-account-id{background:var(--surface-2);width:22px;height:22px;font-family:var(--font-mono);color:var(--text-default);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.side-account-row[data-active=true] .side-account-id{background:var(--accent);color:var(--text-on-accent)}.side-account-actions{margin-top:var(--s-2);flex-wrap:wrap;flex:none;gap:6px;display:flex}.side-section-head{flex:none;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.side-section-action{appearance:none;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:600}.side-section-action:hover{text-decoration:underline}.side-account-row-wrap{align-items:stretch;gap:4px;display:flex}.side-account-row-wrap .side-account-row{flex:auto}.side-account-list[data-reorder] .side-account-row{cursor:default}.side-account-reorder{flex-direction:column;gap:2px;display:flex}.side-account-reorder .btn{min-width:28px;padding:2px 8px;font-size:12px;line-height:1}.side-reorder-hint{flex:none;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.side-reorder-hint .btn-link{appearance:none;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.side-reorder-hint .btn-link:hover{text-decoration:underline}.side-account-actions .btn{flex:auto;padding:6px 10px;font-size:12px}.side-top-items{flex:auto;gap:6px;min-height:0;max-height:100%;display:grid;overflow-y:auto}.side-top-item{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--r-2);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);grid-template-columns:1fr auto;gap:6px;padding:8px 10px;display:grid}.side-top-item:hover{background:var(--accent-soft);border-color:var(--accent-border)}.side-top-item-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.side-top-item-pin{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.side-top-item-pin[data-pinned=true]{color:var(--warning)}.side-top-item-meta{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;grid-column:1/-1}@media (width<=1280px){.dashboard-shell{grid-template-columns:220px minmax(0,1fr)}.dashboard-shell .dashboard-side.is-right{grid-column:1/-1;max-height:min(70vh,520px);position:static}}@media (width<=720px){.dashboard-shell .dashboard-side{max-height:none;overflow:visible}.dashboard-shell{grid-template-columns:1fr}.dashboard-side{position:static}.side-top-items{grid-template-columns:1fr 1fr;max-height:none}}.totals-controls{gap:var(--s-3);flex-wrap:wrap;align-items:end;display:flex}.totals-controls .field{min-width:140px}.account-totals-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.account-total-card{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--r-3);padding:var(--s-4);gap:var(--s-2);display:grid}.account-total-head{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.account-total-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.account-total-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.account-total-amount{font-family:var(--font-mono);color:var(--text-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:22px;font-weight:600}.account-total-bar{background:var(--surface-3);border-radius:var(--r-pill);height:6px;overflow:hidden}.account-total-fill{background:var(--accent);height:100%;transition:width var(--t-normal) var(--ease)}.account-total-share{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}@media (width<=540px){.totals-controls{width:100%}.totals-controls .field{flex:1 1 0;min-width:0}}.shortcut-strip{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.shortcut-strip-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle);margin-right:var(--s-2);font-size:11px;font-weight:600}.shortcut-pill{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--r-pill);color:var(--text-default);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.shortcut-pill:hover{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.shortcut-pill.is-static{cursor:default;border-color:var(--border-subtle);background:0 0}.shortcut-pill.is-static:hover{color:var(--text-default);border-color:var(--border-subtle);background:0 0}.shortcut-pill kbd{background:var(--surface-1);border:1px solid var(--border-default);font-family:var(--font-mono);color:var(--text-strong);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:11px}@media (width<=540px){.shortcut-strip{padding:var(--s-3);gap:6px}.shortcut-pill{padding:5px 9px;font-size:11px}}.account-menu{display:inline-flex;position:relative}.account-menu-trigger{padding:4px 10px;font-size:16px;line-height:1}.account-menu-popover{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-2);z-index:40;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 10px 28px #00000038}.account-menu-item{appearance:none;text-align:left;border-radius:var(--r-1,4px);color:var(--text-default);cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:13px}.account-menu-item:hover{background:var(--surface-2)}.account-menu-item.is-danger{color:var(--danger,#c0392b)}.account-menu-item.is-danger:hover{background:var(--danger-soft,#c0392b1a)}.side-quick-actions{flex:none;margin-top:auto;position:relative}.side-quick-actions-trigger{justify-content:center;align-items:center;gap:8px;width:100%;font-weight:600;display:inline-flex}.quick-actions-popover{padding:var(--s-3);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-3);z-index:30;animation:quick-actions-pop var(--t-fast) var(--ease);flex-direction:column;gap:8px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 12px 32px #00000038}.quick-actions-popover .shortcut-pill{justify-content:flex-start;width:100%}.quick-actions-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle);padding:0 2px 2px;font-size:11px;font-weight:600}@keyframes quick-actions-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.search-overlay{align-items:start;padding-top:6vh;padding-bottom:6vh;overflow-y:auto}.search-modal{flex-direction:column;width:min(1100px,96vw);height:88vh;max-height:88vh;display:flex;overflow:hidden}.search-modal-head{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.search-modal-fields{gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border-subtle);grid-template-columns:2fr 1fr 1.2fr auto;align-items:end;display:grid}.search-modal-actions{gap:var(--s-2);flex-flow:wrap;align-items:stretch;display:flex}.search-modal-actions .btn{white-space:nowrap}@media (width<=720px){.search-modal-fields{grid-template-columns:1fr}}.search-modal-advanced{border-bottom:1px solid var(--border-subtle);padding:0 var(--s-5) var(--s-2)}.search-advanced-toggle{color:var(--text-muted);padding:8px 4px;font-size:13px}.search-advanced-body{padding-bottom:var(--s-3)}.search-modal-results{-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:0;overflow:hidden auto}.search-modal-results .table-wrap{border-top:none;border-bottom:none;height:auto;max-height:none;overflow:auto visible}.search-modal-results table.data thead th{z-index:2;position:sticky;top:0}.search-empty{padding:var(--s-12) var(--s-6);text-align:center;font-style:italic}.new-entry-modal{flex-direction:column;width:min(720px,96vw);height:auto;max-height:92vh;display:flex}.new-entry-body{padding:var(--s-5);gap:var(--s-4);display:grid;overflow-y:auto}.new-entry-body .grid-form{grid-template-columns:1fr 1fr}@media (width<=720px){.new-entry-body .grid-form{grid-template-columns:1fr}}.bulk-bar{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);background:var(--accent-soft);border-top:1px solid var(--accent-border);border-bottom:1px solid var(--accent-border);flex-wrap:wrap;display:flex}.bulk-count{color:var(--accent);font-size:13px;font-weight:600}.bulk-bar select{width:auto;min-width:180px}.bulk-bar .btn{padding:6px 14px;font-size:13px}.cell-check{width:36px;padding-right:0!important}.cell-check input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent);margin:0}table.data tbody tr[data-selected]{background:var(--accent-soft)}@media (width<=720px){.bulk-bar{padding:var(--s-3);flex-direction:column;align-items:stretch}.bulk-bar select{width:100%}}.top-item-chip-wrap{position:relative}.top-item-chip{width:100%}.pin-btn{color:var(--text-subtle);border-radius:var(--r-1);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px;line-height:1;position:absolute;top:6px;right:6px}.pin-btn:hover{color:var(--warning);background:var(--warning-soft);border:none}.pin-btn[data-pinned=true]{color:var(--warning)}.mom{vertical-align:1px;margin-left:6px;font-size:10px}.mom.up{color:var(--danger)}.mom.down{color:var(--success)}.kbd-hint{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.kbd-hint kbd{background:var(--surface-2);border:1px solid var(--border-default);font-family:var(--font-mono);color:var(--text-default);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:11px}.toast-action{color:#fff;border-radius:var(--r-2);margin-left:var(--s-2);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;padding:4px 10px;font-size:12px;font-weight:600}.toast-action:hover{background:#ffffff2e;border-color:#ffffff4d}.palette-overlay{-webkit-backdrop-filter:blur(2px);z-index:950;animation:overlay-in var(--t-fast) var(--ease);background:#14110f73;justify-content:center;align-items:start;padding-top:12vh;display:grid;position:fixed;inset:0}.palette{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--r-3);width:min(860px,96vw);box-shadow:var(--shadow-3);animation:modal-in var(--t-normal) var(--ease-out);gap:0;display:grid;overflow:hidden}.palette-prompt{align-items:center;gap:var(--s-3);border-bottom:1px solid var(--border-subtle);padding:6px 18px 6px 20px;display:flex}.palette-prefix{color:var(--accent);font-family:var(--font-mono);font-size:24px}.palette-prompt input{font-size:24px;font-family:var(--font-mono);background:0 0;border:none;outline:none;padding:20px 0}.palette-prompt input:focus{box-shadow:none}.palette-preview{color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:14px 20px;font-size:15px}.palette-preview strong{color:var(--text-strong)}.palette-preview em{color:var(--accent);font-style:normal;font-weight:600}.palette-hints{border-bottom:1px solid var(--border-subtle);max-height:240px;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-hints li{border-radius:var(--r-2);cursor:pointer;padding:9px 14px;font-size:15px}.palette-hints li:hover{background:var(--accent-soft);color:var(--accent)}.palette-spell{border-bottom:1px solid var(--border-subtle)}.palette-spell .spell-dropdown{box-shadow:none;border:0;border-radius:0;margin:0;padding:8px 14px;position:static}.palette-foot{gap:var(--s-4);color:var(--text-subtle);font-size:13px;font-family:var(--font-mono);letter-spacing:.04em;border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.palette-foot-actions{align-items:center;gap:var(--s-3);display:flex}.palette-foot-tip{color:var(--text-subtle);font-size:13px}.palette-add-btn{padding:10px 22px;font-size:15px}.palette-foot kbd{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-default);border-radius:4px;padding:1px 7px;font-size:12px}@media (width<=720px){.palette-foot{align-items:stretch;gap:var(--s-2);flex-direction:column}.palette-foot-actions{justify-content:space-between}}.palette-hints li[data-active=true]{background:var(--accent-soft);color:var(--accent)}.palette-accounts{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 18px;display:flex}.palette-accounts-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);margin-right:6px;font-size:12px;font-weight:600}.palette-account-pill{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--r-pill);color:var(--text-default);cursor:pointer;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:14px;display:inline-flex}.palette-account-pill[data-active=true]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.palette-account-id{background:var(--surface-1);border:1px solid var(--border-default);width:24px;height:24px;font-family:var(--font-mono);color:var(--text-default);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.palette-account-pill[data-active=true] .palette-account-id{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.pair-pill{background:var(--surface-2);border-radius:var(--r-pill);margin-right:10px;padding:3px 12px;font-size:14px;display:inline-block}.pair-pill strong{color:var(--text-strong)}.heatmap{gap:var(--s-3);display:grid}.heatmap-meta{justify-content:space-between;font-size:13px;display:flex}.heatmap-grid{grid-template-columns:repeat(30,minmax(0,1fr));gap:4px;display:grid}.heatmap-cell{aspect-ratio:1;background:var(--heat-0);border-radius:3px;min-width:8px;display:block}.heatmap-cell[data-intensity="1"]{background:var(--heat-1)}.heatmap-cell[data-intensity="2"]{background:var(--heat-2)}.heatmap-cell[data-intensity="3"]{background:var(--heat-3)}.heatmap-cell[data-intensity="4"]{background:var(--heat-4)}.heatmap-legend{align-items:center;gap:4px;font-size:11px;display:flex}.heatmap-legend .heatmap-cell{aspect-ratio:auto;width:12px;min-width:12px;height:12px}@media (width<=700px){.heatmap-grid{grid-template-columns:repeat(15,minmax(0,1fr))}}.nav-toggle{display:none}@media (width<=720px){.appbar-inner{gap:var(--s-3);flex-wrap:wrap}.nav-toggle{margin-left:auto;display:inline-grid}.appbar-nav{border-top:1px solid var(--border-subtle);width:100%;padding-top:var(--s-3);flex-direction:column;align-items:stretch;margin-left:0;display:none}.appbar-nav.is-open{display:flex}.nav-user{padding:var(--s-2) 0;margin:0}}.quick-page{background:var(--surface-0);min-height:100vh;padding:env(safe-area-inset-top) var(--s-4) env(safe-area-inset-bottom);flex-direction:column;display:flex}.quick-head{align-items:center;gap:var(--s-3);padding:var(--s-3) 0 var(--s-5);display:flex}.quick-title{font-family:var(--font-display);color:var(--text-strong);font-size:20px;font-weight:600}.quick-exit{margin-left:auto;padding:6px 12px;font-size:24px;line-height:1}.quick-form{gap:var(--s-5);width:100%;max-width:480px;margin:0 auto;display:grid}.quick-amount{text-align:center;padding:var(--s-3);letter-spacing:-.01em;font-size:32px}.account-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.account-chip{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--r-pill);color:var(--text-default);cursor:pointer;padding:10px 16px;font-size:14px;font-weight:500}.account-chip[data-active=true]{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.quick-top-items{gap:var(--s-2);flex-wrap:wrap;display:flex}.quick-submit{margin-top:var(--s-3);padding:14px;font-size:16px}@media (width<=720px){.app-main{padding:var(--s-5) var(--s-3) var(--s-10);gap:var(--s-4)}.surface-pad{padding:var(--s-4)}h1{font-size:22px}h2{font-size:18px}.section-header{gap:var(--s-2);flex-wrap:wrap}.results-header{padding:var(--s-3) var(--s-4);flex-direction:column;align-items:flex-start}.account-bar{flex-direction:column;align-items:stretch}.account-bar .field{min-width:0}.kbd-hint{display:none}.grid-form,.filter-row,.search-fields{grid-template-columns:1fr}.top-items-grid{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr}.login-aside{padding:var(--s-6) var(--s-4)}.login-form-side{padding:var(--s-5) var(--s-4)}.modal-card{padding:var(--s-4)}.toast-host{top:auto;bottom:var(--s-3);left:var(--s-3);right:var(--s-3)}.toast{width:100%;min-width:0;max-width:none}table.data thead th,table.data tbody td{padding:9px 10px}.pagination-bar{padding:var(--s-3)}.pagination-controls{flex-wrap:wrap}.quick-amount{font-size:28px}}@media (width<=420px){.top-items-grid{grid-template-columns:1fr}.preset-row{gap:6px}.btn-chip{padding:5px 10px;font-size:12px}}.table-wrap{-webkit-overflow-scrolling:touch}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
