:root{color-scheme:light;--bg-base: #e4e8ed;--bg-elevated: #e7ecf1;--bg-surface: #edf1f5;--bg-soft: #d9e0e7;--bg-pressed: #d4dbe3;--text-primary: #242a33;--text-secondary: #778291;--text-tertiary: #a1aab5;--accent-primary: #8ea4bb;--accent-primary-hover: #7a91a9;--accent-primary-strong: #6a819a;--accent-primary-soft: rgba(142, 164, 187, .2);--warning: #b59874;--warning-soft: rgba(181, 152, 116, .14);--danger: #bd8b8b;--danger-soft: rgba(189, 139, 139, .16);--success: #88a28f;--success-soft: rgba(136, 162, 143, .14);--focus-ring: rgba(122, 145, 169, .24);--overlay-backdrop: rgba(223, 228, 235, .72);--bar-muted: rgba(142, 164, 187, .55);--alert-warning-bg: #ece5db;--alert-warning-text: #8f7555;--alert-danger-bg: #ebe0e0;--alert-danger-text: #8f6767;--shadow-raised: 14px 14px 30px rgba(168, 177, 188, .56), -14px -14px 30px rgba(255, 255, 255, .9);--shadow-soft: 9px 9px 18px rgba(173, 182, 193, .42), -9px -9px 18px rgba(255, 255, 255, .84);--shadow-tile: 8px 8px 18px rgba(176, 184, 194, .38), -8px -8px 18px rgba(255, 255, 255, .78);--shadow-inset: inset 6px 6px 12px rgba(190, 198, 208, .6), inset -6px -6px 12px rgba(255, 255, 255, .96);--shadow-inset-strong: inset 8px 8px 16px rgba(188, 196, 206, .78), inset -8px -8px 16px rgba(255, 255, 255, .98);--radius-sm: 18px;--radius-md: 24px;--radius-lg: 30px;--radius-xl: 36px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--safe-bottom: calc(96px + env(safe-area-inset-bottom)) ;--font-family: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg-base: #17191c;--bg-elevated: #1d2024;--bg-surface: #23272c;--bg-soft: #2b3036;--bg-pressed: #15181b;--text-primary: #f1f3f6;--text-secondary: #a5abb3;--text-tertiary: #747b84;--accent-primary: #7a8089;--accent-primary-hover: #6d737b;--accent-primary-strong: #d6d9de;--accent-primary-soft: rgba(214, 217, 222, .12);--warning: #c39b6b;--warning-soft: rgba(195, 155, 107, .16);--danger: #c68e8e;--danger-soft: rgba(198, 142, 142, .16);--success: #97ab9d;--success-soft: rgba(151, 171, 157, .16);--focus-ring: rgba(214, 217, 222, .22);--overlay-backdrop: rgba(9, 10, 12, .74);--bar-muted: rgba(122, 128, 137, .86);--alert-warning-bg: #2a241d;--alert-warning-text: #d7b386;--alert-danger-bg: #2a1f21;--alert-danger-text: #d4a1a1;--shadow-raised: 16px 16px 30px rgba(9, 10, 12, .68), -12px -12px 24px rgba(45, 49, 56, .36);--shadow-soft: 10px 10px 20px rgba(9, 10, 12, .56), -8px -8px 18px rgba(43, 47, 54, .26);--shadow-tile: 10px 10px 20px rgba(9, 10, 12, .52), -8px -8px 18px rgba(41, 45, 51, .24);--shadow-inset: inset 6px 6px 12px rgba(8, 9, 11, .78), inset -6px -6px 12px rgba(49, 53, 61, .3);--shadow-inset-strong: inset 8px 8px 16px rgba(7, 8, 10, .84), inset -8px -8px 16px rgba(52, 57, 64, .34)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-family);overscroll-behavior-y:none}button,input,select,textarea{font:inherit}button{border:0;background:none;cursor:pointer}input,select,textarea{color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.app-shell{width:min(100%,470px);min-height:100vh;margin:0 auto;padding:max(env(safe-area-inset-top),20px) 18px var(--safe-bottom)}.content,.screen,.stack,.debt-card,.debt-summary,.profile-card,.modal-content,.select-field,.field,.profile-action-list,.toolbar,.chart-card,.calendar-item,.payment-card{display:grid;gap:var(--space-3)}.topbar,.section-heading,.modal-header,.button-row,.hero-meta,.hero-footer,.calendar-item-header,.switch-row,.payment-actions,.debt-card-actions,.payment-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.topbar{margin-bottom:var(--space-5);padding-inline:4px}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading>div{min-width:0}.sticky{position:sticky;top:max(env(safe-area-inset-top),20px);z-index:3}.eyebrow{margin:0 0 var(--space-1);font-size:12px;line-height:16px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em}.screen-title,.modal-title,.section-title,.hero-amount,.payment-amount,.debt-metric,.stat-value,.calendar-day,.debt-title,.payment-title{margin:0}.screen-title{font-size:28px;line-height:34px;font-weight:700;letter-spacing:-.02em}.modal-title,.section-title{font-size:20px;line-height:24px;font-weight:700}.debt-title,.payment-title,.calendar-day{font-size:18px;line-height:24px;font-weight:700}.hero-label,.section-subtitle,.chart-caption,.stat-label,.field span,.select-field span,.hero-footer p,.empty-state p,label span{margin:0;color:var(--text-secondary);font-size:14px;line-height:20px}.card,.modal-panel,.bottom-nav{background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised)}.card{padding:18px}.hero-card{padding:22px}.hero-amount,.payment-amount,.debt-metric{font-size:32px;line-height:36px;font-weight:700;letter-spacing:-.03em}.payment-amount,.debt-metric{font-size:24px;line-height:28px}.hero-meta{margin-top:var(--space-2);flex-wrap:wrap;justify-content:flex-start}.hero-footer{margin-top:var(--space-4);align-items:flex-end;flex-wrap:wrap}.progress-track{flex:1;min-width:120px;height:11px;border-radius:999px;background:var(--bg-pressed);box-shadow:var(--shadow-inset);overflow:hidden}.progress-fill{height:100%;width:0;border-radius:inherit;background:var(--accent-primary);transition:width .18s ease}.meta-row,.calendar-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.meta-pill,.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;background:var(--bg-surface);box-shadow:var(--shadow-soft);font-size:12px;line-height:16px;font-weight:700;letter-spacing:.02em}.status-active{color:var(--accent-primary-strong)}.status-due-soon{color:var(--warning)}.status-overdue{color:var(--danger)}.status-paid,.status-closed{color:var(--success)}.alert-card{padding:16px 18px;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);font-size:15px;line-height:21px;font-weight:600}.alert-warning{color:var(--alert-warning-text);background:var(--alert-warning-bg)}.alert-danger{color:var(--alert-danger-text);background:var(--alert-danger-bg)}.segmented-control{display:inline-grid;grid-auto-flow:column;gap:8px;padding:6px;border-radius:999px;background:var(--bg-elevated);box-shadow:var(--shadow-inset)}.segmented-control.wide{width:100%}.segment{min-height:40px;padding:0 16px;border-radius:999px;color:var(--text-secondary);font-size:13px;line-height:18px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background-color .18s ease}.segment.active{color:var(--accent-primary-strong);background:var(--bg-pressed);box-shadow:var(--shadow-inset-strong)}.chart-bars{display:grid;gap:var(--space-2);align-items:end;min-height:186px;margin-top:var(--space-2)}.chart-bar{display:grid;gap:8px;justify-items:center}.bar-column{width:100%;min-height:18px;border-radius:20px;background:var(--bar-muted);box-shadow:var(--shadow-soft)}.bar-column.current{background:var(--accent-primary)}.bar-column.warning{background:var(--warning)}.bar-column.danger{background:var(--danger)}.bar-label,.chart-value{font-size:12px;color:var(--text-secondary)}.chart-value{font-weight:700}.month-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);gap:var(--space-3);overflow-x:auto;scrollbar-width:none}.month-strip::-webkit-scrollbar{display:none}.month-chip{min-height:76px;padding:12px 14px;text-align:left}.debt-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.stat-card{padding:14px;border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-inset)}.stat-value{margin-top:var(--space-1);font-size:18px;line-height:24px;font-weight:700}.payment-card{gap:14px}.payment-card-grid,.payment-card-side{display:grid;gap:12px}.payment-panel{border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-tile)}.payment-card-main{min-height:148px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.payment-info-tile{min-height:68px;padding:14px 16px;display:grid;gap:10px}.payment-info-label{display:inline-flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:12px;line-height:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.payment-info-value{color:var(--text-primary);font-size:15px;line-height:20px;font-weight:600}.payment-card-footer{padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-pressed);box-shadow:var(--shadow-inset);flex-wrap:wrap}.payment-kicker{margin:0;color:var(--text-tertiary);font-size:12px;line-height:16px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.calendar-item,.debt-card,.profile-card,.toolbar,.empty-state{gap:14px}.calendar-item-header{align-items:flex-start}.primary-button,.secondary-button,.ghost-button,.icon-button,.month-chip,.nav-item{min-height:46px}.primary-button,.secondary-button,.icon-button,.month-chip,.nav-item,.select-field select,.field input,.field select,.field textarea{background:var(--bg-elevated)}.primary-button,.secondary-button,.ghost-button,.icon-button,.month-chip,.nav-item,.select-field select,.field input,.field select,.field textarea{transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background-color .18s ease}.apple-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;border-radius:999px;font-weight:700}.primary-button,.secondary-button,.icon-button,.month-chip,.nav-item{box-shadow:var(--shadow-soft)}.primary-button{color:var(--accent-primary-strong)}.secondary-button,.icon-button,.month-chip,.nav-item{color:var(--text-primary)}.inset-button,.month-chip.active,.nav-item.active{background:var(--bg-pressed);box-shadow:var(--shadow-inset-strong);color:var(--accent-primary-strong)}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.month-chip:hover,.nav-item:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.icon-button:active,.month-chip:active,.nav-item:active,.inset-button:active{transform:translateY(0);box-shadow:var(--shadow-inset-strong)}.inset-button:hover{transform:none}.ghost-button{color:var(--accent-primary-strong);padding:0;min-height:auto;border-radius:0;font-weight:700}.compact{min-height:42px;padding-inline:14px}.danger-button,.icon-button.danger{color:var(--danger)}.icon-button{width:46px;padding:0;display:grid;place-items:center;border-radius:999px}.select-field,.field{gap:8px}.select-field select,.field input,.field select,.field textarea{width:100%;min-height:52px;padding:14px 16px;border:0;border-radius:20px;box-shadow:var(--shadow-inset)}.field textarea{min-height:110px;resize:vertical}.field-error{color:var(--danger);font-size:13px;line-height:18px}.switch-row{padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.switch-row input{appearance:none;position:relative;width:52px;height:32px;border-radius:999px;background:var(--bg-pressed);box-shadow:var(--shadow-inset)}.switch-row input:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:var(--bg-surface);box-shadow:var(--shadow-soft);transition:transform .18s ease,background-color .18s ease}.switch-row input:checked{background:var(--bg-elevated)}.switch-row input:checked:after{transform:translate(20px);background:var(--accent-primary)}.bottom-nav{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));width:min(calc(100% - 24px),430px);transform:translate(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px}.nav-item{display:grid;place-items:center;padding:12px 0;border-radius:22px;color:var(--text-secondary)}.nav-icon{display:grid;place-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-overlay{position:fixed;inset:0;display:grid;align-items:end;padding:16px;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20}.modal-panel{width:min(100%,460px);margin:0 auto;padding:var(--space-5);border-radius:var(--radius-xl)}.stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin:var(--space-4) 0}.step{display:grid;place-items:center;height:8px;border-radius:999px;background:var(--bg-soft);box-shadow:var(--shadow-inset);color:transparent}.step.active{background:var(--bg-pressed);box-shadow:var(--shadow-inset-strong)}.modal-footer{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5)}.empty-state{padding:var(--space-5);text-align:center}@media(min-width:390px){.payment-card-grid{grid-template-columns:minmax(0,1.18fr) minmax(120px,.82fr);align-items:stretch}}@media(min-width:768px){.modal-overlay{align-items:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}button:disabled{cursor:default}.debt-card-header,.month-header-card,.month-total-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.month-header-card{padding-block:14px}.month-header-title{flex:1;text-align:center}.month-nav-button{flex-shrink:0}.month-nav-button:disabled,.icon-button:disabled{color:var(--text-tertiary);box-shadow:var(--shadow-inset)}.month-total-card{padding-block:16px}.month-total-label{color:var(--text-secondary);font-size:14px;line-height:20px}.month-total-value{font-size:22px;line-height:26px;font-weight:700}.profile-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.action-button{min-height:68px;padding:10px 8px;flex-direction:column;gap:6px}.action-button span{font-size:12px;line-height:16px}.auth-app-shell{display:flex;align-items:center}.auth-shell{min-height:calc(100vh - var(--safe-bottom));display:grid;align-items:center}.auth-card{width:100%;max-width:420px;margin:0 auto;padding:28px 22px 24px;gap:20px}.auth-copy{display:grid;gap:8px}.auth-title{margin:0;font-size:30px;line-height:34px;font-weight:700;letter-spacing:-.03em}.auth-subtitle{margin:0;color:var(--text-secondary);font-size:15px;line-height:21px}.auth-form{display:grid;gap:16px}.auth-field{gap:10px}.auth-input-shell{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;border-radius:999px;background:var(--bg-surface);box-shadow:var(--shadow-inset-strong);color:var(--text-tertiary)}.auth-input-shell input{width:100%;min-width:0;border:0;background:transparent;color:var(--text-primary);outline:none}.auth-error{margin:-2px 0 0;color:var(--danger);font-size:13px;line-height:18px;font-weight:600}.auth-submit{min-height:54px;margin-top:6px}:root[data-theme=dark] .auth-input-shell{color:var(--text-secondary)}.auth-loading-card{place-items:center;min-height:164px}.auth-status,.auth-message{margin:0;color:var(--text-secondary);font-size:14px;line-height:20px;text-align:center}.auth-message{margin-top:-2px}.profile-account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.profile-account-copy{display:grid;gap:4px;min-width:0}.profile-account-email{margin:0;color:var(--text-secondary);font-size:14px;line-height:20px;overflow-wrap:anywhere}
