*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01";background:linear-gradient(#f7f9fc 0%,#edf2f9 100%) fixed;font-size:14px}::selection{background:#1d4ed824}.balance-display,.balance-input,.item .amount,.kanban-item-amount,.eod-amount,.balance-forecast-row,.sparkline-stat strong,.sparkline-tooltip-balance strong,.calendar-day-amount,.calendar-day-event-amount,.bank-accounts-summary,.bank-amount-input{font-variant-numeric:tabular-nums}.offline-banner{z-index:2000;text-align:center;color:#7c2d12;background:#fde68a;border-bottom:1px solid #f59e0b;width:100%;padding:8px 12px;font-size:12px;font-weight:600;position:sticky;top:0}input,select,button,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}.app{min-height:100vh}.app>.container{max-width:100%}.app-content-narrow{max-width:920px;margin:0 auto}.app-content-wide{max-width:100%}.container{max-width:700px;margin:0 auto;padding:0 24px 32px}.landing{background:#fff;flex-direction:column;min-height:100vh;display:flex}.landing-loader{color:var(--muted);justify-content:center;align-items:center;min-height:100vh;display:flex}.site-header{z-index:100;background:#fff;border-bottom:1px solid #eee;padding:16px 24px;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:0 auto;display:flex}.site-logo{color:#000;letter-spacing:-.5px;align-items:center;font-size:20px;font-weight:700;text-decoration:none;display:flex}.site-logo-image{aspect-ratio:1;object-fit:cover;border-radius:21.875%;width:auto;height:64px}.site-logo-text{font-family:var(--font-dm-sans), "DM Sans", sans-serif;color:#0f172a;letter-spacing:-.6px;margin-left:10px;font-size:19px;font-weight:700}.site-nav{gap:32px;display:flex}.site-nav a{color:#666;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.site-nav a:hover{color:#000}.site-header-actions{align-items:center;gap:12px;display:flex}.nav-link{color:#666;cursor:pointer;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.nav-link:hover{color:#000}.btn-signin{color:#666;cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:14px;font-weight:500}.btn-signin:hover{color:#000}.btn-signup{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .15s}.btn-signup:hover{background:#1e40af}.btn-primary-large{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:8px;padding:18px 40px;font-size:18px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s}.btn-primary-large:hover{background:#1e40af;transform:translateY(-1px)}.btn-google{color:#1f2937;cursor:pointer;letter-spacing:.01em;background:#fff;border:1px solid #dadce0;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:12px 22px;font-size:16px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex;box-shadow:0 1px 2px #1018281a}.btn-google:hover{background:#f8f9fa;border-color:#c7c9cc;transform:translateY(-.5px);box-shadow:0 2px 6px #10182829}.google-logo{flex-shrink:0;width:20px;height:20px}.btn-google-light{color:#1f2937;background:#fff;border-color:#fff}.btn-google-light:hover{background:#f8fafc;border-color:#f8fafc}.landing-content{flex:1;max-width:900px;margin:0 auto;padding:80px 24px 100px}.landing-hero{text-align:center;margin-bottom:80px}.landing-hero h1{color:#000;letter-spacing:-2px;margin-bottom:16px;font-size:56px;font-weight:800;line-height:1.1}.landing-subtitle{color:#1d4ed8;font-size:28px;font-weight:600;margin-bottom:40px!important}.hero-cta{flex-direction:column;align-items:center;gap:12px;margin-top:48px;display:flex}.landing-trial-note{color:#888;font-size:14px;font-weight:500;margin-top:0!important}.product-hunt-badge{margin-top:16px;display:inline-block}.product-hunt-badge img{display:block}.landing-screenshot{text-align:center;margin-bottom:80px}.screenshot-container{background:linear-gradient(135deg,#1e3a8a 0%,#3b82f6 50%,#60a5fa 100%);border-radius:20px;padding:40px 40px 0;text-decoration:none;display:block;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,inset 0 0 0 1px #ffffff1a}.screenshot-container:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 20%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 80% 80%,#ffffff0d 0%,#0000 50%);position:absolute;inset:0}.screenshot-image{border-radius:12px 12px 0 0;width:100%;max-width:900px;margin:0 auto;display:block;position:relative;box-shadow:0 -10px 40px #0000004d}.landing-value{text-align:center;margin-bottom:80px}.value-text{color:#333;max-width:700px;margin:0 auto;font-size:22px;line-height:1.6}.landing-story{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:12px;margin-bottom:80px;padding:40px 48px}.landing-story p{color:#78350f;margin:0;font-size:18px;font-weight:500;line-height:1.7}.landing-features-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:80px;display:grid}.feature-item{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:20px;font-size:15px;font-weight:600;display:flex}.feature-icon{font-size:22px}.landing-detailed-features{grid-template-columns:repeat(2,1fr);gap:32px;margin-bottom:80px;display:grid}.detailed-feature{background:#fff;border:2px solid #e2e8f0;border-radius:12px;gap:20px;padding:28px;transition:border-color .15s,box-shadow .15s;display:flex}.detailed-feature:hover{border-color:#1d4ed8;box-shadow:0 4px 12px #1d4ed81a}.detailed-feature-icon{flex-shrink:0;font-size:32px}.detailed-feature-content h3{color:#000;margin-bottom:8px;font-size:18px;font-weight:700}.detailed-feature-content p{color:#64748b;margin:0;font-size:15px;line-height:1.6}.landing-testimonials{margin-bottom:80px}.landing-testimonials h2{color:#000;text-align:center;margin-bottom:40px;font-size:32px;font-weight:800}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.testimonial{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:28px;display:flex}.testimonial blockquote{color:#334155;flex-grow:1;margin:0 0 20px;font-size:15px;font-style:italic;line-height:1.7}.testimonial-author{flex-direction:column;gap:2px;display:flex}.testimonial-name{color:#0f172a;font-size:15px;font-weight:700}.testimonial-role{color:#64748b;font-size:13px}.landing-how-it-works{margin-bottom:80px}.landing-how-it-works h2{text-align:center;color:#000;letter-spacing:-1px;margin-bottom:48px;font-size:36px;font-weight:800}.how-it-works-steps{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.step{text-align:center}.step-number{color:#fff;background:#1d4ed8;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;font-size:22px;font-weight:800;display:flex}.step h3{color:#000;margin-bottom:12px;font-size:20px;font-weight:700}.step p{color:#64748b;font-size:16px;line-height:1.5}.landing-benefits{margin-bottom:80px}.landing-benefits h2{text-align:center;color:#000;letter-spacing:-1px;margin-bottom:48px;font-size:36px;font-weight:800}.benefits-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.benefit{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:32px;transition:border-color .15s,box-shadow .15s}.benefit:hover{border-color:#1d4ed8;box-shadow:0 4px 12px #1d4ed81a}.benefit h3{color:#000;margin-bottom:12px;font-size:20px;font-weight:700}.benefit p{color:#64748b;margin:0;font-size:16px;line-height:1.5}.landing-bottom-cta{text-align:center;background:linear-gradient(135deg,#1e40af 0%,#1d4ed8 100%);border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:80px 48px;display:flex}.landing-bottom-cta h2{color:#fff;letter-spacing:-1px;margin-bottom:16px;font-size:40px;font-weight:800}.landing-bottom-cta .btn-primary-large{color:#1d4ed8;background:#fff}.landing-bottom-cta .btn-primary-large:hover{background:#f8fafc}.landing-bottom-cta .landing-trial-note{color:#fffc}.landing-views-showcase{margin-bottom:80px}.landing-views-showcase h2{color:#000;text-align:center;letter-spacing:-1px;margin-bottom:12px;font-size:36px;font-weight:800}.landing-views-showcase .section-intro{text-align:center;max-width:600px;margin:0 auto 40px}.views-screenshot-showcase{margin-bottom:40px}.screenshot-container-alt{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%)}.views-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.view-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:28px 24px;transition:border-color .2s,box-shadow .2s}.view-card:hover{border-color:#1d4ed8;box-shadow:0 4px 12px #1d4ed81a}.view-card-highlight{background:#f0f4ff;border-color:#1d4ed8}.view-card-icon{letter-spacing:2px;margin-bottom:12px;font-size:28px}.view-card h3{color:#000;margin-bottom:8px;font-size:18px;font-weight:700}.view-card p{color:#64748b;margin:0;font-size:15px;line-height:1.6}.landing-mid-cta{text-align:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:center;margin-bottom:80px;padding:64px 48px;display:flex}.mid-cta-badge{color:#059669;background:#ecfdf5;border-radius:20px;margin-bottom:16px;padding:6px 16px;font-size:14px;font-weight:600;display:inline-block}.landing-mid-cta h2{color:#000;letter-spacing:-.5px;margin-bottom:12px;font-size:32px;font-weight:800}.landing-mid-cta p{color:#64748b;margin-bottom:24px;font-size:18px}.landing-mid-cta .btn-primary-large{margin-bottom:12px}.landing-mid-cta .landing-trial-note{margin-top:0}.landing-section{margin-bottom:80px}.landing-section h2{color:#000;letter-spacing:-1px;margin-bottom:24px;font-size:32px;font-weight:800}.section-content{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:32px 36px}.section-content p{color:#334155;margin:0 0 16px;font-size:17px;line-height:1.7}.section-content p:last-child{margin-bottom:0}.section-intro{color:#64748b;margin-bottom:32px;font-size:18px;line-height:1.6}.visual-features-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.visual-feature{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:28px;transition:border-color .15s,box-shadow .15s}.visual-feature:hover{border-color:#1d4ed8;box-shadow:0 4px 12px #1d4ed81a}.visual-feature h3{color:#000;margin-bottom:12px;font-size:18px;font-weight:700}.visual-feature p{color:#64748b;margin:0;font-size:15px;line-height:1.6}.landing-audience{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-radius:16px;padding:48px}.landing-audience h2{text-align:center}.landing-audience .section-intro{text-align:center;max-width:600px;margin:0 auto 40px}.audience-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.audience-item{background:#fff;border-radius:12px;padding:28px;box-shadow:0 4px 12px #0000000d}.audience-item h3{color:#0c4a6e;margin-bottom:12px;font-size:18px;font-weight:700}.audience-item p{color:#475569;margin:0;font-size:15px;line-height:1.6}.landing-faq{margin-bottom:80px}.landing-faq h2{color:#000;text-align:center;letter-spacing:-1px;margin-bottom:40px;font-size:32px;font-weight:800}.faq-list{flex-direction:column;gap:16px;max-width:700px;margin:0 auto;display:flex}.faq-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden}.faq-item summary{color:#0f172a;cursor:pointer;justify-content:space-between;align-items:center;padding:20px 24px;font-size:17px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:#94a3b8;font-size:24px;font-weight:400;transition:transform .2s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item[open] summary{border-bottom:1px solid #e2e8f0}.faq-item p{color:#64748b;background:#f8fafc;margin:0;padding:20px 24px;font-size:16px;line-height:1.7}.pricing-features-title{color:#64748b;text-transform:uppercase;letter-spacing:.05em;text-align:left;margin-bottom:16px;font-size:14px;font-weight:600}.site-footer{color:#94a3b8;background:#0f172a;padding:64px 24px 32px}.site-footer-inner{justify-content:space-between;gap:48px;max-width:1200px;margin:0 auto 48px;display:flex}.footer-brand{max-width:300px}.footer-logo{color:#fff;margin-bottom:12px;font-size:20px;font-weight:700;text-decoration:none;display:block}.footer-tagline{white-space:pre-line;margin:0;font-size:14px;line-height:1.5}.footer-description{color:#64748b;max-width:680px;margin:24px 0 0;font-size:14px;line-height:1.7}.footer-english-ctas{margin-top:16px}.footer-app-store-copy{color:#cbd5e1;margin:12px 0 8px;font-size:13px}.footer-app-store-button{text-decoration:none;display:inline-block}.footer-app-store-button img{width:170px;max-width:100%;height:auto;display:block}.footer-links{gap:64px;display:flex}.footer-column h4{color:#fff;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:14px;font-weight:600}.footer-column a{color:#94a3b8;margin-bottom:12px;font-size:14px;text-decoration:none;transition:color .15s;display:block}.footer-column a:hover{color:#fff}.footer-bottom{border-top:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding-top:32px;display:flex}.footer-bottom p{margin:0;font-size:13px}.footer-legal-links{align-items:center;gap:10px;font-size:13px;display:flex}.footer-legal-links a{color:#cbd5e1;text-decoration:none}.footer-legal-links a:hover{color:#fff}.page-content{flex:1;max-width:900px;margin:0 auto;padding:80px 24px 100px}.page-hero{text-align:center;margin-bottom:64px}.page-hero h1{color:#000;letter-spacing:-1.5px;margin-bottom:16px;font-size:48px;font-weight:800;line-height:1.1}.page-subtitle{color:#64748b;margin:0;font-size:22px}.features-list{flex-direction:column;gap:48px;margin-bottom:80px;display:flex}.feature-block{align-items:flex-start;gap:32px;display:flex}.feature-block-icon{background:#f1f5f9;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:40px;display:flex}.feature-block-content h2{color:#000;margin-bottom:12px;font-size:24px;font-weight:700}.feature-block-content p{color:#64748b;margin:0;font-size:17px;line-height:1.6}.page-cta{text-align:center;background:#f8fafc;border-radius:16px;padding:64px 48px}.page-cta h2{color:#000;margin-bottom:24px;font-size:32px;font-weight:700}.pricing-cards{justify-content:center;margin-bottom:64px;display:flex}.pricing-card{text-align:center;background:#fff;border:2px solid #e2e8f0;border-radius:16px;max-width:400px;padding:48px}.pricing-card-featured{border-color:#1d4ed8;box-shadow:0 8px 32px #1d4ed826}.pricing-card-badge{color:#1d4ed8;text-transform:uppercase;letter-spacing:.05em;background:#dbeafe;border-radius:20px;margin-bottom:24px;padding:8px 20px;font-size:14px;font-weight:700;display:inline-block}.pricing-card-price{color:#000;letter-spacing:-2px;margin-bottom:16px;font-size:64px;font-weight:800}.pricing-card-note{color:#64748b;margin-bottom:32px;font-size:16px;line-height:1.5}.pricing-features{text-align:left;margin:0 0 32px;padding:0;list-style:none}.pricing-features li{color:#334155;border-bottom:1px solid #f1f5f9;padding:12px 0;font-size:16px}.pricing-features li:last-child{border-bottom:none}@media (max-width:768px){.site-header-inner{flex-wrap:wrap}.site-nav{display:none}.landing-content,.page-content{padding:48px 20px 64px}.landing-hero{margin-bottom:48px}.landing-hero h1{letter-spacing:-1px;font-size:36px}.landing-subtitle{font-size:20px}.value-text{font-size:18px}.landing-story{padding:28px 24px}.landing-story p{font-size:16px}.landing-features-grid{grid-template-columns:repeat(2,1fr);gap:12px}.feature-item{padding:16px;font-size:13px}.landing-how-it-works h2,.landing-benefits h2{font-size:28px}.how-it-works-steps{grid-template-columns:1fr;gap:32px}.benefits-grid{grid-template-columns:1fr;gap:16px}.benefit{padding:24px}.landing-detailed-features{grid-template-columns:1fr;gap:20px}.detailed-feature{padding:20px}.detailed-feature-content h3{font-size:16px}.detailed-feature-content p{font-size:14px}.landing-testimonials h2{margin-bottom:24px;font-size:24px}.testimonials-grid{grid-template-columns:1fr;gap:16px}.testimonial{padding:20px}.testimonial blockquote{font-size:14px}.landing-screenshot{margin-bottom:48px}.screenshot-container{border-radius:12px;padding:20px 20px 0}.screenshot-image{border-radius:8px 8px 0 0}.landing-bottom-cta{padding:48px 24px}.landing-bottom-cta h2{font-size:28px}.landing-section h2{font-size:24px}.section-content{padding:24px 20px}.section-content p{font-size:15px}.visual-features-grid{grid-template-columns:1fr;gap:16px}.visual-feature{padding:20px}.landing-audience{padding:32px 20px}.audience-grid{grid-template-columns:1fr;gap:16px}.audience-item{padding:20px}.landing-faq h2{margin-bottom:24px;font-size:24px}.faq-item summary{padding:16px 20px;font-size:15px}.faq-item p{padding:16px 20px;font-size:14px}.btn-primary-large{padding:16px 32px;font-size:16px}.landing-views-showcase h2{font-size:28px}.views-grid{grid-template-columns:1fr;gap:16px}.view-card{padding:20px}.landing-mid-cta{padding:40px 20px}.landing-mid-cta h2{font-size:24px}.landing-mid-cta p{font-size:16px}.footer-app-store-button img{width:160px}.page-hero h1{font-size:32px}.feature-block{flex-direction:column;gap:16px}.feature-block-icon{width:64px;height:64px;font-size:32px}.feature-block-content h2{font-size:20px}.site-footer-inner{flex-direction:column;gap:32px}.footer-links{gap:32px}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.landing-hero h1{font-size:28px}.landing-subtitle{font-size:18px}.landing-features-grid{grid-template-columns:1fr}.site-logo-text{display:none}.btn-signup{padding:8px 14px;font-size:13px}.pricing-card{padding:32px 24px}.pricing-card-price{font-size:48px}}.login-container{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;display:flex}.login-container h1{font-size:18px;font-weight:400}.login-container input{border:1px solid var(--border);text-align:center;outline:none;width:200px;padding:12px 16px}.login-container input:focus{border-color:var(--text)}.login-container button{background:var(--text);color:#fff;border:none;padding:12px 32px}.login-container .google-btn{background:var(--card);border:1px solid var(--border);width:200px;color:var(--text);justify-content:center;align-items:center;gap:10px;padding:12px 16px;display:flex}.login-container .google-btn:hover{background:var(--bg)}.login-container .divider{width:200px;color:var(--muted);align-items:center;font-size:12px;display:flex}.login-container .divider:before,.login-container .divider:after{content:"";background:var(--border);flex:1;height:1px}.login-container .divider span{padding:0 12px}.error{color:var(--red)}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-testimonial-panel{background:#e8f4fd;justify-content:center;align-items:center;padding:48px;display:flex}.auth-testimonial-content{text-align:center;max-width:400px}.auth-testimonial-avatar{margin-bottom:32px}.auth-testimonial-avatar img{object-fit:cover;border-radius:21.875%;width:80px;height:80px}.auth-testimonial-quote{color:#1e293b;margin:0 0 24px;font-size:18px;font-style:italic;line-height:1.6}.auth-testimonial-author{flex-direction:column;gap:2px;font-size:14px;display:flex}.auth-testimonial-author strong{color:#1e293b}.auth-testimonial-author span{color:#64748b;font-size:13px}.auth-form-panel{background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:48px 32px;display:flex;position:relative}.auth-form-logo{position:absolute;top:24px;left:32px}.auth-form-logo img{aspect-ratio:1;object-fit:cover;border-radius:21.875%;width:auto;height:36px}.auth-form-center{flex-direction:column;align-items:center;width:100%;max-width:360px;display:flex}.auth-form-title{color:#1e293b;text-align:center;margin:0 0 32px;font-size:24px;font-weight:600}.auth-btn-google{justify-content:center;width:100%}.auth-provider-buttons{flex-direction:column;gap:12px;width:100%;display:flex}.auth-btn-apple{color:#fff;background:#111827;border-color:#111827}.auth-btn-apple:hover{background:#000;border-color:#000}.auth-legal{color:#94a3b8;text-align:center;font-size:12px;line-height:1.5;position:absolute;bottom:24px}.auth-legal a{color:#1d4ed8;text-decoration:none}.auth-legal a:hover{text-decoration:underline}@media (max-width:768px){.auth-page{grid-template-columns:1fr}.auth-testimonial-panel{display:none}.auth-form-panel{min-height:100vh;padding:80px 24px 64px}.auth-form-logo{top:16px;left:16px}.auth-legal{margin-top:40px;position:relative;bottom:auto}}.header{justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 0;display:flex}.header-top{display:none}.header-left{align-items:center;gap:8px;display:flex;position:relative}.header-right-icons{align-items:center;gap:8px;display:flex}.header-icon-btn{width:36px;height:36px;color:var(--text);cursor:pointer;transition:background var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.header-icon-btn:hover{background:var(--border)}.header-icon-btn.active{background:var(--border);color:#0f172a}.header-icon-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.workspace-dropdown-trigger{border:1px solid var(--border);color:var(--text);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:16px;align-items:center;gap:5px;padding:6px 14px;font-size:14px;font-weight:600;display:flex}.dropdown-chevron{color:var(--muted);font-size:12px}.workspace-dropdown-menu{background:var(--card);border:1px solid var(--border);z-index:200;border-radius:12px;min-width:200px;padding:6px;animation:.15s slideUp;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 30px #0000001f}.workspace-dropdown-item{width:100%;color:var(--text);cursor:pointer;transition:background var(--transition);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.workspace-dropdown-item:hover{background:var(--bg)}.workspace-dropdown-item.active{background:var(--bg);font-weight:600}.workspace-dropdown-item.add-item{color:var(--muted);border-top:1px solid var(--border);border-radius:0 0 8px 8px;margin-top:4px;padding-top:12px}.workspace-dropdown-overlay{z-index:199;position:fixed;inset:0}.header-actions{align-items:center;gap:8px;display:flex}.header-main{flex-direction:column;align-items:center;gap:16px;display:flex}.balance-section{flex-direction:column;gap:16px;width:100%;display:flex}.header-links{align-items:center;gap:16px;display:flex}.workspace-selector,.workspace-tab,.workspace-settings,.workspace-add{display:none}.header h1{font-size:16px;font-weight:500}.balance-card{background:var(--card);border:1px solid #e2e8f0b3;border-radius:16px;margin-bottom:8px;padding:14px 18px;position:relative;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0f}.balance-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.balance-card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600}.app-search-panel{background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;display:flex;box-shadow:0 6px 18px #0f172a1f}.app-search-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:16px;font-weight:500;line-height:1.4}.app-search-input::placeholder{color:var(--muted)}.app-search-clear{background:var(--bg);color:var(--muted);border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:inline-flex}.app-search-clear:hover{background:var(--border);color:var(--text)}.app-search-totals{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 18px;margin:-6px 0 12px;padding:0 14px;font-size:13px;font-weight:500;display:flex}.app-search-totals strong.positive{color:var(--green)}.app-search-totals strong.negative{color:var(--red)}.balance-card-icons{align-items:center;gap:8px;display:flex}.balance-card-icon-btn{background:var(--bg);width:32px;height:32px;color:var(--muted);cursor:pointer;transition:all var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.balance-card-icon-btn:hover{background:var(--border);color:var(--text)}.balance-card-icon-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.balance-block{flex-direction:column;gap:6px;display:flex}.balance-label{display:none}.balance-sum-row{align-items:center;gap:10px;display:flex}.balance-helper-wrap{flex-shrink:0;display:inline-flex;position:relative}.balance-helper{width:20px;height:20px;color:var(--muted);background:var(--border);cursor:help;transition:color var(--transition), background var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-style:italic;font-weight:600;display:inline-flex}.balance-helper-wrap:hover .balance-helper{color:var(--text);background:#0000001a}.balance-helper-tooltip{color:var(--text);background:var(--card);border:1px solid var(--border);white-space:normal;z-index:100;pointer-events:none;opacity:0;visibility:hidden;border-radius:8px;width:max-content;max-width:280px;padding:10px 14px;font-size:12px;font-weight:500;line-height:1.5;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001f}.balance-helper-wrap:hover .balance-helper-tooltip{opacity:1;visibility:visible}.balance-helper-tooltip.tooltip-open{opacity:1;visibility:visible;pointer-events:auto}.balance-display{color:var(--text);cursor:pointer;transition:opacity var(--transition);letter-spacing:-.03em;border-radius:8px;align-items:center;gap:8px;padding:0;font-size:2.25rem;font-weight:750;display:flex}.balance-display-button{text-align:left;background:0 0;border:none}.balance-display:hover{opacity:.7}.balance-display .edit-icon{color:var(--light);transition:color var(--transition);font-size:14px}.balance-display:hover .edit-icon{color:var(--muted)}.balance-display.updating{opacity:.78}.balance-display.updating:after{content:"";background:var(--muted);opacity:.6;border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite balance-updating-pulse}@keyframes balance-updating-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:.9;transform:scale(1.05)}}.balance-forecast-summary{gap:8px;display:flex;position:absolute;top:12px;right:16px}.balance-forecast-row{color:var(--text);background:var(--bg);white-space:nowrap;border:1px solid #e2e8f0b3;border-radius:12px;flex-direction:column;align-items:flex-end;gap:2px;padding:7px 12px;font-size:13px;font-weight:600;display:flex}.balance-forecast-row.is-positive{background:#10b98112;border-color:#10b9812e}.balance-forecast-row.is-negative{background:#f43f5e12;border-color:#f43f5e2e}.balance-forecast-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:600}.balance-forecast-row .positive{color:var(--green);font-weight:700}.balance-forecast-row .negative{color:var(--red);font-weight:700}.balance-forecast-lowest.warning .balance-forecast-label,.balance-forecast-lowest.warning .negative{color:#dc2626}.balance-forecast-date{color:var(--muted);font-size:9px;font-weight:500}@media (max-width:640px){.balance-forecast-summary{margin-top:6px;position:static}.balance-forecast-row{flex:1;align-items:flex-start}}.balance-input{border:2px solid var(--text);text-align:left;letter-spacing:-.02em;border-radius:8px;outline:none;width:200px;padding:4px 12px;font-size:2rem;font-weight:700}.bank-toggle-row{background:#94a3b814;border-radius:999px;justify-content:flex-start;align-items:center;gap:8px;margin-top:6px;padding:6px 8px 6px 10px;display:inline-flex}.bank-toggle-preview{flex-direction:column;align-items:flex-start;gap:2px;margin-top:8px;display:flex}.bank-toggle-text{color:var(--muted);letter-spacing:-.01em;font-size:12px;font-weight:500}.bank-accounts-summary{color:var(--primary,#4a7bf7);cursor:pointer;transition:opacity var(--transition);align-items:center;gap:6px;padding:2px 0;font-size:13px;display:inline-flex}.bank-accounts-summary:hover{opacity:.7}.bank-accounts-summary-static{color:var(--muted);cursor:default}.bank-accounts-summary-static:hover{opacity:1}.bank-accounts-summary .edit-icon{font-size:12px}.manual-balance-helper{color:var(--muted);font-size:12px}.bank-mini-switch{cursor:pointer;background:#94a3b852;border:none;border-radius:999px;flex-shrink:0;width:34px;height:20px;padding:0;transition:background .18s,box-shadow .18s,transform .18s;position:relative;box-shadow:inset 0 0 0 1px #0f172a0f}.bank-mini-switch:hover{background:#94a3b86b}.bank-mini-switch:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #0f172a0f,0 0 0 3px #3b82f62e}.bank-mini-switch.active{background:#bfdbfe}.bank-mini-switch .toggle-knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a24}.bank-mini-switch.active .toggle-knob{transform:translate(14px)}.bank-time-ago{margin-left:2px;font-size:11px;font-weight:400}.bank-accounts-editor{background:var(--bg);border-radius:10px;flex-direction:column;gap:8px;margin-top:8px;padding:12px;display:flex}.bank-row{border-radius:8px;align-items:center;gap:8px;transition:transform .18s,opacity .15s;display:flex}.bank-row-dragging{opacity:.35;outline:1.5px dashed var(--border);outline-offset:2px}.bank-drag-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;border-radius:6px;flex-shrink:0;margin:-6px -4px -6px -2px;padding:6px 4px;font-size:14px;line-height:1;transition:color .15s,background .15s}.bank-drag-handle:hover{color:var(--text);background:var(--bg)}.bank-drag-handle:active{cursor:grabbing}@media (prefers-reduced-motion:reduce){.bank-row{transition:opacity .15s}}.bank-name-input{border:1px solid var(--border);background:var(--card);min-width:0;color:var(--text);border-radius:6px;outline:none;flex:1;padding:6px 10px;font-size:13px}.bank-name-input:focus{border-color:var(--primary,#4a7bf7)}.bank-amount-input{border:1px solid var(--border);background:var(--card);width:110px;color:var(--text);text-align:right;border-radius:6px;outline:none;padding:6px 10px;font-size:13px;font-weight:600}.bank-amount-input:focus{border-color:var(--primary,#4a7bf7)}.bank-amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bank-amount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bank-amount-input[type=number]{-moz-appearance:textfield}.bank-amount-trigger{cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition)}.bank-amount-trigger:hover{border-color:var(--primary,#4a7bf7);color:var(--primary,#4a7bf7)}.bank-amount-trigger:focus-visible{border-color:var(--primary,#4a7bf7)}.bank-amount-wrap{flex-shrink:0;align-items:center;gap:4px;display:flex}.bank-currency{color:var(--muted);font-size:13px;font-weight:500}.bank-remove-btn{color:var(--muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 4px;font-size:18px;line-height:1}.bank-remove-btn:hover{color:var(--danger,#e74c3c)}.bank-updated-at{white-space:nowrap;text-align:right;flex:0 0 74px;font-size:11px;line-height:1.2}.bank-date-fresh{color:#27ae60}.bank-date-stale{color:#e74c3c}.bank-editor-card{background:var(--card);border-radius:14px;flex:0 0 100%;margin-bottom:10px;padding:14px 18px;box-shadow:0 1px 2px #0f172a0a,0 2px 8px #0f172a0d}.bank-editor-card .bank-accounts-editor{background:0 0;border-radius:0;margin-top:0;padding:0}.bank-editor-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.bank-editor-toggle{justify-content:flex-start;align-items:center;gap:8px;margin-top:2px;display:flex}.bank-add-btn{color:var(--primary,#4a7bf7);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:500}.bank-add-btn:hover{text-decoration:underline}.bank-save-btn{background:var(--primary,#4a7bf7);color:#fff;cursor:pointer;transition:opacity var(--transition);border:none;border-radius:6px;margin-left:auto;padding:6px 16px;font-size:13px;font-weight:600}.bank-save-btn:hover{opacity:.85}.chart-card{background:var(--card);border-radius:14px;margin-bottom:8px;padding:14px 18px 12px;box-shadow:0 1px 2px #0f172a0a,0 2px 8px #0f172a0d}.chart-card .sparkline-container{width:100%}.chart-card .sparkline{display:block}.chart-card-dates{color:var(--muted);justify-content:space-between;margin-top:8px;padding:0 4px;font-size:12px;display:flex}.chart-card-stats{border-top:1px solid var(--border);justify-content:space-between;margin-top:12px;padding-top:12px;display:flex}.chart-stat{text-align:center;flex-direction:column;gap:2px;display:flex}.chart-stat-button{appearance:none;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;align-items:center;margin:0;padding:0}.chart-stat-button:hover .chart-stat-value,.chart-stat-button:focus-visible .chart-stat-value{text-underline-offset:2px;text-decoration:underline}.chart-stat-button:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:6px}.chart-stat-label{color:var(--muted);font-size:10px;font-weight:400}.chart-stat-value.positive{color:var(--green)}.chart-stat-value.negative{color:var(--red)}.animated-value{border-radius:6px;margin:0 -3px;padding:0 3px;display:inline-block}.value-flash-up{animation:.9s ease-out valueFlashUp}.value-flash-down{animation:.9s ease-out valueFlashDown}@keyframes valueFlashUp{0%{background-color:#22c55e2e}to{background-color:#0000}}@keyframes valueFlashDown{0%{background-color:#ef444429}to{background-color:#0000}}@media (prefers-reduced-motion:reduce){.value-flash-up,.value-flash-down{animation:none}}.sparkline{background:0 0;display:block}.sparkline-wrapper{display:none;position:relative}.sparkline-stats{display:none}.sparkline-stat strong{font-weight:500}.sparkline-stat strong.positive{color:var(--green)}.sparkline-stat strong.negative{color:var(--red)}.sparkline-meta{display:none}.sparkline-container{display:inline-block;position:relative}.sparkline-tooltip{background:var(--text);color:#fff;z-index:50;white-space:nowrap;pointer-events:none;border-radius:6px;padding:6px 10px;font-size:11px;line-height:1.3;position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);box-shadow:0 4px 12px #00000026}.sparkline-tooltip-point{flex-direction:column;gap:2px;display:flex}.sparkline-tooltip-date{color:#fff;font-weight:500}.sparkline-tooltip-balance{color:#ffffffb3}.sparkline-tooltip-balance strong{font-weight:600}.sparkline-tooltip-balance strong.positive{color:var(--green)}.sparkline-tooltip-balance strong.negative{color:var(--red)}.sparkline-tooltip-default{color:#ffffffb3;flex-direction:column;gap:4px;display:flex}.reset-btn{color:var(--light);text-transform:uppercase;letter-spacing:.05em;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:3px;padding:4px 8px;font-size:11px}.reset-btn:hover{color:var(--text)}.reset-btn.has-past{color:var(--green);background:#e8f5e9;font-weight:500}.reset-btn.has-past:hover{background:#c8e6c9}.entries-link{color:#3b82f6;text-align:center;transition:background var(--transition), color var(--transition);background:#eff6ff;border-radius:8px;margin-top:12px;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;display:block}.entries-link:hover{color:#2563eb;background:#dbeafe}.header-right{align-items:center;gap:12px;display:flex}.user-bar{display:none}.user-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:11px;overflow:hidden}.logout-btn{color:var(--light);background:0 0;border:none;padding:4px 8px;font-size:20px}.logout-btn:hover{color:var(--red)}.history-section{transition:all var(--transition);border-radius:12px;margin-bottom:8px}.history-section-open{background:#fff8e1;border-radius:12px;box-shadow:0 1px 2px #0f172a0a,0 2px 8px #0f172a0d}.history-bar{color:#7c6a2a;cursor:pointer;width:100%;transition:all var(--transition);background:#fffef5;border:none;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.history-section-open .history-bar{color:#7c6a2a;background:#fffef5;border-radius:12px 12px 0 0}.history-bar:hover,.history-section-open .history-bar:hover{background:#fff9e8}.history-bar-chevron{font-size:18px;font-weight:400;transition:transform .2s}.history-bar.expanded .history-bar-chevron{transform:rotate(90deg)}.history-expand-btn,.history-expand-btn-open,.history-collapse-top,.history-collapse-bottom{display:none}.history-content{max-height:350px;padding:0 12px 12px;overflow-y:auto}.history-day{border-bottom:1px solid #0000000f;padding:8px 4px}.history-day.drag-over{background:#2684ff0f;border-radius:6px;box-shadow:inset 0 0 0 2px #2684ff}.history-day:last-child{border-bottom:none}.history-day-header{margin-bottom:4px}.history-day-date{color:#5d4037;font-size:12px;font-weight:600}.history-day-items{flex-direction:column;gap:2px;display:flex}.history-item{border-radius:5px;align-items:center;gap:5px;padding:3px 5px;font-size:12px;transition:background .12s;display:flex;position:relative}.history-item.income{color:var(--green)}.history-item.expense{color:var(--red)}.history-item .recurring-icon{color:#c77800;opacity:.7;font-size:11px}.history-item .recurring-badge{flex-direction:row;align-items:center;gap:2px;line-height:1;display:inline-flex}.history-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.history-amount{flex-shrink:0;font-weight:700}.history-item.draggable{cursor:grab}.history-drag-handle{color:var(--light);letter-spacing:-2px;margin-right:2px;font-size:10px}.history-item.draggable:hover{background:#0000000a}.history-pin-btn{cursor:pointer;opacity:.35;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:11px;line-height:1;transition:opacity .12s}.history-item:hover .history-pin-btn,.history-pin-btn:hover{opacity:1}.history-item.draggable:active{cursor:grabbing}.history-explanation{color:#8d6e63;text-align:center;border-bottom:1px solid #0000000f;margin:0;padding:12px 4px;font-size:12px;font-style:italic;line-height:1.5}.history-week,.history-row,.history-date,.history-items-full{display:none}.empty-state-hint{text-align:center;background:#fef9e7;border:1px solid #f5e6a3;border-radius:8px;margin-bottom:10px;padding:10px 16px}.empty-state-hint p{color:#8a6d00;margin:0;font-size:13px;line-height:1.4}@media (prefers-color-scheme:dark){.empty-state-hint{background:#3a3000;border-color:#5a4d00}.empty-state-hint p{color:#e8d44d}}.table{display:none}.timeline-cards{flex-direction:column;gap:6px;transition:opacity .15s,transform .15s;display:flex}.timeline-cards.transitioning{opacity:.3;transform:translateY(4px)}.day-card{background:var(--card);transition:box-shadow var(--transition);border:1px solid #e2e8f0b3;border-radius:16px;overflow:visible;box-shadow:0 1px 2px #0f172a0a,0 6px 16px #0f172a0d}.day-card.drag-over{box-shadow:0 0 0 2px #3b82f666,0 4px 12px #3b82f61a}.day-card-today{box-shadow:0 0 0 2px var(--green), 0 1px 2px #0f172a0a, 0 2px 8px #0f172a0d}.day-card-header{justify-content:space-between;align-items:center;padding:6px 12px 0;display:flex}.day-card-date{align-items:center;gap:8px;display:flex}.day-card-date-text{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.today-badge{letter-spacing:.05em;text-transform:uppercase;color:#047857;background:#10b98124;border-radius:999px;align-items:center;padding:1px 7px;font-size:9px;font-weight:700;display:inline-flex}.day-card-add{color:var(--light);cursor:pointer;width:24px;height:24px;transition:all var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:300;display:flex}.day-card-add:hover{color:var(--text);background:var(--bg)}.day-card-body{flex-direction:column;min-height:2px;padding:1px 8px;display:flex}.day-card-empty{color:var(--light);padding:2px 16px 8px;font-size:10px}.day-card-footer{justify-content:flex-end;align-items:center;gap:3px;padding:2px 12px 6px;font-size:10px;display:flex}.eod-label{color:var(--muted);font-weight:400}.eod-amount{font-weight:600}.eod-amount.positive{color:var(--green)}.eod-amount.negative{color:var(--red)}.item{cursor:default;transition:background var(--transition);z-index:1;border-radius:5px;align-items:center;gap:4px;max-width:fit-content;padding:3px 5px;font-size:11px;display:inline-flex;position:relative}.item:after{content:"";pointer-events:auto;width:16px;position:absolute;top:0;bottom:0;right:-16px}.item:hover{z-index:30;background:var(--bg)}.item .item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.item:hover>span,.item:hover>.recurring-icon,.item:hover>.fulfilled-icon{opacity:.85}.item.income{color:var(--green);background:0 0}.item.income:not(.once){margin-left:0}.item.expense{color:var(--red);background:0 0;margin-left:auto}.item.expense:not(.once){margin-right:0}.recurring-icon{color:#c77800;margin-right:0;font-weight:600}.recurring-badge{flex-direction:row;align-items:center;gap:2px;margin-right:0;line-height:1;display:inline-flex}.recurring-text{color:#c77800;opacity:.65;white-space:nowrap;font-size:6px;line-height:1}.item.expense .recurring-badge{order:0;margin-left:0;margin-right:0}.item.once{font-size:11px;font-weight:500;position:relative}.item.empty{color:var(--light);justify-content:center}.item.empty:hover{background:var(--bg);color:var(--muted)}.item .amount{flex-shrink:0;font-weight:700}.item .transaction-edit-btn{color:var(--light);cursor:pointer;opacity:.5;transition:opacity var(--transition), color var(--transition);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:2px;font-size:14px}.item .transaction-edit-btn:hover{opacity:1;color:var(--muted)}.row,.row.header-row,.cell{display:none}.date-num{font-size:10px;font-weight:500}.date-day{color:var(--light);font-size:8px}.weekend .date-num,.weekend .date-day{color:var(--light)}.item.marked{background:#fff9c4!important}@keyframes newlyAdded{0%{transform:scale(1);box-shadow:0 0 #2a7d4f80}20%{transform:scale(1.02);box-shadow:0 0 0 6px #2a7d4f4d}to{transform:scale(1);box-shadow:0 0 #2a7d4f00}}.item.newly-added{animation:1.5s ease-out newlyAdded}.item.expense.newly-added{animation-name:newlyAddedExpense}@keyframes newlyAddedExpense{0%{transform:scale(1);box-shadow:0 0 #cc444480}20%{transform:scale(1.02);box-shadow:0 0 0 6px #cc44444d}to{transform:scale(1);box-shadow:0 0 #c440}}.item-toolbar{opacity:0;visibility:hidden;pointer-events:auto;z-index:100;background:var(--card);border:1px solid var(--border);border-radius:20px;align-items:center;margin-left:4px;padding:2px;transition:opacity .15s,visibility 0s 1s;display:flex;position:absolute;top:50%;left:100%;transform:translateY(-50%);box-shadow:0 4px 16px #00000026}.item-toolbar:before{content:"";position:absolute;inset:-8px -8px -8px -12px}.item:hover .item-toolbar,.item-toolbar:hover{opacity:1;visibility:visible;transition:opacity .15s,visibility}.toolbar-btn{cursor:pointer;width:28px;height:28px;color:var(--muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;line-height:1;transition:background .12s,color .12s;display:flex;position:relative}.toolbar-btn:hover{background:var(--bg);color:var(--text)}.toolbar-btn.active{color:var(--text)}.toolbar-btn:after{content:attr(data-tip);background:var(--text);color:var(--card);white-space:normal;text-align:center;opacity:0;pointer-events:none;border-radius:4px;width:max-content;max-width:40vw;padding:3px 8px;font-size:10px;font-weight:500;transition:opacity .12s;position:absolute;bottom:-26px;left:50%;transform:translate(-50%)}.toolbar-btn:hover:after{opacity:1}.mobile-toolbar-toggle{display:none}.toolbar-btn-drag{cursor:grab;letter-spacing:-2px;color:var(--light);font-size:10px}.toolbar-btn-drag:after{letter-spacing:normal}.toolbar-btn-drag:active{cursor:grabbing}.toolbar-btn-delete{color:var(--light);font-size:10px}.toolbar-btn-delete:hover{color:var(--red);background:#f43f5e14}.toolbar-btn-close{color:var(--light);font-size:14px;display:none}.fulfilled-icon,.sticky-icon{flex-shrink:0;font-size:10px}.item.expense .fulfilled-icon{order:10}.item.fulfilled>span,.item.fulfilled>.recurring-icon,.item.fulfilled>.fulfilled-icon{opacity:.45}.item.fulfilled:hover>span,.item.fulfilled:hover>.recurring-icon,.item.fulfilled:hover>.fulfilled-icon{opacity:.6}.fulfilled-text{text-decoration:line-through;text-decoration-thickness:1.5px}.cell.total{display:none}.cell.total.positive{color:var(--green)}.cell.total.negative{color:var(--red)}.show-more-section{flex-direction:column;margin-top:6px;display:flex}.months-ahead-control{background:var(--card);width:100%;color:var(--text);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:flex;box-shadow:0 1px 2px #0f172a0a,0 2px 8px #0f172a0d}.months-ahead-label{color:var(--muted);font-size:12px;font-weight:500}.months-ahead-value{text-align:center;min-width:20px;font-size:12px;font-weight:600}.months-ahead-btn{border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text);cursor:pointer;transition:all var(--transition);border-radius:8px;font-size:16px;line-height:1}.months-ahead-btn:hover:not(:disabled){background:var(--card)}.months-ahead-btn:disabled{opacity:.4;cursor:not-allowed}.months-collapse-btn{color:var(--muted);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:8px;align-self:center;align-items:center;gap:5px;margin-top:8px;padding:4px 12px;font-size:11.5px;font-weight:500;display:inline-flex}.months-collapse-btn:hover{color:var(--text);background:var(--border)}.months-collapse-btn svg{opacity:.7}.tagline-footer{text-align:center;color:var(--muted);padding:24px 16px;font-size:11px;font-weight:400}.admin-footer{text-align:center;padding:0 16px 24px}.admin-footer-link{color:var(--light);opacity:.5;font-size:10px;text-decoration:none;transition:opacity .15s}.admin-footer-link:hover{opacity:1}.tagline-brand{color:var(--muted);transition:color var(--transition);text-decoration:none}.tagline-brand:hover{color:var(--text)}.bottom-status-info{text-align:center;color:var(--light);margin-top:2px;margin-bottom:10px;font-size:10px}.status-chip.status-online,.status-chip.status-synced{color:var(--green);font-weight:400}.status-chip.status-offline,.status-chip.status-not-synced{color:var(--red);font-weight:400}.status-separator{color:var(--light)}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal{background:var(--card);border-radius:16px;flex-direction:column;gap:12px;width:400px;padding:24px;animation:.2s slideUp;display:flex;position:relative;box-shadow:0 25px 50px #00000026}.modal-close{color:var(--light);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:20px;line-height:1;display:flex;position:absolute;top:8px;right:10px}.modal-close:hover{color:var(--text);background:var(--bg)}.modal-flags{gap:2px;display:flex;position:absolute;top:8px;right:42px}.modal-flag-btn{opacity:.45;font-size:12px}.modal-flag-btn.active{opacity:1}.modal-flag-btn:after{white-space:normal;text-align:center;z-index:5;width:200px;inset:32px 0 auto auto;transform:none}.modal.modal-highlighted{background:#fff9c4}.modal.modal-highlighted .type-btn{background:0 0}.modal.modal-highlighted .type-btn.active,.modal.modal-highlighted .type-btn:hover:not(.active){background:#0000000d}.amount-row{align-items:center;gap:8px;display:flex}.amount-row .amount-input{text-align:right;flex:1;padding:8px 10px;font-size:16px;font-weight:500}.amount-row .currency{color:var(--muted);font-size:12px}.type-toggle{border:1px solid var(--border);flex-shrink:0;display:flex}.type-btn{background:var(--card);cursor:pointer;width:36px;height:36px;color:var(--light);border:none;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:500;transition:all .15s;display:flex}.type-btn:first-child{border-right:1px solid var(--border)}.type-btn:hover:not(.active){color:var(--text);background:var(--bg)}.type-btn.active{background:var(--bg)}.type-btn.expense.active{color:var(--red)}.type-btn.income.active{color:var(--green)}.modal-date{margin-bottom:4px;font-size:12px;font-weight:500}.modal-date span{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.modal-title{margin-bottom:6px;font-size:13px;font-weight:500}.workspace-order{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px}.currency-select{align-items:center;gap:12px;margin:12px 0;display:flex}.currency-select label{color:var(--muted);white-space:nowrap;font-size:13px}.currency-select select{border:1px solid var(--border);background:#fff;border-radius:8px;flex:1;padding:10px 12px;font-size:14px}.rounding-toggle{align-items:center;gap:12px;margin:12px 0;display:flex}.rounding-toggle label{color:var(--muted);white-space:nowrap;font-size:13px}.rounding-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--text);cursor:pointer;flex:none}.order-btn{background:var(--bg);border:1px solid var(--border);cursor:pointer;padding:6px 12px;font-size:14px}.order-btn:hover:not(:disabled){background:var(--border)}.order-btn:disabled{opacity:.3;cursor:not-allowed}.modal input,.modal select,.modal textarea{border:1px solid var(--border);width:100%;transition:border-color var(--transition);border-radius:8px;outline:none;padding:10px 12px;font-size:13px}.modal textarea{resize:vertical;min-height:96px;line-height:1.5}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#3b82f6}.modal input::placeholder,.modal textarea::placeholder{color:var(--light)}.support-field{flex-direction:column;gap:4px;display:flex}.support-field-label{color:var(--muted);font-size:11px;font-weight:600}.support-modal-title{letter-spacing:-.01em;padding-right:24px;font-size:16px;font-weight:700}.support-sent{color:var(--text);padding:10px 0 4px;font-size:14px}.support-error{color:var(--red);font-size:12px;font-weight:500}.modal-row{gap:8px;display:flex}.modal-row input{flex:1}.modal-row select{width:160px}.repeat-x-row{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px}.end-date-row{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:16px;display:flex}.end-date-label{color:var(--text);white-space:nowrap;font-size:14px;font-weight:500}.end-date-btn{border:2px solid var(--border);background:var(--card);color:var(--muted);text-align:left;cursor:pointer;border-radius:8px;flex:1;padding:10px 14px;font-size:14px;transition:all .15s}.end-date-btn:hover{border-color:var(--primary)}.end-date-btn.has-date{color:var(--text);font-weight:600}.end-date-clear{background:var(--error-light,#fee2e2);width:28px;height:28px;color:var(--error,#dc2626);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:700;transition:all .15s;display:flex}.end-date-clear:hover{background:var(--error,#dc2626);color:#fff}.recurrence-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.repeat-toggle-row{background:var(--bg);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.repeat-toggle-label{color:var(--text);font-size:12px;font-weight:500}.recurrence-options-inner{border-top:1px solid var(--border)}.toggle-switch{cursor:pointer;background:#d1d5db;border:none;border-radius:15px;flex-shrink:0;width:52px;height:30px;padding:0;transition:background .2s;position:relative}.toggle-switch.active{background:#3b82f6}.toggle-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #00000040}.toggle-switch.active .toggle-knob{transform:translate(22px)}.recurrence-options,.recurrence-options-inner{flex-direction:column;gap:0;display:flex}.recurrence-option-row{background:var(--bg);flex-wrap:nowrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.recurrence-option-row:not(:last-child){border-bottom:1px solid var(--border)}.option-label{color:var(--text);min-width:40px;font-size:14px;font-weight:500}.option-input{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:8px;flex:0 0 60px;width:60px;min-width:60px;max-width:60px;padding:10px 8px;font-size:14px;font-weight:600}.option-input:focus{border-color:var(--primary);outline:none}.option-suffix{color:var(--text);font-size:14px}.option-select{border:1px solid var(--border);background:var(--card);min-width:100px;color:var(--text);cursor:pointer;appearance:menulist;border-radius:8px;flex:auto;padding:10px 12px;font-size:14px}.option-select:focus{border-color:var(--primary);outline:none}.option-btn{border:1px solid var(--border);background:var(--card);color:var(--muted);text-align:left;cursor:pointer;border-radius:8px;flex:1;padding:10px 12px;font-size:14px;transition:all .15s}.option-btn:hover{border-color:var(--primary)}.option-btn.has-value{color:var(--text);font-weight:500}.option-clear{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:18px;transition:all .15s;display:flex}.option-clear:hover{background:var(--error-light,#fee2e2);color:var(--error,#dc2626)}.repeat-interval-select{flex:1}.repeat-count-wrapper{align-items:center;gap:6px;display:flex}.repeat-count-label{color:var(--muted);font-size:16px;font-weight:500}.repeat-count-input{text-align:center;-moz-appearance:textfield;font-weight:500;width:60px!important}.repeat-count-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.repeat-count-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.repeat-count-suffix{color:var(--muted);font-size:12px}.date-picker-btn{border:1px solid var(--border);background:var(--card);text-align:left;cursor:pointer;flex:1;padding:12px}.date-picker-btn:hover{border-color:var(--muted)}.datepicker-overlay{z-index:200;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.datepicker{background:var(--card);border-radius:8px;min-width:280px;padding:16px;box-shadow:0 10px 40px #0003}.datepicker-header{justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:500;display:flex}.datepicker-header button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:4px 12px;font-size:18px}.datepicker-header button:hover{color:var(--text)}.datepicker-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.datepicker-weekdays span{text-align:center;color:var(--muted);padding:4px;font-size:11px}.datepicker-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.datepicker-days .empty{padding:8px}.datepicker-days .day{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px;font-size:13px}.datepicker-days .day:hover{background:var(--bg)}.datepicker-days .day.today{color:var(--green);font-weight:600}.datepicker-days .day.selected{background:var(--text);color:#fff}.datepicker-days .day.selected.today{color:#fff}.modal-actions{gap:8px;margin-top:4px;display:flex}.modal-delete{border:2px solid var(--border);color:var(--muted);transition:all var(--transition);background:0 0;border-radius:8px;padding:10px 16px;font-size:15px;font-weight:500}.modal-delete:hover{border-color:var(--red);color:var(--red);background:#fef2f2}.modal-delete-link{color:var(--red);cursor:pointer;text-underline-offset:2px;transition:opacity var(--transition);background:0 0;border:none;margin-top:4px;padding:6px 0;font-size:11px;text-decoration:underline}.modal-delete-link:hover{opacity:.7}.modal-delete-link:disabled{opacity:.5;cursor:not-allowed}.modal-save{background:var(--text);color:#fff;transition:background var(--transition);border:none;border-radius:0;flex:1;padding:10px 16px;font-size:15px;font-weight:600}.modal-save:hover:not(:disabled){background:#000}.modal-save:disabled,.modal-delete:disabled{opacity:.7;cursor:not-allowed}.modal-cancel{border:1px solid var(--border);color:var(--muted);transition:all var(--transition);background:0 0;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:500}.modal-cancel:hover{background:var(--bg);color:var(--text)}.alert-modal{text-align:center;max-width:320px}.alert-icon{margin-bottom:8px;font-size:48px}.modal-save.loading,.modal-delete.loading{position:relative}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:.8s infinite pulse}.app:has(.app-loading-wrap){justify-content:center;align-items:center;min-height:100dvh;display:flex}.app-loading-wrap{justify-content:center;align-items:center;display:flex}.app-loading-stack{flex-direction:column;align-items:center;gap:10px;display:flex}.app-loading-dots{gap:6px;display:inline-flex}.app-loading-dots span{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:.9s ease-in-out infinite appLoadingDot}.app-loading-dots span:nth-child(2){animation-delay:.12s}.app-loading-dots span:nth-child(3){animation-delay:.24s}@keyframes appLoadingDot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.app-loading-message{color:var(--muted);font-size:13px}.confirm-modal{text-align:center}.confirm-message{color:var(--muted);margin-bottom:16px;font-size:13px;line-height:1.5}.confirm-buttons{flex-direction:column;gap:8px;display:flex}.confirm-btn{border:1px solid var(--border);background:var(--bg);cursor:pointer;padding:12px 16px;font-size:13px}.confirm-btn:hover{background:var(--border)}.confirm-btn:first-child{background:var(--text);border-color:var(--text);color:#fff}.confirm-btn:first-child:hover{background:#000}.confirm-btn.cancel{color:var(--muted);background:0 0;border:none;padding:8px}.confirm-btn.cancel:hover{color:var(--text)}.error-banner{color:#a02020;background:#fff6f6;border:1px solid #f2c5c5;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.error-banner button{color:inherit;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px}.toast-stack{z-index:500;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-width:260px;max-width:360px;padding:14px 18px;font-weight:500;animation:.2s slideUp;display:flex;box-shadow:0 10px 40px #0003}.toast-success{background:var(--green)}.toast-error{background:var(--red)}.toast button{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;font-size:18px}.toast button:hover{opacity:1}.entries-page{background:var(--bg);min-height:100vh}.entries-page .container{max-width:100%}.entries-container{padding:0}.entries-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.entries-search-wrap{background:var(--card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;margin:0 0 14px;padding:8px 10px;display:flex;box-shadow:0 2px 10px #0f172a14}.entries-search-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:14px;font-weight:500}.entries-search-input::placeholder{color:var(--muted)}.entries-search-clear{color:var(--muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;line-height:1;display:inline-flex}.entries-search-clear:hover{background:var(--bg);color:var(--text)}.back-link{color:#1a73e8;text-underline-offset:2px;font-size:11px;text-decoration:underline}.back-link:hover{color:#1557b0}.entries-header h1{align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.info-tooltip-wrapper{align-items:center;display:inline-flex;position:relative}.info-icon{color:var(--muted);cursor:help;opacity:.6;font-size:14px;transition:opacity .15s}.info-icon:hover{opacity:1}.info-tooltip{background:var(--card);border:1px solid var(--border);color:var(--muted);opacity:0;visibility:hidden;z-index:100;pointer-events:none;border-radius:8px;width:280px;padding:12px 16px;font-size:13px;font-weight:400;line-height:1.5;transition:opacity .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001a}.info-tooltip-wrapper:hover .info-tooltip{opacity:1;visibility:visible}.info-tooltip.tooltip-open{opacity:1;visibility:visible;pointer-events:auto}.entries-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.entries-column{background:var(--card);border:1px solid var(--border)}.column-title{text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:10px 16px;font-size:10px;font-weight:500}.column-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px 8px 16px;display:flex}.column-header .column-title{border-bottom:none;padding:0}.column-title.income-title{color:var(--green)}.column-title.expense-title{color:var(--red)}.add-entry-btn{background:var(--bg);border:1px solid var(--border);cursor:pointer;width:24px;height:24px;transition:background var(--transition), color var(--transition), border-color var(--transition);color:var(--muted);border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:15px;font-weight:400;display:flex}.add-entry-btn:hover{background:var(--border);color:var(--text)}.add-entry-btn.income-btn:hover{color:var(--green);border-color:var(--green);background:#e8f5e9}.add-entry-btn.expense-btn:hover{color:var(--red);border-color:var(--red);background:#ffebee}.add-entry-form{background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex;position:relative}.add-entry-form input,.add-entry-form select{border:1px solid var(--border);background:var(--card);outline:none;padding:6px 8px;font-size:11px}.add-entry-form input[type=text]:not(.amount-input){flex:1;min-width:120px}.add-entry-form .amount-input{-moz-appearance:textfield;width:80px}.add-entry-form .amount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.add-entry-form .amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.add-entry-form .date-picker-btn{border:1px solid var(--border);background:var(--card);cursor:pointer;white-space:nowrap;padding:6px 8px;font-size:11px}.add-entry-form .date-picker-btn:hover{border-color:var(--muted)}.add-entry-form select{width:100px}.add-entry-form input:focus,.add-entry-form select:focus{border-color:var(--text)}.add-btn{background:var(--text);color:#fff;white-space:nowrap;border:none;padding:6px 12px;font-size:11px}.add-btn:hover{background:#000}.entries-list{max-height:calc(100vh - 200px);overflow-y:auto}.entry{border-bottom:1px solid var(--border);cursor:pointer;padding:8px 16px;position:relative}.entry:last-child{border-bottom:none}.entry.marked{background:#fffde7}.entry.marked:hover{background:#fff9c4}.entry-mark-btn{cursor:pointer;opacity:0;background:0 0;border:none;margin-left:auto;padding:0;transition:opacity .15s,transform .1s}.entry-mark-btn:before{content:"";background-color:#ffd54f;border-radius:50%;width:10px;height:10px;display:inline-block}.entry-mark-btn:hover{transform:scale(1.2)}.entry-mark-btn:hover:before{background-color:#ffca28}.entry-mark-btn.active{opacity:1}.entry-mark-btn.active:before{background-color:#ffc107}.entry:hover .entry-mark-btn{opacity:1}.entry-main{justify-content:space-between;margin-bottom:2px;font-size:12px;display:flex}.entry-name,.entry-amount{font-weight:500}.entry-meta{color:var(--muted);gap:8px;font-size:10px;display:flex}.entry-recurrence{align-items:center;gap:6px;display:inline-flex}.entry-next-date{color:var(--text);font-weight:600}.entry-next-date:after{content:"·";color:var(--light);margin-left:6px;font-weight:400}.entry .delete-btn{color:var(--light);opacity:0;background:0 0;border:none;padding:3px 6px;font-size:15px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.entry:hover .delete-btn{opacity:1}.entry .delete-btn:hover{color:var(--red)}.entry.editing{background:var(--bg);flex-direction:column;gap:6px;padding:10px 16px;display:flex}.entry.editing input,.entry.editing select{border:1px solid var(--border);outline:none;padding:6px 8px;font-size:11px}.entry.editing input:focus,.entry.editing select:focus{border-color:var(--text)}.entry-actions{gap:8px;display:flex}.save-btn{background:var(--green);color:#fff;border:none;padding:5px 12px;font-size:11px}.cancel-btn{border:1px solid var(--border);color:var(--muted);background:0 0;padding:5px 12px;font-size:11px}.empty{text-align:center;color:var(--muted);padding:20px 16px;font-size:11px}.admin-link{color:var(--muted);background:var(--bg);border:1px solid var(--border);transition:all var(--transition);border-radius:8px;padding:8px 14px;font-size:12px;font-weight:500;text-decoration:none}.admin-link:hover{color:var(--text);background:var(--border)}.admin-content{background:var(--card);border:1px solid var(--border);padding:24px}.admin-content h2{margin-bottom:20px;font-size:14px;font-weight:500}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px}.admin-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg);font-size:11px;font-weight:500}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg)}.admin-table .delete-btn{border:1px solid var(--red);color:var(--red);cursor:pointer;background:0 0;padding:6px 12px;font-size:11px}.admin-table .delete-btn:hover{background:var(--red);color:#fff}.admin-table .delete-btn:disabled{opacity:.5;cursor:not-allowed}.admin-table-wrap{-webkit-overflow-scrolling:touch;margin:0 -24px;overflow-x:auto}.admin-content-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}@media (max-width:600px){.admin-page .container{padding:0 12px 24px}.admin-page .admin-header{flex-wrap:wrap;gap:10px;padding:12px 0}.admin-page .admin-header .header-left{min-width:0}.admin-page .admin-header .header-right{flex-wrap:wrap;gap:8px}.admin-page .admin-header h1{font-size:1.1rem}.admin-page .admin-link{padding:8px 12px;font-size:11px}.admin-page .admin-content{padding:16px 12px}.admin-page .admin-content h2{margin-bottom:12px;font-size:13px}.admin-page .admin-content-top{flex-wrap:wrap;gap:10px}.admin-page .admin-content-top a{padding:6px 10px;font-size:11px}.admin-table-wrap{min-width:0;margin:0 -12px}.admin-table{min-width:480px}.admin-table th,.admin-table td{padding:8px 10px;font-size:12px}.admin-table th{font-size:10px}.admin-table .delete-btn{padding:6px 10px;font-size:10px}.admin-page .admin-table code{word-break:break-all}}@media (max-width:400px){.admin-page .admin-header{flex-direction:column;align-items:flex-start}}.balance-chart-row{flex-direction:column;display:flex}.balance-chart-row.kanban-layout{grid-template-columns:max-content minmax(0,1fr);align-items:stretch;gap:8px;margin-bottom:10px;display:grid}.balance-chart-row.kanban-layout .balance-card{border-radius:10px;flex-direction:column;flex:none;justify-content:center;margin-bottom:0;padding:10px 16px;display:flex}.balance-chart-row.kanban-layout .balance-card-header{margin-bottom:4px}.balance-chart-row.kanban-layout .balance-display{gap:6px;font-size:1.3rem}.balance-chart-row.kanban-layout .balance-input{width:140px;font-size:1.3rem}.balance-chart-row.kanban-layout .balance-card-label{font-size:8px}.balance-chart-row.kanban-layout .balance-forecast-summary{flex-direction:column;gap:4px;margin-top:6px;position:static}.balance-chart-row.kanban-layout .balance-forecast-row{border-radius:8px;flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 8px;font-size:10px}.balance-chart-row.kanban-layout .balance-forecast-lowest.warning .negative{font-size:11px;font-weight:700}.balance-chart-row.kanban-layout .balance-forecast-date{font-size:9px}.balance-chart-row.kanban-layout .balance-helper{width:16px;height:16px;font-size:10px}.balance-chart-row.kanban-layout .balance-card-icon-btn{width:26px;height:26px}.balance-chart-row.kanban-layout .chart-card{border-radius:10px;grid-column:2;max-width:656px;margin-bottom:0;padding:8px 12px 6px}.balance-chart-row.kanban-layout .bank-editor-card{grid-column:2;width:100%;max-width:656px;margin-bottom:0}@media (min-width:1100px){.balance-chart-row.kanban-layout{grid-template-columns:260px 656px;justify-content:flex-start}.balance-chart-row.kanban-layout .balance-card{width:260px}.balance-chart-row.kanban-layout .chart-card,.balance-chart-row.kanban-layout .bank-editor-card{width:656px;max-width:656px}}.balance-chart-row.kanban-layout .chart-card .sparkline{display:block}.balance-chart-row.kanban-layout .chart-card-dates{margin-top:4px;font-size:10px}.balance-chart-row.kanban-layout .chart-card-stats{margin-top:4px;padding-top:4px}.balance-chart-row.kanban-layout .chart-stat-label{font-size:7px}.balance-chart-row.kanban-layout .chart-stat-value{font-size:9px}.view-toggle{background:var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.view-toggle-btn{cursor:pointer;width:32px;height:28px;color:var(--muted);transition:all var(--transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 2px #00000014}.view-toggle-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.calendar-view{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:8px;padding:16px;box-shadow:0 1px 2px #0f172a0a,0 2px 8px #0f172a0d}.calendar-view-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.calendar-view-title{letter-spacing:-.03em;color:var(--text);font-size:36px;font-weight:500}.calendar-view-nav{align-items:center;gap:8px;display:inline-flex}.calendar-nav-btn{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--text);transition:background var(--transition), color var(--transition), border-color var(--transition);border-radius:10px;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.calendar-nav-btn:hover{background:var(--card);border-color:#cbd5e1}.calendar-nav-btn:disabled{opacity:.4;cursor:not-allowed}.calendar-today-btn{border:1px solid var(--border);background:var(--card);height:34px;color:var(--text);transition:background var(--transition), border-color var(--transition);border-radius:10px;padding:0 12px;font-size:13px;font-weight:600}.calendar-today-btn:hover{background:var(--bg);border-color:#cbd5e1}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.calendar-weekdays span{letter-spacing:.04em;color:var(--muted);text-align:left;padding:0 4px;font-size:12px;font-weight:500}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-day{border:1px solid var(--border);text-align:left;min-height:86px;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:10px 10px 8px;display:flex}.calendar-day:hover:not(:disabled){border-color:#cbd5e1;box-shadow:0 1px 6px #0f172a14}.calendar-day:disabled{cursor:default}.calendar-day-disabled{background:#f8fafc;border-color:#e2e8f0}.calendar-day-disabled .calendar-day-number,.calendar-day-disabled .calendar-day-amount{color:var(--light)}.calendar-day-outside{color:var(--light);background:#f8fafc}.calendar-day-number{color:var(--text);font-size:20px;line-height:1}.calendar-day-outside .calendar-day-number{color:var(--light)}.calendar-day-amount{letter-spacing:-.01em;font-size:18px}.calendar-day-amount.positive{color:var(--green)}.calendar-day-amount.negative{color:var(--red)}.calendar-day-amount-today{font-weight:600}.calendar-day-dots{align-items:center;gap:4px;display:inline-flex}.calendar-dot{border-radius:50%;width:6px;height:6px}.calendar-dot-marked{background:#f59e0b}.calendar-dot-income{background:var(--green)}.calendar-dot-expense{background:var(--red)}.calendar-day-today{background:#fffaf0;border-color:#d97706;box-shadow:inset 0 0 0 1px #d9770640}.calendar-day-modal{max-width:420px}.calendar-day-events{flex-direction:column;gap:6px;display:flex}.calendar-day-event{border:1px solid var(--border);background:var(--bg);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.calendar-day-event:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.calendar-day-event:disabled{cursor:default}.calendar-day-event-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.calendar-day-event-amount{flex-shrink:0;font-size:13px;font-weight:600}.calendar-day-event.income .calendar-day-event-amount{color:var(--green)}.calendar-day-event.expense .calendar-day-event-amount{color:var(--red)}.calendar-day-empty{color:var(--muted);text-align:center;margin:4px 0 8px;font-size:13px}.kanban-board{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;align-items:stretch;gap:8px;padding:4px 0 16px;display:flex;overflow-x:auto}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-track{background:0 0}.kanban-board::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.kanban-column{scroll-snap-align:start;background:#ebecf0;border-radius:12px;flex-direction:column;flex:0 0 300px;align-self:flex-start;min-width:300px;padding:8px;display:flex}.kanban-column-header{justify-content:space-between;align-items:center;padding:2px 6px 4px;display:flex}.kanban-column-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;overflow:hidden}.kanban-column-count{color:var(--muted);background:#00000014;border-radius:10px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600}.kanban-column-body{flex-direction:column;gap:4px;display:flex}.kanban-day{background:var(--card);transition:box-shadow var(--transition), transform var(--transition);cursor:default;border-radius:7px;padding:5px 8px;box-shadow:0 1px 1px #00000014,0 0 0 1px #0000000a}.kanban-day:hover{box-shadow:0 2px 4px #0000001f,0 0 0 1px #0000000f}.kanban-day.drag-over{box-shadow:0 0 0 2px #2684ff}.kanban-day-today{box-shadow:0 0 0 2px var(--green), 0 1px 2px #00000014}.kanban-day-today:hover{box-shadow:0 0 0 2px var(--green), 0 2px 4px #0000001f}.kanban-day-empty{opacity:.4;padding:3px 8px}.kanban-day-empty .kanban-day-header{margin-bottom:0}.kanban-day-empty .kanban-day-eod{display:none}.kanban-day-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.kanban-day-date{color:#5e6c84;align-items:center;font-size:9px;font-weight:600;display:flex}.kanban-day-add{color:var(--light);cursor:pointer;width:18px;height:18px;transition:all var(--transition);opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;font-weight:300;display:flex}.kanban-day:hover .kanban-day-add{opacity:1}.kanban-day-add:hover{color:var(--text);background:#0000000f}.kanban-item{cursor:pointer;transition:background var(--transition);border-radius:4px;align-items:center;gap:3px;max-width:fit-content;margin:0 -4px;padding:2px 4px;font-size:10px;display:flex;position:relative}.kanban-item:hover{background:#f4f5f7}.kanban-item{padding-right:118px}.kanban-item .item-toolbar{z-index:1000;box-shadow:none;background:0 0;border:none;gap:2px;margin-left:0;padding:0;top:50%;left:auto;right:4px;transform:translateY(-50%)}.kanban-item .item-toolbar:before{display:none}.kanban-item .toolbar-btn:after{top:-26px;bottom:auto}.kanban-item:hover{z-index:1000}.kanban-item:has(.item-toolbar:hover){z-index:1000}.kanban-item:hover .item-toolbar,.kanban-item .item-toolbar:hover{opacity:1;visibility:visible;transition:opacity .15s,visibility}.kanban-item.marked{background:#fff9c4}.kanban-item.income{color:var(--green)}.kanban-item.expense{color:var(--red)}.kanban-item.fulfilled{opacity:.45}.kanban-item.fulfilled:hover{opacity:1}.kanban-item.fulfilled:has(.item-toolbar:hover){opacity:1}.kanban-item-history{opacity:.7}.kanban-item-history:hover{opacity:.85}.kanban-item-amount{flex-shrink:0;font-size:9px;font-weight:700}.kanban-item-recurring{color:#c77800;flex-shrink:0;font-size:8px}.kanban-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:400;overflow:hidden}.kanban-day-eod{text-align:right;color:var(--muted);border-top:1px solid #0000000f;margin-top:3px;padding-top:3px;font-size:9px}.kanban-column-history{opacity:.7;background:#f5f0dc;align-self:stretch}.kanban-column-history:hover{opacity:.85}.kanban-column-history-collapsed{border-radius:0 10px 10px 0;flex:0 0 24px;min-width:24px;max-width:24px;padding:0}.kanban-column-history-collapsed .kanban-column-body,.kanban-column-history-collapsed .kanban-column-title{display:none}.kanban-column-history-collapsed .kanban-column-header{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px 0;display:flex}.kanban-column-history-collapsed .kanban-history-expand-btn{color:#7c6a2a;background:0 0;border-radius:0 8px 8px 0;width:100%;height:100%;min-height:80px;font-size:18px}.kanban-history-expand-btn{cursor:pointer;width:28px;height:28px;color:inherit;background:#0000000f;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:background .12s;display:flex}.kanban-history-expand-btn:hover{background:#0000001f}.kanban-column-history:not(.kanban-column-history-collapsed) .kanban-column-header{flex-wrap:wrap}.kanban-column-history:not(.kanban-column-history-collapsed) .kanban-history-expand-btn{margin-left:auto}.kanban-column-current-week{background:#22c55e14}.kanban-history-header{color:#7c6a2a}.kanban-day-history{background:#fffef5;box-shadow:0 1px 1px #0000000f}@media (max-width:600px){.view-toggle{display:none}.calendar-view{border-radius:12px;padding:12px}.calendar-view-title{font-size:24px}.calendar-weekdays span{font-size:10px}.calendar-grid{gap:6px}.calendar-day{border-radius:8px;min-height:68px;padding:8px 8px 6px}.calendar-day-number{font-size:16px}.calendar-day-amount{font-size:13px}}.container:has(.kanban-board){max-width:100%;padding:0 24px 32px}@media (max-width:800px){.entries-grid{grid-template-columns:1fr;gap:24px}.entries-container{padding:0}}@media (max-width:600px){.container{padding:0 12px 24px}.header{padding:12px 0}.balance-card{padding:16px 20px}.balance-display{font-size:2rem}.balance-input{width:180px;font-size:2rem}.chart-card{padding:16px 20px 12px}.chart-card-stats{gap:4px}.chart-stat-label{font-size:10px}.chart-stat-value{font-size:12px}.bank-updated-at{flex-basis:64px;font-size:10px}.day-card-header{padding:8px 12px 0}.day-card-date-text{font-size:11px}.day-card-body{padding:2px 8px}.day-card-footer{padding:2px 12px 8px;font-size:10px}.item{gap:4px;padding:4px 5px;font-size:11px}.item.once{font-size:11px}.history-bar{padding:12px 16px;font-size:14px}.months-ahead-control{gap:6px;padding:10px 14px}.months-ahead-label,.months-ahead-value{font-size:11px}.months-ahead-btn{width:22px;height:22px;font-size:14px}.mobile-toolbar-toggle{display:none}.item-toolbar{opacity:0;visibility:hidden;pointer-events:none;z-index:1000;background:var(--card);border:1px solid var(--border);border-radius:20px;margin-top:4px;padding:4px;transition:opacity .12s,visibility 0s .12s;position:absolute;top:100%;left:50%;right:auto;transform:translate(-50%);box-shadow:0 4px 16px #0000002e}.item-toolbar:before{content:"";height:10px;position:absolute;top:-8px;left:0;right:0}.item-toolbar.mobile-open{transition:opacity .12s,visibility;opacity:1!important;visibility:visible!important;pointer-events:auto!important}.item.mobile-toolbar-open{z-index:40}.item:hover .item-toolbar:not(.mobile-open),.item-toolbar:hover:not(.mobile-open){opacity:0;visibility:hidden;pointer-events:none}.item:hover>span,.item:hover>.recurring-icon,.item:hover>.fulfilled-icon,.item.fulfilled:hover>span,.item.fulfilled:hover>.recurring-icon,.item.fulfilled:hover>.fulfilled-icon{opacity:inherit}.toolbar-btn{width:28px;height:28px;font-size:11px}.toolbar-btn:after{display:none}.toolbar-btn-close{color:var(--light);font-size:14px;font-weight:500;display:flex}.entry-modal-overlay{padding-top:max(10px, env(safe-area-inset-top));align-items:flex-start;padding-bottom:10px}.modal{width:calc(100vw - 24px);max-width:400px;padding:20px}.entry-modal{max-height:calc(100vh - max(20px, env(safe-area-inset-top)) - 20px);margin-top:0;overflow-y:auto}.recurrence-option-row{gap:10px;padding:12px 14px}.repeat-toggle-row{padding:10px 14px}.repeat-x-row{flex-wrap:wrap;padding:10px}.repeat-interval-select{margin-bottom:8px;width:100%!important}.repeat-count-wrapper{justify-content:center;width:100%}.modal-date{font-size:14px}.type-btn{width:32px;height:32px;font-size:16px}.modal input,.modal select{padding:12px 10px;font-size:16px}.amount-row .amount-input{padding:10px;font-size:18px}.amount-row .currency{font-size:14px}.date-picker-btn{padding:12px 10px;font-size:13px}.modal-row select{width:110px;font-size:13px}.modal-actions{flex-direction:column}.modal-save,.modal-delete{padding:12px}.datepicker{width:calc(100vw - 32px);max-width:320px}.datepicker-days .day{padding:10px 6px;font-size:14px}.entries-container{padding:0}.add-entry-form{flex-wrap:wrap}.add-entry-form input:first-child{width:100%}}@media (max-width:380px){.container{padding:0 8px 20px}.balance-display{font-size:1.8rem}.balance-input{width:160px;font-size:1.8rem}.item,.item .amount,.day-card-date-text{font-size:10px}.balance-helper-wrap:hover .balance-helper-tooltip:not(.tooltip-open),.info-tooltip-wrapper:hover .info-tooltip:not(.tooltip-open){opacity:0;visibility:hidden}}:root{--bg:#f5f5f7;--card:#fff;--border:#3c3c431a;--text:#1d1d1f;--muted:#6e6e73;--light:#aeaeb2;--green:#248a3d;--red:#c7372f;--transition:.15s ease}body{background:var(--bg);letter-spacing:-.005em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Inter,Helvetica Neue,sans-serif}.container{max-width:1080px;padding:0 24px 32px}.header{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#f5f5f7b8;border-bottom:.5px solid #0000;margin-bottom:14px;padding:12px 0;position:sticky;top:0}.workspace-dropdown-trigger{border:.5px solid var(--border);background:var(--card);border-radius:8px;padding:6px 12px;font-weight:500;box-shadow:0 1px 1px #00000005}.workspace-dropdown-trigger:hover{background:var(--card);border-color:#3c3c432e}.view-toggle{background:#7676801f;border-radius:9px}.view-toggle-btn{border-radius:7px;width:34px;height:28px}.view-toggle-btn.active{box-shadow:0 3px 8px #0000000f,0 1px 2px #0000000a}.header-icon-btn{color:#2c2c2e;border-radius:8px}.header-icon-btn:hover,.header-icon-btn.active{background:#3c3c4314}.balance-card,.chart-card,.day-card,.calendar-view,.entries-column,.bank-editor-card{border:.5px solid var(--border);border-radius:14px;box-shadow:0 1px 2px #00000008,0 0 0 .5px #00000005}.balance-card-label{text-transform:none;letter-spacing:-.005em;font-size:11px;font-weight:500}.balance-display,.balance-input{letter-spacing:-.02em;font-size:28px;font-weight:600}.chart-card-dates{font-size:10px}.chart-card-stats{border-top:.5px solid var(--border);margin-top:8px;padding-top:8px}.chart-stat-label{font-size:9px;font-weight:500}.chart-stat-value{font-size:11px;font-weight:500}.history-section-open{box-shadow:none;background:#fff8e0;border:.5px solid #b48c002e}.history-bar,.history-section-open .history-bar{color:#8a6a00;background:0 0}.history-bar:hover,.history-section-open .history-bar:hover{background:#fff3c2}.day-card{border-radius:12px}.day-card-today{background:linear-gradient(180deg, #30d1580a, var(--card) 60%);box-shadow:0 0 0 1.5px #30d15873,0 1px 2px #00000008}.today-badge{color:var(--green);background:#30d1581a;border-radius:999px;font-weight:590}.day-card-add,.kanban-day-add,.add-entry-btn{border-radius:6px}.item,.kanban-item{border-radius:5px}.item.income,.kanban-item.income,.calendar-day-event.income .calendar-day-event-amount,.column-title.income-title{color:var(--green)}.item.expense,.kanban-item.expense,.calendar-day-event.expense .calendar-day-event-amount,.column-title.expense-title{color:var(--red)}.eod-label,.entry-meta{color:var(--muted)}.calendar-view{padding:18px 20px}.calendar-view-title{letter-spacing:-.02em;font-size:22px;font-weight:680}.calendar-weekdays{border-top:.5px solid var(--border);margin-top:8px;padding-top:8px}.calendar-grid{border-top:.5px solid var(--border);border-left:.5px solid var(--border);border-radius:10px;gap:0;overflow:hidden}.calendar-day{border:none;border-right:.5px solid var(--border);border-bottom:.5px solid var(--border);min-height:82px;box-shadow:none;border-radius:0}.calendar-day:hover:not(:disabled){box-shadow:none;background:#fbfbfd;border-color:#0000}.calendar-day-outside{background:#fbfbfd}.calendar-day-today{background:linear-gradient(#fff8e0,#fffce8);box-shadow:inset 0 0 0 1.5px #e9c200}.calendar-day-number{font-size:13px;font-weight:590}.calendar-day-amount{font-size:12.5px;font-weight:590}.kanban-board{gap:10px}.kanban-column{border:.5px solid var(--border);background:var(--card);box-shadow:0 1px 2px #00000005}.kanban-column-current-week{background:linear-gradient(#30d1580f,#30d15805);border-color:#30d15873}.kanban-column-history{background:#fff8e0}.kanban-day{border:.5px solid var(--border);box-shadow:none;border-radius:9px}.kanban-day-today{background:linear-gradient(#30d1580a,#fff 60%);box-shadow:0 0 0 1.5px #30d15873}.entries-grid{gap:10px}.entries-column{overflow:hidden}.entry{border-bottom:.5px solid var(--border);padding:10px 16px}.entry:hover{background:#fbfbfd}.entry.marked,.entry.marked:hover,.item.marked,.kanban-item.marked{background:#fff8e0!important}.column-header{border-bottom:.5px solid var(--border);padding:12px 16px}.add-entry-btn{border:.5px solid var(--border);background:var(--card)}.entries-list{max-height:calc(100vh - 220px)}.tagline-footer{color:var(--muted);font-size:11px}.admin-footer-link{color:var(--muted);opacity:.75}.app-content-narrow,.app-content-wide,.entries-page .container{transition:max-width .2s}.app-content-narrow{max-width:820px}.app-content-wide{max-width:980px;margin:0 auto}.kanban-board{scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding-left:8px}.kanban-column{scroll-snap-align:start;scroll-snap-stop:always}@keyframes insideFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.day-card,.calendar-view,.entries-column,.kanban-column{animation:.2s both insideFadeIn}.app-content-wide:has(.kanban-board){width:100%;max-width:none}.container:has(.kanban-board){max-width:100%}.kanban-board{gap:10px;width:100%;padding:0 0 12px}.kanban-column{border-radius:12px;flex:0 0 280px;min-width:280px;padding:10px}.kanban-column-title{letter-spacing:-.005em;font-size:13px;font-weight:590}.kanban-column-body{gap:6px}.kanban-day{padding:8px 10px 6px}.kanban-day-date{color:var(--text);font-size:12px;font-weight:590}.kanban-day-add,.day-card-add{width:24px;height:24px;color:var(--light);opacity:1;background:0 0;border-radius:6px}.kanban-day-add:hover,.day-card-add:hover{color:#2c2c2e;background:#3c3c4314}.kanban-item{border-radius:5px;gap:4px;margin:0;padding:1px 0;font-size:11.5px}.kanban-item-recurring,.recurring-icon{color:var(--light)}.kanban-item-recurring{font-size:11px}.add-entry-btn{border-radius:6px;width:22px;height:22px}.app>.container,.entries-page .container{max-width:100%}.entries-page .container{max-width:100%;margin:0}.app-content-narrow,.app-content-wide,.entries-container{margin-left:auto;margin-right:auto}.entries-container{max-width:100%}.header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:56px;display:grid}.header-left{justify-self:start;min-width:0}.header-right-icons{justify-content:flex-end;justify-self:end;min-width:0}.view-toggle{justify-self:center;min-width:144px}.view-toggle-btn{transition:transform .12s ease, background var(--transition), color var(--transition), box-shadow var(--transition)}.view-toggle-btn:active{transform:scale(.96)}@keyframes insideTogglePop{0%{transform:scale(.96)}to{transform:scale(1)}}.view-toggle-btn.active{animation:.16s insideTogglePop}.app-content-narrow,.app-content-wide{transition:max-width .2s,opacity .16s,transform .16s}.app-content-narrow.view-transitioning,.app-content-wide.view-transitioning{opacity:.72;transform:translateY(3px)}.entries-container,.app>.container{animation:.18s both insideFadeIn}.entries-header,.entries-grid,.entries-page .app-search-panel,.entries-page .tagline-footer{max-width:1080px;margin-left:auto;margin-right:auto}.entries-page .header{width:100%;max-width:none}.kanban-column-history-collapsed{min-width:28px;max-width:28px;box-shadow:none;background:0 0;border:0;flex:0 0 28px;align-self:flex-start;padding:0}.kanban-column-history-collapsed .kanban-column-header{min-height:0;padding:0}.kanban-column-history-collapsed .kanban-history-expand-btn{color:#8a6a00;background:#fff8e0;border:.5px solid #b48c002e;border-left:0;border-radius:0 8px 8px 0;width:24px;height:32px;min-height:32px;font-size:14px}.kanban-column-history-collapsed .kanban-history-expand-btn:hover{background:#fff3c2}.header-icon-btn.mcp-connected{color:var(--green)}.mcp-modal{width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto}.mcp-modal-header{align-items:center;gap:10px;display:flex}.mcp-modal-header .modal-title{margin-bottom:0;font-size:16px;font-weight:600}.mcp-modal-icon{background:var(--bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.mcp-modal-icon svg{width:20px;height:20px;stroke:var(--text);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.mcp-access{flex-direction:column;gap:14px;display:flex}.mcp-status{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.mcp-status-dot{background:var(--light);border-radius:50%;width:9px;height:9px}.mcp-status.connected{color:var(--green)}.mcp-status.connected .mcp-status-dot{background:var(--green);box-shadow:0 0 0 3px #10b9812e}.mcp-hint{color:var(--muted);font-size:13px;line-height:1.55}.mcp-url-box{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.mcp-url-box code{word-break:break-all;color:var(--text);flex:1;font-size:12.5px}.mcp-copy-btn{color:#fff;white-space:nowrap;transition:background var(--transition);background:#3b82f6;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.mcp-copy-btn:hover{background:#2563eb}.mcp-steps{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:13px;line-height:1.5;display:flex}.mcp-steps a{color:#3b82f6}.mcp-examples{flex-direction:column;gap:6px;display:flex}.mcp-examples-title{text-transform:uppercase;letter-spacing:.04em;color:var(--light);margin-bottom:2px;font-size:12px;font-weight:600}.mcp-example{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.4}.mcp-connections{border-top:1px solid var(--border);padding-top:12px}.mcp-connections-title{text-transform:uppercase;letter-spacing:.04em;color:var(--light);margin-bottom:4px;font-size:12px;font-weight:600}.mcp-empty{color:var(--light);padding:6px 0;font-size:13px}.mcp-connection-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.mcp-connection-row:last-child{border-bottom:none}.mcp-connection-info{flex-direction:column;gap:2px;min-width:0;display:flex}.mcp-connection-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.mcp-connection-meta{color:var(--light);font-size:12px}.mcp-disconnect-btn{border:1px solid var(--border);color:var(--muted);transition:all var(--transition);background:0 0;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500}.mcp-disconnect-btn:hover{border-color:var(--red);color:var(--red)}.mcp-disconnect-btn:disabled{opacity:.6;cursor:not-allowed}.mcp-error{color:var(--red);font-size:13px}.mcp-page{max-width:560px;margin:0 auto;padding:48px 20px}.mcp-page h1{margin-bottom:6px;font-size:22px}.mcp-page-sub{color:var(--muted);margin-bottom:20px;font-size:13.5px}.mcp-page-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 1px 2px #0000000a}.mcp-back-link{color:var(--muted);margin-bottom:14px;font-size:13px;text-decoration:none;display:inline-block}.mcp-back-link:hover{color:var(--text)}.mcp-tip-anchor{position:relative}.mcp-tip{color:#78350f;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:5;background:#fbbf24;border-radius:7px;padding:2px 7px;font-size:9px;font-weight:800;animation:.25s mcpTipPop;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%)}.mcp-tip:before{content:"";border:4px solid #0000;border-bottom-color:#fbbf24;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}@keyframes mcpTipPop{0%{opacity:0;transform:translate(-50%)translateY(3px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.mcp-examples-list{scrollbar-width:thin;flex-direction:column;gap:6px;max-height:185px;padding-right:4px;display:flex;overflow-y:auto}.mcp-examples-list::-webkit-scrollbar{width:5px}.mcp-examples-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.logs-heading{margin:8px 0 12px;font-size:17px;font-weight:700}.logs-empty{color:var(--muted);text-align:center;padding:40px 16px;font-size:14px}.logs-list{flex-direction:column;gap:18px;display:flex}.logs-day{flex-direction:column;display:flex}.logs-day-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--light);padding:4px 0 8px;font-size:11px;font-weight:700}.logs-day-today{background:#10b9810f;border:1px solid #10b98140;border-radius:12px;padding:4px 12px 8px}.logs-day-today .logs-day-heading{color:var(--green)}.logs-row{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:7px 0;font-size:13.5px;display:flex}.logs-row:last-child{border-bottom:none}.logs-time{width:46px;color:var(--light);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px}.logs-source{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.4}.logs-source-user{background:var(--border);color:var(--muted)}.logs-source-mcp{color:#6d28d9;background:#ede9fe}.logs-summary{color:var(--text);line-height:1.4}.logs-workspace{color:var(--light)}.admin-inactive-section{margin-top:36px}.admin-inactive-heading{color:var(--muted);align-items:center;gap:8px;margin:0 0 12px;font-size:15px;display:flex}.admin-inactive-heading:before{content:"";background:var(--light);border-radius:50%;width:8px;height:8px}.app-content-main{display:contents}.subscriptions-panel{background:var(--card);border:1px solid #e2e8f0b3;border-radius:16px;flex-direction:column;gap:10px;margin-top:16px;padding:16px;display:flex;box-shadow:0 1px 2px #0f172a0a,0 6px 16px #0f172a0d}.balance-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.subscriptions-link{color:var(--primary,#4a7bf7);cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;align-items:center;gap:5px;padding:2px 0;font-size:13px;display:inline-flex}.subscriptions-link:hover{opacity:.7}.subscriptions-link-value{font-variant-numeric:tabular-nums;white-space:nowrap}.subscriptions-link-chevron{transition:transform var(--transition);display:inline-block}.subscriptions-link.is-open .subscriptions-link-chevron{transform:rotate(90deg)}@media (min-width:1160px){.app-content-narrow.with-subscriptions{align-items:flex-start;gap:24px;max-width:1480px;display:flex}.app-content-narrow.with-subscriptions>.app-content-main{z-index:1;flex:auto;min-width:460px;max-width:820px;margin:0 auto;display:block;position:relative}.app-content-narrow.with-subscriptions:has(.subscriptions-panel.has-categories){max-width:1766px}.app-content-narrow.with-subscriptions>.subscriptions-panel.has-categories{flex-basis:922px;max-width:922px}.app-content-narrow.with-subscriptions>.subscriptions-panel{background:var(--card);border:1px solid #e2e8f0b3;border-radius:16px;flex-direction:column;flex:0 636px;align-self:flex-start;gap:10px;width:auto;min-width:334px;max-width:636px;margin-top:0;padding:16px;display:flex;box-shadow:0 1px 2px #0f172a0a,0 6px 16px #0f172a0d}}.subscriptions-columns,.subscriptions-column{flex-direction:column;gap:10px;min-width:0;display:flex}.subscriptions-column-other,.subscriptions-add-category,.subscriptions-drag-hint{display:none}.subscriptions-column-title{letter-spacing:.05em;text-transform:uppercase;min-height:20px;color:var(--light);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.subscriptions-column-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.subscriptions-column-total{letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--light);flex:none;font-weight:600}.subscriptions-column-name.editable{cursor:text}.subscriptions-column-name.editable:hover{color:var(--text)}.subscriptions-category-name-input{border:none;border-bottom:1px solid var(--primary,#4a7bf7);min-width:0;color:var(--text);letter-spacing:.05em;text-transform:uppercase;background:0 0;outline:none;flex:1;padding:0 0 2px;font-size:11px;font-weight:700}.subscriptions-category-delete{color:var(--light);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:14px;line-height:1}.subscriptions-category-delete:hover{color:var(--red)}@media (min-width:1160px){.subscriptions-columns{flex-flow:wrap;align-items:flex-start;gap:16px}.subscriptions-column{border-radius:12px;flex:0 0 270px;width:270px}.subscriptions-column.drag-over{outline:2px dashed var(--primary,#4a7bf7);outline-offset:4px}.subscriptions-column-other{display:flex}.subscriptions-add-category{border:1px dashed var(--border);width:32px;height:32px;color:var(--light);cursor:pointer;background:0 0;border-radius:10px;flex:0 0 32px;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.subscriptions-add-category:hover{color:var(--primary,#4a7bf7);border-color:var(--primary,#4a7bf7)}.subscriptions-drag-hint{color:var(--light);margin:2px 0 0;font-size:11px;display:block}.subscription-row[draggable=true]{cursor:grab}}.subscriptions-panel-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.subscriptions-panel-header-slim{justify-content:flex-end;align-items:center;margin-bottom:-6px}.subscriptions-yearly-toggle{color:var(--light);align-items:center;gap:8px;margin-right:auto;font-size:12px;font-weight:600;display:flex}.subscriptions-yearly-toggle .toggle-switch{border-radius:10px;width:36px;height:20px}.subscriptions-yearly-toggle .toggle-knob{width:16px;height:16px;top:2px;left:2px}.subscriptions-yearly-toggle .toggle-switch.active .toggle-knob{transform:translate(16px)}.subscriptions-panel-title{letter-spacing:-.01em;font-size:14px;font-weight:700}.subscriptions-panel-close{color:var(--light);background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:18px;line-height:1}.subscriptions-panel-close:hover{color:var(--text)}.subscriptions-total{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.subscriptions-empty{color:var(--muted);font-size:12px;line-height:1.5}.subscriptions-list{flex-direction:column;display:flex}.subscription-row{cursor:pointer;transition:background var(--transition);border-radius:10px;margin:0 -8px;padding:8px 22px 8px 8px;position:relative}.subscription-row:hover{background:var(--bg)}.subscription-row+.subscription-row{border-top:1px solid #e2e8f099}.subscription-row-main{justify-content:space-between;align-items:center;gap:8px;display:flex}.subscription-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.subscription-amount{color:var(--red);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.subscription-row-sub{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:2px;font-size:11px;display:flex}.subscription-delete{width:18px;height:18px;color:var(--light);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;line-height:1;display:none;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.subscription-row:hover .subscription-delete{display:flex}.subscription-delete:hover{background:var(--border);color:var(--red)}.subscriptions-add-btn{border:1px dashed var(--border);color:var(--muted);text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600}.subscriptions-add-btn:hover{background:var(--bg);color:var(--text)}.subscription-add-form{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.subscription-add-form input,.subscription-add-form select{border:1px solid var(--border);background:var(--card);border-radius:8px;outline:none;width:100%;padding:8px 10px;font-size:13px}.subscription-add-form input:focus,.subscription-add-form select:focus{border-color:#3b82f6}.subscription-form-row{gap:8px;display:flex}.subscription-amount-input{flex:1;min-width:0;position:relative}.subscription-currency{color:var(--muted);pointer-events:none;font-size:12px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.subscription-amount-input input{padding-left:26px}.subscription-form-row select{flex:1;min-width:0}.subscription-date-label{color:var(--muted);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.subscription-form-actions{gap:8px;display:flex}.subscription-form-actions .modal-save{flex:1;padding:8px 10px}.subscription-cancel{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:8px;padding:8px 12px;font-size:12px}.subscription-cancel:hover{background:var(--bg)}.subscription-option{cursor:pointer;gap:8px}.subscription-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--text);cursor:pointer}.subscription-option .option-label{cursor:pointer}.notes-panel{background:var(--card);border:1px solid #e2e8f0b3;border-radius:16px;flex-direction:column;gap:10px;margin-top:16px;padding:16px;display:flex;box-shadow:0 1px 2px #0f172a0a,0 6px 16px #0f172a0d}.notes-fab{display:none}@media (min-width:1160px){.notes-fab{z-index:40;border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--muted);cursor:pointer;transition:color var(--transition), box-shadow var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:84px;right:20px;box-shadow:0 1px 2px #0f172a0f,0 6px 16px #0f172a14}.notes-fab:hover{color:var(--text);box-shadow:0 2px 4px #0f172a14,0 8px 20px #0f172a1a}.app-content-narrow.with-subscriptions>.app-content-main,.app-content-narrow.with-notes>.app-content-main{z-index:50}.app-content-narrow.with-subscriptions>.subscriptions-panel{z-index:45;position:relative}.notes-fab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.app-content-narrow.with-notes{align-items:flex-start;gap:24px;max-width:1164px;display:flex}.app-content-narrow.with-notes>.app-content-main{z-index:1;flex:auto;min-width:460px;max-width:820px;margin:0 auto;display:block;position:relative}.app-content-narrow.with-notes>.notes-panel{flex:0 0 284px;align-self:flex-start;width:284px;margin-top:0}.app-content-narrow.with-subscriptions.with-notes{max-width:1788px}}.notes-textarea{border:1px solid var(--border);background:var(--bg);width:100%;min-height:220px;color:var(--text);resize:vertical;border-radius:10px;outline:none;padding:10px;font-family:inherit;font-size:13px;line-height:1.55}.notes-textarea:focus{border-color:#3b82f6}.notes-empty-btn{border:1px dashed var(--border);color:var(--muted);text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600}.notes-empty-btn:hover{background:var(--bg);color:var(--text)}.notes-markdown{color:var(--text);cursor:text;word-break:break-word;flex-direction:column;gap:8px;font-size:13px;line-height:1.55;display:flex}.notes-markdown h1,.notes-markdown h2,.notes-markdown h3{letter-spacing:-.01em;font-weight:700;line-height:1.3}.notes-markdown h1{font-size:15px}.notes-markdown h2{font-size:14px}.notes-markdown h3{font-size:13px}.notes-markdown p{margin:0}.notes-markdown ul,.notes-markdown ol{flex-direction:column;gap:2px;margin:0;padding-left:18px;display:flex}.notes-markdown code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.notes-markdown a{color:var(--primary,#4a7bf7);text-decoration:none}.notes-markdown a:hover{text-decoration:underline}
