*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{max-width:100vw;min-height:100%;overflow-x:hidden}body{line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}img,picture,video,canvas,svg{display:block;max-width:100%}table{max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next,app-root{isolation:isolate;max-width:100vw}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}:root{color-scheme:dark;--bp-phone-max: 599px;--bp-tablet-min: 600px;--bp-tablet-max: 899px;--bp-desktop-min: 900px;--bp-large-desktop-min: 1440px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--page-gutter: 1rem;--section-gap: 1.5rem;--touch-target-min: 44px;--content-max-width: 1200px;--content-wide-max-width: 1400px;--content-readable-max-width: 70ch;--shadow-card: 0 8px 18px rgba(0, 0, 0, .18);--shadow-overlay: 0 24px 54px rgba(0, 0, 0, .38);--motion-fast: .14s ease;--motion-standard: .22s ease;--bg-color: #1a1b26;--bg-surface: #24283b;--bg-muted: #2f334d;--text-color: #c0caf5;--text-muted: #9aa5ce;--text-inverse: #ffffff;--primary-color: #f7768e;--primary-hover: #ff9eaf;--accent-color: #bb9af7;--accent-hover: #cfc9c2;--btn-primary-bg: var(--primary-color);--btn-primary-text: #1a1b26;--btn-accent-bg: var(--accent-color);--btn-accent-text: #1a1b26;--btn-disabled-bg: #414868;--btn-disabled-text: #565f89;--border-color: #414868;--border-soft: #2f334d}@media(min-width:600px){:root{--page-gutter: 1.5rem;--section-gap: 2rem}}@media(min-width:900px){:root{--page-gutter: 2rem}}body{color:var(--text-color);background-color:var(--bg-color)}*{scrollbar-color:rgba(192,202,245,.38) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:.55rem;height:.55rem}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#c0caf547;border:2px solid transparent;border-radius:999px;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:#c0caf573}app-root .app-header{position:sticky;top:0;z-index:1000;min-height:64px;background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 max(var(--space-4),env(safe-area-inset-right)) 0 max(var(--space-4),env(safe-area-inset-left));box-shadow:0 4px 14px -8px #00000073;gap:var(--space-6)}app-root .brand{display:flex;align-items:center;flex:0 0 auto;gap:var(--space-3);min-height:var(--touch-target-min);cursor:pointer}app-root .brand .app-name{color:var(--primary-color);font-size:1.5rem;font-weight:700;letter-spacing:0;white-space:nowrap}app-root .authenticated-header{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:var(--space-4)}app-root .nav-links,app-root .auth-links{display:flex;align-items:center;gap:var(--space-2)}app-root .authenticated-nav{min-width:0;flex:1 1 auto}app-root .public-desktop-nav{flex:1 1 auto}app-root .public-auth-links,app-root .desktop-auth-links{margin-left:auto}app-root .display-name{color:var(--text-color);font-size:.95rem;font-weight:500;white-space:nowrap}app-root .nav-link,app-root .public-menu-button,app-root .tablet-more-button,app-root .bottom-nav-link{appearance:none;background:transparent;border:0;color:var(--text-color);cursor:pointer;font:inherit;font-weight:500;min-height:var(--touch-target-min);text-align:center}app-root .nav-link{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:.5rem 1rem;transition:background-color var(--motion-standard),color var(--motion-standard),transform var(--motion-fast);white-space:nowrap}app-root .nav-link:hover,app-root .nav-link:focus-visible{background-color:var(--bg-muted);color:var(--primary-color)}app-root .nav-link:active{transform:translateY(1px)}app-root .nav-link.active{background-color:var(--bg-muted);border-radius:6px 6px 0 0;box-shadow:inset 0 -2px 0 0 var(--primary-color);color:var(--primary-color)}app-root .dashboard-link{margin-left:var(--space-8)}app-root .nav-icon{border-radius:50%;cursor:pointer;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:.55rem;transition:background-color var(--motion-standard),transform var(--motion-fast)}app-root .nav-icon:hover,app-root .nav-icon:focus-visible{background-color:var(--bg-muted)}app-root .nav-icon:active{transform:translateY(1px)}app-root .nav-icon.active{background-color:var(--bg-muted);border-radius:6px 6px 0 0;box-shadow:inset 0 -2px 0 0 var(--primary-color);color:var(--primary-color)}app-root .nav-month-controls{display:flex;align-items:center;flex:0 0 auto;gap:var(--space-1);border:1px solid var(--accent-color);border-radius:8px;background-color:var(--bg-muted);padding:var(--space-1);transition:background-color var(--motion-standard),border-color var(--motion-standard),box-shadow var(--motion-standard)}app-root .nav-month-controls:hover,app-root .nav-month-controls:focus-within{border-color:var(--primary-color);background-color:var(--bg-surface);box-shadow:0 2px 8px #0000001a}app-root .month-nav-btn{display:flex;align-items:center;justify-content:center;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:4px;background:transparent;border:0;color:var(--text-color);cursor:pointer;padding:var(--space-2);transition:background-color var(--motion-standard),transform var(--motion-fast)}app-root .month-nav-btn img{opacity:.75;transition:opacity .2s ease}app-root .month-nav-btn:hover,app-root .month-nav-btn:focus-visible{background-color:#ffffff0f}app-root .month-nav-btn:hover img,app-root .month-nav-btn:focus-visible img{opacity:1}app-root .month-nav-btn:active{background-color:#ffffff1a;transform:translateY(1px)}app-root .nav-month-picker{display:flex;align-items:center}app-root .nav-month-input{width:10rem;min-height:var(--touch-target-min);border:1px solid var(--border-color);border-radius:4px;background:var(--bg-surface);color:var(--text-color);cursor:pointer;font-family:inherit;font-size:1.05rem;font-weight:600;padding:var(--space-2)}app-root .nav-month-input:focus{outline:none;border-color:var(--primary-color)}app-root .projected-badge{flex:0 0 auto;border:2px solid #fbc02d;border-radius:4px;background-color:#ffeb3b;color:#000;font-size:.75rem;font-weight:900;padding:var(--space-1) var(--space-2);animation:pulse 2s infinite}app-root .public-menu-button,app-root .tablet-more-button{display:none;flex:0 0 auto;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-muted);padding:var(--space-2) var(--space-4)}app-root .public-menu-button:hover,app-root .public-menu-button:focus-visible,app-root .tablet-more-button:hover,app-root .tablet-more-button:focus-visible{border-color:var(--accent-color);color:var(--primary-color)}app-root .mobile-month-bar,app-root .mobile-bottom-nav{display:none}app-root .navigation-backdrop{position:fixed;inset:0;z-index:1100;background:#00000073;animation:fade-in var(--motion-standard)}app-root .navigation-sheet{position:fixed;right:var(--space-4);top:calc(64px + var(--space-3));z-index:1101;display:flex;flex-direction:column;width:min(20rem,100vw - var(--space-4) * 2);max-height:calc(100dvh - 88px);overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-surface);box-shadow:var(--shadow-overlay);padding:var(--space-2);animation:sheet-in var(--motion-standard)}app-root .navigation-sheet .nav-link{width:100%;justify-content:flex-start;text-align:left}app-root .sheet-account{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4)}app-root main{flex:1;min-height:0;padding:var(--space-2);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;view-transition-name:month-main}app-root footer{margin-top:var(--space-2);min-height:80px;background-color:var(--bg-surface);border-top:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);overflow:hidden;font-size:.9rem;color:var(--text-muted);gap:var(--space-1)}app-root footer .footer-version{font-size:.7rem;opacity:.5;letter-spacing:.03em}app-root footer .projected-footer-notice{color:#d32f2f;font-weight:700;font-size:1rem;background-color:#ffebee;padding:2px 10px;border-radius:4px}app-root footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}app-root footer .footer-links .footer-link{cursor:pointer;transition:color .2s ease}app-root footer .footer-links .footer-link:hover,app-root footer .footer-links .footer-link:focus-visible{color:var(--primary-color)}app-root footer .footer-links .footer-link.active{color:var(--primary-color);font-weight:500}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media(max-width:1399px){app-root .app-header{gap:var(--space-4)}app-root .dashboard-link{margin-left:0}app-root .authenticated-nav{overflow-x:auto;scrollbar-width:thin}app-root .desktop-auth-links{display:none}app-root .tablet-more-button{display:inline-flex;align-items:center;justify-content:center}}@media(max-width:899px){app-root .app-header{min-height:56px;padding-inline:max(var(--space-3),env(safe-area-inset-left)) max(var(--space-3),env(safe-area-inset-right))}app-root .brand .app-name{font-size:1.25rem}app-root .public-menu-button{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}app-root .public-secondary-link{display:none}app-root .public-desktop-nav{justify-content:flex-end}app-root .public-auth-links{margin-left:0}app-root .authenticated-header{gap:var(--space-3)}app-root .authenticated-nav{order:3;flex-basis:100%}app-root .nav-link{padding-inline:var(--space-3)}app-root .nav-month-input{width:9rem}app-root footer{min-height:auto}}@media(max-width:599px){app-root .app-header{flex:0 0 auto}app-root .brand{min-width:0}app-root .brand .app-name{overflow:hidden;text-overflow:ellipsis}app-root .public-desktop-nav,app-root .public-auth-links,app-root .authenticated-nav,app-root .desktop-month-controls,app-root .tablet-more-button{display:none}app-root .authenticated-header{flex:1 1 auto;justify-content:flex-end}app-root .mobile-month-bar{position:sticky;top:56px;z-index:999;display:flex;align-items:center;justify-content:center;gap:var(--space-2);border-bottom:1px solid var(--border-color);background-color:var(--bg-surface);padding:var(--space-2) var(--space-3);box-shadow:0 6px 16px -14px #000000b3}app-root .mobile-month-bar .nav-month-controls{flex:1 1 auto;max-width:100%}app-root .mobile-month-bar .nav-month-picker{flex:1 1 auto;min-width:0}app-root .mobile-month-bar .nav-month-input{width:100%;min-width:0;font-size:1rem;text-align:center}app-root .mobile-month-bar .projected-badge{display:none}app-root main{padding:var(--space-2)}app-root main.authenticated-shell-main{padding-bottom:calc(72px + var(--space-2) + env(safe-area-inset-bottom))}app-root .mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:100vw;border-top:1px solid var(--border-color);background-color:var(--bg-surface);padding:var(--space-1) max(var(--space-1),env(safe-area-inset-right)) max(var(--space-1),env(safe-area-inset-bottom)) max(var(--space-1),env(safe-area-inset-left));box-shadow:0 -6px 16px #0000002e}app-root .bottom-nav-link{display:flex;align-items:center;justify-content:center;min-width:0;min-height:52px;border-radius:6px;padding:var(--space-1);color:var(--text-muted);font-size:.72rem;line-height:1.1;transition:background-color var(--motion-standard),color var(--motion-standard),transform var(--motion-fast)}app-root .bottom-nav-link:hover,app-root .bottom-nav-link:focus-visible,app-root .bottom-nav-link.active{background-color:var(--bg-muted);color:var(--primary-color)}app-root .bottom-nav-link:active{transform:translateY(1px)}app-root .more-bottom-link[aria-expanded=true]{background-color:var(--bg-muted);color:var(--primary-color)}app-root .navigation-sheet{inset-inline:0;top:auto;bottom:0;width:100%;max-height:min(82dvh,34rem);border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0;padding:var(--space-3) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom));animation-name:sheet-up}app-root .public-navigation-sheet{bottom:0}app-root .more-navigation-sheet{bottom:calc(57px + env(safe-area-inset-bottom))}app-root .mobile-bottom-nav+footer{padding-bottom:calc(72px + env(safe-area-inset-bottom))}app-root footer{margin-bottom:0;padding:var(--space-3);font-size:.8rem}app-root footer .footer-links{gap:var(--space-3)}}@media(max-width:899px){app-budget-view .kpi-ribbon{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}app-budget-view .kpi-item.month-picker,app-budget-view .kpi-item.allocation-status{grid-column:1/-1}app-budget-view .budget-panel{padding:var(--space-4)}}@media(max-width:599px){app-budget-view{gap:var(--space-3)}app-budget-view .kpi-ribbon{grid-template-columns:1fr 1fr;padding:var(--space-3)}app-budget-view .kpi-label{font-size:.68rem}app-budget-view .kpi-value{font-size:1rem}app-budget-view .kpi-value.large{font-size:1.15rem}app-budget-view .month-picker-controls{justify-content:space-between;gap:var(--space-2)}app-budget-view .budget-panels{gap:var(--space-3)}app-budget-view .budget-panel{padding:var(--space-3);gap:var(--space-3)}app-budget-view .budget-panel .panel-header,app-budget-view .sub-section .sub-header{align-items:flex-start;gap:var(--space-2)}app-budget-view .budget-panel .panel-header .total,app-budget-view .sub-section .sub-header .total{flex:0 0 auto;text-align:right}app-budget-view .panel-content{overflow-x:auto;-webkit-overflow-scrolling:touch}app-budget-view .styled-table{min-width:21rem}app-budget-view .styled-table td{font-size:.88rem}app-budget-view .summary-panel .panel-header{align-items:center}}@media print{app-root{display:block!important;height:auto!important;width:auto!important;overflow:visible!important;position:relative!important}app-root header,app-root footer,app-root .mobile-month-bar,app-root .mobile-bottom-nav,app-root .navigation-backdrop,app-root .navigation-sheet{display:none!important}app-root main{display:block!important;padding:0!important;overflow:visible!important;height:auto!important;position:relative!important}}.responsive-container{width:min(100% - var(--page-gutter) * 2,var(--content-max-width));margin-inline:auto}.responsive-container-wide{width:min(100% - var(--page-gutter) * 2,var(--content-wide-max-width));margin-inline:auto}.responsive-readable{max-width:var(--content-readable-max-width);margin-inline:auto}.responsive-stack{display:flex;flex-direction:column;gap:var(--section-gap)}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--section-gap)}.responsive-scroll-region,.responsive-table-region{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.responsive-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:flex-end}.touch-target{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}::view-transition-old(month-main),::view-transition-new(month-main){animation-duration:.3s;animation-timing-function:ease-out}:root.slide-next::view-transition-old(month-main){animation-name:slide-out-left,fade-out}:root.slide-next::view-transition-new(month-main){animation-name:slide-in-right,fade-in}:root.slide-prev::view-transition-old(month-main){animation-name:slide-out-right,fade-out}:root.slide-prev::view-transition-new(month-main){animation-name:slide-in-left,fade-in}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes slide-in-right{0%{transform:translate(12px)}}@keyframes slide-in-left{0%{transform:translate(-12px)}}@keyframes slide-out-right{to{transform:translate(12px)}}@keyframes slide-out-left{to{transform:translate(-12px)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(-.35rem) scale(.99)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(.65rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}button{cursor:pointer;border-radius:6px;padding:.5rem 1rem;border:none;min-height:var(--touch-target-min);touch-action:manipulation;transition:background-color var(--motion-standard),box-shadow var(--motion-standard),opacity var(--motion-standard),transform var(--motion-fast)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{background-color:var(--btn-disabled-bg);color:var(--btn-disabled-text);cursor:not-allowed}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);font-weight:600;padding:.5rem 1rem;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);cursor:pointer;border:none;transition:background-color var(--motion-standard),box-shadow var(--motion-standard),opacity var(--motion-standard),transform var(--motion-fast)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-2px)}.btn-accent{background-color:var(--btn-accent-bg);color:var(--btn-accent-text);font-weight:600;padding:.5rem 1rem;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);cursor:pointer;border:none;transition:background-color var(--motion-standard),box-shadow var(--motion-standard),opacity var(--motion-standard),transform var(--motion-fast)}.btn-accent:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-muted);color:var(--text-color);border:1px solid var(--border-color);font-weight:600;padding:.5rem 1rem;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);cursor:pointer;transition:background-color var(--motion-standard),border-color var(--motion-standard),box-shadow var(--motion-standard),color var(--motion-standard),transform var(--motion-fast)}.btn-secondary:hover:not(:disabled){background-color:var(--border-color);transform:translateY(-2px)}.btn-secondary:disabled{background-color:var(--btn-disabled-bg);color:var(--btn-disabled-text);cursor:not-allowed}.btn-cta{padding:1rem 2.5rem;font-size:1.25rem;border-radius:12px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;cursor:pointer;border:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-cta:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.btn-cta.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-cta.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-4px);box-shadow:0 10px 15px -3px #0003}.btn-cta.btn-accent{background-color:var(--btn-accent-bg);color:var(--btn-accent-text)}.btn-cta.btn-accent:hover{background-color:var(--accent-hover);transform:translateY(-4px);box-shadow:0 10px 15px -3px #0003}.btn-cta.btn-secondary{background-color:var(--bg-muted);color:var(--text-color);border:2px solid var(--border-color)}.btn-cta.btn-secondary:hover{background-color:var(--border-color);transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.marketing-container{display:flex;flex-direction:column;align-items:center;gap:clamp(1.5rem,4vw,3rem);width:min(100% - var(--page-gutter) * 2,var(--content-wide-max-width));margin:0 auto;padding:clamp(1.5rem,4vw,4rem) 0;text-align:center}.marketing-hero{display:flex;flex-direction:column;align-items:center;gap:clamp(.75rem,2vw,1.25rem);width:min(100%,56rem);padding-block:clamp(.5rem,3vw,2rem)}.marketing-hero .logo-wrapper{background-color:var(--bg-surface);padding:clamp(.75rem,2vw,1rem);border-radius:8px;box-shadow:0 10px 25px -5px #0000004d;border:1px solid var(--border-color)}.marketing-hero h1{font-size:clamp(2.15rem,7vw,4rem);font-weight:800;margin:0;color:var(--primary-color);letter-spacing:0;line-height:1.05}.marketing-hero .tagline,.marketing-hero .subtitle{font-size:clamp(1.125rem,2vw,1.5rem);color:var(--text-muted);max-width:46rem;line-height:1.5}.marketing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:clamp(1rem,2.5vw,1.75rem);width:100%;max-width:var(--content-max-width);align-items:stretch}.marketing-grid .marketing-card{background-color:var(--bg-surface);padding:clamp(1.25rem,3vw,1.75rem);border-radius:8px;border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:0;height:100%}@media(hover:hover){.marketing-grid .marketing-card:hover{transform:translateY(-6px);box-shadow:0 20px 25px -5px #0003;border-color:var(--primary-color)}}.marketing-grid .marketing-card .icon{font-size:clamp(2.25rem,6vw,3rem);line-height:1}.marketing-grid .marketing-card h3{font-size:clamp(1.25rem,3vw,1.5rem);margin:0;color:var(--primary-color);line-height:1.2}.marketing-grid .marketing-card p{color:var(--text-muted);line-height:1.6;margin:0;max-width:38rem}.marketing-grid .marketing-card .contact-link{color:var(--accent-color);text-decoration:none;font-weight:600;margin-top:.5rem;overflow-wrap:anywhere}.marketing-grid .marketing-card .contact-link:hover{text-decoration:underline}.marketing-cta{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,3vw,1.5rem);padding:clamp(1.5rem,4vw,2.5rem);background-color:var(--bg-surface);border-radius:8px;border:1px solid var(--border-color);width:100%;max-width:var(--content-max-width)}.marketing-cta h2{font-size:clamp(1.75rem,4vw,2.25rem);margin:0;line-height:1.15}.marketing-cta .cta-buttons{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center;width:100%}.marketing-cta .disclaimer{color:var(--text-muted);font-style:italic;margin:0}.marketing-cta .content-wrapper{max-width:48rem;margin:0 auto}.marketing-cta .content-wrapper h2{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:var(--space-6)}.marketing-cta .content-wrapper p{font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.8;color:var(--text-muted)}.marketing-cta a:not(.btn-cta){color:var(--accent-color);font-weight:600}.legal-page{width:min(100% - var(--page-gutter) * 2,72ch);margin-inline:auto;padding-block:clamp(1.5rem,4vw,3rem);color:var(--text-color);line-height:1.75}.legal-page h1{margin-bottom:var(--space-3);color:var(--primary-color);font-size:clamp(2rem,5vw,3rem);line-height:1.1}.legal-page h2{margin-bottom:var(--space-3);color:var(--accent-color);font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.25}.legal-page section{margin-top:clamp(1.5rem,4vw,2.25rem)}.legal-page p,.legal-page li{color:var(--text-muted);overflow-wrap:anywhere}.legal-page ul{padding-left:1.4rem}.legal-page p+p,.legal-page p+ul,.legal-page ul+p{margin-top:var(--space-3)}@media(max-width:599px){.marketing-container{align-items:stretch;text-align:center}.marketing-hero{width:100%}.marketing-grid{grid-template-columns:1fr}.marketing-cta .cta-buttons{flex-direction:column}.marketing-cta .cta-buttons .btn-cta,.marketing-cta .cta-buttons .btn-primary,.marketing-cta .cta-buttons .btn-secondary,.marketing-cta .cta-buttons .btn-accent{width:100%}.btn-cta{width:100%;padding-inline:var(--space-4);font-size:1.05rem}}@media print{html,body{height:auto!important;overflow:visible!important}}.section-card{background-color:var(--bg-surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-card);border:1px solid var(--border-soft);width:100%;display:flex;flex-direction:column;flex:1;height:100%;min-height:0;overflow:hidden}.section-content{flex:1;overflow-y:auto;min-height:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary-color)}.section-header h2{color:var(--primary-color);font-size:1.5rem;font-weight:700;margin:0}.section-header .section-total{font-weight:700;font-size:1.25rem;color:var(--accent-color)}.sub-section{margin-bottom:2.5rem}.sub-section:last-child{margin-bottom:0}.sub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-soft)}.sub-header h3{color:var(--accent-color);font-size:1.25rem;font-weight:600;margin:0}.sub-header .sub-total{font-weight:600;font-size:1.1rem;color:var(--text-color)}.actual-input{width:100px;background-color:var(--bg-app);border:1px solid var(--border-color);color:var(--text-color);padding:4px 8px;border-radius:4px;text-align:right;font-family:inherit;font-size:inherit}.actual-input:focus{outline:none;border-color:var(--primary-color);background-color:var(--bg-surface)}.actual-input::-webkit-outer-spin-button,.actual-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.actual-input{appearance:textfield}.styled-table{width:100%;max-width:100%;border-collapse:collapse;text-align:left;margin:0}.styled-table.table-centered{width:min(100%,60rem);min-width:0;margin:0 auto}@media(max-width:1024px){.styled-table.table-centered{width:100%;min-width:0}}.styled-table th{padding:1rem;background-color:var(--bg-muted);color:var(--text-muted);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.styled-table th.mini-toolbar{width:50px}.styled-table th.amount-col{text-align:right}.styled-table td{padding:1rem;border-bottom:1px solid var(--border-soft);color:var(--text-color);vertical-align:middle}.styled-table td.mini-toolbar{text-align:center}.styled-table td.amount-col{text-align:right;font-family:JetBrains Mono,monospace}.styled-table tbody tr{transition:background-color .2s ease}.styled-table tbody tr:hover{background-color:var(--bg-muted)}.styled-table tbody tr:last-child td{border-bottom:none}.styled-table.sticky-header th,.styled-table:not(.no-sticky) th{position:sticky;top:0;z-index:10}.amount-col{text-align:right;font-family:JetBrains Mono,monospace}.negative{color:var(--color-danger, #ef4444)}.positive{color:var(--color-success, #10b981)}.action-icon{cursor:pointer;width:20px;height:20px;opacity:.7;transition:opacity .2s ease,transform .2s ease}.action-icon:hover{opacity:1;transform:scale(1.1)}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],select,textarea{background-color:var(--bg-muted);color:var(--text-color);border:none;border-radius:6px;padding:.75rem 1rem;width:100%;min-height:var(--touch-target-min);transition:background-color var(--motion-standard),border-color var(--motion-standard),box-shadow var(--motion-standard),outline-color var(--motion-fast);appearance:none}input::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-color);outline-offset:2px;background-color:var(--bg-muted);box-shadow:0 0 0 4px #bb9af714}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23c0caf5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:3rem}select option{background-color:var(--bg-surface);color:var(--text-color)}input[type=date]{color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(75%) sepia(20%) saturate(800%) hue-rotate(200deg) brightness(100%) contrast(90%)}.mini-toolbar{display:flex;gap:.75rem;align-items:center}.mini-toolbar img{width:18px;height:18px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:.75rem;cursor:pointer;opacity:.7;transition:opacity .2s ease,transform .2s ease}.mini-toolbar img:hover{opacity:1;transform:scale(1.1)}.mini-toolbar img:active{transform:scale(1.02)}.form-card{background-color:var(--bg-surface);padding:clamp(1.5rem,4vw,2.5rem);border-radius:12px;border:1px solid var(--border-soft);box-shadow:var(--shadow-overlay);width:min(100%,32rem);display:flex;flex-direction:column;gap:1.5rem}.form-card h1{margin:0;text-align:center;color:var(--primary-color);font-size:1.75rem;font-weight:700}.form-card form{display:flex;flex-direction:column;gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.875rem;font-weight:600;color:var(--text-muted)}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1rem;margin-top:1rem}.form-actions button{flex:1}.alert{color:var(--primary-color);font-size:.75rem;margin-top:.25rem}.btn-secondary{background-color:var(--bg-muted);color:var(--text-color);font-weight:600}.btn-secondary:hover:not(:disabled){background-color:var(--border-color)}.pointer{cursor:pointer}.add-item-overlay{position:fixed;top:0;left:0;width:100%;min-height:100%;min-height:100dvh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--page-gutter);overflow:auto;-webkit-overflow-scrolling:touch;animation:fade-in var(--motion-standard)}.education-content{padding:1rem;color:var(--text-color);font-size:1.1rem}.education-content h3{color:var(--primary-color);margin-top:0;margin-bottom:.75rem;font-size:1.4rem}.education-content h4{color:var(--text-color);margin-top:1.25rem;margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.education-content p{margin:.5rem 0;line-height:1.5}.education-content ul{padding-left:1.2rem;margin:1rem 0}.education-content li{margin-bottom:.5rem}.education-content .education-callout{background:var(--bg-muted);padding:1rem;border-radius:8px;border-left:4px solid var(--primary-color);margin-top:1.5rem;font-size:1rem;font-style:italic}.education-content .education-callout strong{color:var(--primary-color);font-style:normal}.toast-center-center{top:50%;left:50%;transform:translate(-50%,-50%)}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}.toast-title{font-weight:700}.toast-message{word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 0 #ffffff}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0}.toast-container{pointer-events:none;position:fixed;z-index:999999}.toast-container *{box-sizing:border-box}.toast-container .ngx-toastr{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;background-size:24px;box-shadow:0 0 12px #999;color:#fff}.toast-container .ngx-toastr:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.toast-info{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOS4wNDMgOCA4IDExOS4wODMgOCAyNTZjMCAxMzYuOTk3IDExMS4wNDMgMjQ4IDI0OCAyNDhzMjQ4LTExMS4wMDMgMjQ4LTI0OEM1MDQgMTE5LjA4MyAzOTIuOTU3IDggMjU2IDh6bTAgMTEwYzIzLjE5NiAwIDQyIDE4LjgwNCA0MiA0MnMtMTguODA0IDQyLTQyIDQyLTQyLTE4LjgwNC00Mi00MiAxOC44MDQtNDIgNDItNDJ6bTU2IDI1NGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC04OGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMnYtNjRoLTEyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDY0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MTAwaDEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjR6Jy8+PC9zdmc+)}.toast-error{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTEyMS42IDMxMy4xYzQuNyA0LjcgNC43IDEyLjMgMCAxN0wzMzggMzc3LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwyNTYgMzEybC02NS4xIDY1LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwxMzQuNCAzMzhjLTQuNy00LjctNC43LTEyLjMgMC0xN2w2NS42LTY1LTY1LjYtNjUuMWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDM5LjYtMzkuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsNjUgNjUuNyA2NS4xLTY1LjZjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDM5LjYgMzkuNmM0LjcgNC43IDQuNyAxMi4zIDAgMTdMMzEyIDI1Nmw2NS42IDY1LjF6Jy8+PC9zdmc+)}.toast-success{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxeicvPjwvc3ZnPg==)}.toast-warning{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyB3aWR0aD0nNTc2JyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTU2OS41MTcgNDQwLjAxM0M1ODcuOTc1IDQ3Mi4wMDcgNTY0LjgwNiA1MTIgNTI3Ljk0IDUxMkg0OC4wNTRjLTM2LjkzNyAwLTU5Ljk5OS00MC4wNTUtNDEuNTc3LTcxLjk4N0wyNDYuNDIzIDIzLjk4NWMxOC40NjctMzIuMDA5IDY0LjcyLTMxLjk1MSA4My4xNTQgMGwyMzkuOTQgNDE2LjAyOHpNMjg4IDM1NGMtMjUuNDA1IDAtNDYgMjAuNTk1LTQ2IDQ2czIwLjU5NSA0NiA0NiA0NiA0Ni0yMC41OTUgNDYtNDYtMjAuNTk1LTQ2LTQ2LTQ2em0tNDMuNjczLTE2NS4zNDZsNy40MTggMTM2Yy4zNDcgNi4zNjQgNS42MDkgMTEuMzQ2IDExLjk4MiAxMS4zNDZoNDguNTQ2YzYuMzczIDAgMTEuNjM1LTQuOTgyIDExLjk4Mi0xMS4zNDZsNy40MTgtMTM2Yy4zNzUtNi44NzQtNS4wOTgtMTIuNjU0LTExLjk4Mi0xMi42NTRoLTYzLjM4M2MtNi44ODQgMC0xMi4zNTYgNS43OC0xMS45ODEgMTIuNjU0eicvPjwvc3ZnPg==)}.toast-container.toast-top-center .ngx-toastr,.toast-container.toast-bottom-center .ngx-toastr{width:300px;margin-left:auto;margin-right:auto}.toast-container.toast-top-full-width .ngx-toastr,.toast-container.toast-bottom-full-width .ngx-toastr{width:96%;margin-left:auto;margin-right:auto}.ngx-toastr{background-color:#030303;pointer-events:auto}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4}@media all and (max-width:240px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:11em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:241px)and (max-width:480px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:18em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:481px)and (max-width:768px){.toast-container .ngx-toastr.div{padding:15px 15px 15px 50px;width:25em}}.shepherd-button{background:#3288e6;border:0;border-radius:3px;color:#ffffffbf;cursor:pointer;margin-right:.5rem;padding:.5rem 1.5rem;transition:all .5s ease}.shepherd-button:not(:disabled):hover{background:#196fcc;color:#ffffffbf}.shepherd-button.shepherd-button-secondary{background:#f1f2f3;color:#000000bf}.shepherd-button.shepherd-button-secondary:not(:disabled):hover{background:#d6d9db;color:#000000bf}.shepherd-button:disabled{cursor:not-allowed}.shepherd-footer{border-bottom-left-radius:5px;border-bottom-right-radius:5px;display:flex;justify-content:flex-end;padding:0 .75rem .75rem}.shepherd-footer .shepherd-button:last-child{margin-right:0}.shepherd-cancel-icon{background:transparent;border:none;color:#808080bf;cursor:pointer;font-size:2em;font-weight:400;margin:0;padding:0;transition:color .5s ease}.shepherd-cancel-icon:hover{color:#000000bf}.shepherd-has-title .shepherd-content .shepherd-cancel-icon{color:#808080bf}.shepherd-has-title .shepherd-content .shepherd-cancel-icon:hover{color:#000000bf}.shepherd-title{color:#000000bf;display:flex;flex:1 0 auto;font-size:1rem;font-weight:400;margin:0;padding:0}.shepherd-header{align-items:center;border-top-left-radius:5px;border-top-right-radius:5px;display:flex;justify-content:flex-end;line-height:2em;padding:.75rem .75rem 0}.shepherd-has-title .shepherd-content .shepherd-header{background:#e6e6e6;padding:1em}.shepherd-text{color:#000000bf;font-size:1rem;line-height:1.3em;padding:.75em}.shepherd-text p{margin-top:0}.shepherd-text p:last-child{margin-bottom:0}.shepherd-content{border-radius:5px;outline:none;padding:0}.shepherd-element{background:#fff;border:none;border-radius:5px;box-shadow:0 1px 4px #0003;margin:0;max-width:400px;opacity:0;outline:none;padding:0;transition:opacity .3s,visibility .3s;visibility:hidden;width:100%;z-index:9999}.shepherd-enabled.shepherd-element{opacity:1;visibility:visible}.shepherd-element[data-popper-reference-hidden]:not(.shepherd-centered){opacity:0;pointer-events:none;visibility:hidden}.shepherd-element,.shepherd-element *,.shepherd-element :after,.shepherd-element :before{box-sizing:border-box}.shepherd-arrow,.shepherd-arrow:before{height:16px;position:absolute;width:16px;z-index:-1}.shepherd-arrow:before{background:#fff;content:"";transform:rotate(45deg)}.shepherd-element[data-popper-placement^=top]>.shepherd-arrow{bottom:-8px}.shepherd-element[data-popper-placement^=bottom]>.shepherd-arrow{top:-8px}.shepherd-element[data-popper-placement^=left]>.shepherd-arrow{right:-8px}.shepherd-element[data-popper-placement^=right]>.shepherd-arrow{left:-8px}.shepherd-element.shepherd-centered>.shepherd-arrow{opacity:0}.shepherd-element.shepherd-has-title[data-popper-placement^=bottom]>.shepherd-arrow:before{background-color:#e6e6e6}.shepherd-target-click-disabled.shepherd-enabled.shepherd-target,.shepherd-target-click-disabled.shepherd-enabled.shepherd-target *{pointer-events:none}.shepherd-modal-overlay-container{height:0;left:0;opacity:0;overflow:hidden;pointer-events:none;position:fixed;top:0;transition:all .3s ease-out,height 0s .3s,opacity .3s 0s;width:100vw;z-index:9997}.shepherd-modal-overlay-container.shepherd-modal-is-visible{height:100vh;opacity:.5;transform:translateZ(0);transition:all .3s ease-out,height 0s 0s,opacity .3s 0s}.shepherd-modal-overlay-container.shepherd-modal-is-visible path{pointer-events:all}
