*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#282828;--bg-card:#333;--bg-hover:#3f3f3f;--text:#ececec;--text-muted:#b6b6b6;--border:#474747;--accent:#999;--accent-hover:gray;--on-accent:#e9edf2;--green:#5b9a6f;--red:#b86b6b;--yellow:#b89b4d;--radius:8px;--shadow:0 4px 12px #0006;--bar-track:#2f2f2f;--pie-label:#ececec;--arc-label:#272727;--grid-line:#454545;--axis-text:#b6b6b6;--tooltip-bg:#363636;--tooltip-border:#474747}[data-theme=light]{--bg:#ecece6;--bg-card:#f7f7f3;--bg-hover:#e4e4de;--text:#2c2c2c;--text-muted:#5f6673;--border:#c7c4bd;--accent:#5b7fa8;--accent-hover:#4a6d94;--green:#5b9a6f;--red:#b86b6b;--yellow:#b89b4d;--shadow:0 4px 12px #0000000f;--bar-track:#dfdfd8;--pie-label:#475569;--arc-label:#fff;--grid-line:#d8d4cd;--axis-text:#5f6673;--tooltip-bg:#f7f7f3;--tooltip-border:#c7c4bd}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;transition:background .2s,color .2s}.app{min-height:100vh}.app-header{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:100;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:16px 32px;display:grid;position:sticky;top:0}.app-header-brand{flex-shrink:0;justify-self:start;align-items:center;gap:10px;min-width:0;display:flex}.app-header-brand h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:20px;font-weight:700;overflow:hidden}.stevie-logo-clip{border-radius:50%;flex-shrink:0;position:relative;overflow:hidden}.stevie-logo-clip-sm{width:36px;height:36px}.stevie-logo-clip-xs{width:22px;height:22px}.stevie-logo-clip img{object-fit:cover;object-position:center center;transform-origin:50%;width:100%;height:100%;display:block;position:absolute;inset:0;transform:scale(1.04)}.stevie-mood-anchor{flex-shrink:0;position:relative}.stevie-mood-btn{cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;line-height:0;transition:transform .15s,box-shadow .15s;display:flex}.stevie-mood-btn--good,.stevie-mood-btn--bad,.stevie-mood-btn .stevie-logo-clip{box-shadow:none}.stevie-mood-btn:hover{transform:scale(1.05)}.stevie-mood-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.stevie-mood-btn .stevie-logo-clip-sm{box-sizing:border-box;background:var(--bg-card);clip-path:circle(50%);border:2px solid #0000;border-radius:50%;width:48px;max-width:48px;height:48px;max-height:48px;line-height:0;position:relative;overflow:hidden}.stevie-mood-btn--good .stevie-logo-clip-sm{border-color:var(--green)}.stevie-mood-btn--bad .stevie-logo-clip-sm{border-color:var(--red)}.stevie-mood-btn .stevie-logo-clip img{transform-origin:50%;object-fit:cover;object-position:center center;width:48px;height:48px;box-shadow:none;box-sizing:border-box;border:none;outline:none;margin:0;padding:0;display:block;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(1.26)}.stevie-mood-backdrop{z-index:140;background:0 0;position:fixed;inset:0}@keyframes stevie-bubble-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.stevie-mood-popover{--stevie-bubble-tail-x:24px;z-index:150;background:var(--bg-card);border:1px solid var(--border);width:min(320px,100vw - 32px);box-shadow:none;text-align:left;transform-origin:var(--stevie-bubble-tail-x) 0;filter:drop-shadow(0 6px 20px #0000002e);border-radius:20px;padding:14px 16px 15px;animation:.22s ease-out stevie-bubble-in;position:absolute;top:calc(100% + 14px);left:0}[data-theme=light] .stevie-mood-popover{filter:drop-shadow(0 6px 18px #0000001a)}.stevie-mood-popover:before{content:"";top:-11px;left:var(--stevie-bubble-tail-x);z-index:0;border:10px solid #0000;border-bottom-color:var(--border);pointer-events:none;position:absolute;transform:translate(-50%)}.stevie-mood-popover:after{content:"";top:-9px;left:var(--stevie-bubble-tail-x);z-index:1;border:9px solid #0000;border-bottom-color:var(--bg-card);pointer-events:none;position:absolute;transform:translate(-50%)}.stevie-mood-popover.stevie-mood-popover--thought{width:min(300px, calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));aspect-ratio:320/168;transform-origin:48px 22%;filter:none;isolation:isolate;background:0 0;border:none;border-radius:0;min-height:0;padding:0}.stevie-mood-popover--thought:before,.stevie-mood-popover--thought:after{display:none}.stevie-thought-svg{z-index:0;width:100%;height:100%;color:var(--text);pointer-events:none;filter:drop-shadow(0 6px 20px #0003);position:absolute;inset:0}[data-theme=light] .stevie-thought-svg{filter:drop-shadow(0 6px 18px #0000001f)}.stevie-mood-popover--thought .stevie-mood-popover-content{z-index:2;-webkit-overflow-scrolling:touch;box-sizing:border-box;flex-direction:column;justify-content:flex-start;padding:2px 4px 8px;display:flex;position:absolute;inset:40% 14% 22%;overflow:auto}.stevie-mood-popover--thought .stevie-mood-quip{letter-spacing:.01em;color:var(--text);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;font-weight:600;line-height:1.35}.stevie-mood-quip{color:var(--text);margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.45}.header-right{justify-self:end;align-items:center;gap:8px;display:flex}.tabs{justify-self:center;gap:4px;display:flex}.tab{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:8px 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;transition:all .15s}.tab:hover{background:var(--bg-hover);color:var(--text)}.tab.active{background:var(--text);color:var(--bg)}.theme-toggle{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);border-radius:var(--radius);cursor:pointer;padding:6px 10px;font-size:16px;line-height:1;transition:all .15s}.theme-toggle:hover{background:var(--bg-hover);color:var(--text)}.auth-screen-theme-toggle{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:200;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex;position:fixed}.app-main{box-sizing:border-box;width:100%;min-width:0;max-width:1200px;margin:0 auto;padding:24px}.upload-page{max-width:1000px;margin:0 auto}.upload-page h2{margin-bottom:16px}.upload-hint{color:var(--text-muted);margin-bottom:24px}.upload-page .statements-list{margin-top:20px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;color:var(--text-muted);padding:64px 32px;transition:all .2s}.dropzone.active,.dropzone:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-card))}.dropzone.success{border-color:var(--green);color:var(--green)}.dropzone.error{border-color:var(--red)}.error-text{color:var(--red)}.dropzone-content{flex-direction:column;align-items:center;gap:12px;display:flex}.dropzone-icon{color:var(--text-muted);opacity:.6}.upload-filename{color:var(--text-muted);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:14px}.upload-retry{color:var(--text-muted);font-size:14px}.upload-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-check{color:var(--green);animation:.3s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.transactions-page h2{margin-bottom:16px}.transactions-table .txn-index-col,.transactions-table .txn-index-cell{text-align:right;font-variant-numeric:tabular-nums;width:2.25rem;color:var(--text-muted);padding-left:12px;padding-right:8px;font-size:12px}.transactions-table thead .txn-index-col{font-weight:600}.transactions-table .txn-delete-col,.transactions-table .txn-delete-cell{text-align:center;width:2rem;padding:0 4px}.btn-icon-delete{box-shadow:none;cursor:pointer;color:var(--text-muted);opacity:0;appearance:none;background:0 0;border:none;outline:none;padding:4px;line-height:1;transition:opacity .15s,color .15s}.transactions-table tbody tr:hover .btn-icon-delete{opacity:1}.btn-icon-delete:hover{color:var(--red)}.transactions-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.transactions-filters-top{justify-content:flex-end;width:100%;min-width:0;margin-bottom:12px}.transactions-pending-bar{background:color-mix(in srgb, var(--yellow) 10%, var(--bg-card));border:1px solid color-mix(in srgb, var(--yellow) 28%, var(--border));border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 14px;display:flex}.transactions-pending-text{color:var(--text-muted);flex:1;min-width:min(100%,200px);margin:0;font-size:13px;line-height:1.4}.transactions-pending-count{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.transactions-confirm-all-btn{flex-shrink:0}.transactions-pending-bar--above-table{margin-bottom:12px}select{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%237a8a9e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:8px 28px 8px 12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;transition:border-color .15s}select:focus{border-color:var(--accent);outline:none}select:hover{border-color:var(--text-muted)}.table-wrapper{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);overflow-x:auto}table{border-collapse:collapse;width:100%}th{background:var(--bg-card);text-align:left;color:var(--text-muted);letter-spacing:.01em;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:12px}td{border-bottom:1px solid var(--border);padding:10px 14px;font-size:14px}tr:last-child td{border-bottom:none}tr:hover{background:var(--bg-hover)}.credit-row>td:not(:nth-child(7)){opacity:.6}.date-cell{white-space:nowrap;color:var(--text-muted)}.desc-cell{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.amount-cell{text-align:center;white-space:nowrap;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:14px;font-weight:500}.amount-cell.credit{color:var(--green)}.amount-cell.charge{color:var(--text)}.category-badge{background:var(--bg-hover);white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.clickable-badge{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.clickable-badge:hover{opacity:.75}.category-cell-wrapper{cursor:pointer;display:inline-block;position:relative}.category-overlay-select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:14px;position:absolute;inset:0}.status-cell-wrapper{cursor:pointer;display:inline-block;position:relative}.status-overlay-select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:14px;position:absolute;inset:0}.confirmed-badge{color:var(--green);background:color-mix(in srgb, var(--green) 14%, var(--bg-card));border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}[data-theme=dark] .confirmed-badge{background:color-mix(in srgb, var(--green) 22%, var(--bg-card))}.reimbursed-badge{color:var(--blue,#3b82f6);background:color-mix(in srgb, var(--blue,#3b82f6) 14%, var(--bg-card));cursor:pointer;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.partial-badge{color:var(--orange,#d97706);background:color-mix(in srgb, var(--orange,#d97706) 14%, var(--bg-card));cursor:pointer;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}[data-theme=dark] .partial-badge{background:color-mix(in srgb, var(--orange,#d97706) 22%, var(--bg-card))}.partial-pay-amount{flex-direction:column;align-items:flex-end;gap:0;line-height:1.3;display:inline-flex}.partial-pay-original{color:var(--red);font-size:12px;font-weight:400;text-decoration:line-through}.partial-pay-actual{color:var(--green);font-weight:600}.partial-pay-field{flex-direction:column;gap:6px;display:flex}.partial-pay-field-label{color:var(--text);font-size:13px;font-weight:600}.partial-pay-input{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);border-radius:8px;padding:8px 12px;font-size:16px}.partial-pay-input:focus{border-color:var(--blue,#3b82f6);outline:none}.partial-pay-summary{color:var(--green);margin:8px 0 0;font-size:13px}[data-theme=dark] .reimbursed-badge{background:color-mix(in srgb, var(--blue,#3b82f6) 22%, var(--bg-card))}.unconfirmed-badge{color:var(--yellow);background:#b89b4d1f;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.actions-cell{white-space:nowrap}.btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:var(--radius);cursor:pointer;padding:6px 12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;transition:all .15s}.btn:hover{background:var(--bg-hover)}.btn-sm{padding:4px 10px;font-size:13px}.btn-xs{border-radius:6px;margin-right:4px;padding:4px 10px;font-size:12px}.btn-save{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-save:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}[data-theme=light] .btn-save{background:var(--text);border-color:var(--text);color:var(--bg)}[data-theme=light] .btn-save:hover:not(:disabled){color:var(--bg);background:#1f1f1f;border-color:#1f1f1f}[data-theme=light] .btn-save:disabled{opacity:.5}[data-theme=dark] .btn-save{background:var(--text);border-color:var(--text);color:var(--bg)}[data-theme=dark] .btn-save:hover:not(:disabled){color:var(--bg);background:#f6f6f6;border-color:#f6f6f6}[data-theme=dark] .btn-save:disabled{opacity:.5}.btn-destructive{background:var(--red);border-color:var(--red);color:#fff}.btn-destructive:hover:not(:disabled){color:#fff;background:#985252;border-color:#985252}[data-theme=dark] .btn-destructive:hover:not(:disabled){color:#fff;background:#d08080;border-color:#d08080}.btn-destructive:disabled{opacity:.5}.btn-confirm{background:var(--green);border-color:var(--green);color:var(--on-accent)}.btn-confirm:hover:not(:disabled){background:var(--green);border-color:var(--green);filter:brightness(1.08)}.empty-state{text-align:center;color:var(--text-muted);padding:48px}.transactions-toolbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px;display:flex}.transactions-toolbar .filters{justify-content:flex-end;align-self:flex-end;width:auto;margin-left:0}.transactions-toolbar .stats-summary{margin-bottom:0}.transactions-toolbar h2{margin:0;font-size:18px;font-weight:600}.txn-stats{align-items:stretch;gap:12px;display:flex}.txn-stats .spark-card{padding:12px 16px;position:relative}.txn-stats .spark-card .tooltip,.spark-card-tooltip{white-space:normal;text-align:center;max-width:280px;top:calc(100% + 6px);bottom:auto}.txn-stats .spark-card-value{font-size:15px}.clickable{cursor:pointer;border-radius:var(--radius);-webkit-user-select:none;user-select:none;margin:0 -8px;padding:6px 8px;transition:background .15s}.clickable:hover{background:var(--bg-hover)}.nivo-tip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);white-space:nowrap;align-items:center;gap:6px;padding:8px 12px;font-size:14px;display:flex}.nivo-tip-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.nivo-tip-pct{color:var(--text-muted);margin-left:4px}.dashboard{min-width:0}.dashboard-filters{justify-content:flex-end;width:100%}.dashboard-filters .filter-pill{min-width:0;max-width:100%}.dashboard-top-bar{justify-content:stretch;align-items:stretch;width:100%;min-width:0;margin-bottom:16px;display:flex}@media (width>=641px){.dashboard-top-bar{justify-content:flex-start}}@media (width<=640px){.dashboard-filters .filter-pill{flex:calc(50% - 4px);min-width:0}}.filter-pill{border:1px solid var(--border);background:var(--bg-card);color:var(--text);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%237a8a9e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:20px;padding:7px 28px 7px 12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;transition:all .15s}.filter-pill:hover{border-color:var(--text-muted)}.filter-pill:focus{border-color:var(--accent);outline:none}.view-toggle{border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}.view-toggle button{background:var(--bg-card);color:var(--text-muted);cursor:pointer;border:none;padding:6px 16px;font-size:14px}.view-toggle button.active{background:var(--accent);color:var(--on-accent)}.stats-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-width:0;margin-bottom:24px;display:grid}.stats-summary--8{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-summary--5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=960px) and (width>=641px){.stats-summary,.stats-summary--8{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-summary--5{grid-template-columns:repeat(3,minmax(0,1fr))}}.spark-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.spark-card--stevie-highlight--good{box-shadow:0 0 0 2px color-mix(in srgb, var(--green) 52%, var(--border)), var(--shadow)}.spark-card--stevie-highlight--bad{box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 55%, transparent), var(--shadow)}.spark-card-label{color:var(--text-muted);letter-spacing:.01em;margin-bottom:4px;font-size:12px}.spark-card-value{font-size:22px;font-weight:700}.spark-card-body--plain .spark-card-subtitle{margin-top:4px}.spark-card-change-pct{margin-top:2px;font-size:14px;font-weight:600;line-height:1.25}.txn-stats .spark-card-change-pct{font-size:13px}.spark-card-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.has-tooltip{cursor:pointer;position:relative}.has-tooltip .tooltip{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;box-shadow:var(--shadow);z-index:10;pointer-events:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:400;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.has-tooltip:hover .tooltip{display:block}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-width:0;margin-bottom:24px;display:grid}@media (width<=900px){.charts-grid{grid-template-columns:1fr}}@media (width<=900px) and (width>=641px){.transactions-filters-top{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:10px;width:100%;display:grid}.transactions-filters-top .filter-pill{width:100%;min-width:0;max-width:100%}.transactions-filters-top--no-year .filter-pill:nth-child(3),.transactions-filters-top--with-card.transactions-filters-top--no-year .filter-pill:nth-child(4),.transactions-filters-top--with-card:not(.transactions-filters-top--no-year) .filter-pill:nth-child(5){grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.stevie-mood-popover{animation:none}.stevie-mood-btn:hover{transform:none}}@media (width<=1100px){.app-header-brand{position:relative}.app-header-brand h1{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (width<=640px){.app-header{padding-top:max(8px, env(safe-area-inset-top,0px));padding-bottom:8px;padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:8px;display:grid}.app-header-brand{grid-area:1/1;align-self:center;gap:8px;min-width:0}.stevie-logo-clip-sm{width:28px;height:28px}.stevie-mood-btn{width:44px;height:44px}.stevie-mood-btn .stevie-logo-clip-sm{width:40px;max-width:40px;height:40px;max-height:40px}.stevie-mood-btn .stevie-logo-clip img{width:40px;height:40px}.stevie-mood-popover:not(.stevie-mood-popover--thought){--stevie-bubble-tail-x:20px;border-radius:18px;padding:14px 16px 15px}.stevie-mood-popover.stevie-mood-popover--thought{width:min(292px, calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:auto;aspect-ratio:unset;background:var(--bg-card);border:1px solid var(--border);min-height:0;box-shadow:var(--shadow);transform-origin:12px 0;filter:none;isolation:isolate;z-index:150;border-radius:16px;margin:0;padding:14px 16px 16px;animation:.22s ease-out stevie-bubble-in;position:absolute;top:calc(100% + 10px);left:0;right:auto;transform:none}.stevie-mood-popover.stevie-mood-popover--thought .stevie-thought-svg{display:none}.stevie-mood-popover--thought .stevie-mood-popover-content{max-height:none;padding:0;display:block;position:static;inset:auto;overflow:visible}.stevie-mood-popover--thought .stevie-mood-quip{text-align:left;margin:0;font-size:14px;line-height:1.45}.header-right{grid-area:1/2;align-self:center}.user-menu-btn{gap:5px;min-height:32px;padding:4px 10px;font-size:13px}.user-menu-btn svg{width:10px;height:10px}.tabs{-webkit-overflow-scrolling:touch;grid-area:2/1/auto/-1;justify-content:center;overflow-x:auto}.tab{flex-shrink:0;min-height:40px;padding:8px 12px;font-size:13px}.app-main{padding:16px max(12px, env(safe-area-inset-right,0px)) max(32px, calc(20px + env(safe-area-inset-bottom,0px))) max(12px, env(safe-area-inset-left,0px))}.dashboard-top-bar{justify-content:stretch}.dashboard-controls{gap:10px}.dashboard-controls .filter-pill{min-height:44px;padding:10px 28px 10px 12px;font-size:14px}.stats-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stats-summary--5{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-summary--5 .spark-card:last-child{grid-column:1/-1}.spark-card{min-width:0;padding:12px;overflow:hidden}.spark-card.has-tooltip{overflow:visible}.spark-card-value{font-size:19px}.chart-card{margin-bottom:12px;padding:14px}.category-breakdown{padding:16px}.category-bar-row{align-items:center;gap:0;margin:0;padding:10px 4px;display:flex}.category-bars>.category-bar-row,.category-bars>.category-group{border-bottom:1px solid var(--border)}.category-bars>:last-child,.category-group>.category-bar-row,.category-children .category-bar-row{border-bottom:none}.category-children .category-bar-row:not(:last-child){border-bottom:1px solid var(--border)}.category-bar-label{flex:1;width:auto;min-width:0;font-size:14px}.category-bar-track{display:none}.category-bar-amount{width:auto;margin-left:auto;font-size:14px;font-weight:600}.category-bar-pct{width:45px;color:var(--text-muted);font-size:12px}.category-bar-count{display:none}.transactions-header{flex-direction:column}.transactions-toolbar{flex-direction:column;align-items:stretch}.transactions-toolbar .filters{justify-content:center;align-self:center;width:100%;margin-left:0}.transactions-filters-top{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:10px;width:100%;display:grid}.transactions-filters-top .filter-pill{width:100%;min-width:0;min-height:44px;padding:10px 28px 10px 12px;font-size:14px}.transactions-filters-top--no-year .filter-pill:nth-child(3),.transactions-filters-top--with-card.transactions-filters-top--no-year .filter-pill:nth-child(4),.transactions-filters-top--with-card:not(.transactions-filters-top--no-year) .filter-pill:nth-child(5){grid-column:1/-1}.transactions-pending-bar{flex-direction:column;align-items:stretch}.transactions-confirm-all-btn{width:100%}.transactions-title-group{flex-wrap:wrap}.table-wrapper{border:none;overflow:visible}.mappings-page{overflow-x:hidden}.mappings-page .table-wrapper{max-width:100%}.mappings-page .transactions-table{table-layout:auto;width:100%;display:block}.mappings-page .transactions-table thead{display:none}.mappings-page .transactions-table tbody{flex-direction:column;gap:6px;width:100%;display:flex}.mappings-page .transactions-table tbody tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-sizing:border-box;flex-direction:column;width:100%;padding:12px;display:flex}.mappings-page .transactions-table tbody tr:has(.table-action-row){background:0 0;border:none;padding:8px 0}.mappings-page .transactions-table tbody td{text-align:left;border:none;padding:0;display:block}.mappings-page .transactions-table tbody td.mapping-cell-primary{width:auto;font-size:14px;font-weight:600}.mappings-page .transactions-table tbody td.mapping-cell-meta,.mappings-page .transactions-table tbody td.mapping-cell-meta2{color:var(--text-muted);width:auto;margin-top:2px;font-size:13px}.mappings-page .transactions-table tbody td.mapping-cell-actions{text-align:right;justify-content:flex-end;gap:6px;width:auto;margin-top:8px;display:flex}.transactions-table thead{display:none}.transactions-table tbody tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);grid-template-columns:1fr auto;gap:2px 10px;margin-bottom:6px;padding:10px 12px;display:grid}.transactions-table tbody tr:hover{background:var(--bg-card)}.transactions-table td{border:none;padding:0;font-size:14px}.transactions-table .txn-index-cell{display:none}.transactions-table .desc-cell{white-space:nowrap;text-overflow:ellipsis;grid-area:1/1;align-self:center;max-width:none;font-size:14px;font-weight:600;line-height:1.35;overflow:hidden}.transactions-table .amount-cell{text-align:right;white-space:nowrap;grid-area:1/2;align-self:center;font-size:15px;font-weight:600}.transactions-table .date-cell{color:var(--text-muted);grid-area:2/1/auto/-1;font-size:12px;line-height:1.3}.transactions-table td:nth-child(4){display:none}.transactions-table td:nth-child(6){grid-area:3/1;align-self:center}.transactions-table td:nth-child(7){text-align:right;grid-area:3/2;place-self:center end}.transactions-table .txn-delete-cell{display:none}.transactions-table .actions-cell{grid-column:1/-1;padding-top:6px}.transactions-page .table-skeleton-row .skeleton-line:first-child,.statements-table thead{display:none}.statements-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;display:grid}.statements-table td{border:none;padding:0}.statements-table td.stmt-cell-period{grid-column:1;font-size:14px;font-weight:600}.statements-table td.stmt-cell-balance{text-align:right;grid-area:1/2;font-size:14px;font-weight:600}.statements-table td.stmt-cell-date{color:var(--text-muted);grid-area:2/1;font-size:13px}.statements-table td.stmt-cell-file{display:none}.statements-table .mapping-cell-actions{grid-area:2/2;align-self:center}.statements-table td.table-action-row{text-align:right;grid-column:1/-1;justify-self:stretch}.transactions-table.mappings-rules-table tbody tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);grid-template-columns:1fr auto;gap:4px 12px;margin-bottom:6px;padding:12px;display:grid}.transactions-table.mappings-rules-table tbody tr:has(.table-action-row){background:0 0;border:none;margin-bottom:0;padding:8px 0}.transactions-table.mappings-rules-table tbody tr:hover{background:var(--bg-card)}.transactions-table.mappings-rules-table tbody td{border:none;padding:0}.transactions-table.mappings-rules-table .mapping-pattern-cell{grid-area:1/1/auto/-1;min-width:0}.transactions-table.mappings-rules-table .mapping-pattern-cell .mapping-pattern-badge{white-space:normal;word-break:break-word;text-overflow:unset;overflow:visible}.transactions-table.mappings-rules-table .mapping-category-cell{grid-area:2/1;align-self:end;min-width:0}.transactions-table.mappings-rules-table .mapping-cell-actions{white-space:normal;flex-wrap:wrap;grid-area:2/2;justify-content:flex-end;place-self:end;gap:6px;display:flex}.transactions-table.mappings-cards-table .mapping-cell-actions .btn+.btn,.transactions-table.mappings-rules-table .mapping-cell-actions .btn+.btn{margin-left:0}.dropzone{padding:40px 20px}.pie-legend{gap:2px 10px}.pie-legend-item{padding:2px 4px;font-size:11px}.login-card-body{padding:32px 22px 26px}.login-card-footer{padding:16px 20px 20px}.login-logo-wrap{width:min(200px,80vw);height:min(200px,80vw);margin-bottom:22px}.login-subtitle{font-size:15px}.google-signin-btn{min-height:48px;font-size:14px}.user-menu{width:min(280px,100vw - 16px);min-width:200px;padding:6px 0;top:calc(100% + 4px);right:0}.user-menu-header{padding:8px 12px}.user-menu-household-name{font-size:13px}.user-menu-item{gap:8px;padding:8px 12px;font-size:12px}.user-menu-item-icon svg{width:16px;height:16px}.stevie-logo-clip-xs{width:20px;height:20px}.household-layout{width:min(400px,100% - 24px)}.household-card-body{padding:30px 22px 26px}.household-card-footer{padding:16px 20px 20px}.household-logo-wrap{width:min(184px,70vw);height:min(184px,70vw);margin-bottom:18px}.household-title{font-size:22px}.household-input{font-size:16px}}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-width:0;padding:20px;overflow:hidden}.chart-card svg{cursor:pointer}.chart-card h3{color:var(--text-muted);margin-bottom:16px;font-size:15px}.chart-card--overflow-visible,.chart-card--overflow-visible .trend-chart-wrap{overflow:visible}.chart-placeholder{height:280px;color:var(--text-muted);border:1px dashed var(--border);border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:flex}.trend-chart-wrap{position:relative}.trend-hover-line{background:var(--border);opacity:.9;pointer-events:none;z-index:2;width:1px;position:absolute;top:0;bottom:0}.category-breakdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-width:0;margin-bottom:24px;padding:20px;overflow-x:auto}.category-breakdown h3{color:var(--text-muted);margin-bottom:16px;font-size:15px}.category-bar-row{cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;display:flex}.category-bar-label{flex-shrink:0;align-items:center;gap:8px;width:190px;font-size:14px;display:flex}.cat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.category-bar-track{background:var(--bar-track);border-radius:6px;flex:1;height:24px;overflow:hidden}.category-bar-fill{border-radius:6px;min-width:4px;height:100%;transition:width .3s;position:relative;overflow:hidden}.category-bar-reimb{background:repeating-linear-gradient(-45deg,#0000,#0000 3px,#ffffff8c 3px 6px);border-radius:0 6px 6px 0;height:100%;position:absolute;top:0;right:0}[data-theme=dark] .category-bar-reimb{background:repeating-linear-gradient(-45deg,#0000,#0000 3px,#00000059 3px 6px)}.category-bar-amount{text-align:right;min-width:90px;color:var(--text);white-space:nowrap;flex-shrink:0;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:13px;font-weight:500}.category-bar-amount-reimb{flex-direction:column;align-items:flex-end;gap:0;line-height:1.3;display:inline-flex}.category-bar-amount-original{color:var(--red);font-size:11px;font-weight:400;text-decoration:line-through}.category-bar-amount-net{font-weight:500}.category-bar-pct{text-align:right;width:50px;color:var(--text-muted);flex-shrink:0;font-size:12px}.category-bar-count{text-align:right;width:55px;color:var(--text-muted);flex-shrink:0;font-size:11px}.category-group{margin-bottom:2px}.category-parent-row .category-bar-label{font-weight:600}.cat-sub-count{color:var(--text-muted);margin-left:2px;font-size:9px;font-weight:400}.category-children{border-left:2px solid var(--border);margin-bottom:4px;margin-left:7px;padding-left:16px}.category-child-row{opacity:.85}.category-child-row:hover{opacity:1}.category-child-row .category-bar-label{font-size:13px}.category-child-row .category-bar-track{height:18px}.statements-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.statements-list h3{color:var(--text-muted);margin-bottom:16px;font-size:14px}.mappings-card-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);margin-bottom:8px;overflow:hidden}.mappings-card-group-header{box-sizing:border-box;cursor:pointer;width:100%;min-height:44px;font:inherit;color:var(--text);text-align:left;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:0;align-items:center;gap:8px;padding:12px 16px;transition:background .15s;display:flex}.mappings-card-group-header:hover{background:color-mix(in srgb, var(--text) 4%, var(--bg-card))}.mappings-card-group-chevron{color:var(--text-muted);flex-shrink:0;align-items:center;transition:transform .15s;display:flex}.mappings-card-group-chevron[data-expanded=true]{transform:rotate(90deg)}.mappings-card-group-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.mappings-card-group-count{color:var(--text-muted);margin-left:auto;font-size:12px}.mappings-card-group>.table-wrapper,.mappings-card-group>.statements-table{border:none;border-top:1px solid var(--border);border-radius:0;margin-top:0}.mappings-card-group>.statements-table th:last-child,.mappings-card-group>.statements-table td:last-child{text-align:right;vertical-align:middle}.mappings-card-group>.statements-table .mapping-cell-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.mappings-card-group>.table-wrapper{box-shadow:none;-webkit-overflow-scrolling:touch}@media (width<=640px){.mappings-card-group-header{gap:10px;padding:12px 14px}.mappings-card-group-label{text-align:left;min-width:0;font-size:14px}.mappings-card-group-count{flex-shrink:0;font-size:11px}.mappings-card-group>.table-wrapper{max-width:100%}.joint-card-toggle{align-items:center;min-height:44px;padding:8px 0;font-size:14px;line-height:1.3}.joint-card-toggle input[type=checkbox]{flex-shrink:0;width:20px;height:20px}.edit-card-field-hint{font-size:13px;line-height:1.4}.upload-modal-dropzone{touch-action:manipulation;min-height:132px;padding:28px 14px}.household-option{-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:52px}}.table-action-row{text-align:right;padding:10px 14px!important}.table-action-row .btn{color:var(--text-muted);border:1px dashed var(--border);background:0 0}.table-action-row .btn:hover{color:var(--text);border-color:var(--text-muted);background:0 0}.modal-backdrop{z-index:2000;padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));box-sizing:border-box;background:color-mix(in srgb, var(--text) 40%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}[data-theme=dark] .modal-backdrop{background:#000000b8}.modal-panel{border:1px solid var(--border);background:var(--bg-card);width:100%;max-width:440px;max-height:min(92vh,720px);box-shadow:0 12px 40px color-mix(in srgb, var(--text) 18%, transparent);border-radius:12px;outline:none;overflow:auto}[data-theme=dark] .modal-panel{background:var(--bg);box-shadow:0 12px 48px #0000008c}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 14px;display:flex}.modal-header-text{flex:1;min-width:0}.modal-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:16px;font-weight:600;line-height:1.25}.modal-description{color:var(--text-muted);margin:6px 0 0;font-size:12px;line-height:1.4}.modal-close{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin:-6px -8px 0 0;padding:0;font-size:22px;line-height:1;display:flex}.modal-close:hover{background:var(--bg-hover);color:var(--text)}.modal-body{padding:14px 18px 18px}.modal-body-panel{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg-hover);box-shadow:0 2px 8px color-mix(in srgb, var(--text) 6%, transparent);margin:0 0 4px;padding:12px 14px}[data-theme=dark] .modal-body-panel{background:color-mix(in srgb, var(--bg) 88%, #000);box-shadow:0 2px 10px #00000059}.modal-body>.edit-card-panel-fields:first-child{margin-top:2px}.modal-body>.modal-body-panel+.edit-card-panel-actions{margin-top:12px}.modal-panel--add-card{max-width:480px}.modal-confirm-detail{color:var(--text);margin:0 0 14px;font-size:14px;line-height:1.5}.modal-body-panel .modal-confirm-detail{margin:0}.modal-body .add-card-dropzone{margin-bottom:12px}.modal-body-panel .add-card-dropzone,.modal-body-panel .modal-add-card-done-msg{margin-bottom:0}.modal-body .onboarding-processing{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.modal-add-card-done-msg{margin-top:0;margin-bottom:14px}.mappings-page{padding-bottom:64px}.mappings-page h2{margin-bottom:8px}.mappings-page-section-title{margin-top:32px}.hint{color:var(--text-muted);margin-bottom:20px;font-size:13px}.settings-display-section{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.settings-display-section .fixed-expense-toggle{margin-left:0}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;overflow:hidden}.settings-card-row{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.settings-card-row+.settings-card-row{border-top:1px solid var(--border)}.settings-card-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-card-row-title{color:var(--text);font-size:14px;font-weight:600}.settings-card-row-desc{color:var(--text-muted);font-size:13px}@media (width<=640px){.settings-card-row{flex-wrap:wrap;padding:14px 16px}}.fixed-expense-ended{color:var(--text-muted);font-size:12px;font-weight:400}.fixed-expense-toggle{color:var(--text-muted);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.fixed-expense-toggle input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.fixed-expense-toggle-track{background:var(--border);border-radius:10px;flex-shrink:0;width:34px;height:20px;transition:background .2s;position:relative}.fixed-expense-toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.fixed-expense-toggle input:checked+.fixed-expense-toggle-track{background:var(--accent,#7b6fc4)}.fixed-expense-toggle input:checked+.fixed-expense-toggle-track:after{transform:translate(14px)}.fixed-expense-toggle-label{font-size:13px}@media (width<=640px){.fixed-expense-toggle{justify-content:flex-end;width:100%}}.blur-amounts .spark-card-value,.blur-amounts .spark-card-change-pct,.blur-amounts .spark-card-subtitle{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .2s}.blur-amounts .amount-cell{filter:blur(8px);-webkit-user-select:none;user-select:none}.income-amount{filter:blur(8px);-webkit-user-select:none;user-select:none;transition:filter .15s}.income-amount:hover{filter:none}.blur-amounts .fixed-expense-amount,.blur-amounts .stmt-cell-balance,.blur-amounts .category-bar-amount,.blur-amounts .category-bar-pct,.blur-amounts .category-bar-count{filter:blur(8px);-webkit-user-select:none;user-select:none}.blur-amounts .nivo-tip{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none}.blur-amounts .chart-card svg text,.blur-amounts .pie-chart-wrap svg text{filter:blur(4px)}.blur-amounts .pie-legend-item span{filter:blur(6px);-webkit-user-select:none;user-select:none}.fixed-expense-icon{vertical-align:-2px;color:var(--text-muted);flex-shrink:0;margin-right:4px;display:inline-block}.fixed-expense-row{opacity:.8}.transactions-table.mappings-cards-table,.transactions-table.fixed-expenses-table{table-layout:fixed}.transactions-table.mappings-cards-table .mapping-cell-primary,.transactions-table.fixed-expenses-table .mapping-cell-primary{width:28%}.transactions-table.mappings-cards-table .mapping-cell-meta,.transactions-table.fixed-expenses-table .mapping-cell-meta{width:22%}.transactions-table.mappings-cards-table .mapping-cell-meta2,.transactions-table.fixed-expenses-table .mapping-cell-meta2{width:30%}.transactions-table.mappings-cards-table .mapping-cell-actions,.transactions-table.fixed-expenses-table .mapping-cell-actions{width:20%}.transactions-table.mappings-cards-table .mapping-cell-meta,.transactions-table.mappings-cards-table .mapping-cell-meta2,.transactions-table.fixed-expenses-table .mapping-cell-meta,.transactions-table.fixed-expenses-table .mapping-cell-meta2,.transactions-table.mappings-income-table .mapping-cell-meta{color:var(--text-muted)}.transactions-table.mappings-rules-table .mapping-pattern-cell{max-width:min(360px,45vw)}.mapping-pattern-badge{background:var(--bg-hover);white-space:nowrap;text-overflow:ellipsis;vertical-align:baseline;border-radius:12px;max-width:100%;padding:3px 10px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:12px;font-weight:500;display:inline-block;overflow:hidden}.transactions-table.mappings-cards-table th:last-child,.transactions-table.mappings-cards-table td:last-child,.transactions-table.mappings-rules-table th:last-child,.transactions-table.mappings-rules-table td:last-child,.transactions-table.fixed-expenses-table th:last-child,.transactions-table.fixed-expenses-table td:last-child,.transactions-table.mappings-income-table th:last-child,.transactions-table.mappings-income-table td:last-child{text-align:right;vertical-align:middle}.transactions-table.mappings-cards-table .mapping-cell-actions,.transactions-table.mappings-rules-table .mapping-cell-actions,.transactions-table.fixed-expenses-table .mapping-cell-actions,.transactions-table.mappings-income-table .mapping-cell-actions{text-align:right;white-space:nowrap;vertical-align:middle}.transactions-table.mappings-cards-table .mapping-cell-actions .btn+.btn,.transactions-table.mappings-rules-table .mapping-cell-actions .btn+.btn,.transactions-table.fixed-expenses-table .mapping-cell-actions .btn+.btn,.transactions-table.mappings-income-table .mapping-cell-actions .btn+.btn{margin-left:6px}.table-wrapper .mapping-cell-actions .btn-xs.btn-destructive,.statements-list .statements-table .btn-xs.btn-destructive,.mappings-card-group>.statements-table .mapping-cell-actions .btn-xs.btn-destructive,.transactions-table.fixed-expenses-table .mapping-cell-actions .btn-xs.btn-destructive{transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.table-wrapper .mapping-cell-actions .btn-xs.btn-destructive:hover:not(:disabled),.statements-list .statements-table .btn-xs.btn-destructive:hover:not(:disabled),.mappings-card-group>.statements-table .mapping-cell-actions .btn-xs.btn-destructive:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 14px #00000038}@media (prefers-reduced-motion:reduce){.table-wrapper .mapping-cell-actions .btn-xs.btn-destructive,.statements-list .statements-table .btn-xs.btn-destructive,.mappings-card-group>.statements-table .mapping-cell-actions .btn-xs.btn-destructive{transition-duration:.01ms}.table-wrapper .mapping-cell-actions .btn-xs.btn-destructive:hover:not(:disabled),.statements-list .statements-table .btn-xs.btn-destructive:hover:not(:disabled),.mappings-card-group>.statements-table .mapping-cell-actions .btn-xs.btn-destructive:hover:not(:disabled){transform:none}}.edit-card-panel-fields{flex-direction:column;gap:8px;display:flex}.edit-card-field{flex-direction:column;gap:4px;margin:0;display:flex}.edit-card-field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:10px;font-weight:600}.edit-card-field .household-input{width:100%;margin-bottom:0;padding:8px 10px;font-size:14px}.edit-card-panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:10px;display:flex}.edit-card-panel-actions>.btn{flex:none;min-width:0;min-height:0;padding:5px 11px;font-size:13px}.edit-card-panel-error{margin-top:8px;margin-bottom:0;font-size:13px}.mapping-category-select{box-sizing:border-box;width:100%;max-width:100%;display:block}.pie-chart-wrap{height:300px;position:relative}.pie-legend{flex-wrap:wrap;justify-content:center;gap:2px 14px;margin-top:10px;padding:0 8px;display:flex}.pie-legend-item{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:5px;padding:3px 6px;font-size:12px;transition:background .15s;display:flex}.pie-legend-item:hover{background:var(--bg-hover)}.pie-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.pie-legend-pct{color:var(--text-muted);margin-left:1px;font-size:11px}.login-container{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px 0;display:flex}[data-theme=light] .login-container{background:radial-gradient(ellipse 95% 70% at 50% -5%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 52%), var(--bg)}[data-theme=dark] .login-container{background:radial-gradient(ellipse 90% 65% at 50% -8%, #ffffff0f, transparent 48%), var(--bg)}.login-layout{width:min(400px,100% - 32px);position:relative}.login-card{background:var(--bg-card);border:1px solid var(--border);text-align:left;border-radius:22px;width:100%;padding:0;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 14px 44px #00000014}.login-card:has(.login-stevie-from-logo-popover){overflow:visible}[data-theme=dark] .login-card{box-shadow:inset 0 1px #ffffff0d,0 18px 50px #0000008c}.login-card-body{padding:40px 36px 32px}.login-card-footer{background:var(--bg-hover);border-top:1px solid var(--border);text-align:center;border-bottom-right-radius:22px;border-bottom-left-radius:22px;padding:18px 28px 22px}[data-theme=light] .login-card-footer,[data-theme=light] .household-card-footer{background:#d4d2ca;border-top:1px solid #b9b6ad;box-shadow:inset 0 1px #ffffff73}[data-theme=light] .login-card-footer .login-note,[data-theme=light] .household-card-footer .household-setup-account-back{color:#3d4452}[data-theme=light] .household-card-footer .household-setup-account-back:hover{color:#1f2430}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-card-header{text-align:center;margin-bottom:28px}.login-brand-stack{flex-direction:column;align-items:center;width:100%;margin-bottom:8px;display:flex}.login-stevie-anchor{flex-direction:column;align-items:center;width:100%;display:flex;overflow:visible}.login-stevie-logo-btn{cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:50%;flex-shrink:0;margin:0 auto;padding:0;line-height:0;transition:transform .15s;display:block}.login-stevie-logo-btn:hover{transform:scale(1.02)}.login-stevie-logo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (prefers-reduced-motion:reduce){.login-stevie-logo-btn:hover{transform:none}}.login-stevie-from-logo-popover{z-index:160;pointer-events:auto;width:max-content;min-width:0;max-width:min(292px,100vw - 28px);position:absolute;top:10%;left:calc(50% + min(46px,14vw));transform:translate(calc(-1*min(6px,2vw)),-32%)}.login-stevie-from-logo-popover .stevie-mood-popover.stevie-mood-popover--thought{box-sizing:border-box;transform-origin:0 48%;max-width:100%;position:relative;top:auto;left:auto}.login-stevie-from-logo-popover .stevie-mood-popover--thought-login{transform-origin:0}@media (width<=719px){.login-stevie-from-logo-popover{top:calc(max(16px, env(safe-area-inset-top,0px)) + 52px);right:max(16px, env(safe-area-inset-right,0px));width:auto;max-width:min(300px,100vw - 32px);position:fixed;left:auto;transform:none}.login-stevie-from-logo-popover .stevie-mood-popover.stevie-mood-popover--thought{transform-origin:92% 12%}}.login-logo-wrap{border-radius:50%;flex-shrink:0;width:min(232px,78vw);height:min(232px,78vw);margin:0 auto;overflow:hidden;box-shadow:0 6px 28px #00000014,0 0 0 1px #0000000a}[data-theme=dark] .login-logo-wrap{box-shadow:0 8px 32px #00000073,0 0 0 1px #ffffff0f}.login-brand-logo{object-fit:cover;object-position:center 50%;transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.12)}.login-subtitle{color:var(--text-muted);letter-spacing:.01em;max-width:26ch;margin:0 auto;font-size:17px;font-weight:500;line-height:1.5}.login-actions{flex-direction:column;gap:12px;display:flex}.google-signin-btn{border:1px solid var(--border);background:var(--bg-card);width:100%;min-height:52px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 22px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 1px 3px #0000000d}[data-theme=dark] .google-signin-btn{box-shadow:0 1px 4px #00000059}.google-signin-btn:hover{background:var(--bg-hover);border-color:var(--text-muted)}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.login-note{max-width:34ch;color:var(--text-muted);letter-spacing:.01em;margin:0 auto;font-size:12.5px;font-weight:500;line-height:1.45}.login-error{color:var(--red);text-align:center;margin:0;font-size:13px}.auth-loading{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:16px;display:flex}.user-menu-wrapper{position:relative}.user-menu-btn{border:1px solid var(--border);background:var(--bg-card);min-height:36px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:600;transition:all .15s;display:flex}.user-menu-btn:hover{background:var(--bg-hover)}.user-menu-btn svg{opacity:.75}.user-menu-backdrop{z-index:199;position:fixed;inset:0}.user-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:200;transform-origin:100% 0;min-width:220px;max-width:min(340px,100vw - 16px);padding:8px 0;animation:.14s ease-out userMenuIn;position:absolute;top:calc(100% + 6px);right:0}@keyframes userMenuIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-menu-header{padding:10px 16px}.user-menu-household-name{color:var(--text);font-size:14px;font-weight:500;line-height:1.2}.user-menu-household-row{align-items:center;gap:10px;display:flex}.invite-code-inline{letter-spacing:.02em;color:var(--text-muted);margin-left:2px;font-family:inherit;font-size:13px;font-weight:600}.invite-code-hint{color:var(--green);margin-left:auto;padding-left:8px;font-size:11px}.user-menu-divider{background:var(--border);height:1px;margin:6px 0 4px}.user-menu-item{width:100%;color:var(--text);text-align:left;cursor:default;background:0 0;border:none;align-items:center;gap:10px;padding:9px 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;transition:background .15s;display:flex}.user-menu-action{cursor:pointer}.user-menu-action:hover{background:var(--bg-hover)}.user-menu-item-icon{width:20px;height:20px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.user-menu-item-icon svg{flex-shrink:0;width:16px;height:16px;display:block}.user-menu-item-label{flex:1;min-width:0}.user-menu-danger,.user-menu-danger .user-menu-item-icon{color:var(--red)}@media (width<=900px){.login-layout{width:min(400px,100% - 24px)}.login-card-body{padding:36px 28px 28px}.login-logo-wrap{width:min(216px,76vw);height:min(216px,76vw)}.login-subtitle{font-size:16px}.google-signin-btn{font-size:15px}}.household-layout{width:min(400px,100% - 32px)}.household-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:22px;width:100%;padding:0;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 14px 44px #00000014}[data-theme=dark] .household-card{box-shadow:inset 0 1px #ffffff0d,0 18px 50px #0000008c}.household-card-body{padding:36px 32px 32px}.household-card-footer{background:var(--bg-hover);border-top:1px solid var(--border);text-align:center;padding:18px 28px 22px}.household-card-header{margin-bottom:8px}.onboarding-logo-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;margin:0 auto 20px;padding:0;line-height:0;display:block}.onboarding-logo-btn .household-logo-wrap{margin-bottom:0}.onboarding-logo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.onboarding-logo-btn .household-brand-logo{object-position:center 50%;transform-origin:50%;transform:scale(1.12)}.household-logo-wrap{border-radius:50%;flex-shrink:0;width:min(200px,72vw);height:min(200px,72vw);margin:0 auto 20px;overflow:hidden;box-shadow:0 6px 28px #00000014,0 0 0 1px #0000000a}[data-theme=dark] .household-logo-wrap{box-shadow:0 8px 32px #00000073,0 0 0 1px #ffffff0f}.household-brand-logo{object-fit:cover;object-position:center center;transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.02)}.household-title{color:var(--text);margin:0 0 4px;font-size:24px;font-weight:700;line-height:1.2}.household-subtitle{text-align:center;max-width:34ch;margin-bottom:20px;margin-left:auto;margin-right:auto}.household-inline-error{margin-top:16px}.household-setup-account-back{color:var(--text-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:4px 0;font-family:inherit;font-size:13.5px;font-weight:500;text-decoration:underline;transition:color .15s;display:inline-flex}.household-setup-account-back:hover{color:var(--text)}.household-options{flex-direction:column;gap:12px;display:flex}.household-options+.household-actions{margin-top:18px}.household-option{border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:var(--radius);cursor:pointer;text-align:left;flex-direction:column;gap:4px;padding:16px 20px;transition:all .15s;display:flex}.household-option:hover{background:var(--bg-hover);border-color:var(--accent)}.household-option strong{font-size:15px}.household-option span{color:var(--text-muted);font-size:13px}.household-option--selected{border-color:var(--accent,#7b6fc4);background:color-mix(in srgb, var(--accent,#7b6fc4) 8%, var(--bg-card))}.joint-card-toggle{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:12px;margin-bottom:8px;font-size:13px;display:flex}.joint-card-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent,#7b6fc4);cursor:pointer;margin:0}.joint-card-names{flex-direction:column;gap:4px;margin-top:8px;display:flex}.edit-card-field-hint{color:var(--text-muted);margin-top:4px;font-size:12px}.household-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:var(--radius);margin-bottom:16px;padding:10px 14px;font-size:15px}.household-input:focus{border-color:var(--accent);outline:none}.household-input:disabled{opacity:.85;cursor:not-allowed}.invite-code-input{text-align:center;letter-spacing:4px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:20px}.household-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.household-actions>.btn{text-align:center;flex:auto;min-width:min(120px,42%);min-height:44px}.household-actions--single-primary>.btn{flex:0 auto;min-width:min(200px,100%)}@media (width<=380px){.household-actions{flex-direction:column}.household-actions>.btn{width:100%;min-width:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-card{overflow:hidden}.skeleton-line{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--border) 50%, var(--bg-hover) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite shimmer}.skeleton-label{width:80px;height:12px;margin-bottom:10px}.skeleton-value{width:120px;height:24px;margin-bottom:6px}.skeleton-sub{width:60px;height:12px}.skeleton-chart{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--border) 50%, var(--bg-hover) 75%);background-size:200% 100%;border-radius:6px;height:280px;animation:1.5s ease-in-out infinite shimmer}.skeleton-row{width:100%;height:32px;margin-bottom:8px}.table-skeleton{padding:8px 0}.table-skeleton-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 14px;display:flex}.table-skeleton-row:last-child{border-bottom:none}.onboarding-mapping-card{width:100%}.onboarding-mapping-card .household-card-footer .household-setup-account-back{color:var(--text-muted);-webkit-text-fill-color:var(--text-muted)}.onboarding-mapping-card .household-card-footer .household-setup-account-back:hover{color:var(--text);-webkit-text-fill-color:var(--text)}[data-theme=light] .onboarding-mapping-card .household-card-footer .household-setup-account-back{color:#3d4452;-webkit-text-fill-color:#3d4452}[data-theme=light] .onboarding-mapping-card .household-card-footer .household-setup-account-back:hover{color:#1f2430;-webkit-text-fill-color:#1f2430}.onboarding-mapping-card .household-card-header{margin-bottom:18px}.onboarding-mapping-card .household-title{letter-spacing:-.02em;text-wrap:balance;max-width:22em;margin:4px auto 0;font-size:22px;line-height:1.28}.onboarding-mapping-lede{text-align:center;max-width:38em;color:var(--text-muted);letter-spacing:.01em;margin:0 auto 22px;padding:0 4px;font-size:14px;font-weight:400;line-height:1.55}.onboarding-dropzone{margin-top:4px;padding:40px 24px}.onboarding-processing{color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:32px 0;display:flex}.onboarding-mappings-scroll{border:1px solid var(--border);border-radius:var(--radius);max-height:360px;margin:16px 0;overflow-y:auto}.onboarding-mappings-table{width:100%;font-size:13px}.onboarding-mappings-table td{vertical-align:middle}.onboarding-mappings-table code{margin-bottom:2px;display:block}.onboarding-sample-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:11px;display:block;overflow:hidden}.onboarding-mappings-table .category-select{width:100%;padding:4px 6px;font-size:12px}.onboarding-done{text-align:center;color:var(--text);flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.onboarding-done p{max-width:30ch;line-height:1.5}.onboarding-mapping-card--done .household-card-body{padding-top:28px;padding-bottom:40px}.onboarding-mapping-card--done .onboarding-logo-btn{margin-bottom:14px}.onboarding-mapping-card--done .household-card-header{margin-bottom:8px}.onboarding-mapping-card--done .household-title{margin:0}.onboarding-mapping-card--done .onboarding-done{gap:0;padding:10px 0 22px}.onboarding-mapping-card--done .onboarding-done p{max-width:34ch;margin:0}.onboarding-mapping-card--done .household-actions{margin-top:2px}@media (width<=640px){.onboarding-mapping-card--done .household-card-body{padding-top:22px;padding-bottom:32px}.onboarding-mapping-card--done .onboarding-logo-btn{margin-bottom:12px}.onboarding-mapping-card--done .onboarding-done{padding:8px 0 18px}}.card-profile-select{align-items:center;gap:8px;margin-bottom:16px;display:flex}.card-profile-select label{color:var(--text-muted);white-space:nowrap;font-size:14px}.card-profile-select select{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text);flex:1;padding:6px 10px;font-size:14px}.add-card-btn{margin-top:12px}.add-card-inline{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);margin-top:12px;padding:16px}.add-card-inline .household-input{margin-bottom:12px}.add-card-inline .household-actions{justify-content:flex-end}.add-card-inline .household-actions>.btn{flex:none;min-width:0;min-height:0}@media (width<=380px){.add-card-inline .household-actions{flex-flow:wrap}.add-card-inline .household-actions>.btn{width:auto}}.add-card-dropzone,.upload-modal-dropzone{margin-bottom:12px;padding:32px 16px}.add-card-success{color:var(--green);margin-bottom:12px}
