:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f4f5f7;--color-surface:#fff;--color-surface-muted:#eef0f3;--color-text:#1a1d23;--color-text-muted:#626a76;--color-border:#dde1e6;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-soft:#eef1ff;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-success:#15803d;--color-warning:#b45309;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-small:8px;--radius-medium:12px;--radius-large:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814;--transition-fast:.15s ease;--transition-normal:.18s ease;--content-max-width:960px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-height:100vh}body{background:var(--color-background);color:var(--color-text);margin:0;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{color:var(--color-text);margin:0 0 var(--space-2);line-height:1.25}p{margin:0 0 var(--space-2)}a{color:var(--color-primary)}a:hover{text-decoration:none}button,input,select,textarea{color:inherit;font-family:inherit;font-size:1rem}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-nav{align-items:center;gap:var(--space-4);padding-block:var(--space-3);display:flex}.app-nav-brand{color:var(--color-text);font-size:1.1rem;font-weight:700}.app-nav-brand:hover{text-decoration:none}.app-main{padding-block:var(--space-6);flex:1}.page-container{max-width:var(--content-max-width);padding-inline:var(--space-4);margin:0 auto}.page-header{margin-bottom:var(--space-5)}.page-title{margin-bottom:var(--space-1);font-size:1.75rem}.page-subtitle{color:var(--color-text-muted);margin:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);box-shadow:var(--shadow-sm);padding:var(--space-4);margin-bottom:var(--space-5)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.card-title{margin:0;font-size:1.125rem}.card-body{gap:var(--space-3);flex-direction:column;display:flex}.card-footer{margin-top:var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.card-muted{background:var(--color-surface-muted)}.card-danger{border-color:var(--color-danger)}.card-highlight{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.button{justify-content:center;align-items:center;gap:var(--space-2);height:2.5rem;padding-inline:var(--space-4);border-radius:var(--radius-small);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);font-size:.95rem;font-weight:500;display:inline-flex}.button:hover{background:var(--color-surface-muted)}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.button-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.button-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.button-danger:hover{background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.button-ghost{color:var(--color-primary);background:0 0;border-color:#0000}.button-ghost:hover{background:var(--color-primary-soft)}.button-small{height:2rem;padding-inline:var(--space-3);font-size:.85rem}.button-large{height:3rem;padding-inline:var(--space-5);font-size:1.05rem}.button-full-width{width:100%}.button-content{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.button-content-left{justify-content:flex-start;align-items:center;gap:var(--space-2);display:inline-flex}.button-icon{flex:none}.icon-button{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}.form-group{margin-bottom:var(--space-4)}.form-label{gap:var(--space-1);color:var(--color-text);flex-direction:column;font-size:.9rem;font-weight:500;display:flex}.form-control{width:100%;height:2.5rem;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);color:var(--color-text)}.form-control:disabled{background:var(--color-surface-muted);cursor:not-allowed}select.form-control{cursor:pointer}.form-checkbox-group{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-3);flex-direction:column;display:flex}.form-checkbox-label{align-items:center;gap:var(--space-2);cursor:pointer;font-weight:400;display:flex}.form-checkbox-label input[type=checkbox]{cursor:pointer}.form-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.form-row .form-group{flex:180px;margin-bottom:0}.form-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.form-error{color:var(--color-danger);margin:0 0 var(--space-2);font-size:.875rem}.form-help{color:var(--color-text-muted);margin:0;font-size:.8rem}.form-required-hint{align-self:center;margin-left:auto}.required-marker{color:var(--color-danger);margin-left:var(--space-1)}.expense-form{margin-bottom:var(--space-6)}.expense-form-intro{margin-bottom:var(--space-3)}.item-list{margin:0 0 var(--space-4);gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.item-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.item-card-compact{padding:var(--space-2) var(--space-4)}.item-main{gap:var(--space-1);text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:240px;padding:0;display:flex}.item-main:hover{color:var(--color-primary)}.item-title{color:var(--color-text);font-weight:600}.item-title-row{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.item-amount{color:var(--color-primary);flex-shrink:0;font-size:1rem;font-weight:700}.balance-amount-positive{color:var(--color-success);font-size:1rem;font-weight:700}.balance-amount-negative{color:var(--color-danger);font-size:1rem;font-weight:600}.item-meta{color:var(--color-text-muted);gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:.875rem;display:flex}.item-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.empty-state{color:var(--color-text-muted);padding:var(--space-4);text-align:center;background:var(--color-surface-muted);border-radius:var(--radius-medium);margin-bottom:var(--space-4)}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#166534;background:#dcfce7}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-neutral{background:var(--color-surface-muted);color:var(--color-text-muted)}.dashboard-grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);box-shadow:var(--shadow-sm);padding:var(--space-4)}.stat-value{color:var(--color-text);font-size:1.5rem;font-weight:700}.stat-label{color:var(--color-text-muted);font-size:.85rem}.filters-bar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.filters-bar .form-group{flex:180px;margin-bottom:0}.filters-bar .search-group{flex:2 260px}.expense-details{border-color:var(--color-primary)}.expense-details-header{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.expense-details-amount{color:var(--color-primary);font-size:1.5rem;font-weight:700}.expense-details-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.expense-details-section-title{margin-bottom:var(--space-1);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;font-weight:600}.group-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.group-header-main{gap:var(--space-1);flex-direction:column;display:flex}.group-header-meta{color:var(--color-text-muted);margin:0}.group-header-actions{flex-shrink:0}.group-tabs{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.group-tab{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-small) var(--radius-small) 0 0;color:var(--color-text-muted);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:3px solid #0000;flex:none;font-weight:500;display:inline-flex}.group-tab:hover{background:var(--color-surface-muted);color:var(--color-text)}.group-tab-active{color:var(--color-primary);background:var(--color-primary-soft);border-bottom-color:var(--color-primary);font-weight:700}.group-tab-actions{padding-left:var(--space-2);flex:none;margin-left:auto}.content-section{margin-bottom:var(--space-6);scroll-margin-top:var(--space-6)}.section-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.section-title{align-items:center;gap:var(--space-2);margin:0;font-size:1.25rem;display:flex}.section-description{color:var(--color-text-muted);margin:var(--space-1) 0 0}.section-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-toggle{align-items:center;gap:var(--space-2);display:inline-flex}.section-status{color:var(--color-text-muted);font-size:.9rem}.overview-section{gap:var(--space-4);flex-direction:column;display:flex}.overview-primary-action{margin:var(--space-2) 0 var(--space-4)}.overview-empty-state{align-items:center;gap:var(--space-2);background:var(--color-surface-muted);border-radius:var(--radius-medium);padding:var(--space-5) var(--space-4);text-align:center;flex-direction:column;display:flex}.overview-empty-title{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:700}.overview-empty-text{color:var(--color-text-muted);margin:0}.overview-list{margin:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.overview-expense-item{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4);display:flex}.overview-expense-main{justify-content:center;gap:var(--space-1);text-align:left;min-width:0;min-height:2.75rem;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;padding:0;display:flex}.overview-expense-main:hover .item-title{color:var(--color-primary)}.overview-expense-meta{color:var(--color-text-muted);font-size:.875rem}.overview-expense-amount{color:var(--color-primary);white-space:nowrap;flex-shrink:0;font-size:1.05rem;font-weight:700}.modal-overlay{padding:var(--space-4);z-index:100;background:#10182880;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{width:100%;max-width:28rem;max-height:calc(100vh - var(--space-6));margin-bottom:0;overflow-y:auto}.modal-close{width:2rem;height:2rem;padding:0}.mobile-only{display:none}.desktop-only{display:inherit}.floating-action-button{right:var(--space-4);bottom:var(--space-4);border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;width:3.5rem;height:3.5rem;box-shadow:var(--shadow-md);cursor:pointer;z-index:20;border:none;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;display:none;position:fixed}.floating-action-button:hover{background:var(--color-primary-hover)}.landing-page{background:var(--color-background)}.landing-header{z-index:10;background:color-mix(in srgb, var(--color-surface) 85%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0}.landing-header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-3);display:flex}.landing-logo{align-items:center;gap:var(--space-2);color:var(--color-text);font-size:1.1rem;font-weight:700;display:inline-flex}.landing-logo:hover{text-decoration:none}.landing-logo-image{border-radius:var(--radius-small);width:32px;height:32px}.landing-nav{align-items:center;gap:var(--space-5);display:flex}.landing-nav a{color:var(--color-text-muted);font-weight:500}.landing-nav a:hover{color:var(--color-text);text-decoration:none}.landing-header-actions{align-items:center;gap:var(--space-2);display:flex}.landing-hero{align-items:center;gap:var(--space-8);padding-block:var(--space-8);background:linear-gradient(180deg, var(--color-primary-soft) 0%, var(--color-background) 55%);grid-template-columns:1.1fr 1fr;display:grid}.landing-hero-content{max-width:34rem}.landing-hero-title{letter-spacing:-.01em;color:var(--color-text);margin-bottom:var(--space-4);font-size:3rem;font-weight:700;line-height:1.1}.landing-hero-subtitle{color:var(--color-text-muted);margin-bottom:var(--space-6);font-size:1.125rem;line-height:1.6}.landing-hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.landing-hero-cta{box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.landing-hero-cta:hover{transform:translateY(-2px)}.landing-hero-phones{padding-block:var(--space-5);justify-content:center;align-items:center;display:flex}.landing-hero-phone{aspect-ratio:9/16;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-sm);flex-shrink:0;overflow:hidden}.landing-hero-phone img{object-fit:contain;object-position:top center;width:100%;height:100%;display:block}.landing-hero-phone-side{z-index:1;width:9.5rem}.landing-hero-phone-left{margin-right:-2.75rem;transform:rotate(-5deg)}.landing-hero-phone-right{margin-left:-2.75rem;transform:rotate(5deg)}.landing-hero-phone-main{z-index:2;width:13rem;box-shadow:var(--shadow-md)}.landing-section{padding-block:var(--space-8)}.landing-section-muted{background:var(--color-surface-muted)}.landing-section-title{color:var(--color-text);text-align:center;margin-bottom:var(--space-3);font-size:2.25rem;font-weight:700;line-height:1.2}.landing-section-subtitle{color:var(--color-text-muted);text-align:center;max-width:40rem;margin:0 auto var(--space-7)}.landing-grid{align-items:stretch;gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.landing-card{border-radius:var(--radius-large);height:100%;transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);flex-direction:column;display:flex}.landing-card .card-body{flex:1}.landing-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-4px)}.landing-card-icon{background:var(--color-primary-soft);width:56px;height:56px;color:var(--color-primary);border-radius:var(--radius-medium);margin-bottom:var(--space-4);transition:background-color var(--transition-normal), color var(--transition-normal);justify-content:center;align-items:center;display:inline-flex}.landing-card:hover .landing-card-icon{background:var(--color-primary);color:#fff}.landing-faq-list{gap:var(--space-3);flex-direction:column;max-width:44rem;margin:0 auto;display:flex}.landing-faq-item{transition:border-color var(--transition-normal);padding:0;overflow:hidden}.landing-faq-item-open{border-color:var(--color-primary)}.landing-faq-question{margin:0}.landing-faq-trigger{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border-radius:var(--radius-large);font:inherit;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;font-size:1.05rem;font-weight:600;display:flex}.landing-faq-chevron{color:var(--color-text-muted);transition:transform var(--transition-normal);flex-shrink:0}.landing-faq-item-open .landing-faq-chevron{color:var(--color-primary);transform:rotate(90deg)}.landing-faq-panel{grid-template-rows:0fr;display:grid}@media (prefers-reduced-motion:no-preference){.landing-faq-panel{transition:grid-template-rows var(--transition-normal)}}.landing-faq-item-open .landing-faq-panel{grid-template-rows:1fr}.landing-faq-panel-inner{overflow:hidden}.landing-faq-panel-inner p{padding:0 var(--space-4) var(--space-4);margin:0}.landing-cta{padding-block:var(--space-6);text-align:center}.landing-cta-title{color:var(--color-text);margin-bottom:var(--space-5);font-size:2.25rem;font-weight:700;line-height:1.2}.landing-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding-block:var(--space-6)}.landing-footer-inner{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.landing-footer-brand{gap:var(--space-1);flex-direction:column;display:flex}.landing-footer-logo{align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:700;display:inline-flex}.landing-footer-logo img{border-radius:var(--radius-small);width:28px;height:28px}.landing-footer-slogan{color:var(--color-text-muted);margin:0;font-size:.875rem}.landing-footer-links{gap:var(--space-4);flex-wrap:wrap;display:flex}.landing-footer-links span{color:var(--color-text-muted);font-size:.875rem}.landing-footer-version{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}@media (prefers-reduced-motion:no-preference){.landing-fade-in{animation:.5s both landing-fade-in-up}.landing-fade-in-delay-1{animation-delay:.12s}}@keyframes landing-fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.landing-grid{grid-template-columns:repeat(2,1fr)}.landing-hero{grid-template-columns:1fr}.landing-hero-content{max-width:none}.landing-hero-title{font-size:2.5rem}.landing-hero-phones{padding-block:var(--space-6)}}@media (width<=767px){.landing-nav{display:none}.landing-hero{padding-block:var(--space-6);text-align:center}.landing-hero-actions{justify-content:center}.landing-hero-title{font-size:2rem}.landing-hero-phones{padding-block:var(--space-5)}.landing-hero-phone-side{display:none}.landing-hero-phone-main{width:13rem;max-width:65vw}.landing-section{padding-block:var(--space-6)}.landing-section-title,.landing-cta-title{font-size:1.625rem}.landing-section-subtitle{margin-bottom:var(--space-5)}.landing-grid{grid-template-columns:1fr}.landing-footer-inner{text-align:center;flex-direction:column}.landing-footer-brand{align-items:center}}@media (width<=1024px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.dashboard-grid,.expense-details-grid{grid-template-columns:1fr}.item-card{flex-direction:column;align-items:stretch}.item-main{flex-basis:auto}.item-actions{justify-content:flex-start}.item-actions .button,.button-small{min-height:44px}.modal-close{min-width:44px;min-height:44px}.filters-bar{flex-direction:column;align-items:stretch}.filters-bar .form-group{flex-basis:auto}.form-row{flex-direction:column}.card-header{flex-direction:column;align-items:flex-start}.card-header .button{min-height:44px}.group-header,.section-header{flex-direction:column;align-items:stretch}.section-actions{width:100%}.section-actions .button{flex:auto;min-height:44px}.form-actions .button,.landing-header-actions .button{min-height:44px}.form-required-hint{align-self:flex-start;width:100%;margin-left:0}.mobile-only{display:block}.desktop-only{display:none}.floating-action-button{display:flex}.overview-primary-action .button{width:100%}.overview-empty-state .button{min-height:44px}.group-tabs{justify-content:space-between;gap:var(--space-1)}.group-tab{padding:var(--space-2) var(--space-1);gap:var(--space-1);flex:1 1 0;font-size:.85rem}}@media (width<=400px){.overview-expense-item{flex-wrap:wrap}.overview-expense-main{flex-basis:100%}.overview-expense-amount{text-align:left;flex-basis:100%}}
