@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@700&family=Inter:wght@400;500;600;700&display=swap");*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f8fafc;--card:#fff;--border:#e2e8f0;--text:#1e293b;--muted:#64748b;--light:#94a3b8;--green:#10b981;--red:#f43f5e;--transition:0.15s ease}body,html{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.offline-banner{position:-webkit-sticky;position:sticky;top:0;z-index:2000;width:100%;padding:8px 12px;text-align:center;font-size:12px;font-weight:600;color:#7c2d12;background:#fde68a;border-bottom:1px solid #f59e0b}button,input,select{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{padding:0 24px 32px;max-width:700px;margin:0 auto}.landing{background:#fff;flex-direction:column}.landing,.landing-loader{min-height:100vh;display:flex}.landing-loader{color:var(--muted);align-items:center;justify-content:center}.site-header{padding:16px 24px;border-bottom:1px solid #eee;background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:100}.site-header-inner{max-width:1200px;margin:0 auto;justify-content:space-between;gap:24px}.site-header-inner,.site-logo{display:flex;align-items:center}.site-logo{font-size:20px;font-weight:700;color:#000;text-decoration:none;letter-spacing:-.5px}.site-logo-image{height:64px;width:auto;aspect-ratio:1;border-radius:21.875%;object-fit:cover}.site-logo-text{font-family:DM Sans,sans-serif;font-size:19px;font-weight:700;color:#0f172a;letter-spacing:-.6px;margin-left:10px}.site-nav{display:flex;gap:32px}.site-nav a{color:#666;text-decoration:none;font-size:14px;font-weight:500;transition:color .15s}.site-nav a:hover{color:#000}.site-header-actions{display:flex;align-items:center;gap:12px}.nav-link{color:#666;font-size:14px;font-weight:500;text-decoration:none;padding:8px 16px;cursor:pointer;transition:color .15s}.nav-link:hover{color:#000}.btn-signin{background:none;border:none;color:#666;font-size:14px;font-weight:500;cursor:pointer;padding:8px 16px}.btn-signin:hover{color:#000}.btn-signup{background:#1d4ed8;color:#fff;border:none;font-size:14px;font-weight:600;padding:10px 20px;border-radius:6px;cursor:pointer;transition:background .15s}.btn-signup:hover{background:#1e40af}.btn-primary-large{background:#1d4ed8;color:#fff;border:none;text-decoration:none;font-size:18px;font-weight:600;padding:18px 40px;border-radius:8px;cursor:pointer;transition:background .15s,transform .15s}.btn-primary-large:hover{background:#1e40af;transform:translateY(-1px)}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#1f2937;border:1px solid #dadce0;font-size:16px;font-weight:600;padding:12px 22px;border-radius:999px;cursor:pointer;letter-spacing:.01em;box-shadow:0 1px 2px rgba(16,24,40,.1);transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.btn-google:hover{background:#f8f9fa;border-color:#c7c9cc;box-shadow:0 2px 6px rgba(16,24,40,.16);transform:translateY(-.5px)}.google-logo{width:20px;height:20px;flex-shrink:0}.btn-google-light{background:#fff;color:#1f2937;border-color:#fff}.btn-google-light:hover{background:#f8fafc;border-color:#f8fafc}.landing-content{max-width:900px;margin:0 auto;padding:80px 24px 100px;flex:1 1}.landing-hero{text-align:center;margin-bottom:80px}.landing-hero h1{font-size:56px;font-weight:800;color:#000;margin-bottom:16px;letter-spacing:-2px;line-height:1.1}.landing-subtitle{font-size:28px;font-weight:600;color:#1d4ed8;margin-bottom:40px!important}.hero-cta{margin-top:48px;display:flex;flex-direction:column;align-items:center;gap:12px}.landing-trial-note{font-size:14px;color:#888;margin-top:0!important;font-weight:500}.product-hunt-badge{display:inline-block;margin-top:16px}.product-hunt-badge img{display:block}.landing-screenshot{margin-bottom:80px;text-align:center}.screenshot-container{display:block;text-decoration:none;background:linear-gradient(135deg,#1e3a8a,#3b82f6 50%,#60a5fa);border-radius:20px;padding:40px 40px 0;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),inset 0 0 0 1px hsla(0,0%,100%,.1);overflow:hidden;position:relative}.screenshot-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,hsla(0,0%,100%,.05) 0,transparent 50%);pointer-events:none}.screenshot-image{display:block;width:100%;max-width:900px;margin:0 auto;border-radius:12px 12px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.3);position:relative}.landing-value{text-align:center;margin-bottom:80px}.value-text{font-size:22px;line-height:1.6;color:#333;max-width:700px;margin:0 auto}.landing-story{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;padding:40px 48px;margin-bottom:80px}.landing-story p{font-size:18px;line-height:1.7;color:#78350f;margin:0;font-weight:500}.landing-features-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:80px}.feature-item{display:flex;align-items:center;gap:12px;padding:20px;background:#f8fafc;border-radius:10px;font-size:15px;font-weight:600;color:#1e293b;border:1px solid #e2e8f0}.feature-icon{font-size:22px}.landing-detailed-features{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:32px;gap:32px;margin-bottom:80px}.detailed-feature{display:flex;gap:20px;padding:28px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;transition:border-color .15s,box-shadow .15s}.detailed-feature:hover{border-color:#1d4ed8;box-shadow:0 4px 12px rgba(29,78,216,.1)}.detailed-feature-icon{font-size:32px;flex-shrink:0}.detailed-feature-content h3{font-size:18px;font-weight:700;color:#000;margin-bottom:8px}.detailed-feature-content p{font-size:15px;color:#64748b;line-height:1.6;margin:0}.landing-testimonials{margin-bottom:80px}.landing-testimonials h2{font-size:32px;font-weight:800;color:#000;text-align:center;margin-bottom:40px}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.testimonial{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:28px;display:flex;flex-direction:column}.testimonial blockquote{font-size:15px;color:#334155;line-height:1.7;margin:0 0 20px;flex-grow:1;font-style:italic}.testimonial-author{display:flex;flex-direction:column;gap:2px}.testimonial-name{font-size:15px;font-weight:700;color:#0f172a}.testimonial-role{font-size:13px;color:#64748b}.landing-how-it-works{margin-bottom:80px}.landing-how-it-works h2{font-size:36px;font-weight:800;text-align:center;margin-bottom:48px;color:#000;letter-spacing:-1px}.how-it-works-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px}.step{text-align:center}.step-number{width:56px;height:56px;background:#1d4ed8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;margin:0 auto 20px}.step h3{font-size:20px;font-weight:700;margin-bottom:12px;color:#000}.step p{font-size:16px;color:#64748b;line-height:1.5}.landing-benefits{margin-bottom:80px}.landing-benefits h2{font-size:36px;font-weight:800;text-align:center;margin-bottom:48px;color:#000;letter-spacing:-1px}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.benefit{padding:32px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;transition:border-color .15s,box-shadow .15s}.benefit:hover{border-color:#1d4ed8;box-shadow:0 4px 12px rgba(29,78,216,.1)}.benefit h3{font-size:20px;font-weight:700;margin-bottom:12px;color:#000}.benefit p{font-size:16px;color:#64748b;line-height:1.5;margin:0}.landing-bottom-cta{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:80px 48px;background:linear-gradient(135deg,#1e40af,#1d4ed8);border-radius:16px}.landing-bottom-cta h2{font-size:40px;font-weight:800;margin-bottom:16px;color:#fff;letter-spacing:-1px}.landing-bottom-cta .btn-primary-large{background:#fff;color:#1d4ed8}.landing-bottom-cta .btn-primary-large:hover{background:#f8fafc}.landing-bottom-cta .landing-trial-note{color:hsla(0,0%,100%,.8)}.landing-views-showcase{margin-bottom:80px}.landing-views-showcase h2{font-size:36px;font-weight:800;color:#000;text-align:center;margin-bottom:12px;letter-spacing:-1px}.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,#e0f2fe)}.views-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.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 rgba(29,78,216,.1)}.view-card-highlight{border-color:#1d4ed8;background:#f0f4ff}.view-card-icon{font-size:28px;margin-bottom:12px;letter-spacing:2px}.view-card h3{font-size:18px;font-weight:700;color:#000;margin-bottom:8px}.view-card p{font-size:15px;color:#64748b;line-height:1.6;margin:0}.landing-mid-cta{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 48px;background:#f8fafc;border-radius:16px;border:2px solid #e2e8f0;margin-bottom:80px}.mid-cta-badge{display:inline-block;background:#ecfdf5;color:#059669;font-size:14px;font-weight:600;padding:6px 16px;border-radius:20px;margin-bottom:16px}.landing-mid-cta h2{font-size:32px;font-weight:800;color:#000;margin-bottom:12px;letter-spacing:-.5px}.landing-mid-cta p{font-size:18px;color:#64748b;margin-bottom:24px}.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{font-size:32px;font-weight:800;color:#000;margin-bottom:24px;letter-spacing:-1px}.section-content{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:32px 36px}.section-content p{font-size:17px;line-height:1.7;color:#334155;margin:0 0 16px}.section-content p:last-child{margin-bottom:0}.section-intro{font-size:18px;color:#64748b;margin-bottom:32px;line-height:1.6}.visual-features-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.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 rgba(29,78,216,.1)}.visual-feature h3{font-size:18px;font-weight:700;color:#000;margin-bottom:12px}.visual-feature p{font-size:15px;color:#64748b;line-height:1.6;margin:0}.landing-audience{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);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{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.audience-item{background:#fff;border-radius:12px;padding:28px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.audience-item h3{font-size:18px;font-weight:700;color:#0c4a6e;margin-bottom:12px}.audience-item p{font-size:15px;color:#475569;line-height:1.6;margin:0}.landing-faq{margin-bottom:80px}.landing-faq h2{font-size:32px;font-weight:800;color:#000;text-align:center;margin-bottom:40px;letter-spacing:-1px}.faq-list{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.faq-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden}.faq-item summary{font-size:17px;font-weight:600;color:#0f172a;padding:20px 24px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:24px;font-weight:400;color:#94a3b8;transition:transform .2s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item[open] summary{border-bottom:1px solid #e2e8f0}.faq-item p{font-size:16px;color:#64748b;line-height:1.7;padding:20px 24px;margin:0;background:#f8fafc}.pricing-features-title{font-size:14px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;text-align:left}.site-footer{background:#0f172a;color:#94a3b8;padding:64px 24px 32px}.site-footer-inner{max-width:1200px;display:flex;justify-content:space-between;gap:48px;margin:0 auto 48px}.footer-brand{max-width:300px}.footer-logo{font-size:20px;font-weight:700;color:#fff;text-decoration:none;display:block;margin-bottom:12px}.footer-tagline{font-size:14px;line-height:1.5;margin:0;white-space:pre-line}.footer-description{font-size:14px;color:#64748b;line-height:1.7;max-width:680px;margin:24px 0 0}.footer-english-ctas{margin-top:16px}.footer-app-store-copy{font-size:13px;color:#cbd5e1;margin:12px 0 8px}.footer-app-store-button{display:inline-block;text-decoration:none}.footer-app-store-button img{display:block;width:170px;max-width:100%;height:auto}.footer-links{display:flex;gap:64px}.footer-column h4{color:#fff;font-size:14px;font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em}.footer-column a{display:block;color:#94a3b8;text-decoration:none;font-size:14px;margin-bottom:12px;transition:color .15s}.footer-column a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:32px;border-top:1px solid #1e293b;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-bottom p{font-size:13px;margin:0}.footer-legal-links{display:flex;align-items:center;gap:10px;font-size:13px}.footer-legal-links a{color:#cbd5e1;text-decoration:none}.footer-legal-links a:hover{color:#fff}.page-content{max-width:900px;margin:0 auto;padding:80px 24px 100px;flex:1 1}.page-hero{text-align:center;margin-bottom:64px}.page-hero h1{font-size:48px;font-weight:800;color:#000;margin-bottom:16px;letter-spacing:-1.5px;line-height:1.1}.page-subtitle{font-size:22px;color:#64748b;margin:0}.features-list{display:flex;flex-direction:column;gap:48px;margin-bottom:80px}.feature-block{display:flex;gap:32px;align-items:flex-start}.feature-block-icon{font-size:40px;flex-shrink:0;width:80px;height:80px;background:#f1f5f9;border-radius:16px;display:flex;align-items:center;justify-content:center}.feature-block-content h2{font-size:24px;font-weight:700;color:#000;margin-bottom:12px}.feature-block-content p{font-size:17px;color:#64748b;line-height:1.6;margin:0}.page-cta{text-align:center;padding:64px 48px;background:#f8fafc;border-radius:16px}.page-cta h2{font-size:32px;font-weight:700;margin-bottom:24px;color:#000}.pricing-cards{display:flex;justify-content:center;margin-bottom:64px}.pricing-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:48px;max-width:400px;text-align:center}.pricing-card-featured{border-color:#1d4ed8;box-shadow:0 8px 32px rgba(29,78,216,.15)}.pricing-card-badge{display:inline-block;background:#dbeafe;color:#1d4ed8;font-size:14px;font-weight:700;padding:8px 20px;border-radius:20px;margin-bottom:24px;text-transform:uppercase;letter-spacing:.05em}.pricing-card-price{font-size:64px;font-weight:800;color:#000;margin-bottom:16px;letter-spacing:-2px}.pricing-card-note{font-size:16px;color:#64748b;margin-bottom:32px;line-height:1.5}.pricing-features{list-style:none;padding:0;margin:0 0 32px;text-align:left}.pricing-features li{font-size:16px;color:#334155;padding:12px 0;border-bottom:1px solid #f1f5f9}.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{font-size:36px;letter-spacing:-1px}.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-benefits h2,.landing-how-it-works 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{font-size:24px;margin-bottom:24px}.testimonials-grid{grid-template-columns:1fr;gap:16px}.testimonial{padding:20px}.testimonial blockquote{font-size:14px}.landing-screenshot{margin-bottom:48px}.screenshot-container{padding:20px 20px 0;border-radius:12px}.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{font-size:24px;margin-bottom:24px}.faq-item summary{font-size:15px;padding:16px 20px}.faq-item p{font-size:14px;padding:16px 20px}.btn-primary-large{font-size:16px;padding:16px 32px}.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{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:24px}.login-container h1{font-size:18px;font-weight:400}.login-container input{padding:12px 16px;border:1px solid var(--border);width:200px;text-align:center;outline:none}.login-container input:focus{border-color:var(--text)}.login-container button{padding:12px 32px;background:var(--text);color:#fff;border:none}.login-container .google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:200px;padding:12px 16px;background:var(--card);border:1px solid var(--border);color:var(--text)}.login-container .google-btn:hover{background:var(--bg)}.login-container .divider{display:flex;align-items:center;width:200px;color:var(--muted);font-size:12px}.login-container .divider:after,.login-container .divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.login-container .divider span{padding:0 12px}.error{color:var(--red)}.auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-testimonial-panel{background:#e8f4fd;display:flex;align-items:center;justify-content:center;padding:48px}.auth-testimonial-content{max-width:400px;text-align:center}.auth-testimonial-avatar{margin-bottom:32px}.auth-testimonial-avatar img{width:80px;height:80px;border-radius:21.875%;object-fit:cover}.auth-testimonial-quote{font-size:18px;font-style:italic;line-height:1.6;color:#1e293b;margin:0 0 24px}.auth-testimonial-author{display:flex;flex-direction:column;gap:2px;font-size:14px}.auth-testimonial-author strong{color:#1e293b}.auth-testimonial-author span{color:#64748b;font-size:13px}.auth-form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;position:relative;background:#fff}.auth-form-logo{position:absolute;top:24px;left:32px}.auth-form-logo img{height:36px;width:auto;aspect-ratio:1;border-radius:21.875%;object-fit:cover}.auth-form-center{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center}.auth-form-title{font-size:24px;font-weight:600;color:#1e293b;margin:0 0 32px;text-align:center}.auth-btn-google{width:100%;justify-content:center}.auth-provider-buttons{width:100%;display:flex;flex-direction:column;gap:12px}.auth-btn-apple{background:#111827;color:#fff;border-color:#111827}.auth-btn-apple:hover{background:#000;border-color:#000}.auth-legal{position:absolute;bottom:24px;font-size:12px;color:#94a3b8;text-align:center;line-height:1.5}.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{position:relative;bottom:auto;margin-top:40px}}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;margin-bottom:16px}.header-top{display:none}.header-left{position:relative}.header-left,.header-right-icons{display:flex;align-items:center;gap:8px}.header-icon-btn{background:none;border:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text);cursor:pointer;border-radius:50%;transition:background var(--transition)}.header-icon-btn:hover{background:var(--border)}.header-icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.workspace-dropdown-trigger{display:flex;align-items:center;gap:5px;background:none;border:1px solid var(--border);border-radius:16px;padding:6px 14px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;transition:all var(--transition)}.workspace-dropdown-trigger:hover{background:var(--card);border-color:#ccc}.dropdown-chevron{font-size:12px;color:var(--muted)}.workspace-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.12);min-width:200px;z-index:200;padding:6px;animation:slideUp .15s ease}.workspace-dropdown-item{display:flex;align-items:center;width:100%;padding:10px 14px;background:none;border:none;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;border-radius:8px;transition:background var(--transition);text-align:left}.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);margin-top:4px;padding-top:12px;border-radius:0 0 8px 8px}.workspace-dropdown-overlay{position:fixed;inset:0;z-index:199}.header-actions{display:flex;align-items:center;gap:8px}.header-main{align-items:center}.balance-section,.header-main{display:flex;flex-direction:column;gap:16px}.balance-section{width:100%}.header-links{display:flex;align-items:center;gap:16px}.workspace-add,.workspace-selector,.workspace-settings,.workspace-tab{display:none}.header h1{font-size:16px;font-weight:500}.balance-card{background:var(--card);border-radius:14px;padding:14px 18px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:8px}.balance-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.balance-card-label{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.balance-card-icons{display:flex;align-items:center;gap:8px}.balance-card-icon-btn{background:var(--bg);border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--muted);font-size:14px;cursor:pointer;transition:all var(--transition)}.balance-card-icon-btn:hover{background:var(--border);color:var(--text)}.balance-card-icon-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.balance-block{display:flex;flex-direction:column;gap:6px}.balance-label{display:none}.balance-sum-row{display:flex;align-items:center;gap:10px}.balance-helper-wrap{position:relative;display:inline-flex;flex-shrink:0}.balance-helper{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;font-weight:600;font-style:italic;color:var(--muted);background:var(--border);border-radius:50%;cursor:help;transition:color var(--transition),background var(--transition)}.balance-helper-wrap:hover .balance-helper{color:var(--text);background:rgba(0,0,0,.1)}.balance-helper-tooltip{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);padding:10px 14px;font-size:12px;font-weight:500;line-height:1.5;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.12);max-width:280px;width:max-content;white-space:normal;z-index:100;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.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{font-size:2rem;font-weight:700;color:var(--text);cursor:pointer;padding:0;border-radius:8px;display:flex;align-items:center;gap:8px;transition:opacity var(--transition);letter-spacing:-.02em}.balance-display-button{background:none;border:none;text-align:left}.balance-display:hover{opacity:.7}.balance-display .edit-icon{font-size:14px;color:var(--light);transition:color var(--transition)}.balance-display:hover .edit-icon{color:var(--muted)}.balance-display.updating{opacity:.78}.balance-display.updating:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.6;animation:balance-updating-pulse .9s ease-in-out infinite}@keyframes balance-updating-pulse{0%,to{transform:scale(.8);opacity:.4}50%{transform:scale(1.05);opacity:.9}}.balance-input{border:2px solid var(--text);padding:4px 12px;width:200px;font-size:2rem;font-weight:700;text-align:left;outline:none;border-radius:8px;letter-spacing:-.02em}.bank-toggle-row{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:6px;padding:6px 8px 6px 10px;border-radius:999px;background:rgba(148,163,184,.08)}.bank-toggle-preview{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:8px}.bank-toggle-text{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:-.01em}.bank-accounts-summary{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--primary,#4a7bf7);cursor:pointer;padding:2px 0;transition:opacity var(--transition)}.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{font-size:12px;color:var(--muted)}.bank-mini-switch{width:34px;height:20px;border:none;border-radius:999px;background:rgba(148,163,184,.32);box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);cursor:pointer;position:relative;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;padding:0;flex-shrink:0}.bank-mini-switch:hover{background:rgba(148,163,184,.42)}.bank-mini-switch:focus-visible{outline:none;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06),0 0 0 3px rgba(59,130,246,.18)}.bank-mini-switch.active{background:#bfdbfe}.bank-mini-switch .toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.14);transition:transform .18s ease}.bank-mini-switch.active .toggle-knob{transform:translateX(14px)}.bank-time-ago{font-size:11px;font-weight:400;margin-left:2px}.bank-accounts-editor{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:12px;background:var(--bg);border-radius:10px}.bank-row{display:flex;align-items:center;gap:8px;transition:opacity .15s ease}.bank-row-dragging{opacity:.35}.bank-drag-handle{cursor:-webkit-grab;cursor:grab;color:var(--muted);font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;flex-shrink:0}.bank-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.bank-name-input{flex:1 1;min-width:0;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--card);color:var(--text);outline:none}.bank-name-input:focus{border-color:var(--primary,#4a7bf7)}.bank-amount-input{width:110px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;background:var(--card);color:var(--text);text-align:right;outline:none}.bank-amount-input:focus{border-color:var(--primary,#4a7bf7)}.bank-amount-input::-webkit-inner-spin-button,.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{display:flex;align-items:center;gap:4px;flex-shrink:0}.bank-currency{font-size:13px;color:var(--muted);font-weight:500}.bank-remove-btn{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;margin-left:auto;transition:color var(--transition)}.bank-remove-btn:hover{color:var(--danger,#e74c3c)}.bank-updated-at{font-size:11px;white-space:nowrap;flex:0 0 74px;text-align:right;line-height:1.2}.bank-date-fresh{color:#27ae60}.bank-date-stale{color:#e74c3c}.bank-editor-card{background:var(--card);border-radius:14px;padding:14px 18px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:10px;flex:0 0 100%}.bank-editor-card .bank-accounts-editor{margin-top:0;padding:0;background:none;border-radius:0}.bank-editor-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.bank-editor-toggle{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:2px}.bank-add-btn{background:none;border:none;color:var(--primary,#4a7bf7);font-size:13px;font-weight:500;cursor:pointer;padding:4px 0}.bank-add-btn:hover{text-decoration:underline}.bank-save-btn{margin-left:auto;background:var(--primary,#4a7bf7);color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity var(--transition)}.bank-save-btn:hover{opacity:.85}.chart-card{background:var(--card);border-radius:14px;padding:14px 18px 12px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:8px}.chart-card .sparkline-container{width:100%}.chart-card .sparkline{display:block}.chart-card-dates{font-size:12px;color:var(--muted);margin-top:8px;padding:0 4px}.chart-card-dates,.chart-card-stats{display:flex;justify-content:space-between}.chart-card-stats{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.chart-stat{display:flex;flex-direction:column;gap:2px;text-align:center}.chart-stat-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;margin:0;align-items:center;cursor:pointer;color:inherit;font:inherit}.chart-stat-button:focus-visible .chart-stat-value,.chart-stat-button:hover .chart-stat-value{text-decoration:underline;text-underline-offset:2px}.chart-stat-button:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:6px}.chart-stat-label{font-size:10px;color:var(--muted);font-weight:400}.chart-stat-value{font-size:12px;font-weight:600}.chart-stat-value.positive{color:var(--green)}.chart-stat-value.negative{color:var(--red)}.sparkline{display:block;background:transparent}.sparkline-wrapper{position:relative;display:none}.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{position:relative;display:inline-block}.sparkline-tooltip{position:absolute;bottom:calc(100% + 8px);transform:translateX(-50%);font-size:11px;line-height:1.3;background:var(--text);color:#fff;padding:6px 10px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:50;white-space:nowrap;pointer-events:none}.sparkline-tooltip-point{display:flex;flex-direction:column;gap:2px}.sparkline-tooltip-date{font-weight:500;color:#fff}.sparkline-tooltip-balance{color:hsla(0,0%,100%,.7)}.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{display:flex;flex-direction:column;gap:4px;color:hsla(0,0%,100%,.7)}.reset-btn{background:none;border:none;font-size:11px;color:var(--light);padding:4px 8px;text-transform:uppercase;letter-spacing:.05em;border-radius:3px;transition:background var(--transition),color var(--transition)}.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{display:block;font-size:13px;font-weight:500;color:#3b82f6;text-decoration:none;text-align:center;padding:10px 16px;margin-top:12px;background:#eff6ff;border-radius:8px;transition:background var(--transition),color var(--transition)}.entries-link:hover{background:#dbeafe;color:#2563eb}.header-right{display:flex;align-items:center;gap:12px}.user-bar{display:none}.user-email{font-size:11px;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:none;border:none;font-size:20px;color:var(--light);padding:4px 8px}.logout-btn:hover{color:var(--red)}.history-section{margin-bottom:8px;border-radius:12px;transition:all var(--transition)}.history-section-open{background:#fff8e1;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.history-bar{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 16px;background:#fffef5;border:none;border-radius:12px;color:#7c6a2a;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition)}.history-section-open .history-bar{border-radius:12px 12px 0 0;background:#fffef5;color:#7c6a2a}.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-collapse-bottom,.history-collapse-top,.history-expand-btn,.history-expand-btn-open{display:none}.history-content{padding:0 12px 12px;max-height:350px;overflow-y:auto}.history-day{border-bottom:1px solid rgba(0,0,0,.06);padding:8px 4px}.history-day.drag-over{border-radius:6px;box-shadow:inset 0 0 0 2px #2684ff;background:rgba(38,132,255,.06)}.history-day:last-child{border-bottom:none}.history-day-header{margin-bottom:4px}.history-day-date{font-size:12px;font-weight:600;color:#5d4037}.history-day-items{display:flex;flex-direction:column;gap:2px}.history-item{display:flex;align-items:center;gap:5px;font-size:12px;position:relative;padding:3px 5px;border-radius:5px;transition:background .12s}.history-item.income{color:var(--green)}.history-item.expense{color:var(--red)}.history-item .recurring-icon{font-size:11px;color:#c77800;opacity:.7}.history-item .recurring-badge{display:inline-flex;flex-direction:row;align-items:center;line-height:1;gap:2px}.history-item-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-amount{font-weight:700;flex-shrink:0}.history-item.draggable{cursor:-webkit-grab;cursor:grab}.history-drag-handle{color:var(--light);letter-spacing:-2px;font-size:10px;margin-right:2px}.history-item.draggable:hover{background:rgba(0,0,0,.04)}.history-item.draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.history-explanation{font-size:12px;color:#8d6e63;padding:12px 4px;margin:0;line-height:1.5;font-style:italic;text-align:center;border-bottom:1px solid rgba(0,0,0,.06)}.history-date,.history-items-full,.history-row,.history-week{display:none}.empty-state-hint{text-align:center;padding:10px 16px;margin-bottom:10px;background:#fef9e7;border:1px solid #f5e6a3;border-radius:8px}.empty-state-hint p{font-size:13px;color:#8a6d00;margin:0;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{display:flex;flex-direction:column;gap:6px;transition:opacity .15s ease,transform .15s ease}.timeline-cards.transitioning{opacity:.3;transform:translateY(4px)}.day-card{background:var(--card);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:visible;transition:box-shadow var(--transition)}.day-card.drag-over{box-shadow:0 0 0 2px rgba(59,130,246,.4),0 4px 12px rgba(59,130,246,.1)}.day-card-today{box-shadow:0 0 0 2px var(--green),0 1px 3px rgba(0,0,0,.06)}.day-card-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 0}.day-card-date{display:flex;align-items:center;gap:8px}.day-card-date-text{font-size:11px;font-weight:600;color:var(--text)}.today-badge{display:inline-flex;align-items:center;padding:1px 6px;background:rgba(34,197,94,.1);border-radius:8px;font-size:9px;font-weight:500;color:#166534}.day-card-add{background:none;border:none;font-size:15px;font-weight:300;color:var(--light);cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition)}.day-card-add:hover{color:var(--text);background:var(--bg)}.day-card-body{padding:1px 8px;min-height:2px;display:flex;flex-direction:column}.day-card-empty{padding:2px 16px 8px;color:var(--light);font-size:10px}.day-card-footer{display:flex;justify-content:flex-end;align-items:center;gap:3px;padding:2px 12px 6px;font-size:10px}.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{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border-radius:5px;cursor:default;transition:background var(--transition);font-size:11px;position:relative;z-index:1;max-width:-moz-fit-content;max-width:fit-content}.item:after{content:"";position:absolute;top:0;bottom:0;right:-16px;width:16px;pointer-events:auto}.item:hover{z-index:30;background:var(--bg)}.item .item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1}.item:hover>.fulfilled-icon,.item:hover>.recurring-icon,.item:hover>span{opacity:.85}.item.income{background:none;color:var(--green)}.item.income:not(.once){margin-left:0}.item.expense{background:none;color:var(--red);margin-left:auto}.item.expense:not(.once){margin-right:0}.recurring-icon{color:#c77800;font-weight:600;margin-right:0}.recurring-badge{display:inline-flex;flex-direction:row;align-items:center;line-height:1;margin-right:0;gap:2px}.recurring-text{font-size:6px;color:#c77800;opacity:.65;line-height:1;white-space:nowrap}.item.expense .recurring-badge{order:0;margin-left:0;margin-right:0}.item.once{font-weight:500;font-size:11px;position:relative}.item.empty{color:var(--light);justify-content:center}.item.empty:hover{background:var(--bg);color:var(--muted)}.item .amount{font-weight:700;flex-shrink:0}.item .transaction-edit-btn{background:none;border:none;color:var(--light);font-size:14px;cursor:pointer;padding:2px;margin-left:auto;opacity:.5;transition:opacity var(--transition),color var(--transition);flex-shrink:0}.item .transaction-edit-btn:hover{opacity:1;color:var(--muted)}.cell,.row,.row.header-row{display:none}.date-num{font-weight:500;font-size:10px}.date-day{font-size:8px}.date-day,.weekend .date-day,.weekend .date-num{color:var(--light)}.item.marked{background:#fff9c4!important}@keyframes newlyAdded{0%{box-shadow:0 0 0 0 rgba(42,125,79,.5);transform:scale(1)}20%{box-shadow:0 0 0 6px rgba(42,125,79,.3);transform:scale(1.02)}to{box-shadow:0 0 0 0 rgba(42,125,79,0);transform:scale(1)}}.item.newly-added{animation:newlyAdded 1.5s ease-out}.item.expense.newly-added{animation-name:newlyAddedExpense}@keyframes newlyAddedExpense{0%{box-shadow:0 0 0 0 rgba(204,68,68,.5);transform:scale(1)}20%{box-shadow:0 0 0 6px rgba(204,68,68,.3);transform:scale(1.02)}to{box-shadow:0 0 0 0 rgba(204,68,68,0);transform:scale(1)}}.item-toolbar{display:flex;align-items:center;position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:4px;opacity:0;visibility:hidden;pointer-events:auto;transition:opacity .15s,visibility 0s 1s;z-index:100;padding:2px;background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:0 4px 16px rgba(0,0,0,.15)}.item-toolbar:before{content:"";position:absolute;left:-12px;top:-8px;bottom:-8px;right:-8px}.item-toolbar:hover,.item:hover .item-toolbar{opacity:1;visibility:visible;transition:opacity .15s,visibility 0s}.toolbar-btn{border:none;background:none;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;border-radius:50%;transition:background .12s,color .12s;color:var(--muted);flex-shrink:0;position:relative}.toolbar-btn:hover{background:var(--bg);color:var(--text)}.toolbar-btn.active{color:var(--text)}.toolbar-btn:after{content:attr(data-tip);position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--card);font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s}.toolbar-btn:hover:after{opacity:1}.mobile-toolbar-toggle{display:none}.toolbar-btn-drag{cursor:-webkit-grab;cursor:grab;letter-spacing:-2px;font-size:10px;color:var(--light)}.toolbar-btn-drag:after{letter-spacing:normal}.toolbar-btn-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.toolbar-btn-delete{color:var(--light);font-size:10px}.toolbar-btn-delete:hover{color:var(--red);background:rgba(244,63,94,.08)}.toolbar-btn-close{display:none;font-size:14px;color:var(--light)}.fulfilled-icon{font-size:10px;flex-shrink:0}.item.expense .fulfilled-icon{order:10}.item.fulfilled>.fulfilled-icon,.item.fulfilled>.recurring-icon,.item.fulfilled>span{opacity:.45}.item.fulfilled:hover>.fulfilled-icon,.item.fulfilled:hover>.recurring-icon,.item.fulfilled:hover>span{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{display:flex;flex-direction:column;margin-top:6px}.months-ahead-control{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 14px;background:var(--card);border:none;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.06);color:var(--text)}.months-ahead-label{font-size:12px;font-weight:500;color:var(--muted)}.months-ahead-value{min-width:20px;text-align:center;font-size:12px;font-weight:600}.months-ahead-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:16px;line-height:1;cursor:pointer;transition:all var(--transition)}.months-ahead-btn:hover:not(:disabled){background:var(--card)}.months-ahead-btn:disabled{opacity:.4;cursor:not-allowed}.tagline-footer{text-align:center;padding:24px 16px;color:var(--muted);font-size:11px;font-weight:400}.admin-footer{text-align:center;padding:0 16px 24px}.admin-footer-link{font-size:10px;color:var(--light);text-decoration:none;opacity:.5;transition:opacity .15s}.admin-footer-link:hover{opacity:1}.tagline-brand{color:var(--muted);text-decoration:none;transition:color var(--transition)}.tagline-brand:hover{color:var(--text)}.bottom-status-info{margin-top:2px;margin-bottom:10px;text-align:center;font-size:10px;color:var(--light)}.status-chip.status-online,.status-chip.status-synced{color:var(--green);font-weight:400}.status-chip.status-not-synced,.status-chip.status-offline{color:var(--red);font-weight:400}.status-separator{color:var(--light)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s ease}@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);padding:24px;width:400px;display:flex;flex-direction:column;gap:12px;position:relative;animation:slideUp .2s ease;box-shadow:0 25px 50px rgba(0,0,0,.15);border-radius:16px}.modal-close{position:absolute;top:8px;right:10px;background:none;border:none;font-size:20px;color:var(--light);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{color:var(--text);background:var(--bg)}.amount-row{display:flex;align-items:center;gap:8px}.amount-row .amount-input{flex:1 1;font-size:16px;font-weight:500;padding:8px 10px;text-align:right}.amount-row .currency{font-size:12px;color:var(--muted)}.type-toggle{display:flex;border:1px solid var(--border);flex-shrink:0}.type-btn{width:36px;height:36px;padding:0;border:none;background:var(--card);font-size:16px;font-weight:500;cursor:pointer;transition:all .15s;color:var(--light);display:flex;align-items:center;justify-content:center}.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{font-size:12px;font-weight:500;margin-bottom:4px}.modal-date span{font-weight:400;color:var(--muted);font-size:12px;margin-left:6px}.modal-title{font-size:13px;font-weight:500;margin-bottom:6px}.workspace-order{align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.currency-select{display:flex;align-items:center;gap:12px;margin:12px 0}.currency-select label{color:var(--muted);font-size:13px;white-space:nowrap}.currency-select select{flex:1 1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:14px}.order-btn{padding:6px 12px;background:var(--bg);border:1px solid var(--border);font-size:14px;cursor:pointer}.order-btn:hover:not(:disabled){background:var(--border)}.order-btn:disabled{opacity:.3;cursor:not-allowed}.modal input,.modal select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;outline:none;width:100%;font-size:13px;transition:border-color var(--transition)}.modal input:focus,.modal select:focus{border-color:#3b82f6}.modal input::placeholder{color:var(--light)}.modal-row{display:flex;gap:8px}.modal-row input{flex:1 1}.modal-row select{width:160px}.repeat-x-row{background:var(--bg);padding:12px;border-radius:6px;border:1px solid var(--border)}.end-date-row{display:flex;align-items:center;gap:12px;background:var(--bg);padding:16px;border-radius:10px;border:1px solid var(--border)}.end-date-label{font-size:14px;color:var(--text);font-weight:500;white-space:nowrap}.end-date-btn{flex:1 1;padding:10px 14px;border:2px solid var(--border);border-radius:8px;background:var(--card);color:var(--muted);font-size:14px;text-align:left;cursor:pointer;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{width:28px;height:28px;padding:0;border:none;background:var(--error-light,#fee2e2);color:var(--error,#dc2626);border-radius:50%;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.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{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg)}.repeat-toggle-label{font-size:12px;color:var(--text);font-weight:500}.recurrence-options-inner{border-top:1px solid var(--border)}.toggle-switch{width:52px;height:30px;border-radius:15px;background:#d1d5db;border:none;cursor:pointer;position:relative;transition:background .2s;padding:0;flex-shrink:0}.toggle-switch.active{background:#3b82f6}.toggle-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:transform .2s}.toggle-switch.active .toggle-knob{transform:translateX(22px)}.recurrence-options,.recurrence-options-inner{display:flex;flex-direction:column;gap:0}.recurrence-option-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);flex-wrap:nowrap}.recurrence-option-row:not(:last-child){border-bottom:1px solid var(--border)}.option-label{font-size:14px;color:var(--text);font-weight:500;min-width:40px}.option-input{width:60px;max-width:60px;min-width:60px;padding:10px 8px;border:1px solid var(--border);border-radius:8px;background:var(--card);font-size:14px;text-align:center;font-weight:600;flex:0 0 60px}.option-input:focus{outline:none;border-color:var(--primary)}.option-select,.option-suffix{font-size:14px;color:var(--text)}.option-select{flex:1 1 auto;min-width:100px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);cursor:pointer;-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.option-select:focus{outline:none;border-color:var(--primary)}.option-btn{flex:1 1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--muted);font-size:14px;text-align:left;cursor:pointer;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;padding:0;border:none;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s}.option-clear:hover{background:var(--error-light,#fee2e2);color:var(--error,#dc2626)}.repeat-interval-select{flex:1 1}.repeat-count-wrapper{display:flex;align-items:center;gap:6px}.repeat-count-label{font-size:16px;color:var(--muted);font-weight:500}.repeat-count-input{width:60px!important;text-align:center;font-weight:500;-moz-appearance:textfield}.repeat-count-input::-webkit-inner-spin-button,.repeat-count-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.repeat-count-suffix{font-size:12px;color:var(--muted)}.date-picker-btn{flex:1 1;padding:12px;border:1px solid var(--border);background:var(--card);text-align:left;cursor:pointer}.date-picker-btn:hover{border-color:var(--muted)}.datepicker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;z-index:200}.datepicker{background:var(--card);border-radius:8px;padding:16px;box-shadow:0 10px 40px rgba(0,0,0,.2);min-width:280px}.datepicker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:500}.datepicker-header button{background:none;border:none;font-size:18px;padding:4px 12px;cursor:pointer;color:var(--muted)}.datepicker-header button:hover{color:var(--text)}.datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:8px}.datepicker-weekdays span{text-align:center;font-size:11px;color:var(--muted);padding:4px}.datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.datepicker-days .empty{padding:8px}.datepicker-days .day{padding:8px;border:none;background:none;cursor:pointer;border-radius:4px;font-size:13px}.datepicker-days .day:hover{background:var(--bg)}.datepicker-days .day.today{font-weight:600;color:var(--green)}.datepicker-days .day.selected{background:var(--text);color:#fff}.datepicker-days .day.selected.today{color:#fff}.modal-actions{display:flex;gap:8px;margin-top:4px}.modal-delete{padding:10px 16px;background:none;border:2px solid var(--border);border-radius:8px;color:var(--muted);font-weight:500;font-size:15px;transition:all var(--transition)}.modal-delete:hover{border-color:var(--red);color:var(--red);background:#fef2f2}.modal-delete-link{background:none;border:none;color:var(--red);font-size:11px;padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:opacity var(--transition);margin-top:4px}.modal-delete-link:hover{opacity:.7}.modal-delete-link:disabled{opacity:.5;cursor:not-allowed}.modal-save{flex:1 1;padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:15px;transition:background var(--transition)}.modal-save:hover:not(:disabled){background:#2563eb}.modal-delete:disabled,.modal-save:disabled{opacity:.7;cursor:not-allowed}.modal-cancel{padding:10px 16px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-weight:500;font-size:13px;transition:all var(--transition)}.modal-cancel:hover{background:var(--bg);color:var(--text)}.alert-modal{text-align:center;max-width:320px}.alert-icon{font-size:48px;margin-bottom:8px}.modal-delete.loading,.modal-save.loading{position:relative}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse .8s ease infinite}.app:has(.app-loading-wrap){display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}.app-loading-wrap{display:flex;align-items:center;justify-content:center}.app-loading-stack{display:flex;flex-direction:column;align-items:center;gap:10px}.app-loading-dots{display:inline-flex;gap:6px}.app-loading-dots span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:appLoadingDot .9s ease-in-out infinite}.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{font-size:13px;color:var(--muted)}.confirm-modal{text-align:center}.confirm-message{color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:16px}.confirm-buttons{display:flex;flex-direction:column;gap:8px}.confirm-btn{padding:12px 16px;border:1px solid var(--border);background:var(--bg);font-size:13px;cursor:pointer}.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{background:none;border:none;color:var(--muted);padding:8px}.confirm-btn.cancel:hover{color:var(--text)}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #f2c5c5;background:#fff6f6;color:#a02020;border-radius:6px;margin-bottom:12px}.error-banner button{background:none;border:none;color:inherit;font-size:18px;padding:2px 6px;cursor:pointer}.toast-stack{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:500}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:260px;max-width:360px;padding:14px 18px;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.2);color:#fff;font-weight:500;animation:slideUp .2s ease}.toast-success{background:var(--green)}.toast-error{background:var(--red)}.toast button{background:none;border:none;color:inherit;font-size:18px;padding:0;cursor:pointer;opacity:.8}.toast button:hover{opacity:1}.entries-page{min-height:100vh;background:var(--bg)}.entries-page .container{max-width:100%}.entries-container{padding:0}.entries-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.back-link{color:#1a73e8;text-decoration:underline;text-underline-offset:2px;font-size:11px}.back-link:hover{color:#1557b0}.entries-header h1{font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px}.info-tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.info-icon{font-size:14px;color:var(--muted);cursor:help;opacity:.6;transition:opacity .15s}.info-icon:hover{opacity:1}.info-tooltip{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 16px;font-size:13px;font-weight:400;line-height:1.5;color:var(--muted);width:280px;box-shadow:0 4px 12px rgba(0,0,0,.1);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:100;pointer-events:none}.info-tooltip-wrapper:hover .info-tooltip,.info-tooltip.tooltip-open{opacity:1;visibility:visible}.info-tooltip.tooltip-open{pointer-events:auto}.entries-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px}.entries-column{background:var(--card);border:1px solid var(--border)}.column-title{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;padding:10px 16px}.column-header,.column-title{border-bottom:1px solid var(--border)}.column-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 16px}.column-header .column-title{padding:0;border-bottom:none}.column-title.income-title{color:var(--green)}.column-title.expense-title{color:var(--red)}.add-entry-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--bg);border:1px solid var(--border);border-radius:4px;font-size:15px;font-weight:400;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition);color:var(--muted)}.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{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--border);position:relative}.add-entry-form input,.add-entry-form select{padding:6px 8px;border:1px solid var(--border);font-size:11px;outline:none;background:var(--card)}.add-entry-form input[type=text]:not(.amount-input){flex:1 1;min-width:120px}.add-entry-form .amount-input{width:80px;-moz-appearance:textfield}.add-entry-form .amount-input::-webkit-inner-spin-button,.add-entry-form .amount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.add-entry-form .date-picker-btn{padding:6px 8px;border:1px solid var(--border);background:var(--card);font-size:11px;cursor:pointer;white-space:nowrap}.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{padding:6px 12px;background:var(--text);color:#fff;border:none;font-size:11px;white-space:nowrap}.add-btn:hover{background:#000}.entries-list{max-height:calc(100vh - 200px);overflow-y:auto}.entry{padding:8px 16px;border-bottom:1px solid var(--border);cursor:pointer;position:relative}.entry:last-child{border-bottom:none}.entry:hover{background:var(--bg)}.entry.marked{background:#fffde7}.entry.marked:hover{background:#fff9c4}.entry-mark-btn{border:none;background:none;cursor:pointer;padding:0;margin-left:auto;opacity:0;transition:opacity .15s,transform .1s}.entry-mark-btn:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background-color:#ffd54f}.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{display:flex;justify-content:space-between;margin-bottom:2px;font-size:12px}.entry-amount,.entry-name{font-weight:500}.entry-meta{display:flex;gap:8px;font-size:10px;color:var(--muted)}.entry .delete-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:15px;color:var(--light);opacity:0;padding:3px 6px}.entry:hover .delete-btn{opacity:1}.entry .delete-btn:hover{color:var(--red)}.entry.editing{display:flex;flex-direction:column;gap:6px;padding:10px 16px;background:var(--bg)}.entry.editing input,.entry.editing select{padding:6px 8px;border:1px solid var(--border);font-size:11px;outline:none}.entry.editing input:focus,.entry.editing select:focus{border-color:var(--text)}.entry-actions{display:flex;gap:8px}.save-btn{background:var(--green);color:#fff;border:none}.cancel-btn,.save-btn{padding:5px 12px;font-size:11px}.cancel-btn{background:none;border:1px solid var(--border);color:var(--muted)}.empty{padding:20px 16px;text-align:center;color:var(--muted);font-size:11px}.admin-link{font-size:12px;font-weight:500;color:var(--muted);text-decoration:none;padding:8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;transition:all var(--transition)}.admin-link:hover{color:var(--text);background:var(--border)}.admin-content{background:var(--card);border:1px solid var(--border);padding:24px}.admin-content h2{font-size:14px;font-weight:500;margin-bottom:20px}.admin-table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg)}.admin-table .delete-btn{padding:6px 12px;background:none;border:1px solid var(--red);color:var(--red);font-size:11px;cursor:pointer}.admin-table .delete-btn:hover{background:var(--red);color:#fff}.admin-table .delete-btn:disabled{opacity:.5;cursor:not-allowed}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -24px}.admin-content-top{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}@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{font-size:13px;margin-bottom:12px}.admin-page .admin-content-top{flex-wrap:wrap;gap:10px}.admin-page .admin-content-top a{font-size:11px;padding:6px 10px}.admin-table-wrap{margin:0 -12px;min-width:0}.admin-table{min-width:480px}.admin-table td,.admin-table th{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{display:flex;flex-direction:column}.balance-chart-row.kanban-layout{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:8px;gap:8px;align-items:stretch;margin-bottom:10px}.balance-chart-row.kanban-layout .balance-card{flex:0 0 auto;margin-bottom:0;display:flex;flex-direction:column;justify-content:center;padding:10px 16px;border-radius:10px}.balance-chart-row.kanban-layout .balance-card-header{margin-bottom:4px}.balance-chart-row.kanban-layout .balance-display{font-size:1.3rem;gap:6px}.balance-chart-row.kanban-layout .balance-input{font-size:1.3rem;width:140px}.balance-chart-row.kanban-layout .balance-card-label{font-size:8px}.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{grid-column:2;margin-bottom:0;padding:8px 12px 6px;border-radius:10px;max-width:656px}.balance-chart-row.kanban-layout .bank-editor-card{grid-column:2;margin-bottom:0;max-width:656px;width:100%}@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 .bank-editor-card,.balance-chart-row.kanban-layout .chart-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{display:flex;background:var(--border);border-radius:8px;padding:2px;gap:2px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--muted);transition:all var(--transition)}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.08)}.view-toggle-btn svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.kanban-board{display:flex;gap:8px;overflow-x:auto;padding:4px 0 16px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;align-items:stretch}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-track{background:transparent}.kanban-board::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.kanban-column{flex:0 0 300px;min-width:300px;display:flex;flex-direction:column;scroll-snap-align:start;background:#ebecf0;border-radius:12px;padding:8px;align-self:flex-start}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 4px}.kanban-column-title{font-size:10px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-column-count{font-size:9px;font-weight:600;color:var(--muted);background:rgba(0,0,0,.08);padding:1px 5px;border-radius:10px;flex-shrink:0}.kanban-column-body{display:flex;flex-direction:column;gap:4px}.kanban-day{background:var(--card);border-radius:7px;box-shadow:0 1px 1px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04);padding:5px 8px;transition:box-shadow var(--transition),transform var(--transition);cursor:default}.kanban-day:hover{box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.06)}.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 rgba(0,0,0,.08)}.kanban-day-today:hover{box-shadow:0 0 0 2px var(--green),0 2px 4px rgba(0,0,0,.12)}.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{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.kanban-day-date{font-size:9px;font-weight:600;color:#5e6c84;display:flex;align-items:center}.kanban-day-add{background:none;border:none;font-size:14px;font-weight:300;color:var(--light);cursor:pointer;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all var(--transition);opacity:0}.kanban-day:hover .kanban-day-add{opacity:1}.kanban-day-add:hover{color:var(--text);background:rgba(0,0,0,.06)}.kanban-item{display:flex;align-items:center;gap:3px;font-size:10px;padding:2px 4px;border-radius:4px;cursor:pointer;transition:background var(--transition);margin:0 -4px;position:relative;max-width:-moz-fit-content;max-width:fit-content}.kanban-item:hover{background:#f4f5f7}.kanban-item{padding-right:118px}.kanban-item .item-toolbar{left:auto;right:4px;top:50%;transform:translateY(-50%);margin-left:0;z-index:1000;gap:2px;padding:0;background:transparent;border:none;box-shadow:none}.kanban-item .item-toolbar:before{display:none}.kanban-item .toolbar-btn:after{bottom:auto;top:-26px}.kanban-item:has(.item-toolbar:hover),.kanban-item:hover{z-index:1000}.kanban-item .item-toolbar:hover,.kanban-item:hover .item-toolbar{opacity:1;visibility:visible;transition:opacity .15s,visibility 0s}.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:has(.item-toolbar:hover),.kanban-item.fulfilled:hover{opacity:1}.kanban-item-history{opacity:.7}.kanban-item-history:hover{opacity:.85}.kanban-item-amount{font-weight:700;flex-shrink:0;font-size:9px}.kanban-item-recurring{font-size:8px;color:#c77800;flex-shrink:0}.kanban-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;min-width:0;font-weight:400}.kanban-day-eod{text-align:right;font-size:9px;margin-top:3px;padding-top:3px;border-top:1px solid rgba(0,0,0,.06);color:var(--muted)}.kanban-column-history{background:#f5f0dc;opacity:.7;align-self:stretch}.kanban-column-history:hover{opacity:.85}.kanban-column-history-collapsed{flex:0 0 24px;min-width:24px;max-width:24px;padding:0;border-radius:0 10px 10px 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 1;display:flex;align-items:center;justify-content:center;padding:12px 0;min-height:0}.kanban-column-history-collapsed .kanban-history-expand-btn{width:100%;height:100%;min-height:80px;border-radius:0 8px 8px 0;background:transparent;font-size:18px;color:#7c6a2a}.kanban-column-history-collapsed .kanban-history-expand-btn:hover{background:rgba(124,106,42,.12)}.kanban-history-expand-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,.06);border-radius:6px;cursor:pointer;font-size:14px;color:inherit;transition:background .12s}.kanban-history-expand-btn:hover{background:rgba(0,0,0,.12)}.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:rgba(34,197,94,.08)}.kanban-history-header{color:#7c6a2a}.kanban-day-history{background:#fffef5;box-shadow:0 1px 1px rgba(0,0,0,.06)}@media (max-width:600px){.view-toggle{display:none}}.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{font-size:2rem;width:180px}.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{padding:4px 5px;gap:4px}.item,.item.once{font-size:11px}.history-bar{font-size:14px;padding:12px 16px}.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{position:absolute;top:100%;left:50%;right:auto;transform:translateX(-50%);margin-top:4px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility 0s .12s;z-index:1000;box-shadow:0 4px 16px rgba(0,0,0,.18);border-radius:20px;background:var(--card);border:1px solid var(--border);padding:4px}.item-toolbar:before{content:"";position:absolute;top:-8px;left:0;right:0;height:10px}.item-toolbar.mobile-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:opacity .12s,visibility 0s}.item.mobile-toolbar-open{z-index:40}.item-toolbar:hover:not(.mobile-open),.item:hover .item-toolbar:not(.mobile-open){opacity:0;visibility:hidden;pointer-events:none}.item.fulfilled:hover>.fulfilled-icon,.item.fulfilled:hover>.recurring-icon,.item.fulfilled:hover>span,.item:hover>.fulfilled-icon,.item:hover>.recurring-icon,.item:hover>span{opacity:inherit}.toolbar-btn{width:28px;height:28px;font-size:11px}.toolbar-btn:after{display:none}.toolbar-btn-close{display:flex;color:var(--light);font-size:14px;font-weight:500}.entry-modal-overlay{align-items:flex-start;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px}.modal{width:calc(100vw - 24px);max-width:400px;padding:20px}.entry-modal{margin-top:0;max-height:calc(100vh - max(20px, env(safe-area-inset-top)) - 20px);overflow-y:auto}.recurrence-option-row{padding:12px 14px;gap:10px}.repeat-toggle-row{padding:10px 14px}.repeat-x-row{flex-wrap:wrap;padding:10px}.repeat-interval-select{width:100%!important;margin-bottom:8px}.repeat-count-wrapper{width:100%;justify-content:center}.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{font-size:18px;padding:10px}.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-delete,.modal-save{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,.balance-input{font-size:1.8rem}.balance-input{width:160px}.day-card-date-text,.item,.item .amount{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}}