:root{--color-primary: #7c86ff;--color-on-primary: #ffffff;--color-primary-hover: #929bff;--color-primary-focus: #5964d6;--color-primary-soft: rgba(124, 134, 255, .14);--color-ink: #f3f7ff;--color-ink-muted: #c7d2e2;--color-ink-subtle: #8997aa;--color-ink-tertiary: #627085;--color-canvas: #07101b;--color-surface-1: #0c1724;--color-surface-2: #111d2c;--color-surface-3: #172538;--color-surface-4: #203149;--color-surface-raised: #132033;--color-hairline: rgba(170, 193, 224, .12);--color-hairline-strong: rgba(184, 204, 232, .22);--color-success: #48d597;--color-success-soft: rgba(72, 213, 151, .13);--color-warning: #f1bc5d;--color-warning-soft: rgba(241, 188, 93, .14);--color-danger: #ff7474;--color-danger-soft: rgba(255, 116, 116, .14);--font-family: "Inter", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--rounded-xs: 4px;--rounded-sm: 6px;--rounded-md: 8px;--rounded-lg: 12px;--rounded-xl: 16px;--rounded-pill: 9999px;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--shadow-card: 0 14px 34px rgba(2, 8, 18, .34);--shadow-action: 0 10px 22px rgba(4, 10, 22, .38), inset 0 1px 0 rgba(255, 255, 255, .1);--shadow-bottom-nav: 0 -14px 30px rgba(0, 0, 0, .28);--color-card-highlight: rgba(255, 255, 255, .035);--color-bottom-nav-bg: rgba(9, 18, 30, .94);--transition-fast: 90ms ease;--transition-base: .15s ease}:root[data-theme=light]{--color-primary: #5865f2;--color-on-primary: #ffffff;--color-primary-hover: #6b76f5;--color-primary-focus: #4351db;--color-primary-soft: rgba(88, 101, 242, .11);--color-ink: #172033;--color-ink-muted: #40506a;--color-ink-subtle: #6b7890;--color-ink-tertiary: #95a0b2;--color-canvas: #edf3f8;--color-surface-1: #f8fbff;--color-surface-2: #eef4fb;--color-surface-3: #e5edf7;--color-surface-4: #dbe6f2;--color-surface-raised: #ffffff;--color-hairline: rgba(57, 77, 108, .13);--color-hairline-strong: rgba(57, 77, 108, .22);--color-success: #0b8f5a;--color-success-soft: rgba(11, 143, 90, .11);--color-warning: #9a6610;--color-warning-soft: rgba(154, 102, 16, .12);--color-danger: #c43f45;--color-danger-soft: rgba(196, 63, 69, .11);--shadow-card: 0 12px 28px rgba(36, 53, 82, .12);--shadow-action: 0 10px 20px rgba(62, 73, 151, .18), inset 0 1px 0 rgba(255, 255, 255, .22);--shadow-bottom-nav: 0 -12px 26px rgba(47, 64, 94, .12);--color-card-highlight: rgba(255, 255, 255, .72);--color-bottom-nav-bg: rgba(248, 251, 255, .94)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background:var(--color-canvas);color:var(--color-ink);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100dvh}#root{min-height:100dvh;display:flex;flex-direction:column}.app-shell{flex:1;min-width:0;touch-action:pan-y}a{color:var(--color-primary);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);min-height:46px;padding:11px 12px;outline:none;width:100%;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary-focus);background:var(--color-surface-2);box-shadow:0 0 0 3px #7c86ff38}input:disabled,select:disabled,textarea:disabled{cursor:default;opacity:.62;background:var(--color-surface-1);color:var(--color-ink-tertiary)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;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='%238a8f98' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}textarea{resize:vertical;min-height:60px}.page{flex:1;padding:var(--space-md);padding-bottom:96px;max-width:600px;width:100%;margin:0 auto}.page-title{font-size:26px;font-weight:720;letter-spacing:0;line-height:1.12;margin-bottom:var(--space-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:11px 16px;border-radius:var(--rounded-md);font-size:14px;font-weight:650;line-height:1.2;transition:transform var(--transition-fast),background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),opacity var(--transition-base);min-height:44px;white-space:nowrap;touch-action:manipulation}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-action),inset 0 -10px 18px #1b1f502e}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.btn-primary:active{background:var(--color-primary-focus);transform:translateY(1px) scale(.99);box-shadow:inset 0 2px 8px #0003}.btn-secondary{background:var(--color-surface-2);color:var(--color-ink);border:1px solid var(--color-hairline);box-shadow:inset 0 1px #ffffff0a}.btn-secondary:hover{background:var(--color-surface-3);border-color:var(--color-hairline-strong);transform:translateY(-1px)}.btn-secondary:active,.btn-ghost:active{transform:translateY(1px) scale(.99)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-ghost{background:transparent;color:var(--color-ink-muted)}.btn-ghost:hover{background:var(--color-surface-1);color:var(--color-ink)}.btn-full{width:100%}.btn-sm{padding:6px 12px;min-height:40px;font-size:13px}.btn:disabled{cursor:default;opacity:.65;transform:none;box-shadow:none}.btn:focus-visible,.bottom-nav-item:focus-visible,.fab:focus-visible,.list-item:focus-visible,.quick-action:focus-visible,.period-btn:focus-visible,.record-type-card:focus-visible,.category-choice:focus-visible,.settings-choice:focus-visible,.tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.card{position:relative;background:linear-gradient(180deg,var(--color-card-highlight),rgba(255,255,255,0)),var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);padding:var(--space-md);box-shadow:var(--shadow-card)}.card-sm{padding:var(--space-sm)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--rounded-pill);font-size:12px;font-weight:500;background:var(--color-surface-2);color:var(--color-ink-muted)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.form-group{margin-bottom:var(--space-md)}.form-section{margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-md)}.form-section-title{margin-bottom:var(--space-md);color:var(--color-ink);font-size:15px;font-weight:720}.form-label{display:block;font-size:13px;font-weight:500;color:var(--color-ink-muted);margin-bottom:var(--space-xxs);letter-spacing:.2px}.form-label-required:after{content:" *";color:var(--color-danger)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.field-error{margin-top:var(--space-xxs);color:var(--color-danger);font-size:12px;line-height:1.35}.form-error{margin-bottom:var(--space-md);padding:var(--space-sm);color:var(--color-danger);background:var(--color-danger-soft);border:1px solid rgba(255,116,116,.26);border-radius:var(--rounded-md);font-size:13px;line-height:1.4}.form-actions{position:sticky;bottom:calc(var(--space-lg) * -1);z-index:2;margin-top:var(--space-lg);padding:var(--space-sm) 0 var(--space-xs);background:linear-gradient(180deg,rgba(0,0,0,0),var(--color-surface-2) 28%,var(--color-surface-2))}.money-input{position:relative}.money-input input{padding-right:42px}.money-input span{position:absolute;top:50%;right:13px;transform:translateY(-50%);color:var(--color-ink-subtle);font-size:14px;font-weight:700;pointer-events:none}.field-followup{margin-top:var(--space-xs)}.metric{text-align:left}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-lg)}.metric-value{font-size:26px;font-weight:760;letter-spacing:0;line-height:1.2;overflow-wrap:anywhere}.metric-label{font-size:12px;color:var(--color-ink-subtle);margin-top:var(--space-xxs)}.empty-state{text-align:center;padding:var(--space-xl) var(--space-lg);color:var(--color-ink-subtle);background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-md)}.empty-state-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);color:var(--color-primary);background:var(--color-primary-soft);border:1px solid rgba(124,134,255,.18);border-radius:var(--rounded-md)}.empty-state-text{font-size:15px;line-height:1.5;max-width:320px;margin:0 auto}.empty-state-actions{display:flex;justify-content:center;margin-top:var(--space-md)}.divider{height:1px;background:var(--color-hairline);margin:var(--space-md) 0}.search-input-wrapper{position:relative}.search-input-wrapper svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-ink-subtle);pointer-events:none}.search-input-wrapper input{padding-left:36px}.list-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-hairline);cursor:pointer;transition:background var(--transition-base),transform var(--transition-fast);min-height:52px}.list-item:hover{background:var(--color-surface-2)}.list-item:active{transform:scale(.995)}.list-item:last-child{border-bottom:none}.list-item-content{flex:1;min-width:0}.list-item-title{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item-sub{font-size:13px;color:var(--color-ink-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item-right{text-align:right;flex-shrink:0}.list-item-amount{font-size:15px;font-weight:600}.list-item-date{font-size:12px;color:var(--color-ink-subtle)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.section-title{font-size:14px;font-weight:600;color:var(--color-ink-muted);letter-spacing:.2px}.page-lead{margin-top:calc(var(--space-md) * -1);margin-bottom:var(--space-md);color:var(--color-ink-subtle);font-size:14px;line-height:1.5}.login-page{min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.login-card{width:100%;max-width:380px;background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);padding:var(--space-lg)}.login-title{margin-bottom:var(--space-sm)}.login-lead{margin-top:0;margin-bottom:var(--space-lg)}.auth-error{margin-bottom:var(--space-md);padding:var(--space-sm);color:var(--color-danger);background:#f56c6c1f;border:1px solid rgba(245,108,108,.25);border-radius:var(--rounded-md);font-size:14px}.eyebrow{color:var(--color-ink-subtle);font-size:12px;font-weight:500;letter-spacing:.4px;margin-bottom:var(--space-xxs)}.client-result{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--color-hairline);min-height:68px;transition:background .12s}.client-result:hover{background:var(--color-surface-2)}.client-result:last-child{border-bottom:none}.client-result-city{font-size:15px;font-weight:600}.client-result-address{color:var(--color-ink-subtle);font-size:14px;overflow-wrap:anywhere}.client-history-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.client-history-title{margin-bottom:0;font-size:19px;overflow-wrap:anywhere}.history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--color-hairline)}.history-item:last-child{border-bottom:none}.history-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.history-note{margin-top:var(--space-xs);color:var(--color-ink-muted);font-size:13px;line-height:1.45}.history-money{min-width:96px;text-align:right}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--color-bottom-nav-bg);border-top:1px solid var(--color-hairline);display:flex;justify-content:space-around;padding:var(--space-xs) var(--space-xs);padding-bottom:max(var(--space-xs),env(safe-area-inset-bottom));z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-bottom-nav);transition:transform var(--transition-base),opacity var(--transition-base);will-change:transform}.bottom-nav-keyboard{pointer-events:none;transform:translateY(calc(100% + env(safe-area-inset-bottom) + 12px))}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--space-xxs) var(--space-sm);color:var(--color-ink-subtle);font-size:11px;font-weight:620;border-radius:var(--rounded-md);transition:color var(--transition-base),background var(--transition-base),transform var(--transition-fast);min-width:56px;min-height:54px}.bottom-nav-item.active{color:var(--color-ink);background:var(--color-primary-soft)}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-item:active{transform:translateY(1px) scale(.98)}.fab{position:fixed;bottom:80px;right:var(--space-md);width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 34px #4650be57,inset 0 1px #ffffff29;z-index:99;transition:transform .15s,background .15s}.fab:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.fab:active{transform:translateY(1px) scale(.96)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#010710ad;display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:fadeIn .15s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content{background:var(--color-surface-raised);border:1px solid var(--color-hairline-strong);border-radius:var(--rounded-xl) var(--rounded-xl) 0 0;width:100%;max-width:600px;max-height:calc(100dvh - 28px);overflow-y:auto;padding:var(--space-lg);animation:slideUp .2s;box-shadow:0 24px 70px #00000075,inset 0 1px 0 var(--color-card-highlight);overscroll-behavior:contain}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.modal-title{font-size:18px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.toast{position:fixed;top:var(--space-md);left:50%;transform:translate(-50%);background:var(--color-surface-3);color:var(--color-ink);padding:var(--space-sm) var(--space-lg);border-radius:var(--rounded-pill);font-size:14px;font-weight:500;z-index:300;animation:slideDown .2s,fadeOut .3s 2s forwards;border:1px solid var(--color-hairline-strong);box-shadow:0 14px 28px #00000052}.toast-success{border-color:#48d5973d}.toast-error{border-color:#ff74744d}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes fadeOut{to{opacity:0}}.tabs{display:flex;gap:var(--space-xxs);background:var(--color-surface-1);border-radius:var(--rounded-pill);padding:3px;margin-bottom:var(--space-lg)}.tab{flex:1;padding:8px 12px;border-radius:var(--rounded-pill);font-size:13px;font-weight:500;text-align:center;color:var(--color-ink-subtle);transition:all .15s}.tab.active{background:var(--color-surface-3);color:var(--color-ink)}.record-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs);margin-bottom:var(--space-lg)}.record-type-card{display:grid;gap:var(--space-xxs);min-height:82px;padding:var(--space-sm);text-align:left;background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);transition:transform var(--transition-fast),background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.record-type-card:hover{background:var(--color-surface-2);border-color:var(--color-hairline-strong)}.record-type-card:active{transform:translateY(1px) scale(.99)}.record-type-card.active{background:var(--color-primary-soft);border-color:#7c86ff6b;box-shadow:inset 0 1px #ffffff0f}.record-type-card-expense.active{border-color:#ff747452;background:var(--color-danger-soft)}.record-type-card-reserve.active{border-color:#f1bc5d52;background:var(--color-warning-soft)}.record-type-title{color:var(--color-ink);font-size:14px;font-weight:760;line-height:1.2}.record-type-description{color:var(--color-ink-subtle);font-size:12px;line-height:1.35}.category-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.category-choice{min-height:44px;padding:9px 10px;color:var(--color-ink-muted);text-align:left;font-size:13px;font-weight:660;background:var(--color-surface-2);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);transition:transform var(--transition-fast),background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.category-choice:hover{background:var(--color-surface-3);border-color:var(--color-hairline-strong)}.category-choice:active{transform:translateY(1px) scale(.99)}.category-choice.active{color:var(--color-ink);background:var(--color-primary-soft);border-color:#7c86ff57}.category-choice:disabled{cursor:default;opacity:.62;transform:none}.unit-price-hint{margin:calc(var(--space-xs) * -1) 0 var(--space-md);padding:var(--space-sm);color:var(--color-ink);background:var(--color-success-soft);border:1px solid rgba(72,213,151,.24);border-radius:var(--rounded-md);font-size:14px;font-weight:720;text-align:center}.success-card{padding:var(--space-lg);background:linear-gradient(180deg,#48d5971f,#ffffff05),var(--color-surface-raised);border:1px solid rgba(72,213,151,.24);border-radius:var(--rounded-md);box-shadow:var(--shadow-card)}.success-card-expense{background:linear-gradient(180deg,#ff74741c,#ffffff05),var(--color-surface-raised);border-color:#ff747442}.success-card-reserve{background:linear-gradient(180deg,#f1bc5d1f,#ffffff05),var(--color-surface-raised);border-color:#f1bc5d47}.success-card-kicker{color:var(--color-success);font-size:12px;font-weight:760;letter-spacing:.3px;margin-bottom:var(--space-xs)}.success-card-title{color:var(--color-ink);font-size:20px;font-weight:760;line-height:1.2}.success-card-amount{margin-top:var(--space-xs);color:var(--color-ink);font-size:31px;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.success-meta{display:grid;gap:var(--space-xxs);margin-top:var(--space-md);color:var(--color-ink-muted);font-size:13px;line-height:1.45}.success-meta span{overflow-wrap:anywhere}.success-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-top:var(--space-lg)}.period-selector{display:flex;gap:var(--space-xxs);overflow-x:auto;padding-bottom:var(--space-xs);-webkit-overflow-scrolling:touch;scrollbar-width:none}.period-selector::-webkit-scrollbar{display:none}.period-btn{padding:6px 14px;border-radius:var(--rounded-pill);font-size:13px;font-weight:500;white-space:nowrap;color:var(--color-ink-subtle);background:transparent;transition:all .15s;min-height:40px}.period-btn.active{background:var(--color-surface-2);color:var(--color-ink)}.cockpit-hero{display:grid;gap:var(--space-sm);margin-bottom:var(--space-lg)}.cockpit-header{display:flex;justify-content:space-between;gap:var(--space-md);align-items:flex-start;margin-bottom:var(--space-md)}.cockpit-date{color:var(--color-ink-subtle);font-size:13px;font-weight:620}.profit-card{grid-column:1 / -1;padding:var(--space-lg);background:linear-gradient(180deg,#7c86ff1f,#ffffff05),var(--color-surface-raised)}.profit-card .metric-value{font-size:34px}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-lg)}.quick-action{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:var(--space-sm);min-height:64px;padding:var(--space-sm);text-align:left;background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);box-shadow:var(--shadow-card);transition:transform var(--transition-fast),background var(--transition-base),border-color var(--transition-base)}.quick-action:hover{background:var(--color-surface-2);border-color:var(--color-hairline-strong);transform:translateY(-1px)}.quick-action:active{transform:translateY(1px) scale(.99)}.quick-action-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid rgba(124,134,255,.18);border-radius:var(--rounded-md)}.quick-action-icon svg{width:20px;height:20px}.quick-action-title{color:var(--color-ink);font-size:14px;font-weight:680}.quick-action-sub{color:var(--color-ink-subtle);font-size:12px;margin-top:1px}.state-card{margin-bottom:var(--space-lg)}.skeleton-stack{display:grid;gap:var(--space-sm)}.skeleton-line{height:14px;border-radius:var(--rounded-pill);background:var(--color-surface-3)}.skeleton-line.short{width:52%}.skeleton-line.medium{width:74%}.app-list-card{padding:0;overflow:hidden}.money-success{color:var(--color-success)}.money-danger{color:var(--color-danger)}.money-muted{color:var(--color-ink-subtle)}.menu-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid rgba(124,134,255,.18);border-radius:var(--rounded-md);flex:0 0 auto}.menu-icon svg{width:20px;height:20px}.settings-toggle{flex-shrink:0;width:52px;height:30px;padding:3px;border-radius:var(--rounded-pill);background:var(--color-surface-3);border:1px solid var(--color-hairline);transition:background var(--transition-base),border-color var(--transition-base)}.settings-toggle:before{content:"";display:block;width:22px;height:22px;border-radius:50%;background:var(--color-ink-muted);transition:transform var(--transition-base),background var(--transition-base)}.settings-toggle.active{background:var(--color-primary-soft);border-color:#7c86ff47}.settings-toggle.active:before{transform:translate(20px);background:var(--color-primary)}.settings-theme-row{align-items:flex-start}.settings-theme-options{display:inline-grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;min-width:168px;background:var(--color-surface-2);border:1px solid var(--color-hairline);border-radius:var(--rounded-md)}.settings-choice{min-height:34px;padding:6px 10px;border-radius:var(--rounded-sm);color:var(--color-ink-subtle);font-size:13px;font-weight:650;transition:color var(--transition-base),background var(--transition-base),transform var(--transition-fast)}.settings-choice.active{color:var(--color-ink);background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-hairline-strong)}.settings-choice:active{transform:translateY(1px) scale(.99)}@media (min-width: 768px){.page{padding:var(--space-lg);padding-bottom:80px}.card:hover,.app-list-card:hover{border-color:var(--color-hairline-strong)}}@media (max-width: 430px){.page{padding-left:var(--space-sm);padding-right:var(--space-sm)}.modal-content{padding:var(--space-md)}.form-row{grid-template-columns:1fr;gap:0}.record-type-grid{grid-template-columns:1fr}.record-type-card{min-height:64px}.category-choice-grid,.success-actions,.history-item{grid-template-columns:1fr}.history-money{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xs);text-align:left}.bottom-nav-item{min-width:0;padding-left:var(--space-xxs);padding-right:var(--space-xxs)}.quick-actions{grid-template-columns:1fr 1fr}.quick-action{grid-template-columns:1fr;min-height:92px;align-content:space-between}.settings-theme-row{display:grid;grid-template-columns:1fr}.settings-theme-options{width:100%;min-width:0}.profit-card .metric-value{font-size:31px}}@media (max-width: 370px){.bottom-nav-item span{font-size:10px}.metric-value{font-size:23px}.quick-action-title{font-size:13px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.btn:hover,.quick-action:hover,.fab:hover,.list-item:active,.bottom-nav-item:active{transform:none}}.overlay-lock{overflow:hidden;overscroll-behavior:contain}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-md);padding-bottom:calc(84px + env(safe-area-inset-bottom));background:#0107109e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.custom-period-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin:var(--space-xs) 0 var(--space-lg)}.custom-period-panel .form-group{margin-bottom:0}.custom-period-panel input{margin-bottom:var(--space-xs)}.custom-period-error{grid-column:1 / -1;margin-bottom:0}.journal-period-tools{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--space-xs);align-items:stretch;margin:var(--space-xs) 0 var(--space-lg)}.journal-range-trigger{min-width:0;width:100%}.journal-range-trigger strong{overflow-wrap:anywhere}.journal-today-btn{grid-column:1 / -1;min-height:44px}.date-trigger{min-height:58px;padding:10px 12px;text-align:left;background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);box-shadow:inset 0 1px 0 var(--color-card-highlight);transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-base)}.date-trigger:hover{background:var(--color-surface-2);border-color:var(--color-hairline-strong)}.date-trigger:active{transform:translateY(1px) scale(.99)}.date-trigger:focus-visible,.overlay-icon-btn:focus-visible,.calendar-day:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.date-trigger span{display:block;color:var(--color-ink-subtle);font-size:12px;font-weight:650}.date-trigger strong{display:block;margin-top:2px;color:var(--color-ink);font-size:14px;font-weight:740;line-height:1.25}.date-trigger-field{width:100%;min-height:46px;padding:11px 12px}.date-trigger-field strong{margin-top:0}.date-sheet{width:min(100%,420px);max-height:calc(100dvh - 110px);overflow:auto;padding:var(--space-md);background:var(--color-surface-raised);border:1px solid var(--color-hairline-strong);border-radius:var(--rounded-lg);box-shadow:0 24px 60px #0000006b,inset 0 1px 0 var(--color-card-highlight)}.date-sheet-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm)}.date-sheet-title{color:var(--color-ink);font-size:15px;font-weight:760;text-align:center;text-transform:capitalize}.overlay-icon-btn{min-width:44px;min-height:44px;border-radius:var(--rounded-md);color:var(--color-ink);background:var(--color-surface-2);border:1px solid var(--color-hairline);font-size:18px;font-weight:760;transition:background var(--transition-base),transform var(--transition-fast),border-color var(--transition-base)}.overlay-icon-btn:hover{background:var(--color-surface-3);border-color:var(--color-hairline-strong)}.overlay-icon-btn:active{transform:translateY(1px) scale(.98)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{margin-bottom:var(--space-xs);color:var(--color-ink-subtle);font-size:11px;font-weight:720;text-align:center}.calendar-day{min-width:0;min-height:44px;border-radius:var(--rounded-md);color:var(--color-ink-muted);background:transparent;font-size:14px;font-weight:700;transition:background var(--transition-base),color var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-base)}.calendar-day:hover{background:var(--color-surface-2);color:var(--color-ink)}.calendar-day:active{transform:translateY(1px) scale(.98)}.calendar-day.outside{color:var(--color-ink-tertiary);opacity:.58}.calendar-day.selected{color:var(--color-on-primary);background:var(--color-primary);box-shadow:var(--shadow-action)}.date-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-top:var(--space-md)}.date-sheet-actions.single{grid-template-columns:1fr}.month-choice-grid,.year-choice-grid{display:grid;gap:var(--space-xs)}.month-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.year-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.month-choice-grid .category-choice,.year-choice-grid .category-choice{min-height:44px;text-transform:capitalize}.journal-money-grid{margin-bottom:var(--space-md)}.journal-summary-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-lg)}.journal-summary-card .metric-value{font-size:22px}.journal-day-row .list-item-sub{white-space:normal}@media (min-width: 768px){.modal-overlay{align-items:center;padding:var(--space-lg)}.modal-content{border-radius:var(--rounded-lg);max-height:min(86dvh,780px)}.overlay-backdrop{align-items:center;padding-bottom:var(--space-md)}}@media (max-width: 430px){.overlay-backdrop{padding:var(--space-sm);padding-bottom:calc(76px + env(safe-area-inset-bottom))}.date-sheet{width:100%;border-radius:var(--rounded-lg) var(--rounded-lg) 0 0}.custom-period-panel,.journal-summary-card{grid-template-columns:1fr}.month-choice-grid,.year-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-summary-card .metric-value{font-size:24px}}
