@charset "UTF-8";:root{--sl-teal: #0f4d4a;--sl-gold: #d4b574;--sl-sage: #a7b99f;--sl-ivory: #f8f6ef;--sl-charcoal: #222222;--sl-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--sl-font-display: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, sans-serif;--sl-font-editorial: "Newsreader", Georgia, "Times New Roman", serif;--sl-radius-xs: 3px;--sl-radius-sm: 4px;--sl-radius: 6px;--sl-radius-lg: 8px;--sl-shadow: 0 1px 2px color-mix(in srgb, var(--sl-shadow-color) 12%, transparent), 0 12px 32px color-mix(in srgb, var(--sl-shadow-color) 14%, transparent);--sl-focus: 0 0 0 3px color-mix(in srgb, var(--sl-primary) 28%, transparent);color-scheme:light;--sl-bg: #f8f6ef;--sl-bg-deep: #f1ede2;--sl-surface: #fcfbf7;--sl-card: #ffffff;--sl-card-hover: #faf8f2;--sl-input: #ffffff;--sl-border: #e7e2d4;--sl-border-strong: #cfc7b2;--sl-text: #222222;--sl-text-secondary: #4f5753;--sl-text-muted: #7a817b;--sl-primary: #0f4d4a;--sl-primary-hover: #0b3d3b;--sl-primary-soft: #1b6a65;--sl-on-primary: #f8f6ef;--sl-on-accent: #ffffff;--sl-gold-ink: #8a6a2b;--sl-sage-ink: #4d6a49;--sl-brand-ink: #0f4d4a;--sl-brand-tile: #0f4d4a;--sl-brand-tile-ink: #f8f6ef;--sl-feature: #0f4d4a;--sl-feature-2: #0b3a38;--sl-on-feature: #f8f6ef;--sl-on-feature-muted: #c9d6cf;--sl-success: #2c7a4b;--sl-danger: #b03f37;--sl-warning: #a2670f;--sl-info: #2d6a88;--sl-credit: #6a5a8c;--sl-chart-balance: #0f4d4a;--sl-chart-accumulated: #b08a3e;--sl-chart-safe: #6a5a8c;--sl-overlay: #0f4d4a;--sl-shadow-color: rgb(24 40 38 / .42);--sl-scrim: rgb(20 32 30 / .42);--sl-glass: rgb(252 251 247 / .82);--pfos-bg: var(--sl-bg);--pfos-surface: var(--sl-surface);--pfos-card: var(--sl-card);--pfos-card-hover: var(--sl-card-hover);--pfos-input: var(--sl-input);--pfos-border: var(--sl-border);--pfos-border-strong: var(--sl-border-strong);--pfos-text: var(--sl-text);--pfos-text-secondary: var(--sl-text-secondary);--pfos-muted: var(--sl-text-muted);--pfos-primary: var(--sl-primary);--pfos-primary-hover: var(--sl-primary-hover);--pfos-success: var(--sl-success);--pfos-danger: var(--sl-danger);--pfos-warning: var(--sl-warning);--pfos-info: var(--sl-info);--pfos-radius-sm: var(--sl-radius-sm);--pfos-radius: var(--sl-radius);--pfos-radius-lg: var(--sl-radius-lg);--pfos-shadow: var(--sl-shadow);--pfos-focus: var(--sl-focus)}:root[data-theme=dark]{color-scheme:dark;--sl-bg: #0b1615;--sl-bg-deep: #081110;--sl-surface: #0f1f1e;--sl-card: #132725;--sl-card-hover: #18302e;--sl-input: #0d1c1b;--sl-border: #233d3a;--sl-border-strong: #33544f;--sl-text: #f3f0e7;--sl-text-secondary: #b9c3bb;--sl-text-muted: #85928b;--sl-primary: #a7b99f;--sl-primary-hover: #b9cab1;--sl-primary-soft: #bccfb4;--sl-on-primary: #0b2321;--sl-on-accent: #0b1615;--sl-gold-ink: #e0c78f;--sl-sage-ink: #bccfb4;--sl-brand-ink: #f8f6ef;--sl-brand-tile: #f8f6ef;--sl-brand-tile-ink: #0f4d4a;--sl-feature: #12423e;--sl-feature-2: #0d302d;--sl-on-feature: #f8f6ef;--sl-on-feature-muted: #b9c9c1;--sl-success: #7cc49a;--sl-danger: #ec8a7e;--sl-warning: #e5b65c;--sl-info: #8dbbd3;--sl-credit: #b8a9db;--sl-chart-balance: #8dbbd3;--sl-chart-accumulated: #d4b574;--sl-chart-safe: #b8a9db;--sl-overlay: #f8f6ef;--sl-shadow-color: rgb(0 0 0 / .9);--sl-scrim: rgb(3 10 9 / .66);--sl-glass: rgb(15 31 30 / .82)}*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;background:var(--sl-bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}html,body{min-height:100%}body{position:relative;isolation:isolate;margin:0;padding:0;font-family:var(--sl-font-body);font-feature-settings:"cv11","ss01";background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--sl-sage) 16%,transparent),transparent 32rem),radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--sl-gold) 9%,transparent),transparent 30rem),var(--sl-bg);background-attachment:fixed;color:var(--sl-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,.page-title,.section-title,.card-title{font-family:var(--sl-font-display);letter-spacing:-.015em}.value,.amount,[class*=amount],[class*=value],td{font-variant-numeric:tabular-nums}::selection{background:color-mix(in srgb,var(--sl-gold) 40%,transparent);color:var(--sl-text)}app-transactions-page,app-monthly-budget-page,app-settings-page,app-invoice-page,app-income-plans-page,app-debts-page,app-safe-spending-page{background:transparent!important}app-first-account-setup .setup-container{background:transparent!important}.topbar{background:var(--sl-glass)!important;border-bottom:1px solid var(--sl-border)!important;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}@media(max-width:768px){body{background-attachment:scroll}}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed!important;opacity:.55;box-shadow:none!important;transform:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--sl-primary-soft);outline-offset:2px}input,select,textarea{max-width:100%}select option{background:var(--pfos-surface);color:var(--pfos-text)}svg{flex:0 0 auto}.sidebar-rail>:not(app-pfos-sidebar-rail){display:none!important}.sidebar-rail>app-pfos-sidebar-rail{display:flex}.desktop-create-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;white-space:nowrap}.page-header h1,.page-header h2,.section-title-area h2,.table-header h2,.header-content h2{position:relative;width:fit-content;padding-bottom:.4rem}.page-header h1:after,.page-header h2:after,.section-title-area h2:after,.table-header h2:after,.header-content h2:after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;border-radius:2px;background:var(--sl-gold)}.subtitle,.section-subtitle,.page-subtitle{color:var(--pfos-text-secondary)!important;line-height:1.55}.brand-sub{position:relative!important;display:inline-block!important;padding:0 0 6px!important;border:0!important;border-radius:0!important;background:none!important;color:var(--sl-text)!important;font-family:var(--sl-font-display)!important;font-size:.95rem!important;font-weight:700!important;letter-spacing:-.01em!important;box-shadow:none!important}.brand-sub:after{content:"";position:absolute;left:0;bottom:0;width:22px;height:3px;border-radius:2px;background:var(--sl-gold)}.topbar-left>app-sl-logo{--sl-logo-height: 22px}@media(min-width:769px){.topbar-left>img,.topbar-left>app-sl-logo{display:none!important}.sidebar:not(.expanded){width:60px!important;background:var(--sl-glass)!important;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}.sidebar-rail{width:60px!important;min-width:60px!important;padding:0!important;border-right-color:var(--sl-border)!important;background:var(--sl-glass)!important;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%)}.main-wrapper{margin-left:60px!important}.topbar{border-bottom-color:var(--sl-border)!important;background:var(--sl-glass)!important;backdrop-filter:blur(24px) saturate(135%)!important;-webkit-backdrop-filter:blur(24px) saturate(135%)!important}}.summary-card,.stat-card,.metric-card,.table-card,.content-card,.form-card,.settings-card,.account-card,.category-card,.credit-card-item,.debt-card,.budget-card,.safe-card,.invoice-card{border-color:var(--pfos-border)!important;border-radius:var(--pfos-radius)!important;box-shadow:var(--pfos-shadow)}.btn-primary,.btn-submit,.btn-create,.btn-save,.btn-pay-invoice,.mobile-form-submit,.btn-setup{min-height:42px;border-radius:var(--pfos-radius-sm)!important;border:0!important;background:var(--sl-primary)!important;color:var(--sl-on-primary)!important;font-family:var(--sl-font-display);font-weight:700!important;letter-spacing:.005em;box-shadow:0 6px 18px color-mix(in srgb,var(--sl-primary) 22%,transparent);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn-primary:hover:not(:disabled),.btn-submit:hover:not(:disabled),.btn-create:hover:not(:disabled),.btn-save:hover:not(:disabled),.btn-pay-invoice:hover:not(:disabled),.mobile-form-submit:hover:not(:disabled){background:var(--sl-primary-hover)!important;transform:translateY(-1px);box-shadow:0 10px 24px color-mix(in srgb,var(--sl-primary) 28%,transparent)}.btn-secondary,.btn-cancel,.btn-retry{min-height:42px;border:1px solid var(--pfos-border)!important;border-radius:var(--pfos-radius-sm)!important;background:var(--sl-card)!important;color:var(--sl-text)!important;font-weight:650}.btn-danger,.btn-disable,.btn-void{border-radius:var(--pfos-radius-sm)!important;border:1px solid color-mix(in srgb,var(--sl-danger) 24%,transparent)!important;background:color-mix(in srgb,var(--sl-danger) 10%,transparent)!important;color:var(--sl-danger)!important}.form-group input,.form-group select,.form-group textarea,.form-field input,.form-field select,.form-field textarea,.filter-input,.month-input,.month-selector input,.month-selector select{min-height:44px;border:1px solid var(--pfos-border)!important;border-radius:var(--pfos-radius-sm)!important;background:var(--pfos-input)!important;color:var(--pfos-text)!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--pfos-primary-hover)!important;box-shadow:var(--pfos-focus)!important}.field-error,.error-text,.error{line-height:1.4}.alert,.error-banner,.error-state,.success-banner{border-radius:var(--pfos-radius-sm)!important}.modal-overlay,.mobile-form-overlay{padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal,.modal-content,.mobile-form-sheet{max-width:min(100%,560px);max-height:calc(100dvh - 2rem);overflow-y:auto;border:1px solid var(--pfos-border)!important;border-radius:var(--pfos-radius-lg)!important;box-shadow:0 24px 70px color-mix(in srgb,var(--sl-shadow-color) 50%,transparent)!important}.badge,[class*=status-badge],[class*=badge-]{white-space:nowrap;line-height:1.2}.loading-state,.error-state,.empty-state,.mobile-empty-state,.empty-state-card,.empty-state-inline{min-height:150px;padding:2rem 1rem!important;text-align:center;border-radius:var(--pfos-radius)!important}.transactions-table,.plans-table,table{width:100%}th{white-space:nowrap}td{overflow-wrap:anywhere}@media(max-width:1024px){.summary-cards,.stats-grid,.metrics-grid,.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:768px){.sidebar,.mobile-overlay,nav.bottom-nav{display:none!important}app-income-plans-page .form-drawer.mobile-open,app-debts-page .form-drawer.mobile-open{position:fixed!important;inset:0!important;z-index:1300!important;display:flex!important;align-items:flex-end;width:100%!important;height:100dvh!important;overflow:visible!important;background:var(--sl-scrim);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}app-income-plans-page .form-drawer.mobile-open .sidebar-rail,app-debts-page .form-drawer.mobile-open .sidebar-rail{display:none!important}app-income-plans-page .form-drawer.mobile-open .sidebar-panel,app-debts-page .form-drawer.mobile-open .sidebar-panel{position:absolute!important;right:0!important;bottom:0!important;left:0!important;display:block!important;width:100%!important;height:auto!important;max-height:min(90dvh,780px)!important;padding-bottom:env(safe-area-inset-bottom);overflow-y:auto!important;overscroll-behavior:contain;border:1px solid var(--pfos-border)!important;border-bottom:0!important;border-radius:var(--sl-radius-lg) var(--sl-radius-lg) 0 0!important;background:var(--pfos-surface)!important;box-shadow:0 -24px 70px color-mix(in srgb,var(--sl-shadow-color) 55%,transparent);opacity:1!important;pointer-events:auto!important;transform:none!important;animation:pfos-sheet-in .28s cubic-bezier(.2,.8,.2,1)}app-income-plans-page .form-drawer.mobile-open .panel-content,app-debts-page .form-drawer.mobile-open .panel-content{padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom))!important}.desktop-create-action{display:none}.main-wrapper{margin-left:0!important;width:100%!important;min-width:0;padding-bottom:calc(98px + env(safe-area-inset-bottom))!important}.page-content,.main-content,.content{padding:1rem!important}.topbar{min-height:62px;padding:.75rem 1rem!important;gap:.75rem;background:var(--sl-glass)!important}.topbar-left,.topbar-right,.header-actions{min-width:0}.topbar-left img{width:34px!important;height:34px!important;border-radius:var(--sl-radius-sm);object-fit:cover!important;object-position:left center}.brand-sub{max-width:min(46vw,190px);overflow:hidden;font-size:.85rem!important;text-overflow:ellipsis;white-space:nowrap}.user-chip{max-width:42vw}.user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-cards,.stats-grid,.metrics-grid,.cards-grid{grid-template-columns:minmax(0,1fr)!important}.page-header,.content-header,.section-header{align-items:flex-start!important;gap:.85rem!important}.page-header>*,.content-header>*{min-width:0}.page-title,h1{overflow-wrap:anywhere}.form-row{flex-direction:column}.modal-actions,.form-actions{flex-wrap:wrap}.modal-actions>button,.form-actions>button{flex:1 1 140px}.dashboard,.settings-content{width:100%;max-width:100%;padding-right:1rem!important;padding-left:1rem!important}.table-card{overflow:hidden}}@keyframes pfos-sheet-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.desktop-only{display:none!important}}.mobile-only{display:none!important}@media(max-width:768px){.mobile-only{display:flex!important}}.mobile-only-block{display:none!important}@media(max-width:768px){.mobile-only-block{display:block!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--sl-primary) 30%,transparent);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--sl-primary) 50%,transparent)}.bottom-nav{display:none}@media(max-width:768px){.main-wrapper{padding-bottom:80px!important}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:70px;background:color-mix(in srgb,var(--sl-surface) 95%,transparent);border-top:1px solid color-mix(in srgb,var(--sl-overlay) 10%,transparent);z-index:1000;padding:0 .25rem;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-around;align-items:center;overflow-x:auto;flex-wrap:nowrap}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav{-ms-overflow-style:none;scrollbar-width:none}.bottom-nav-btn{flex:1;min-width:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;background:transparent;border:none;color:var(--sl-text-muted);font-size:.6rem;font-weight:500;font-family:inherit;cursor:pointer;padding:.5rem 0;transition:color .2s ease;min-height:48px}.bottom-nav-btn:active,.bottom-nav-btn.active{color:var(--sl-primary)}.bottom-nav-btn span{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%}.add-icon-wrapper{width:44px;height:44px;border-radius:var(--sl-radius-sm);background:var(--sl-primary);display:flex;align-items:center;justify-content:center;color:var(--sl-on-primary);box-shadow:0 4px 15px color-mix(in srgb,var(--sl-primary) 35%,transparent);transition:transform .2s ease}.add-icon-wrapper:active{transform:scale(.95)}.add-btn{margin-top:-12px;flex:0 0 auto;width:55px}}
