:root{color:var(--color-text-primary);background:var(--color-surface-panel);font-family:var(--font-family-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--color-surface-canvas);min-width:320px;color:var(--color-text-primary);margin:0}button,input,textarea{font:inherit}.suzumemo-loading-state{box-sizing:border-box;width:100%;color:var(--color-text-primary);text-align:center;place-items:center;display:grid}.suzumemo-loading-state--fullscreen{z-index:1400;min-height:100dvh;padding:var(--space-xl);background:color-mix(in srgb, var(--color-brand-paper) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:fixed;inset:0;overflow:auto}.suzumemo-loading-state--page{min-height:280px;padding:var(--space-lg)}.suzumemo-loading-panel{box-sizing:border-box;justify-items:center;gap:var(--space-md);width:min(600px,100%);padding:var(--space-lg);background:0 0;display:grid}.suzumemo-loading-stage{aspect-ratio:600/161;width:100%;position:relative;overflow:hidden}.suzumemo-loading-layer{opacity:0;object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.suzumemo-loading-letter{animation-duration:3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.suzumemo-loading-wordmark-wave-1{animation-name:suzumemo-wordmark-wave-1}.suzumemo-loading-wordmark-wave-2{animation-name:suzumemo-wordmark-wave-2}.suzumemo-loading-wordmark-wave-3{animation-name:suzumemo-wordmark-wave-3}.suzumemo-loading-wordmark-wave-4{animation-name:suzumemo-wordmark-wave-4}.suzumemo-loading-wordmark-wave-5{animation-name:suzumemo-wordmark-wave-5}.suzumemo-loading-wordmark-wave-6{animation-name:suzumemo-wordmark-wave-6}.suzumemo-loading-wordmark-wave-7{animation-name:suzumemo-wordmark-wave-7}.suzumemo-loading-wordmark-wave-8{animation-name:suzumemo-wordmark-wave-8}.suzumemo-loading-subtitle-wave-1{animation-name:suzumemo-subtitle-wave-1}.suzumemo-loading-subtitle-wave-2{animation-name:suzumemo-subtitle-wave-2}.suzumemo-loading-subtitle-wave-3{animation-name:suzumemo-subtitle-wave-3}.suzumemo-loading-subtitle-wave-4{animation-name:suzumemo-subtitle-wave-4}.suzumemo-loading-leaf-left{transform-origin:26.7% 86.3%;animation:3s ease-in-out infinite suzumemo-left-leaf}.suzumemo-loading-leaf-right{transform-origin:76.7% 86.3%;animation:3s ease-in-out infinite suzumemo-right-leaf}@keyframes suzumemo-left-leaf{0%,3%{opacity:0;transform:translate(-4%)scale(.12)rotate(-18deg)}12%{opacity:1;transform:translate(0)scale(1.08)rotate(-4deg)}20%,80%{opacity:1;transform:translate(0)scale(1)rotate(0)}to{opacity:0;transform:translate(0)scale(1)rotate(0)}}@keyframes suzumemo-right-leaf{0%,5%{opacity:0;transform:translate(4%)scale(.12)rotate(18deg)}16%{opacity:1;transform:translate(0)scale(1.08)rotate(4deg)}24%,80%{opacity:1;transform:translate(0)scale(1)rotate(0)}to{opacity:0;transform:translate(0)scale(1)rotate(0)}}@keyframes suzumemo-wordmark-wave-1{0%,12%{opacity:0;filter:blur(2px)}20%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-wordmark-wave-2{0%,16%{opacity:0;filter:blur(2px)}24%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-wordmark-wave-3{0%,18%{opacity:0;filter:blur(2px)}26%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-wordmark-wave-4{0%,20%{opacity:0;filter:blur(2px)}28%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-wordmark-wave-5{0%,22%{opacity:0;filter:blur(2px)}30%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-wordmark-wave-6{0%,24%{opacity:0;filter:blur(2px)}32%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-wordmark-wave-7{0%,26%{opacity:0;filter:blur(2px)}34%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-wordmark-wave-8{0%,28%{opacity:0;filter:blur(2px)}36%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-subtitle-wave-1{0%,32%{opacity:0;filter:blur(2px)}40%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-subtitle-wave-2{0%,34%{opacity:0;filter:blur(2px)}42%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-subtitle-wave-3{0%,36%{opacity:0;filter:blur(2px)}44%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@keyframes suzumemo-subtitle-wave-4{0%,38%{opacity:0;filter:blur(2px)}46%,80%{opacity:1;filter:blur()}to{opacity:0;filter:blur()}}@media (prefers-reduced-motion:reduce){.suzumemo-loading-layer{opacity:1;filter:none;transform:none;animation:none!important}}#root{min-height:100svh}.app-layout{min-height:100svh;display:flex}.app-layout-main{min-width:0;padding-bottom:calc(var(--size-bottom-nav-height) + env(safe-area-inset-bottom));flex:1;max-width:100%}@media (width>=900px){.app-layout-main{padding-bottom:0}}.app-shell{background:linear-gradient(180deg, rgb(var(--color-surface-canvas-rgb) / .95), rgb(var(--color-surface-panel-rgb) / .98)), var(--color-surface-canvas);min-height:100svh}.auth-screen{min-height:100svh;padding:var(--space-lg);background:linear-gradient(180deg, rgb(var(--color-surface-canvas-rgb) / .95), rgb(var(--color-surface-panel-rgb) / .98)), var(--color-surface-canvas);place-items:center;display:grid}.public-status-screen{isolation:isolate;position:relative;overflow:hidden}.public-status-screen:before,.public-status-screen:after{content:"";pointer-events:none;z-index:0;border-radius:50%;position:absolute}.public-status-screen:before{background:rgb(var(--color-surface-panel-rgb) / .75);width:min(52vw,360px);height:min(52vw,360px);top:8%;left:-8%}.public-status-screen:after{background:rgb(var(--color-surface-sunken-rgb) / .55);width:min(44vw,300px);height:min(44vw,300px);bottom:6%;right:-6%}.public-status-screen>*{z-index:1;position:relative}.auth-panel{width:min(100%,440px);padding:calc(var(--space-lg) + var(--space-2xs))}.app-main{width:min(var(--layout-content-max-width), calc(100% - var(--layout-shell-inset-lg)));padding:var(--space-xl) 0;margin:0 auto}.summary-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.workbench-grid{grid-template-columns:minmax(0, 1fr) minmax(var(--layout-workbench-sidebar-min-width), .68fr);gap:var(--space-panel);align-items:start;display:grid}.dashboard-grid{gap:var(--space-panel);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.dashboard-summary-panel{overflow:hidden}.dashboard-summary-metrics,.dashboard-summary-submetrics{align-items:stretch}.dashboard-summary-metric{flex:1;min-width:0}.dashboard-summary-footer{padding-top:var(--space-xs)}.dashboard-comparison-bars,.dashboard-comparison-bars--horizontal{width:100%}.dashboard-comparison-sp-grid{align-items:center;column-gap:var(--space-sm);row-gap:var(--space-md);grid-template-columns:2rem minmax(0,1fr) auto;width:100%;display:grid}.dashboard-comparison-sp-grid-item{display:contents}.dashboard-comparison-bar-row{align-items:center;gap:var(--space-sm);width:100%;display:flex}.dashboard-comparison-bar-track-horizontal{align-items:center;width:100%;min-width:0;height:18px;display:flex}.dashboard-comparison-bar-label{text-align:left;flex-shrink:0}.dashboard-comparison-sp-grid .dashboard-comparison-bar-label{min-width:0}.dashboard-comparison-plot{gap:var(--space-sm) var(--space-lg);grid-template-rows:auto auto auto;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.dashboard-comparison-plot-amounts,.dashboard-comparison-plot-bars,.dashboard-comparison-plot-labels{gap:var(--space-lg);grid-column:1/-1;grid-template-columns:subgrid;display:grid}.dashboard-comparison-plot-amounts{justify-items:center}.dashboard-comparison-plot-bars{border-bottom:1px solid var(--color-border-subtle);height:160px;padding-top:var(--space-xs);align-items:end}.dashboard-comparison-plot-labels{padding-top:var(--space-xs);justify-items:center}.dashboard-comparison-bar{justify-self:center;width:48%;max-width:88px}.dashboard-comparison-bar--vertical{border-radius:12px 12px 0 0}.dashboard-comparison-bar--horizontal{border-radius:999px;flex-shrink:0;min-width:0;max-width:100%;height:18px}.dashboard-comparison-bar--previous{background:#b8c4ce}.dashboard-comparison-bar--current{background:var(--color-brand-sparrow)}.dashboard-comparison-bar-amount{white-space:nowrap;flex-shrink:0;font-weight:700}.dashboard-comparison-bar-row .dashboard-comparison-bar-amount,.dashboard-comparison-sp-grid .dashboard-comparison-bar-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.paper-panel{border:1px solid var(--color-border-subtle)}.week-day-grid{gap:var(--space-xs);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.week-day-button{min-width:0}.week-day-button span,.week-day-button small{line-height:1.2;display:block}.week-day-button small{margin-top:2px;font-size:.72rem}.category-grid{gap:var(--space-xs);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.category-button{white-space:nowrap;min-width:0}.category-settings-list{gap:calc(var(--space-xs) + 2px);margin:0;padding:0;list-style:none;display:grid}.category-settings-row{gap:var(--space-sm);min-width:0;padding:var(--space-sm);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-panel);justify-content:space-between;align-items:center;display:flex}.group-member-list{gap:calc(var(--space-xs) + 2px);margin:0;padding:0;list-style:none;display:grid}.group-member-row{gap:var(--space-sm);min-width:0;padding:var(--space-sm);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-panel);justify-content:space-between;align-items:center;display:flex}.primary-action{flex:1}.receipt-image-upload{gap:var(--space-sm);padding:var(--space-sm);border:1px dashed var(--color-border-emphasis);border-radius:var(--radius-md);background:var(--color-surface-accent);display:grid}.ai-expense-queue{gap:var(--space-sm);min-width:0;max-width:100%;padding:var(--space-sm);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-panel);display:grid}.ai-expense-queue-status-summary{gap:var(--space-xs);flex-wrap:wrap;width:100%;min-width:0;display:flex}.ai-expense-queue-status-summary .MuiChip-root{max-width:100%;height:auto}.ai-expense-queue-status-summary .MuiChip-label{white-space:normal}.ai-expense-queue-item{min-width:0;padding:var(--space-sm);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-panel)}.ai-expense-queue-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-expense-queue-item-secondary{overflow-wrap:anywhere;word-break:break-word;min-width:0}.ai-expense-queue-item-processing{border-left:4px solid var(--color-border-emphasis)}.ai-expense-queue-item-ready{border-left:4px solid var(--color-success-main)}.ai-expense-queue-item-needs_review{border-left:4px solid var(--color-warning-main)}.ai-expense-queue-item-failed{border-left:4px solid var(--color-error-main)}.ai-expense-queue-item-registered{border-left:4px solid var(--color-secondary-main)}.receipt-image-preview{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-panel);place-items:center;width:100%;max-height:220px;display:grid;overflow:hidden}.receipt-image-preview canvas{object-fit:contain;width:100%;max-height:220px;display:block}.receipt-image-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.visually-hidden-file-input{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}.user-menu-button{gap:var(--space-xs);min-width:0;max-width:240px;display:inline-flex;overflow:hidden}.user-menu-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.budget-strip{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-secondary-dark);display:flex}.receipt-list{display:grid}.receipt-list-header,.receipt-row{gap:var(--space-md);padding:var(--space-sm) var(--space-xs);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:88px minmax(156px,1.3fr) minmax(100px,.8fr) 104px minmax(140px,1fr) 184px;align-items:center;display:grid}.receipt-list-header{color:var(--color-text-muted);font-size:.75rem}.receipt-row-name,.receipt-row-name .MuiTypography-root{min-width:0}.receipt-row-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.receipt-row-actions{justify-content:flex-end;display:flex}.receipt-row-actions .MuiButton-root{white-space:nowrap}.weekly-summary-header{align-items:center;gap:var(--space-md)}.weekly-summary-header-icon{width:32px;height:32px;display:none}.weekly-summary-metrics{padding:var(--space-panel)}.weekly-summary-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weekly-summary-metric{min-width:0;padding:0 var(--space-lg);text-align:center;font-variant-numeric:tabular-nums}.weekly-summary-metric+.weekly-summary-metric{border-left:1px solid var(--color-border-subtle)}.weekly-summary-analysis-grid{gap:var(--space-md);grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:stretch;display:grid}.weekly-summary-analysis-grid>.paper-panel{height:100%}.weekly-category-panel{padding:var(--space-panel)}.weekly-category-breakdown{margin-top:var(--space-md)}.weekly-category-header,.weekly-category-row{gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(120px,1fr) 112px 64px 52px;align-items:center;display:grid}.weekly-category-row,.weekly-chart-totals{font-variant-numeric:tabular-nums}.weekly-category-name{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.weekly-category-dot{border-radius:50%;flex:none;width:10px;height:10px}.weekly-category-total{padding-top:var(--space-md);border-bottom:0}.weekly-chart-totals,.weekly-chart-ranges{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));padding-left:52px;padding-right:12px;display:grid}.weekly-chart-legend{gap:var(--space-sm) var(--space-md);margin-top:var(--space-md);flex-wrap:wrap}@media (width<=860px){.workbench-grid,.dashboard-grid{grid-template-columns:1fr}}@media (width<=760px){.app-main{width:min(calc(100% - var(--layout-shell-inset-md)), var(--layout-content-max-width));padding:var(--space-panel) 0}.auth-panel{padding:var(--space-panel)}.weekly-summary-header{gap:var(--space-sm)}.weekly-summary-header h1{font-size:1.25rem}.weekly-summary-header-icon{display:block}.week-navigator--compact .MuiButton-startIcon,.week-navigator--compact .MuiButton-endIcon{margin:0}.weekly-summary-status{margin-left:auto}.weekly-summary-metrics{padding:var(--space-md) var(--space-xs)}.weekly-summary-metric{padding:0 var(--space-xs)}.weekly-summary-metric h5{white-space:nowrap;font-size:1rem}.weekly-summary-analysis-grid{grid-template-columns:minmax(0,1fr)}.weekly-category-header{display:none}.weekly-category-row{grid-template-columns:minmax(0,1fr) auto auto}.weekly-category-row>:nth-child(2){grid-column:2}.weekly-category-row>:nth-child(3){color:var(--color-text-muted);grid-column:2;font-size:.75rem}.weekly-category-row>:nth-child(4){grid-area:1/3/span 2}.weekly-category-total{grid-template-columns:minmax(0,1fr) auto auto}.receipt-list-header{display:none}.receipt-row{gap:var(--space-xs) var(--space-sm);padding:var(--space-md) 0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"date name amount""category category memo""actions actions actions"}.receipt-row-date{grid-area:date}.receipt-row-name{grid-area:name}.receipt-row-category{grid-area:category}.receipt-row-amount{grid-area:amount}.receipt-row-memo{grid-area:memo;min-width:0}.receipt-row-actions{grid-area:actions}.receipt-row-actions .MuiStack-root{width:100%}.receipt-row-actions .MuiButton-root{flex:1}.weekly-chart-totals,.weekly-chart-ranges{padding-left:60px;padding-right:8px}.summary-grid{grid-template-columns:1fr}.week-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-button{white-space:normal;overflow-wrap:anywhere}.category-settings-row,.group-member-row{flex-direction:column;align-items:stretch}.user-menu-button{max-width:calc(100vw - 32px)}.user-menu-button>span{display:none}}@media (width<=390px){.app-main{width:min(calc(100% - var(--layout-shell-inset-sm)), var(--layout-content-max-width));padding:var(--space-md) 0}.auth-panel{width:min(100%,360px);padding:var(--space-md)}.week-day-grid{gap:calc(var(--space-xs) - 2px);grid-template-columns:repeat(4,minmax(0,1fr))}.week-day-button{padding:8px 4px}.week-day-button small{font-size:.65rem}.category-grid{gap:calc(var(--space-xs) - 2px);grid-template-columns:repeat(2,minmax(0,1fr))}.category-button{padding:8px 4px;font-size:.85rem}.category-settings-row{padding:calc(var(--space-xs) + 2px);gap:calc(var(--space-xs) + 2px)}}@media (width<=320px){.app-main{width:min(calc(100% - var(--layout-shell-inset-xs)), var(--layout-content-max-width));padding:var(--space-sm) 0}.auth-panel{width:min(100%,300px);padding:var(--space-sm)}.week-day-grid{gap:var(--space-2xs);grid-template-columns:repeat(4,minmax(0,1fr))}.week-day-button{padding:6px 2px}.week-day-button small{font-size:.6rem}.category-grid{gap:var(--space-2xs);grid-template-columns:repeat(2,minmax(0,1fr))}.category-button{padding:6px 2px;font-size:.8rem}.category-settings-row{padding:var(--space-xs);gap:var(--space-xs)}.receipt-row{gap:var(--space-xs);grid-template-columns:1fr}.user-menu-button{max-width:180px}}
