:root{color-scheme:light;font-family:Avenir Next,SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--page-width: 430px;--space-sm: 10px;--space-md: 24px;--space-lg: 24px;--bill-page-background: #f4f5f7;--bill-text-primary: #1f2329;--bill-text-primary-muted: #1f2933;--bill-text-secondary: rgba(77, 86, 97, .72);--bill-text-secondary-strong: rgba(77, 86, 97, .82);--bill-text-tertiary: rgba(77, 86, 97, .56);--bill-text-danger: #d64545;--bill-text-warning: #d9822b;--bill-text-highlight: #e5c96b;--bill-text-positive: #16a34a;--bill-text-negative: #c96f54}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;background:var(--bill-page-background);color:var(--bill-text-primary)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}code{font-family:SF Mono,Fira Code,monospace}.fullscreen-state{min-height:100dvh;display:grid;place-items:center;padding:32px}.auth-page{min-height:100dvh;padding:24px;display:grid;place-items:center;background:var(--bill-page-background)}.auth-card{width:min(100%,var(--page-width));display:grid;gap:var(--space-md)}.auth-hero{display:grid;gap:8px}.auth-hero{text-align:center}.eyebrow{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.auth-hero h1{margin:0;font-size:clamp(2rem,7vw,2.8rem);line-height:1;letter-spacing:-.04em}.auth-hero p,.section-head p,.metric-meta,.muted,.faint,.list-item-main p,.list-item-main small,.quick-button span{margin:0;opacity:.72}.auth-surface,.page-card,.glass-strip,.list-item-card,.metric-card,.quick-button{display:grid;gap:var(--space-md)}.auth-surface,.page-card,.glass-strip,.list-item-card,.metric-card{padding:16px}.auth-actions,.list-stack,.form-stack,.stat-stack,.insight-stack,.template-grid,.budget-list,.top-expense-list{display:grid;gap:var(--space-md)}.app-shell{min-height:100dvh;padding:24px 24px 104px;background:var(--bill-page-background)}.app-frame{width:min(100%,var(--page-width));margin:0 auto;display:grid;gap:var(--space-lg)}.info-row,.pagination-row,.list-item-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-section{display:grid;gap:var(--space-md)}.section-header-card{width:100%}.section-header-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.section-header-main{flex:1 1 auto;min-width:0}.section-header-action{align-items:flex-start;display:flex;flex:0 0 auto}.section-header-copy{display:grid;gap:4px;min-width:0}.section-header-copy strong{font-size:1rem}.analytics-expense-copy{display:flex;font-size:.8125rem;gap:8px;min-width:0;white-space:nowrap}.analytics-ranking-copy{align-items:center;display:flex;font-size:.8125rem;gap:10px;min-width:0}.analytics-section-content .analytics-ranking-surface{background:linear-gradient(180deg,#ffffffb8,#ffffffe0),url(/bill.jpeg) 100%/cover no-repeat}.analytics-ranking-surface{border-radius:inherit;display:grid;gap:0;overflow:hidden}.analytics-expense-type{color:var(--bill-text-primary-muted)}.analytics-expense-rank{color:var(--bill-text-secondary);font-weight:600;min-width:1rem}.analytics-expense-rank--high{color:var(--bill-text-danger);font-weight:700}.analytics-expense-rank--medium{color:var(--bill-text-warning);font-weight:600}.analytics-expense-rank--low{color:var(--bill-text-highlight);font-weight:500}.analytics-expense-meta{color:var(--bill-text-secondary)}.analytics-expense-desc{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-expense-surface{padding-block:12px}.analytics-ranking-amount,.analytics-expense-amount{font-size:.8125rem;flex:0 0 auto;white-space:nowrap}.analytics-expense-amount--high{color:var(--bill-text-danger);font-weight:700}.analytics-expense-amount--medium{color:var(--bill-text-warning);font-weight:600}.analytics-expense-amount--low{color:var(--bill-text-highlight);font-weight:500}.analytics-list-item{padding:6px 12px}.analytics-expense-line-skeleton{flex:0 1 220px;min-width:0}.analytics-expense-amount-skeleton{flex:0 0 auto}.analytics-tabs-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.analytics-tabs-action{display:flex;flex:0 0 auto}.analytics-section-title{display:block;text-align:center}.analytics-section-title--padded{padding-top:12px}.metrics-grid,.quick-grid,.stats-grid,.pill-row{display:grid;gap:var(--space-md)}.quick-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid{align-items:stretch;background:linear-gradient(180deg,#ffffffb8,#ffffffe0),var(--metrics-grid-background) center/cover no-repeat;border-radius:inherit;column-gap:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);overflow:hidden;row-gap:var(--space-md)}.pill-row{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-divider{display:grid;place-items:stretch}.metrics-grid .metric-card,.metrics-grid .metric-divider{position:relative;z-index:1}.metric-divider>*{height:100%}.metric-trend{align-items:center;display:inline-flex;gap:0;font-weight:600;justify-content:center;line-height:1}.metric-trend-icon{flex:0 0 auto}.metric-trend-icon--down{transform:rotate(180deg)}.metric-trend--positive{color:var(--bill-text-positive)}.metric-trend--negative{color:var(--bill-text-negative)}.metric-trend--neutral{color:inherit}.metric-value{align-items:baseline;display:inline-flex;gap:4px}.metric-value-stack{display:inline-flex;flex-direction:column;gap:6px}.metric-inline-copy{align-items:center;display:inline-flex;flex-wrap:wrap;gap:6px}.metric-inline-copy--compact{gap:0}.metric-subvalue{color:var(--bill-text-secondary);font-size:.82rem;line-height:1.3}.home-ranking-budget-meta{align-items:center;display:inline-flex}.home-ranking-budget-ring{align-items:center;background:conic-gradient(var(--budget-ring-color, var(--bill-text-positive)) 0 var(--budget-ring-progress, 0%),rgba(77,86,97,.12) var(--budget-ring-progress, 0%) 100%);border-radius:999px;display:inline-flex;flex:0 0 auto;height:18px;justify-content:center;width:18px}.home-ranking-budget-ring-core{background:var(--bill-page-background);border-radius:inherit;height:10px;width:10px}.home-ranking-budget-ring--positive{--budget-ring-color: var(--bill-text-positive)}.home-ranking-budget-ring--warning{--budget-ring-color: var(--bill-text-warning)}.home-ranking-budget-ring--danger{--budget-ring-color: var(--bill-text-danger)}.metric-skeleton{display:inline-flex;flex:0 0 auto;vertical-align:middle}.metric-value-prefix,.metric-value-suffix{font-size:.6em;line-height:1;opacity:.72}.analytics-ranking-value{font-size:.9em}.form-field-label{color:var(--bill-text-secondary);font-size:.875rem;line-height:2.375rem}.choice-field{align-items:start;column-gap:12px;display:grid;grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr);min-width:0}.choice-field-label{color:var(--bill-text-secondary);font-size:.875rem;line-height:1.25rem;min-width:0}.choice-field-content{min-width:0}.metric-card strong{font-size:clamp(1.2rem,4vw,1.6rem);line-height:1.15;letter-spacing:-.03em}.metric-stack{display:grid;gap:10px;min-height:92px;align-content:space-between}.home-insight-ticker-surface{padding:4px 16px}.home-insight-ticker{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr)}.home-insight-ticker--danger{--home-insight-icon-color: var(--bill-text-danger)}.home-insight-ticker--warning{--home-insight-icon-color: var(--bill-text-warning)}.home-insight-ticker--info{--home-insight-icon-color: var(--bill-text-positive)}.home-insight-ticker>svg{color:var(--home-insight-icon-color, var(--bill-text-secondary));flex:0 0 auto;opacity:.72}.home-insight-ticker-content{align-items:center;display:flex;overflow:hidden;min-width:0}.home-insight-ticker-text{color:var(--bill-text-secondary-strong);display:block;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insight-summary-card{display:grid;gap:10px}.insight-summary-meta{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.insight-summary-count{font-weight:700}.insight-summary-count--danger{color:var(--bill-text-danger)}.insight-summary-count--warning{color:var(--bill-text-warning)}.insight-summary-count--info{color:var(--bill-text-positive)}.insight-health-score{font-weight:700}.insight-health-score--danger{color:var(--bill-text-danger)}.insight-health-score--warning{color:var(--bill-text-warning)}.insight-health-score--accent{color:var(--bill-text-positive)}.insight-item{display:grid;gap:12px}.insight-item-heading{align-items:center;display:flex;gap:10px;min-width:0}.insight-item-icon-wrap{align-items:center;display:inline-flex;justify-content:center}.insight-item-icon{flex:0 0 auto}.insight-item-icon--danger{color:var(--bill-text-danger)}.insight-item-icon--warning{color:var(--bill-text-warning)}.insight-item-icon--info{color:var(--bill-text-positive)}.insight-item-copy{display:grid;gap:6px;min-width:0}.insight-item-title,.insight-item-description,.insight-item-suggestion{margin:0}.insight-item-label{color:var(--bill-text-secondary);display:inline-flex;font-size:.8125rem;font-weight:500;line-height:1.5;width:3rem}.insight-item-row{align-items:flex-start;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr)}.insight-item-title{font-size:.95rem}.insight-item-title--danger{color:var(--bill-text-danger)}.insight-item-title--warning{color:var(--bill-text-warning)}.insight-item-title--info{color:var(--bill-text-positive)}.insight-item-description,.insight-item-suggestion{color:var(--bill-text-secondary-strong);font-size:.875rem;line-height:1.55}.quick-button{padding:24px}.quick-button strong{font-size:1rem}.list-item-main strong{display:block;margin:0 0 4px}.list-item-amount{display:grid;justify-items:end;gap:8px}.list-item-amount strong{margin:0}.filters-grid,.compact-list,.drawer-stack,.drawer-footer-stack,.list-skeleton-stack,.fullscreen-skeleton,.calendar-skeleton,.list-skeleton-copy{display:grid;gap:var(--space-md)}.filters-grid--dual{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-actions,.status-line,.tag-wrap,.home-action-row,.dialog-footer-actions,.drawer-footer,.drawer-footer--dual{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.drawer-footer--dual{width:100%}.home-action-row>*,.dialog-footer-actions>*,.drawer-footer--dual>*{flex:1 1 0}.dialog-footer-actions{width:100%}.template-list-item{align-items:center;display:flex;padding-block:6px}.category-stack{display:grid;gap:var(--space-md)}.category-list-item{align-items:center;border-radius:18px;display:flex;justify-content:space-between;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;padding-block:6px}.category-list-item.is-dragging{opacity:.72}.category-list-item.is-drag-over{background:color-mix(in srgb,var(--bill-accent) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bill-accent) 32%,transparent);transform:translateY(-1px)}.category-list-main{align-items:center;display:flex;gap:10px}.category-list-tip{align-items:center;display:flex;font-size:.8125rem;gap:8px;justify-content:space-between;margin-bottom:10px}.category-skeleton-main,.category-skeleton-copy,.template-skeleton-item,.section-skeleton-head{align-items:center;display:flex;gap:10px}.category-skeleton-main{justify-content:flex-end}.category-skeleton-copy{min-width:0}.category-skeleton-item,.list-skeleton-item{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0;padding-block:6px}.list-skeleton-stack>div:not(.analytics-expense-skeleton-row){display:grid;gap:12px}.list-skeleton-copy{flex:1 1 auto;min-width:0}.category-list-copy{align-items:center;display:flex;gap:8px;min-width:0}.category-drag-handle{align-items:center;appearance:none;background:transparent;border:0;color:var(--bill-text-secondary);cursor:grab;display:inline-flex;flex:0 0 auto;justify-content:center;min-height:32px;min-width:32px;padding:4px;touch-action:none;user-select:none;-webkit-user-select:none}.category-drag-handle:disabled{cursor:progress;opacity:.6}.category-list-item.is-dragging .category-drag-handle,.category-drag-handle:active{cursor:grabbing}.category-list-count{font-size:.8125rem}.template-list-head{align-items:center;display:flex;gap:var(--space-md);justify-content:space-between;width:100%}.profile-stack,.profile-card,.profile-action-list{display:grid;gap:var(--space-md)}.profile-card{align-items:center;grid-template-columns:auto minmax(0,1fr)}.profile-copy{display:grid;gap:4px}.profile-name-row{align-items:center;display:flex;gap:8px}.profile-copy strong{font-size:1rem}.profile-copy strong{font-size:1.2rem}.profile-copy span{color:var(--bill-text-secondary)}.profile-menu-card{background:linear-gradient(180deg,#ffffffb8,#ffffffe0),url(/bgi.gif) center/contain no-repeat;border-radius:inherit;display:grid;gap:0;overflow:hidden}.profile-list-wrap{border-radius:inherit}.profile-list-wrap>div>div{gap:0}.profile-link-row,.profile-link-main{align-items:center;display:flex;gap:var(--space-sm)}.profile-link-row{justify-content:space-between;min-height:50px;padding:10px 16px}.profile-link-icon{color:var(--bill-text-tertiary);display:inline-flex}.profile-login-row{align-items:center;display:flex;gap:var(--space-md);justify-content:space-between;min-height:50px;padding:10px 16px}.profile-login-time{color:var(--bill-text-secondary);font-weight:400}.list-load-trigger{height:1px;width:100%}.bill-timeline-trigger{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;gap:8px;padding:0}.bill-day-group{display:grid;gap:10px;min-width:0;width:100%}.bill-day-item{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;gap:10px;justify-content:space-between;min-width:0;padding:0;text-align:left;width:100%}.bill-day-group>.bill-day-item:first-child{padding-top:8px}.bill-day-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.bill-day-amount{display:inline-block;min-width:88px;text-align:right}.bill-day-item-amount{color:var(--bill-text-secondary)}.bill-day-amount--danger{color:var(--bill-text-danger)}.bill-day-amount--positive{color:var(--bill-text-positive)}.bill-day-summary-amount{font-size:.75rem;font-weight:600}.bill-header-tags{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px}.bill-day-copy{align-items:center;display:flex;flex:1 1 auto;gap:8px;min-width:0}.bill-day-type{color:var(--bill-text-primary);flex:0 0 60px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-day-desc{color:var(--bill-text-secondary);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-toolbar{display:flex;justify-content:flex-start}.budget-picker-field{display:grid;gap:6px}.budget-picker-field+.budget-picker-field{margin-top:10px}.budget-picker-options{display:grid;gap:8px}.positive{color:var(--bill-text-positive)}.negative{color:var(--bill-text-negative)}.budget-progress-item-body{display:grid;justify-items:center}.budget-progress-item-body--skeleton{gap:14px}.budget-progress-grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-skeleton-grid{display:grid;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.fab-trigger{position:fixed;right:max(18px,calc((100vw - var(--page-width)) / 2));bottom:96px;z-index:18}.positive,.negative{font-weight:600}.bottom-gap{height:24px}@media(max-width:420px){.app-shell,.auth-page{padding-inline:24px}.quick-grid,.stats-grid,.filters-grid--dual{grid-template-columns:1fr}.analytics-tabs-row{flex-wrap:wrap}.fab-trigger{right:16px}}
