:root{--primary: #4d87dd;--secondary: #5ce1e6;--accent: #5ce1e6;--light: #f8f9fa;--dark: #212529;--success: #4ade80;--gray: #6c757d;--light-gray: #e9ecef }*{margin:0;padding:0;box-sizing:border-box}a{font-weight:500;color:#adb5bd;text-decoration:inherit}a:hover{color:#5a9191}body{font-family:Roboto,sans-serif;line-height:1.6;color:var(--dark);background-color:#f5f7ff;overflow-x:hidden;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}body::-webkit-scrollbar{display:none}.dashboard-container{padding-top:180px;padding-bottom:100px;display:flex;background:linear-gradient(135deg,#f5f7ff,#e6eeff);position:relative;overflow:hidden;gap:2rem}.dashboard-left,.dashboard-middle,.dashboard-right{flex:1;padding:1rem;border:1px solid #ccc;border-radius:8px}.profile-pic{width:80px;border-radius:50%}.search-bar{width:100%;padding:.5rem;margin-bottom:1rem}.add-button{padding:.5rem 1rem}.category-list{list-style:none;padding:0}.category-list li{margin-bottom:.5rem}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:hover{color:#5a9191}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-weight:600;line-height:1.3}.container{width:100%;max-width:min(1200px,100% - 2rem);margin:0 auto;padding:0 clamp(12px,4vw,20px)}.btn{display:inline-block;padding:12px 28px;background:#5ce1e6;color:#fff;border-radius:30px;text-decoration:none;font-weight:500;transition:all .3s ease;border:none;margin:5px;cursor:pointer;font-size:16px;box-shadow:#5ce1e6 0 7px 20px,}.btn:hover{background:var(--secondary);transform:translateY(-3px);box-shadow:0 7px 20px #4361ee66}.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent);border-color:var(--accent);box-shadow:none}.btn-outline:hover{background:var(--secondary);color:#fff}.upload-container{margin:20px;position:relative}.file-input{position:absolute;left:-9999px}.fa-file-csv{max-height:10px}.file-info{margin:15px 0;padding:10px;border-radius:8px;background-color:#f8f9fa;display:none}.upload-status{margin-top:10px;padding:15px;border-radius:10px;display:none;animation:fadeIn .5s ease}.segment-info{position:absolute;background:#fff;padding:12px 15px;border-radius:8px;box-shadow:0 5px 15px #0000001a;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:10;min-width:150px;text-align:center}.status-success{background-color:#e1f1fc;color:#279ab9;border:1px solid#c3e6cb}.status-error{background-color:#f8d7da;color:#8f8989;border:1px solid#e2c5c8}.status-loading{background-color:#d1ecf1;color:#6fd1e2;border:1px solid#bee5eb}.spinner{width:40px;height:40px;margin:10px auto;border:4px solid rgba(106,17,203,.1);border-left:4px solid#73a8ca;border-radius:50%;animation:spin 1s linear infinite}section{padding:100px 0}.section-title{text-align:center;margin-bottom:60px}.section-title h2{font-size:36px;color:var(--dark);margin-bottom:15px}.section-title p{color:var(--gray);max-width:700px;margin:0 auto;font-size:18px}header{position:fixed;width:100%;top:0;transition:background-color .5s ease;z-index:1000}header.transparent{background-color:transparent}header.solid{background:linear-gradient(135deg,#fff 10% 100%);background-color:#ffffffe6}.navbar{display:flex;justify-content:space-between;align-items:center;padding:17px 20px 7px;position:relative;z-index:1001}.logo{display:flex;align-items:center}.logo img{height:50px;margin-right:auto}.logo h1{font-size:24px;color:#5ce1e6}.nav-links{margin-top:-15px;display:flex;list-style:none}.nav-links li{font-size:17px;margin-left:30px}.nav-links a{text-decoration:none;color:var(--dark);font-weight:500;transition:color .3s ease}.nav-links a:hover{color:#5a9191}.mobile-menu-btn{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--dark);outline:none;box-shadow:none}.mobile-menu-btn:focus{outline:none;box-shadow:0}.hero{padding-top:clamp(100px,22vw,180px);padding-bottom:clamp(48px,12vw,100px);background:linear-gradient(135deg,#f5f7ff,#e6eeff);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:linear-gradient(135deg,#84d0e7,#fff 80%);z-index:0}.hero-content{display:flex;align-items:center;position:relative;z-index:1}.hero-text{flex:1;padding-right:50px}.hero-text h1{font-size:clamp(1.75rem,5vw,3rem);margin-bottom:20px;color:var(--dark)}.hero-text h1 span{color:#5ce1e6}.hero-text p{font-size:18px;color:var(--gray);margin-bottom:30px}.hero-image{flex:1;display:flex;justify-content:center}.hero-image img{max-width:100%;border-radius:10px;box-shadow:0 20px 40px #00000026}.about{background:#fff}.about-content{display:flex;align-items:center;gap:60px}.about-image{flex:1;border-radius:10px;overflow:hidden;box-shadow:0 15px 30px #0000001a}.about-image img{width:100%;height:auto;display:block}.about-text{flex:1}.about-text h2{font-size:36px;margin-bottom:20px;color:var(--dark)}.about-text p{margin-bottom:20px;color:var(--gray)}.founder{margin-top:30px;display:flex;align-items:center}.founder img{width:60px;height:60px;border-radius:50%;margin-right:15px;object-fit:cover}.founder-info h4{font-size:18px;margin-bottom:5px}.founder-info p{margin:0;color:var(--gray);font-size:14px}.how-it-works{background:linear-gradient(135deg,#f0f4ff,#e6f0ff)}#telegram-block{max-height:400px}.steps{display:flex;justify-content:center;flex-wrap:wrap;gap:40px}.step{flex:1;max-width:400px;background:#fff;padding:30px;border-radius:10px;box-shadow:0 10px 30px #0000000d;text-align:center;transition:transform .3s ease}.step:hover{transform:translateY(-10px)}.step-icon{width:80px;height:80px;background:#4361ee1a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;font-size:32px}.upload-container{margin:20px 0;position:relative}.step-icon i{font-size:36px;color:var(--primary)}.step h3{font-size:22px;margin-bottom:15px;color:var(--dark)}.step p{min-height:20px;color:var(--gray)}.features{background:#fff}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(16px,3vw,30px)}.feature-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #0000000d;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-image{height:200px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.feature-card:hover.feature-image img{transform:scale(1.05)}.feature-content{padding:25px}.feature-content h3{font-size:20px;margin-bottom:10px;color:var(--dark)}.feature-content p{color:var(--gray)}.faq{background:linear-gradient(135deg,#f0f4ff,#e6f0ff)}.faq-container{max-width:800px;margin:0 auto;padding:20px}.faq-item{background:#f9fbff;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:16px;overflow:hidden;transition:all .3s ease;border:none}.faq-question:focus{outline:none;box-shadow:0}.faq-question{box-shadow:none;width:100%;text-align:left;padding:16px 20px;font-size:1.1rem;font-weight:600;background:transparent;border:none;cursor:pointer;outline:none;display:flex;justify-content:space-between;align-items:center;color:#222;transition:background .2s ease}.faq-question:hover{background:#00000008}.faq-question svg{transition:transform .3s ease}.faq-item.active .faq-question svg{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;padding:0 20px;font-size:1rem;color:#555;transition:max-height .3s ease,padding .4s ease;opacity:0}.faq-item.active .faq-answer{max-height:500px;padding:10px 20px 20px;opacity:1}.faq-question i{transition:max-height .4s ease,padding .3s ease}.faq-item.active .faq-question i{transform:rotate(180deg)}.cta{text-align:center;background:linear-gradient(135deg,var(--primary)0%,var(--secondary)100%);color:#fff;padding:80px 0}.cta h2{font-size:36px;margin-bottom:20px}.cta p{max-width:700px;margin:0 auto 30px;font-size:18px;opacity:.9}.cta.btn{background:#fff;color:var(--primary);font-weight:600}.cta.btn:hover{background:var(--light-gray)}footer{background:var(--dark);color:#fff;padding:60px 0 30px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:40px}.footer-column h3{font-size:20px;margin-bottom:20px;position:relative;padding-bottom:10px}.footer-column h3:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background:var(--primary)}.footer-column p{color:#adb5bd;margin-bottom:15px}.footer-links{list-style:none}.footer-links li{margin-bottom:10px}.footer-links a{color:#adb5bd;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:#fff}.social-links{display:flex;gap:15px;margin-top:20px}.social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff1a;color:#fff;transition:background .3s ease}.social-links a:hover{background:var(--primary)}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);color:#adb5bd;font-size:14px}.fa-linkedin-in{color:#0a66c2}.loading-spinner{display:flex;justify-content:center;align-items:center;height:200px;font-size:1.2rem}.user-avatar{width:32px;height:32px;border-radius:50%;margin-right:10px}.user-menu{display:flex;align-items:center;gap:10px}@media (max-width:992px){.hero-content{flex-direction:column;text-align:center}.hero-text{padding-right:0;margin-bottom:40px}.about-content{flex-direction:column}.section-title h2{font-size:32px}}@media (max-width:768px){.mobile-menu-btn{display:block}.nav-links{margin-top:-3px;position:fixed;top:72px;left:0;right:0;background:linear-gradient(135deg,#fff 10% 100%);width:100%;flex-direction:column;align-items:center;padding:0;box-shadow:0 10px 10px #0000001a;transform:translateY(-150%);transition:transform .3s ease;z-index:1002;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto}.nav-links.active{transform:translateY(0)}.nav-links li{margin:15px 0}.hero-text h1{font-size:clamp(1.6rem,7vw,2.25rem)}.step{min-width:50%;flex:1 1 100%}}@media (max-width:480px){.section-title h2{font-size:28px}section{padding:70px 0}.step{min-width:100%}}@media (min-width: 1400px){.container{max-width:min(1320px,100% - 3rem)}}@media (min-width: 1800px){.container{max-width:min(1520px,100% - 4rem)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}[data-theme=dark]{--dw-surface: #1e293b;--dw-surface-2: #172033;--dw-surface-border: #334155;--dw-text: #e2e8f0;--dw-text-muted: #94a3b8;color-scheme:dark}[data-theme=dark] body{background-color:#0b1220;color:var(--dw-text)}[data-theme=dark] header.solid{background:#0f172a;background-color:#0f172a}[data-theme=dark] .nav-links a,[data-theme=dark] .nav-links a:visited{color:#e2e8f0}[data-theme=dark] .nav-links a:hover{color:#5ce1e6}[data-theme=dark] .mobile-menu-btn{color:#e2e8f0}@media (max-width: 768px){[data-theme=dark] .nav-links{background:#0f172a}}[data-theme=dark] .container-dashboard{background:linear-gradient(125deg,#0b1220,#0f172a 45%,#111c33);--dw-ink: #e2e8f0;--dw-ink-muted: #94a3b8;--dw-border: rgba(148, 163, 184, .2);--dw-border-glow: rgba(92, 225, 230, .35);--dw-shadow: 0 14px 44px rgba(0, 0, 0, .5);--dw-shadow-sm: 0 4px 16px rgba(0, 0, 0, .45)}[data-theme=dark] .sidebar,[data-theme=dark] .right-sidebar{background:linear-gradient(168deg,#1e293bf5,#0f172af7);border-color:#94a3b829}[data-theme=dark] .sidebar .side-buttons button{background:#1e293bb3;border-color:#94a3b82e;color:#cbd5e1;box-shadow:0 1px #ffffff0a inset}[data-theme=dark] .sidebar .side-buttons button:hover{background:linear-gradient(135deg,#4d87dd3d,#5ce1e62e);border-color:#5ce1e659;color:#fff}[data-theme=dark] .sidebar .side-buttons button.active{color:#fff;border-color:#ffffff4d}[data-theme=dark] .main,[data-theme=dark] .main h2,[data-theme=dark] .main h3,[data-theme=dark] .main h4{color:var(--dw-text)}[data-theme=dark] .main p{color:var(--dw-text-muted)}[data-theme=dark] .container-dashboard input,[data-theme=dark] .container-dashboard select,[data-theme=dark] .container-dashboard textarea{background:#0f172a;color:#e2e8f0;border-color:#334155}[data-theme=dark] .container-dashboard input::placeholder{color:#64748b}[data-theme=dark] .analysis-drill{--analysis-surface: #1e293b;--analysis-border: #334155;--analysis-muted: #94a3b8;--analysis-text: #e2e8f0}[data-theme=dark] .analysis-tx-table-wrap,[data-theme=dark] .analysis-tx-card,[data-theme=dark] .analysis-drill__scroll-panel,[data-theme=dark] .transaction-summary,[data-theme=dark] .analysis-merchant-item,[data-theme=dark] .analysis-merchant-row,[data-theme=dark] .analysis-category-card{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .analysis-merchant-row:hover:not(:disabled),[data-theme=dark] .analysis-category-card:hover:not(:disabled){background:#243349}[data-theme=dark] .analysis-tx-card__desc{border-bottom-color:#334155}[data-theme=dark] .analysis-tx-card__row,[data-theme=dark] .analysis-tx-card__controls{border-top-color:#334155}[data-theme=dark] .daily-timeline{background:#1e293b;--dt-border: #334155;--dt-muted: #94a3b8;--dt-text: #e2e8f0}[data-theme=dark] .daily-timeline__zoom,[data-theme=dark] .daily-timeline__readout{background:#0f172a}[data-theme=dark] .daily-timeline__readout.is-active{background:linear-gradient(165deg,#243349,#1b2a44)}[data-theme=dark] .dw-catpick__trigger{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .dw-catpick__panel{background:#1e293b;border-color:#334155}[data-theme=dark] .dw-catpick__search{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .dw-catpick__search-wrap{border-bottom-color:#334155}[data-theme=dark] .dw-catpick__opt{color:#e2e8f0}[data-theme=dark] .dw-catpick__opt:hover{background:#243349}[data-theme=dark] .dw-catpick__opt.is-selected{background:#4d87dd38}[data-theme=dark] .dw-catpick__opt--note,[data-theme=dark] .dw-catpick__opt--note:hover{background:#0f172a}[data-theme=dark] .categories-intro,[data-theme=dark] .categories-empty{color:#94a3b8}[data-theme=dark] .categories-chip{background:#0f172ae6;color:#e2e8f0}[data-theme=dark] .categories-chip--disabled{background:#0f172a;color:#64748b;border-color:#334155}[data-theme=dark] .settings-section,[data-theme=dark] .settings-theme-card,[data-theme=dark] .settings-lang-item{background:var(--dw-surface);border-color:var(--dw-surface-border)}[data-theme=dark] .settings-lang-item.is-selected{background:color-mix(in srgb,#4d87dd 18%,var(--dw-surface))}[data-theme=dark] .connect-account-card{background:#1e293b;border-color:#334155}[data-theme=dark] .connect-account-card__name{color:#e2e8f0!important}[data-theme=dark] .connect-account-card__email{color:#94a3b8}[data-theme=dark] .dw-panel-loading__title{color:#e2e8f0}[data-theme=dark] .dw-panel-loading__sub{color:#94a3b8}[data-theme=dark] .dw-busy-overlay{background:#0b1220d1}[data-theme=dark] .analysis-selection-overlay{background:#0b1220b8}[data-theme=dark] .analysis-selection-card{background:linear-gradient(165deg,#1e293b,#172033);border-color:#334155;box-shadow:0 16px 48px #00000080}[data-theme=dark] .analysis-selection-title{color:#e2e8f0}[data-theme=dark] .analysis-selection-sub{color:#94a3b8}[data-theme=dark] .analysis-chart-card{background:linear-gradient(160deg,#1e293b,#172033);border-color:#334155}[data-theme=dark] .analysis-chart-card__header,[data-theme=dark] .analysis-chart-card__footer,[data-theme=dark] .chart-center-label{color:#94a3b8}[data-theme=dark] .chart-center-total{color:#e2e8f0}[data-theme=dark] .analysis-drill__back{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .analysis-drill__crumb--current{color:#e2e8f0}[data-theme=dark] .analysis-drill__sep{color:#64748b}[data-theme=dark] .analysis-drill__context-bar{background:#172033;border-color:#334155}[data-theme=dark] .analysis-drill__context-title{color:#e2e8f0}[data-theme=dark] .analysis-drill__context-meta,[data-theme=dark] .analysis-drill__context-hint{color:#94a3b8}[data-theme=dark] .analysis-merchant-item__bulk{background:#172033;border-top-color:#334155}[data-theme=dark] .analysis-merchant-item .analysis-merchant-row__link:hover:not(:disabled){background:#243349}[data-theme=dark] .analysis-merchant-row__name,[data-theme=dark] .analysis-category-card__name,[data-theme=dark] .analysis-category-card__amount,[data-theme=dark] .analysis-merchant-row__amount{color:#e2e8f0}[data-theme=dark] .analysis-merchant-row__count,[data-theme=dark] .analysis-category-card__pct,[data-theme=dark] .analysis-merchant-row__chevron,[data-theme=dark] .analysis-tx-card__meta-label,[data-theme=dark] .analysis-tx-card__meta-value{color:#94a3b8}[data-theme=dark] .analysis-container{color:#e2e8f0}[data-theme=dark] .analysis-description,[data-theme=dark] .analysis-bank-tag-hint,[data-theme=dark] .transaction-summary,[data-theme=dark] .summary-label{color:#94a3b8}[data-theme=dark] .summary-value{color:#e2e8f0}[data-theme=dark] .preset-buttons button,[data-theme=dark] .clear-btn{background:#1e293b;color:#e2e8f0;border-color:#334155}[data-theme=dark] .preset-buttons button:hover,[data-theme=dark] .clear-btn:hover{background:#243349}[data-theme=dark] .date-input,[data-theme=dark] .selection-dropdown{background:#0f172a;color:#e2e8f0;border-color:#334155}[data-theme=dark] .selection-group label,[data-theme=dark] .date-input-group label,[data-theme=dark] .main label{color:#cbd5e1}[data-theme=dark] .load-data-btn:disabled{background:#334155;color:#94a3b8}[data-theme=dark] .right-sidebar h3,[data-theme=dark] .right-sidebar h4,[data-theme=dark] .sidebar h3,[data-theme=dark] .sidebar h4,[data-theme=dark] .connect-account-root h3,[data-theme=dark] .bank-checkbox,[data-theme=dark] .bank-checkbox__text{color:#e2e8f0}[data-theme=dark] .categories-tree-wrap{background:linear-gradient(165deg,#1e293bf5,#0f172af5);box-shadow:0 10px 36px #0006}[data-theme=dark] .connect-account-card--selected{border-color:#5ce1e6;background-color:#5ce1e62e}[data-theme=dark] .connect-account-card--expired{background-color:#dc354529;border-color:#dc3545}[data-theme=dark] .connect-account-card--selection-locked,[data-theme=dark] .connect-account-card--selection-locked.connect-account-card--selected{background:#172033}[data-theme=dark] .connect-account-google-btn{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .connect-account-google-btn:hover{background:#243349;border-color:#475569}[data-theme=dark] .connect-account-empty{color:#94a3b8}[data-theme=dark] .period-selection{background:#172033;border-color:#334155}[data-theme=dark] .progress-info{background:#172033}[data-theme=dark] .chart-donut-hole{fill:#1e293b}[data-theme=dark] .analysis-timeline-toggle--active{background:#243349;border-color:#334155;color:#e2e8f0}[data-theme=dark] .analysis-timeline-toggle--active:hover{background:#2d3e57}[data-theme=dark] .categories-chip:hover:not(:disabled){background:color-mix(in srgb,var(--cat-color, #4d87dd) 18%,#0f172a);border-color:color-mix(in srgb,var(--cat-color, #4d87dd) 55%,transparent);box-shadow:0 8px 22px color-mix(in srgb,var(--cat-color, #4d87dd) 28%,transparent)}[data-theme=dark] .categories-chip--active{background:color-mix(in srgb,var(--cat-color, #4d87dd) 24%,#0f172a)}[data-theme=dark] .dw-progress-row__pct{color:#e2e8f0}[data-theme=dark] .dw-progress-row__meta{color:#94a3b8}[data-theme=dark] .dw-progress-row__track{background:#94a3b82e;box-shadow:inset 0 1px 2px #0006}[data-theme=dark] .success-message{background:#22c55e1f;border-color:#22c55e59;color:#86efac}[data-theme=dark] .success-details{background:#172033}[data-theme=dark] .success-details p,[data-theme=dark] .success-details strong{color:#cbd5e1}[data-theme=dark] .analysis-section{background:#1e293b;box-shadow:0 4px 16px #0006}[data-theme=dark] .results-content{background:#172033;border-color:#334155}[data-theme=dark] .analysis-results h3{color:#e2e8f0}[data-theme=dark] .dashboard-users-sheet{background:#0f172a;box-shadow:0 -12px 40px #0000008c}[data-theme=dark] .dashboard-users-sheet__handle{background:#475569}[data-theme=dark] .dashboard-users-sheet__head{background:#0f172a;border-bottom-color:#1e293b}[data-theme=dark] .dashboard-users-sheet__head h3{color:#e2e8f0}[data-theme=dark] .dashboard-users-sheet__done{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .dashboard-users-sheet__done:hover{background:#243349}[data-theme=dark] .dashboard-users-sheet__tip{color:#94a3b8}[data-theme=dark] .dashboard-accounts-bar,[data-theme=dark] .dashboard-accounts-bar:hover{background:linear-gradient(180deg,#131c30,#0f172a);border-top-color:#1e293b;box-shadow:0 -8px 28px #00000080}[data-theme=dark] .dashboard-accounts-bar__hint,[data-theme=dark] .dashboard-accounts-bar__chev{color:#94a3b8}[data-theme=dark] .dashboard-accounts-bar__name{color:#e2e8f0}.analysis-section{display:block;background:#fff;border-top:0;border-radius:12px;box-shadow:0 4px 6px #0000001a;border-bottom:0;padding:30px;opacity:0;transition:max-height .6s ease,opacity .6s ease,padding .6s ease,border-color .6s ease,border-width .6s ease}.analysis-section.open{display:block!important}.analysis-container .analysis-section{position:static;transform:none;opacity:1;visibility:visible}.analysis-section.analysis-drill{padding:1rem .75rem 1.5rem!important;border-radius:16px}.analysis-section.open{max-height:3000px;opacity:1;padding:40px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.chart-wrapper{flex:1;min-width:min(100%,260px);max-width:min(400px,100%);margin:0 auto;position:relative}.chart-container{width:100%;height:0;padding-bottom:100%;position:relative}.chart-svg{position:absolute;top:0;left:0;width:100%;height:100%}.chart-circle{fill:none;stroke-width:15;transition:all .3s ease;cursor:pointer}.chart-circle.hovered{stroke-width:20;opacity:.9}.chart-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.chart-center span{font-size:14px;color:#7f8c8d;display:block}.chart-center.total{font-size:22px;font-weight:700;color:#2c3e50;margin-top:5px}.expenses-details{flex:1;min-width:min(100%,240px)}.expenses-details h3{color:#2c3e50;margin-bottom:25px;font-size:28px;padding-bottom:10px;border-bottom:2px solid #f1f1f1}.expenses-list li:hover,.expenses-list li.active{background-color:#ffeaea;box-shadow:0 0 10px 2px #ff000014;transform:scale(1.03);transition:background-color .3s,box-shadow .3s,transform .2s}.expenses-list{list-style:none;margin-bottom:1.5rem;max-height:350px;overflow-y:auto;overflow-x:hidden}.expenses-list li{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--gray-light);cursor:pointer;transition:var(--transition)}.expenses-list li:hover,.expenses-list li.active{background-color:var(--gray-light);border-radius:var(--border-radius)}.expenses-list li:last-child{border-bottom:none}.category{display:flex;align-items:center;font-weight:500}.category-color{width:12px;height:12px;border-radius:50%;margin-right:10px}.category-amount{font-weight:600;color:#2c3e50}.category-percentage{color:#7f8c8d;font-size:14px;margin-left:8px}.total-expenses{background-color:#f5f7f9;color:#000;padding:20px;text-align:center;font-weight:600;font-size:22px;margin-top:15px}@media (max-width: 768px){.analysis-container{flex-direction:column;padding:0 15px;gap:30px}.chart-wrapper{max-width:300px}.analysis-section.open{padding:30px 0}.analysis-section .container{padding:0 15px!important}}@media (max-width: 480px){.analysis-container{padding:0 10px;gap:20px}.analysis-section .container{padding:0 10px!important}.expenses-details h3{font-size:24px}.total-expenses{font-size:18px;padding:15px}}.analysis-drill{--analysis-surface: #ffffff;--analysis-border: #e8ebf0;--analysis-muted: #64748b;--analysis-text: #0f172a;--analysis-accent: #4d87dd;width:100%;max-width:none;margin:0;padding:.75rem 0 1rem;box-sizing:border-box}.analysis-drill__shell{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:1.25rem 1.5rem;align-items:start;width:100%}@media (max-width: 900px){.analysis-drill__shell{grid-template-columns:1fr}.analysis-drill__chart-column{max-width:300px;margin:0 auto;width:100%}}.analysis-drill__chart-column{position:relative}@media (min-width: 901px){.analysis-drill__chart-column{position:sticky;top:88px;align-self:start}}.analysis-chart-card{background:linear-gradient(160deg,#fff,#f8fafc 55%,#f1f5f9);border-radius:20px;padding:1rem 1rem .75rem;border:1px solid rgba(148,163,184,.35);box-shadow:0 2px 8px #0f172a0a,0 12px 40px #0f172a0f}.analysis-chart-card__header{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--analysis-muted);margin-bottom:.5rem;text-align:center}.analysis-chart-card__footer{margin:.65rem 0 0;font-size:.75rem;color:var(--analysis-muted);text-align:center;line-height:1.35}.analysis-timeline-toggle{margin-top:.75rem;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .85rem;font-size:.82rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--analysis-accent) 0%,#5ce1e6 100%);border:1px solid transparent;border-radius:10px;cursor:pointer;box-shadow:0 6px 18px #4d87dd47;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.analysis-timeline-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 26px #4d87dd57;filter:brightness(1.03)}.analysis-timeline-toggle--active{color:var(--analysis-text);background:#f1f5f9;border-color:var(--analysis-border);box-shadow:none}.analysis-timeline-toggle--active:hover{background:#e2e8f0;filter:none}@media (prefers-reduced-motion: reduce){.analysis-timeline-toggle,.analysis-timeline-toggle:hover{transform:none;transition:none}}.chart-container--embedded{max-width:260px;margin:0 auto;padding-bottom:100%}.chart-donut-hole{fill:#f8fafc}.chart-ring--dimmed{opacity:.38}.chart-ring--hovered{filter:brightness(1.08) drop-shadow(0 0 4px rgba(15,23,42,.25))}.analysis-drill__nav-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.analysis-drill__back{flex-shrink:0;border:1px solid var(--analysis-border);background:#f8fafc;color:var(--analysis-text);font-size:.8125rem;font-weight:600;padding:.35rem .65rem;border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.analysis-drill__back:hover{background:#eef2ff;border-color:#c7d2fe}.analysis-drill__detail-column{min-width:0;display:flex;flex-direction:column;gap:.75rem}.analysis-drill__breadcrumb{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.35rem .15rem .15rem;margin:0;font-size:.875rem}.analysis-drill__context-bar{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid var(--analysis-border);border-radius:12px;border-left-width:4px}.analysis-drill__context-bar--compact{padding:.65rem .9rem}.analysis-drill__context-dot{width:8px;height:8px;border-radius:50%;margin-top:.35rem;flex-shrink:0}.analysis-drill__context-title{font-size:1rem;font-weight:700;color:var(--analysis-text);letter-spacing:-.02em}.analysis-drill__context-meta{margin-top:.25rem;font-size:.8rem;color:var(--analysis-muted);line-height:1.35}.analysis-drill__context-hint{margin:.5rem 0 0;font-size:.78rem;color:var(--analysis-muted);line-height:1.4;max-width:42rem}.analysis-drill__crumb{border:none;background:transparent;color:var(--analysis-accent);cursor:pointer;font-weight:500;padding:.25rem .4rem;border-radius:6px;transition:background .15s ease}.analysis-drill__crumb:hover{background:#4f46e514}.analysis-drill__crumb--current{color:var(--analysis-text);font-weight:600;cursor:default}.analysis-drill__crumb--current:hover{background:transparent}.analysis-drill__sep{color:#cbd5e1;-webkit-user-select:none;user-select:none}.chart-center-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--analysis-muted);display:block}.chart-center-total{font-size:1.25rem;font-weight:700;color:var(--analysis-text);margin-top:.2rem}.chart-ring{transition:stroke-width .15s ease,filter .15s ease,opacity .2s ease}.chart-ring:hover{filter:brightness(1.06)}.analysis-drill__panel{min-width:0;flex:1}.analysis-drill__scroll-panel{border:1px solid var(--analysis-border);border-radius:14px;overflow-x:hidden;overflow-y:auto;background:var(--analysis-surface);max-height:min(60vh,520px);padding:.5rem .65rem .65rem;box-sizing:border-box}.analysis-category-grid{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.analysis-category-item{display:flex;align-items:center;border:1px solid var(--analysis-border);border-radius:12px;overflow:hidden;background:var(--analysis-surface);transition:box-shadow .18s ease,border-color .18s ease,transform .12s ease}.analysis-category-item:hover,.analysis-category-item--sync-hover{border-color:#c7d2fe;box-shadow:0 6px 22px #0f172a12;transform:translateY(-1px)}.analysis-category-card{flex:1;min-width:0;display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border:none;border-radius:0;background:transparent;cursor:pointer;text-align:left;transition:background .15s ease}.analysis-category-card:hover{background:#fafbff}.analysis-category-quick{display:flex;align-items:center;gap:.3rem;flex-shrink:0;padding:0 .55rem 0 .35rem}.analysis-cat-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1;border-radius:9px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease}.analysis-cat-icon--graph{color:var(--analysis-accent);background:#4d87dd1a;border-color:#4d87dd38}.analysis-cat-icon--graph:hover{background:#4d87dd33;transform:translateY(-1px);box-shadow:0 4px 12px #4d87dd38}.analysis-cat-icon--toggle{color:#b42318;background:#ef444414;border-color:#ef444438;font-weight:700}.analysis-cat-icon--toggle:hover:not(:disabled){background:#ef444429;transform:translateY(-1px);box-shadow:0 4px 12px #ef444433}.analysis-cat-icon--toggle.is-included{color:#15803d;background:#22c55e1f;border-color:#22c55e47}.analysis-cat-icon--toggle.is-included:hover:not(:disabled){background:#22c55e33;box-shadow:0 4px 12px #22c55e33}.analysis-cat-icon:disabled{opacity:.6;cursor:wait;transform:none}.analysis-cat-icon__spinner{width:13px;height:13px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:analysis-cat-spin .7s linear infinite}@keyframes analysis-cat-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.analysis-category-item,.analysis-category-item:hover,.analysis-cat-icon,.analysis-cat-icon:hover{transform:none;transition:none}.analysis-cat-icon__spinner{animation:none}}.analysis-category-card__color{width:12px;height:44px;border-radius:6px;flex-shrink:0}.analysis-category-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.analysis-category-card__name{font-weight:600;color:var(--analysis-text);font-size:.95rem}.analysis-category-card__amount{font-variant-numeric:tabular-nums;font-weight:700;color:var(--analysis-text);font-size:1rem}.analysis-category-card__pcts{display:flex;flex-direction:column;gap:.2rem}.analysis-category-card__pct{font-size:.75rem;color:var(--analysis-muted)}.analysis-category-card__pct--nested{font-size:.7rem;line-height:1.35;color:var(--analysis-muted)}.analysis-category-card__chevron{color:#cbd5e1;font-size:1.1rem;flex-shrink:0}.analysis-merchant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.analysis-merchant-row{width:100%;display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--analysis-border);border-radius:12px;background:var(--analysis-surface);cursor:pointer;text-align:left;transition:box-shadow .18s ease,border-color .18s ease}.analysis-merchant-row:hover{border-color:#c7d2fe;box-shadow:0 2px 14px #0f172a0d}.analysis-merchant-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.analysis-merchant-row__name{font-weight:600;color:var(--analysis-text);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-merchant-row__count{font-size:.75rem;color:var(--analysis-muted)}.analysis-merchant-row__amount{font-variant-numeric:tabular-nums;font-weight:700;color:var(--analysis-text);font-size:.95rem}.analysis-merchant-row__chevron{color:#cbd5e1;flex-shrink:0}.analysis-merchant-list__error{margin:0 0 .5rem}.analysis-merchant-item{border:1px solid var(--analysis-border);border-radius:12px;overflow:hidden;background:var(--analysis-surface)}.analysis-merchant-item .analysis-merchant-row__link{border:none;border-radius:0;box-shadow:none}.analysis-merchant-item .analysis-merchant-row__link:hover:not(:disabled){border-color:transparent;box-shadow:none;background:#fafbfc}.analysis-merchant-item .analysis-merchant-row__link:disabled{opacity:.65;cursor:wait}.analysis-merchant-item__bulk{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem;padding:.65rem 1rem .85rem;border-top:1px solid var(--analysis-border);background:#f8fafc}.analysis-merchant-item__field{flex:1;min-width:min(100%,11rem);display:flex;flex-direction:column;gap:.25rem}.analysis-merchant-item__select{width:100%;max-width:none}.analysis-merchant-item__exclude-all{flex-shrink:0}.analysis-tx-table-wrap{border:1px solid var(--analysis-border);border-radius:14px;overflow:hidden;background:var(--analysis-surface);max-height:min(60vh,520px);overflow-y:auto}.analysis-tx-table{width:100%;border-collapse:collapse;font-size:.875rem}.analysis-tx-table thead{position:sticky;top:0;z-index:1;background:#f1f5f9}.analysis-tx-table th{text-align:left;padding:.65rem .85rem;font-weight:600;color:var(--analysis-muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;border-bottom:1px solid var(--analysis-border)}.analysis-tx-table td{padding:.65rem .85rem;border-bottom:1px solid #f1f5f9;color:var(--analysis-text);vertical-align:top}.analysis-tx-table tbody tr:hover td{background:#fafbfc}.analysis-tx-table__mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--analysis-muted);font-size:.8rem}.analysis-tx-table__amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.analysis-tx-table__desc{word-break:break-word;max-width:360px}.analysis-tx-table__th-actions{text-align:right;width:5.5rem}.analysis-tx-table__th-category{min-width:8.5rem;max-width:11rem}.analysis-tx-table__category-cell{min-width:7.5rem;max-width:12rem;vertical-align:middle}.analysis-tx-table__category-select{width:100%;max-width:11rem;font-size:.78rem;font-weight:500;padding:.32rem .4rem;border-radius:6px;border:1px solid var(--analysis-border);background:#fff;color:var(--analysis-text);cursor:pointer;transition:border-color .12s ease,background .12s ease}.analysis-tx-table__category-select:hover:not(:disabled){border-color:#c7d2fe;background:#fafbff}.analysis-tx-table__category-select:disabled{opacity:.55;cursor:wait}.analysis-tx-table__chart-hint{margin-top:.25rem;font-size:.68rem;color:var(--analysis-muted);line-height:1.25}.analysis-tx-table__actions{text-align:right;white-space:nowrap;vertical-align:middle}.analysis-tx-table__exclude-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.72rem;font-weight:600;line-height:1;padding:.38rem .7rem;border-radius:999px;border:1px solid rgba(239,68,68,.22);background:#ef444414;color:#b42318;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease}.analysis-tx-table__exclude-btn:hover:not(:disabled){background:#ef444429;transform:translateY(-1px);box-shadow:0 4px 12px #ef44442e}.analysis-tx-table__exclude-btn.is-included{color:#15803d;background:#22c55e1f;border-color:#22c55e47}.analysis-tx-table__exclude-btn.is-included:hover:not(:disabled){background:#22c55e33;box-shadow:0 4px 12px #22c55e33}.analysis-tx-table__exclude-btn:disabled{opacity:.6;cursor:wait;transform:none}.analysis-tx-table__error{padding:.5rem .85rem;font-size:.8rem;color:#b91c1c;background:#fef2f2;border-bottom:1px solid #fecaca}.analysis-tx-table tbody tr.analysis-tx-table__row--excluded td{text-decoration:line-through;text-decoration-thickness:1px;color:#94a3b8}.analysis-tx-table tbody tr.analysis-tx-table__row--excluded .analysis-tx-table__category-cell,.analysis-tx-table tbody tr.analysis-tx-table__row--excluded .analysis-tx-table__exclude-btn{text-decoration:none}@media (max-width: 640px){.analysis-tx-table__desc{max-width:none}}.analysis-tx-cards{display:flex;flex-direction:column;gap:.75rem;padding:.35rem .25rem .5rem}.analysis-tx-card{background:var(--analysis-surface);border:1px solid var(--analysis-border);border-radius:12px;padding:.85rem 1rem;box-shadow:0 1px 3px #0f172a0f;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1)}.analysis-tx-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4d87dd1f;border-color:#4d87dd47}.analysis-tx-card__desc{font-size:.95rem;font-weight:600;color:var(--analysis-text);line-height:1.45;word-break:break-word;margin-bottom:.65rem;padding-bottom:.65rem;border-bottom:1px solid #e8ebf0}.analysis-tx-card__meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.5rem}.analysis-tx-card__meta-item{display:flex;flex-direction:column;gap:.2rem;min-width:0}.analysis-tx-card__meta-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--analysis-muted);font-weight:600}.analysis-tx-card__meta-value{font-size:.875rem;color:var(--analysis-text)}.analysis-tx-card__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem 1.1rem}.analysis-tx-card__row .analysis-tx-card__meta-item{flex:0 0 auto}.analysis-tx-card__row .analysis-tx-card__field{flex:1 1 10rem;min-width:8rem}.analysis-tx-card__row .analysis-tx-table__exclude-btn{margin-left:auto;flex-shrink:0}.analysis-tx-card__controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem;margin-top:.35rem;padding-top:.5rem;border-top:1px solid #f1f5f9}.analysis-tx-card__field{min-width:0;display:flex;flex-direction:column;gap:.25rem}.analysis-tx-card__category-select{width:100%;max-width:100%}.analysis-tx-card__exclude{flex-shrink:0}.analysis-tx-card--excluded .analysis-tx-card__desc,.analysis-tx-card--excluded .analysis-tx-card__meta-value{text-decoration:line-through;text-decoration-thickness:1px;color:#94a3b8}.analysis-tx-card--excluded .analysis-tx-card__field{text-decoration:none}.analysis-tx-card--excluded .analysis-tx-card__meta-value.analysis-tx-card__amount{text-decoration:line-through}.analysis-tx-card--excluded .analysis-tx-card__row .analysis-tx-table__exclude-btn,.analysis-tx-card--excluded .analysis-tx-card__controls .analysis-tx-table__exclude-btn{text-decoration:none}@media (prefers-reduced-motion: reduce){.analysis-tx-card,.analysis-tx-card:hover{transition:none;transform:none!important}}.daily-timeline{--dt-accent: #4d87dd;--dt-accent-2: #5ce1e6;--dt-border: #e8ebf0;--dt-muted: #64748b;--dt-text: #0f172a;display:flex;flex-direction:column;gap:.85rem;border:1px solid var(--dt-border);border-radius:14px;background:#fff;padding:1rem 1rem .85rem;box-sizing:border-box;animation:dt-fade-in .32s cubic-bezier(.4,0,.2,1)}@keyframes dt-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.daily-timeline__topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.daily-timeline__back{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--dt-accent);background:var(--dt-accent);color:#fff;font-size:.82rem;font-weight:600;padding:.45rem .85rem;border-radius:9px;cursor:pointer;box-shadow:0 4px 14px #4d87dd47;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.daily-timeline__back:hover{transform:translateY(-1px);box-shadow:0 8px 20px #4d87dd57;filter:brightness(1.04)}.daily-timeline__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem}.daily-timeline__titles{min-width:0}.daily-timeline__title{display:flex;align-items:center;gap:.45rem;margin:0;font-size:1.05rem;font-weight:700;color:var(--dt-text);letter-spacing:-.01em}.daily-timeline__title-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.daily-timeline__meta{margin:.2rem 0 0;font-size:.8rem;color:var(--dt-muted);line-height:1.4}.daily-timeline__zoom{display:inline-flex;align-items:stretch;border:1px solid var(--dt-border);border-radius:9px;overflow:hidden;background:#f8fafc}.daily-timeline__zoom button{border:none;background:transparent;color:var(--dt-text);font-size:.95rem;font-weight:700;line-height:1;padding:.4rem .7rem;cursor:pointer;transition:background .14s ease,color .14s ease}.daily-timeline__zoom button+button{border-left:1px solid var(--dt-border)}.daily-timeline__zoom button:hover:not(:disabled){background:#eef2ff;color:var(--dt-accent)}.daily-timeline__zoom button:disabled{opacity:.4;cursor:default}.daily-timeline__zoom-fit{font-size:.78rem!important;font-weight:600!important}.daily-timeline__zoom-fit[aria-pressed=true]{background:var(--dt-accent)!important;color:#fff!important}.daily-timeline__empty{padding:2rem 1rem;text-align:center;color:var(--dt-muted);font-size:.9rem}.daily-timeline__body{display:flex;align-items:stretch;gap:.5rem;min-width:0}.daily-timeline__yaxis{position:relative;width:3rem;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:30px}.daily-timeline__ytick{position:relative;height:0}.daily-timeline__ytick-label{position:absolute;right:0;top:0;transform:translateY(-50%);font-size:.66rem;font-variant-numeric:tabular-nums;color:var(--dt-muted);white-space:nowrap}.daily-timeline__ytick:first-child .daily-timeline__ytick-label{transform:translateY(0)}.daily-timeline__ytick:last-child .daily-timeline__ytick-label{transform:translateY(-100%)}.daily-timeline__scroll{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.daily-timeline__plot{position:relative;height:100%;min-width:100%}.daily-timeline__grid{position:absolute;inset:0 0 30px;pointer-events:none}.daily-timeline__gridline{position:absolute;left:0;right:0;height:1px;background:#eef1f6}.daily-timeline__gridline:last-child{background:#d8dee8}.daily-timeline__bars{position:absolute;inset:0;display:flex;align-items:stretch}.daily-timeline__col{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.daily-timeline__bar-track{flex:1;width:100%;min-height:0;display:flex;align-items:flex-end;justify-content:center}.daily-timeline__bar{min-height:1px;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--dt-bar-from, var(--dt-accent-2)) 0%,var(--dt-bar-to, var(--dt-accent)) 100%);transition:filter .14s ease,opacity .14s ease}.daily-timeline__bar--empty{background:#e2e8f0;opacity:.6}.daily-timeline__col--active .daily-timeline__bar{filter:brightness(1.08) drop-shadow(0 2px 6px rgba(77,135,221,.4))}.daily-timeline__col--active .daily-timeline__bar--empty{background:#cbd5e1;opacity:1}.daily-timeline__xlabel{width:100%;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding-top:4px;box-sizing:border-box;font-size:.66rem;color:var(--dt-muted);white-space:nowrap;pointer-events:none}.daily-timeline__xlabel-strong{font-weight:700;color:var(--dt-text)}.daily-timeline__readout{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;box-sizing:border-box;min-width:9rem;height:3.1rem;padding:.35rem .7rem;border-radius:10px;border:1px solid var(--dt-border);background:#f8fafc;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.daily-timeline__readout.is-active{border-color:var(--dt-accent);background:linear-gradient(165deg,#fff,#eef4ff);box-shadow:0 6px 18px #4d87dd29}.daily-timeline__readout-date{font-size:.72rem;font-weight:600;color:var(--dt-muted);letter-spacing:.01em}.daily-timeline__readout-amount{font-size:1.15rem;font-weight:800;color:var(--dt-text);font-variant-numeric:tabular-nums;line-height:1.2}.daily-timeline__readout-hint{font-size:.74rem;color:#94a3b8}@media (prefers-reduced-motion: reduce){.daily-timeline{animation:none}.daily-timeline__bar{transition:none}}.dw-catpick{display:inline-block;width:100%;max-width:11rem}.dw-catpick__trigger{width:100%;display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .5rem;border-radius:9px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-size:.78rem;font-weight:600;cursor:pointer;text-align:left;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.dw-catpick__trigger:hover:not(:disabled){border-color:#c7d2fe;background:#fafbff}.dw-catpick__trigger.is-open{border-color:#4d87dd;box-shadow:0 0 0 3px #4d87dd29}.dw-catpick__trigger:disabled{opacity:.55;cursor:wait}.dw-catpick__dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px #0f172a1f}.dw-catpick__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dw-catpick__chev{flex-shrink:0;color:#94a3b8;font-size:.7rem;transition:transform .15s ease}.dw-catpick__trigger.is-open .dw-catpick__chev{transform:rotate(180deg)}.dw-catpick__spinner{width:13px;height:13px;flex-shrink:0;border-radius:50%;border:2px solid rgba(77,135,221,.3);border-top-color:#4d87dd;animation:dw-catpick-spin .7s linear infinite}.dw-catpick__panel{position:fixed;z-index:4000;display:flex;flex-direction:column;max-height:280px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 18px 48px #0f172a33;overflow:hidden;animation:dw-catpick-pop .16s cubic-bezier(.4,0,.2,1)}.dw-catpick__search-wrap{position:relative;padding:.5rem .5rem .4rem;border-bottom:1px solid #f1f5f9}.dw-catpick__search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:.95rem;pointer-events:none}.dw-catpick__search{width:100%;box-sizing:border-box;padding:.42rem .6rem .42rem 1.7rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.8rem;color:#0f172a;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.dw-catpick__search:focus{border-color:#4d87dd;box-shadow:0 0 0 3px #4d87dd24}.dw-catpick__list{list-style:none;margin:0;padding:.35rem;overflow-y:auto;overflow-x:hidden}.dw-catpick__opt{width:100%;display:flex;align-items:center;gap:.55rem;padding:.5rem .55rem;border:none;border-radius:8px;background:transparent;color:#0f172a;font-size:.82rem;font-weight:500;cursor:pointer;text-align:left;transition:background .12s ease}.dw-catpick__opt:hover{background:#eef2ff}.dw-catpick__opt.is-selected{background:#4d87dd1f;font-weight:700}.dw-catpick__opt-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dw-catpick__check{flex-shrink:0;color:#4d87dd;font-weight:700}.dw-catpick__opt--note{cursor:default;background:#f8fafc;margin-bottom:.25rem}.dw-catpick__opt--note:hover{background:#f8fafc}.dw-catpick__note{flex-shrink:0;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#b45309;background:#fef3c7;padding:.1rem .4rem;border-radius:999px}.dw-catpick__empty{padding:.85rem .6rem;text-align:center;color:#94a3b8;font-size:.8rem}@keyframes dw-catpick-spin{to{transform:rotate(360deg)}}@keyframes dw-catpick-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.dw-catpick__panel,.dw-catpick__spinner{animation:none}.dw-catpick__chev{transition:none}}.analysis-container{--a-primary: #4d87dd;--a-secondary: #5ce1e6;--a-ease: cubic-bezier(.4, 0, .2, 1);position:relative;max-width:none;width:100%;margin:0;padding:16px 8px 28px;box-sizing:border-box}.analysis-fetch-overlay{z-index:12}.analysis-bank-tag-hint{margin:12px 0 0;padding:12px 14px;font-size:.875rem;line-height:1.45;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;max-width:52rem}.analysis-bank-tag-hint code{font-size:.8em;padding:0 .2em;background:#e2e8f0;border-radius:4px}.analysis-description{color:#666;margin-bottom:30px;font-size:16px}.preset-buttons{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.classification-progress{margin:20px 0}.progress-info{margin-bottom:6px;font-size:14px}.analysis-content.blurred{filter:blur(4px);opacity:.6;pointer-events:none;transition:filter .3s ease,opacity .3s ease}.analysis-overlay{position:absolute;inset:0;background:#ffffff8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10}.overlay-card{background:#fff;padding:clamp(16px,4vw,24px) clamp(20px,5vw,32px);border-radius:12px;box-shadow:0 10px 30px #0000001f;width:min(100%,380px);max-width:calc(100vw - 24px);min-width:0;text-align:center}.overlay-title{font-size:16px;font-weight:600;margin-bottom:16px}.overlay-progress{display:flex;flex-direction:column;gap:8px}.progress-percent{font-size:14px;color:#374151}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--a-primary),var(--a-secondary));transition:width .35s var(--a-ease)}.preset-buttons button{padding:10px 18px;background:#ffffffd9;border:1px solid rgba(77,135,221,.28);border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;color:#1e3a5f;box-shadow:0 2px 8px #0f23470f;transition:transform .22s var(--a-ease),box-shadow .22s var(--a-ease),border-color .22s var(--a-ease),background .22s var(--a-ease),color .22s var(--a-ease)}.preset-buttons button:hover{background:linear-gradient(135deg,#4d87dd1f,#5ce1e624);border-color:#4d87dd73;transform:translateY(-2px);box-shadow:0 8px 22px #4d87dd2e}.preset-buttons button:active{transform:translateY(0)}.date-selection{display:flex;gap:30px;margin-bottom:30px;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.date-input-group label{font-weight:600;color:#495057;font-size:14px}.date-input{padding:12px;border:1px solid #ced4da;border-radius:6px;font-size:16px;transition:border-color .2s}.date-input:focus{outline:none;border-color:var(--a-primary);box-shadow:0 0 0 3px #4d87dd47}.analysis-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.analyze-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 28px;background:linear-gradient(125deg,var(--a-primary) 0%,#4f9fe3 50%,#3eb8cf 100%);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:16px;box-shadow:0 6px 20px #4d87dd59;transition:transform .2s var(--a-ease),box-shadow .2s var(--a-ease),filter .2s var(--a-ease),opacity .2s var(--a-ease)}.analyze-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 10px 28px #4d87dd6b}.analyze-btn:active:not(:disabled){transform:translateY(0)}.analyze-btn:disabled{background:linear-gradient(125deg,#94a3b8,#64748b);cursor:not-allowed;box-shadow:none;transform:none;filter:none}.analyze-btn--loading{pointer-events:none}.analyze-btn__spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:analysis-spin .7s linear infinite}.clear-btn{padding:12px 22px;background:#64748b;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:background .2s var(--a-ease),transform .2s var(--a-ease),box-shadow .2s var(--a-ease)}.clear-btn:hover{background:#475569;transform:translateY(-1px);box-shadow:0 6px 16px #47556940}.transaction-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-bottom:16px;padding:10px 16px;background:linear-gradient(165deg,#fffffff2,#edf6ffe6);border-radius:12px;border:1px solid rgba(77,135,221,.18);box-shadow:0 4px 16px #0f23470d}.transaction-summary h3{margin:0;font-size:.85rem;font-weight:700;color:#495057;white-space:nowrap}.summary-cards{display:flex;flex:1;gap:10px 22px;flex-wrap:wrap;justify-content:flex-end}.summary-card{display:flex;align-items:baseline;gap:8px;padding:0;background:transparent;border:none;box-shadow:none;animation:analysis-summary-pop .4s var(--a-ease) backwards}.summary-card:nth-child(1){animation-delay:.04s}.summary-card:nth-child(2){animation-delay:.1s}.summary-label{font-size:11px;color:#6c757d;text-transform:uppercase;font-weight:600;letter-spacing:.02em}.summary-value{font-size:15px;font-weight:700;color:#495057;font-variant-numeric:tabular-nums}.analysis-results h3{color:#495057}.results-content{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:20px;max-height:500px;overflow-y:auto}.results-content pre{margin:0;font-family:Courier New,monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word}.error-message{background:#f8d7da;color:#721c24;padding:12px 15px;border:1px solid #f5c6cb;border-radius:6px;margin-top:20px}@media (max-width: 768px){.analysis-container{padding:15px}.date-selection{flex-direction:column;gap:15px}.date-input-group{min-width:100%}.preset-buttons,.analysis-actions{justify-content:center}}.analysis-results{border-top:2px solid rgba(77,135,221,.15);min-height:200px;width:100%;max-width:none;transition:opacity .28s var(--a-ease),transform .28s var(--a-ease)}.analysis-container .chart-wrapper,.analysis-container .expenses-details{max-width:100%}@keyframes analysis-spin{to{transform:rotate(360deg)}}@keyframes analysis-summary-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes analysis-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes analysis-selection-card-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.analysis-spinner{display:block;width:22px;height:22px;margin:0 auto;border-radius:50%;border:3px solid rgba(77,135,221,.2);border-top-color:var(--a-primary);animation:analysis-spin .72s linear infinite}.analysis-spinner--lg{width:44px;height:44px;border-width:4px}.analysis-output-stack{position:relative;margin-top:10px}.analysis-selection-overlay{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#f8faffb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:analysis-overlay-in .24s var(--a-ease) forwards}.analysis-selection-card{text-align:center;padding:28px 32px 26px;max-width:360px;width:min(100%,360px);background:linear-gradient(165deg,#fff,#f0f7ff);border:1px solid rgba(77,135,221,.22);border-radius:16px;box-shadow:0 16px 48px #0f23471f;animation:analysis-selection-card-in .38s var(--a-ease) forwards}.analysis-selection-title{margin:14px 0 4px;font-size:1.1rem;font-weight:700;color:#0f172a;letter-spacing:.01em}.analysis-selection-sub{margin:0;font-size:.875rem;color:#64748b;line-height:1.45}.analysis-results--refreshing{pointer-events:none;opacity:.52;transform:scale(.992)}.analysis-dim-while-refresh{opacity:.48;transition:opacity .28s var(--a-ease)}.analysis-empty-hint{margin-top:0;position:relative;z-index:1}.overlay-card--brand{border:1px solid rgba(77,135,221,.2);box-shadow:0 18px 50px #4d87dd2e}.overlay-card__spinner-wrap{margin-bottom:8px}.analysis-container--selection-busy .analysis-content{transition:filter .25s var(--a-ease)}.analysis-overlay{animation:analysis-overlay-in .22s var(--a-ease) forwards}@media (prefers-reduced-motion: reduce){.analysis-spinner,.analyze-btn__spinner{animation:none!important;border-top-color:var(--a-primary);border-right-color:#4d87dd59}.summary-card{animation:none!important}.preset-buttons button:hover,.preset-buttons button:active,.analyze-btn:hover:not(:disabled),.clear-btn:hover,.summary-card:hover{transform:none!important}.analysis-selection-overlay,.analysis-selection-card,.analysis-overlay{animation:none!important}.analysis-results--refreshing{transform:none;opacity:.65}}.dw-panel-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:140px;padding:24px 16px;text-align:center;color:#475569}.dw-panel-loading--compact{min-height:100px;padding:16px 12px}.dw-panel-loading--fill{min-height:220px;flex:1}.dw-spinner{width:40px;height:40px;border-radius:50%;border:4px solid rgba(77,135,221,.2);border-top-color:#4d87dd;animation:dw-spinner-rotate .75s linear infinite}.dw-spinner--sm{width:26px;height:26px;border-width:3px}.dw-panel-loading__title{margin:0;font-size:1rem;font-weight:600;color:#0f172a;letter-spacing:.02em}.dw-panel-loading__sub{margin:0;font-size:.85rem;color:#64748b;line-height:1.45;max-width:20rem}.dw-busy-overlay{position:absolute;inset:0;z-index:15;display:flex;align-items:center;justify-content:center;background:#f8faffd1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:inherit}@keyframes dw-spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.dw-spinner{animation:none!important;border-top-color:#4d87dd;border-right-color:#4d87dd59}}.dw-progress-row{width:min(100%,340px);margin:0 auto;display:flex;flex-direction:column;align-items:stretch;gap:8px}.dw-progress-row__meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.8rem;color:#64748b}.dw-progress-row__pct{font-variant-numeric:tabular-nums;font-weight:700;font-size:1rem;color:#0f172a}.dw-progress-row__track{height:9px;border-radius:999px;background:#4d87dd1f;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a0f}.dw-progress-row__fill{height:100%;border-radius:inherit;width:0%;max-width:100%;background:linear-gradient(90deg,#4d87dd,#5ce1e6);transition:width .22s var(--dw-ease, cubic-bezier(.4, 0, .2, 1))}@media (prefers-reduced-motion: reduce){.dw-progress-row__fill{transition:none}}.categories-page{--cat-primary: #4d87dd;--cat-secondary: #5ce1e6;--cat-ease: cubic-bezier(.4, 0, .2, 1);width:100%;max-width:min(52rem,100%);margin:0 auto;padding:clamp(12px,3vw,24px);box-sizing:border-box;font-family:Roboto,sans-serif}.categories-page h2{margin-bottom:6px;font-size:clamp(1.25rem,4vw,1.75rem);color:#0f172a;letter-spacing:.01em}.categories-intro{color:#64748b;font-size:clamp(.85rem,2.5vw,.95rem);margin-bottom:1.25rem;line-height:1.45}.categories-page--has-tree .categories-intro{animation:categories-fade-down .45s var(--cat-ease) backwards}.categories-page--has-tree h2{animation:categories-fade-down .38s var(--cat-ease) backwards}@keyframes categories-fade-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes categories-item-enter{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes categories-nested-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes categories-check-pop{0%{opacity:0;transform:scale(.4) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes categories-spin{to{transform:rotate(360deg)}}.categories-empty{color:#64748b;font-size:.95rem;padding:1rem 0}.categories-tree-wrap{padding:clamp(12px,3vw,18px);background:linear-gradient(165deg,#fffffff2,#edf6ffeb 55%,#ecfdffe0);box-shadow:0 10px 36px #0f234712;animation:categories-panel-in .5s var(--cat-ease) backwards}.categories-tree-wrap--loading{min-height:min(52vh,420px);display:flex;align-items:center;justify-content:center}.categories-page--has-tree .categories-tree-wrap{animation-delay:.06s}@keyframes categories-panel-in{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.categories-tree{list-style:none;margin:0;padding:0}.categories-tree--root{padding:0}.categories-tree--nested{margin:8px 0 4px;margin-left:clamp(10px,2.5vw,18px);padding-left:clamp(10px,2.5vw,16px);border-left:2px solid rgba(77,135,221,.35);animation:categories-nested-reveal .42s var(--cat-ease) backwards}.categories-tree__item{margin-bottom:6px;animation:categories-item-enter .42s var(--cat-ease) backwards;animation-delay:var(--cat-enter-delay, 0ms)}.categories-tree__item:last-child{margin-bottom:0}.categories-tree__row{display:flex;align-items:stretch;gap:6px;min-height:2.25rem}.categories-tree__rail{width:0;flex-shrink:0}.categories-chip{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid rgba(77,135,221,.22);background:#ffffffeb;color:#0f172a;cursor:pointer;font-weight:400;font-size:clamp(.8rem,2.5vw,.9em);text-align:left;word-break:break-word;box-shadow:0 2px 8px #0f23470a;transition:transform .22s var(--cat-ease),box-shadow .22s var(--cat-ease),border-color .22s var(--cat-ease),background .22s var(--cat-ease),color .22s var(--cat-ease)}.categories-chip:hover:not(:disabled){transform:translateY(-2px);border-color:color-mix(in srgb,var(--cat-color, #4d87dd) 55%,transparent);box-shadow:0 8px 22px color-mix(in srgb,var(--cat-color, #4d87dd) 20%,transparent);background:color-mix(in srgb,var(--cat-color, #4d87dd) 9%,#ffffff)}.categories-chip:active:not(:disabled){transform:translateY(0)}.categories-chip__dot{flex-shrink:0;width:12px;height:12px;border-radius:50%;background:var(--cat-color, #94a3b8);box-shadow:inset 0 0 0 1px #0f172a1f,0 0 0 3px color-mix(in srgb,var(--cat-color, #94a3b8) 22%,transparent);transition:transform .22s var(--cat-ease),box-shadow .22s var(--cat-ease)}.categories-chip:hover:not(:disabled) .categories-chip__dot{transform:scale(1.12)}.categories-chip__label{flex:1;text-align:left}.categories-chip__check{flex-shrink:0;font-size:.95em;color:var(--cat-color, var(--cat-primary));animation:categories-check-pop .32s var(--cat-ease) backwards}.categories-chip--parent{font-weight:600;font-size:clamp(.88rem,2.8vw,.95em);border-color:#64748b73}.categories-chip--leaf{font-weight:400}.categories-chip--active{border:2px solid var(--cat-color, var(--cat-primary));background:color-mix(in srgb,var(--cat-color, #4d87dd) 14%,#ffffff);box-shadow:0 6px 20px color-mix(in srgb,var(--cat-color, #4d87dd) 28%,transparent)}.categories-chip--disabled{border:1px dashed #cbd5e1;background:#f8fafc;color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.categories-chip--disabled .categories-chip__dot{background:#cbd5e1;box-shadow:inset 0 0 0 1px #0f172a14}.categories-footer{margin-top:clamp(20px,5vw,30px);border-top:1px solid rgba(77,135,221,.15);padding-top:20px}.categories-footer__actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}.categories-reset-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:10px;background:transparent;color:var(--cat-primary);border:1.5px solid color-mix(in srgb,var(--cat-primary) 45%,transparent);font-size:clamp(.9rem,2.4vw,.95em);font-weight:600;cursor:pointer;width:100%;max-width:320px;transition:transform .2s var(--cat-ease),background .2s var(--cat-ease),border-color .2s var(--cat-ease),opacity .2s var(--cat-ease)}.categories-reset-btn:hover:not(:disabled){background:color-mix(in srgb,var(--cat-primary) 10%,transparent);border-color:var(--cat-primary);transform:translateY(-2px)}.categories-reset-btn:active:not(:disabled){transform:translateY(0)}.categories-reset-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}@media (min-width: 480px){.categories-footer__actions{flex-direction:row;align-items:center;gap:14px}.categories-reset-btn{width:auto}}@media (prefers-reduced-motion: reduce){.categories-reset-btn:hover:not(:disabled){transform:none!important}}.categories-save-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 26px;border-radius:10px;background:linear-gradient(125deg,var(--cat-primary) 0%,#4f9fe3 50%,#3eb8cf 100%);color:#fff;border:none;font-size:clamp(.95rem,2.5vw,1em);font-weight:600;cursor:pointer;width:100%;max-width:320px;box-shadow:0 6px 22px #4d87dd59;transition:transform .2s var(--cat-ease),box-shadow .2s var(--cat-ease),filter .2s var(--cat-ease),opacity .2s var(--cat-ease)}.categories-save-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 10px 28px #4d87dd66}.categories-save-btn:active:not(:disabled){transform:translateY(0)}.categories-save-btn:disabled{opacity:.75;cursor:not-allowed;transform:none;filter:grayscale(.15)}.categories-save-btn--loading{pointer-events:none}.categories-save-btn__spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:categories-spin .7s linear infinite}@media (min-width: 480px){.categories-save-btn{width:auto}}@media (prefers-reduced-motion: reduce){.categories-page--has-tree .categories-intro,.categories-page--has-tree h2,.categories-tree-wrap,.categories-tree__item,.categories-tree--nested,.categories-chip__check{animation:none!important}.categories-save-btn__spinner{animation:none!important;border-top-color:#fff;border-right-color:#ffffff59}.categories-chip:hover:not(:disabled),.categories-save-btn:hover:not(:disabled){transform:none!important}}.settings-panel{max-width:720px}.settings-panel h2{margin-bottom:1.25rem}.settings-section{background:var(--dw-surface, #ffffff);border:1px solid var(--dw-surface-border, #e8ebf0);border-radius:16px;padding:1.25rem 1.35rem 1.4rem;box-shadow:0 4px 16px #0f23470f;margin-bottom:1.1rem}.settings-section__head{margin-bottom:1rem}.settings-section__title{font-size:1.05rem;font-weight:700;color:var(--dw-text, #0f172a);margin:0 0 .25rem}.settings-section__sub{font-size:.85rem;color:var(--dw-text-muted, #64748b);margin:0;line-height:1.4}.settings-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.settings-theme-card{display:flex;align-items:center;gap:.85rem;padding:.85rem .95rem;border-radius:14px;border:2px solid var(--dw-surface-border, #e2e8f0);background:var(--dw-surface, #ffffff);cursor:pointer;text-align:left;position:relative;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.settings-theme-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #0f23471f}.settings-theme-card.is-selected{border-color:#4d87dd;box-shadow:0 8px 22px #4d87dd38}.settings-theme-card__preview{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;flex-shrink:0}.settings-theme-card--light .settings-theme-card__preview{background:linear-gradient(135deg,#f8fafc,#e6f0ff);color:#f59e0b;border:1px solid #e2e8f0}.settings-theme-card--dark .settings-theme-card__preview{background:linear-gradient(135deg,#1e293b,#0f172a);color:#cbd5e1;border:1px solid #334155}.settings-theme-card__text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.settings-theme-card__label{font-size:.95rem;font-weight:700;color:var(--dw-text, #0f172a)}.settings-theme-card__desc{font-size:.78rem;color:var(--dw-text-muted, #64748b);line-height:1.35}.settings-theme-card__check,.settings-lang-item__check{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#4d87dd;color:#fff;font-size:.78rem;font-weight:700;opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease}.settings-theme-card.is-selected .settings-theme-card__check,.settings-lang-item.is-selected .settings-lang-item__check{opacity:1;transform:scale(1)}.settings-lang-list{display:flex;flex-direction:column;gap:.6rem}.settings-lang-item{display:flex;align-items:center;gap:.85rem;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--dw-surface-border, #e2e8f0);background:var(--dw-surface, #ffffff);cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.settings-lang-item:hover{transform:translateY(-1px);border-color:#c7d2fe;box-shadow:0 6px 16px #4d87dd1f}.settings-lang-item.is-selected{border-color:#4d87dd;background:color-mix(in srgb,#4d87dd 8%,var(--dw-surface, #ffffff))}.settings-lang-item__code{flex-shrink:0;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:color-mix(in srgb,#4d87dd 12%,transparent);color:#3568b8;font-size:.72rem;font-weight:800;letter-spacing:.03em}.settings-lang-item__text{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.settings-lang-item__native{font-size:.95rem;font-weight:700;color:var(--dw-text, #0f172a)}.settings-lang-item__label{font-size:.78rem;color:var(--dw-text-muted, #64748b)}@media (prefers-reduced-motion: reduce){.settings-theme-card,.settings-lang-item,.settings-theme-card__check,.settings-lang-item__check{transition:none;transform:none}}@keyframes dw-shell-bg-drift{0%,to{background-position:0% 42%}50%{background-position:100% 58%}}@media (prefers-reduced-motion: reduce){.container-dashboard{animation:none!important}.sidebar .side-buttons button{transition:none!important}.dashboard-accounts-bar:hover,.dashboard-accounts-bar:active{transform:none!important}}.container-dashboard{--dw-primary: #4d87dd;--dw-secondary: #5ce1e6;--dw-primary-deep: #3568b8;--dw-ink: #0f172a;--dw-ink-muted: #64748b;--dw-border: rgba(77, 135, 221, .22);--dw-border-glow: rgba(92, 225, 230, .4);--dw-shadow: 0 14px 44px rgba(15, 35, 71, .09);--dw-shadow-sm: 0 4px 16px rgba(15, 35, 71, .07);--dw-radius: 16px;--dw-radius-sm: 12px;--dw-ease: cubic-bezier(.4, 0, .2, 1);--dw-fast: .2s var(--dw-ease);padding-top:clamp(56px,10vw,80px);padding-inline:clamp(0px,1.5vw,12px);display:grid;grid-template-columns:250px minmax(0,1fr) 280px;grid-template-rows:minmax(0,1fr);grid-template-areas:"sidebar main right";height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0;box-sizing:border-box;width:100%;max-width:100%;margin:0 auto;position:relative;overflow-x:hidden;overflow-y:hidden;align-items:stretch;background:linear-gradient(125deg,#eef2ff,#e6f0ff 22%,#f0f9ff 52%,#ecfeff);background-size:165% 165%;animation:dw-shell-bg-drift 24s ease-in-out infinite}.container-dashboard.container-dashboard--no-right:not(.container-dashboard--narrow){grid-template-columns:250px minmax(0,1fr);grid-template-areas:"sidebar main"}.sidebar{grid-area:sidebar;background:linear-gradient(168deg,#fffffff0,#edf6fff7 42%,#ecfdffe6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-right:1px solid var(--dw-border);box-shadow:var(--dw-shadow-sm);display:flex;flex-direction:column;padding:18px 14px;justify-content:flex-start;gap:12px;min-height:0;min-width:0;overflow-y:auto;border-radius:0 var(--dw-radius-sm) var(--dw-radius-sm) 0}.user-info{text-align:center;margin-bottom:30px}.user-info img{width:80px;height:80px;border-radius:50%;margin-bottom:15px}.user-email{color:#666;font-size:.9em;margin-top:5px}.side-buttons{display:flex;flex-direction:column;gap:10px}.sidebar .side-buttons button{margin:0;padding:12px 14px;border:1px solid rgba(77,135,221,.12);background:#ffffff94;color:var(--dw-ink);cursor:pointer;border-radius:var(--dw-radius-sm);font-size:.95rem;font-weight:500;letter-spacing:.01em;box-shadow:0 1px #ffffffbf inset;transition:background var(--dw-fast),border-color var(--dw-fast),color var(--dw-fast),box-shadow var(--dw-fast),transform var(--dw-fast)}.sidebar .side-buttons button:hover{background:linear-gradient(135deg,#4d87dd1f,#5ce1e629);border-color:var(--dw-border);color:var(--dw-primary-deep);transform:translateY(-2px);box-shadow:var(--dw-shadow-sm)}.sidebar .side-buttons button.active{background:linear-gradient(125deg,var(--dw-primary) 0%,#4f9fe3 45%,#42b8cf 100%);border-color:#ffffff73;color:#fff;font-weight:600;box-shadow:0 10px 28px #4d87dd61}.sidebar .side-buttons button.active:hover{transform:translateY(-2px);filter:brightness(1.04)}.sidebar .logout-btn{background:#ff6b6b;margin-top:auto}.sidebar .logout-btn:hover{background:#ee5a5a}.main{grid-area:main;min-width:0;width:100%;flex:1;padding:clamp(12px,2.5vw,20px);overflow-y:auto;min-height:0;max-height:none;background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.06) 48%,transparent 100%)}.connect-gmail-section{text-align:center;padding:40px;background-color:#f5f5f5;border-radius:10px;margin:20px 0}.connect-gmail-btn{background-color:#4285f4;color:#fff;padding:12px 24px;border:none;border-radius:5px;cursor:pointer;font-size:16px;margin-top:15px}.connect-gmail-btn:hover{background-color:#3367d6}.calendar-interface{display:flex;flex-direction:column;gap:20px}.calendar-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000001a}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header h3{margin:0;color:#333;font-size:1.5em}.nav-button{background:#007bff;color:#fff;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:1.2em;display:flex;align-items:center;justify-content:center}.nav-button:hover{background:#0056b3}.calendar-grid{display:flex;flex-direction:column;gap:10px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-weight:700;color:#666}.weekday{padding:10px;background:#f8f9fa;border-radius:6px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-day{height:60px;display:flex;align-items:center;justify-content:center;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500}.calendar-day:hover{background:#e7f3ff;border-color:#007bff}.calendar-day.selected{background:#007bff;color:#fff;border-color:#007bff}.calendar-day.empty{background:#f8f9fa;border-color:#dee2e6;cursor:default}.calendar-selection-info{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #e9ecef}.clear-selection-btn{background:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.clear-selection-btn:hover{background:#545b62}.action-buttons{display:flex;gap:15px;justify-content:center}.fetch-btn,.analyze-btn,.process-btn{padding:12px 30px;border:none;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s ease}.fetch-btn{background:#28a745;color:#fff}.fetch-btn:hover:not(:disabled){background:#218838}.analyze-btn{background:#ffc107;color:#212529}.analyze-btn:hover:not(:disabled){background:#e0a800}.process-btn{background:#17a2b8;color:#fff;padding:6px 12px;font-size:.8em}.process-btn:hover:not(:disabled){background:#138496}.fetch-btn:disabled,.analyze-btn:disabled,.process-btn:disabled{background:#6c757d;cursor:not-allowed}.success-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:15px;border-radius:8px;text-align:center}.success-message h3{margin:0 0 10px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:12px;border-radius:6px;text-align:center;margin:10px 0}.statements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-top:20px}.statement-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px;box-shadow:0 2px 5px #0000001a}.statement-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}.statement-header h4{margin:0;font-size:.9em;color:#333}.statement-date{font-size:.8em;color:#666;white-space:nowrap}.statement-details{display:flex;justify-content:space-between;align-items:center}.transaction-count{font-size:.9em;color:#666}.api-response{margin-top:10px;padding:10px;background:#f8f9fa;border-radius:4px;font-size:.8em}.api-response h5{margin:0 0 5px;color:#333}.api-response pre{margin:0;white-space:pre-wrap;font-size:.75em;background:#fff;padding:10px;border-radius:3px;max-height:300px;overflow-y:auto}.right-sidebar{grid-area:right;background:linear-gradient(192deg,#fffffff0,#edf6fff7 48%,#ecfdffe6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-left:1px solid var(--dw-border);box-shadow:var(--dw-shadow-sm);padding:clamp(12px,2vw,20px);overflow-y:auto;min-width:0;min-height:0;border-radius:var(--dw-radius-sm) 0 0 var(--dw-radius-sm)}.load-data-container{width:100%;min-width:0;position:relative}.load-data-container h2{font-size:clamp(1.15rem,3.5vw,1.5rem);margin-bottom:.75rem}.settings-container{width:100%;min-width:0;max-width:52rem}.bank-selection{margin-top:20px;padding-top:16px;border-top:1px solid #e0e0e0}.bank-selection h4{margin:0 0 12px;color:#333;font-size:14px}.bank-checkbox{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;margin-bottom:6px;transition:background .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1),border-color .22s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.bank-checkbox:hover{background:linear-gradient(135deg,#4d87dd14,#5ce1e61a);transform:translate(2px);box-shadow:0 4px 14px #4d87dd1a;border-color:#4d87dd26}.bank-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#007bff}.bank-checkbox__row{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.bank-checkbox__text{font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-checkbox .bank-logo{width:20px;height:20px;border-radius:4px;object-fit:contain;flex-shrink:0;background:#fff;border:1px solid rgba(0,0,0,.08)}.bank-checkbox .bank-logo--placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#555;background:#e8eaed}.bank-checkbox.loaded{background:#e8f5e9;opacity:.7}.bank-checkbox.loaded .bank-checkbox__text{color:#666}.loaded-badge{margin-left:auto;font-size:12px;color:#2e7d32;font-weight:500}.bank-checkbox.ready{background:#fff3e0;border-left:3px solid #f57c00}.ready-badge{margin-left:auto;font-size:12px;color:#f57c00;font-weight:500}.bank-selection-panel h3{margin-bottom:10px;color:#333}.selected-count{color:#666;font-size:14px;margin-bottom:20px}.bank-checkerboard{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.bank-item{display:flex;flex-direction:column;align-items:center;padding:15px 10px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative}.bank-item:hover{border-color:#007bff;transform:translateY(-2px)}.bank-item.selected{border-color:#007bff;background-color:#f0f8ff}.bank-item .bank-logo{width:40px;height:40px;margin-bottom:8px}.bank-logo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px}.bank-name{font-size:12px;text-align:center;font-weight:500}.selection-indicator{position:absolute;top:5px;right:5px;width:20px;height:20px;background:#007bff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.bank-actions{display:flex;gap:10px}.select-all-btn,.clear-all-btn{flex:1;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.select-all-btn{background:#007bff;color:#fff}.select-all-btn:hover{background:#0056b3}.clear-all-btn{background:#6c757d;color:#fff}.clear-all-btn:hover{background:#545b62}.container-dashboard--narrow{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0;overflow:hidden;padding-top:calc(clamp(56px,10vw,80px) + 12px);padding-bottom:calc(56px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.container-dashboard--narrow .sidebar{grid-area:unset;border-right:none;border-bottom:1px solid var(--dw-border);box-shadow:0 8px 24px #0f23470f;height:auto;flex-direction:column;justify-content:flex-start;gap:12px;border-radius:0 0 var(--dw-radius-sm) var(--dw-radius-sm)}.container-dashboard--narrow .side-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media (min-width: 480px){.container-dashboard--narrow .side-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}}.container-dashboard--narrow .sidebar .side-buttons button{margin:0;padding:10px 8px;font-size:clamp(.8rem,2.8vw,1rem)}.container-dashboard--narrow .sidebar .logout-btn{margin-top:0;width:100%}.container-dashboard--narrow .main{flex:1;min-height:0;grid-area:unset}.container-dashboard--narrow .right-sidebar--banks-only{border-left:none;border-top:1px solid var(--dw-border);border-radius:var(--dw-radius-sm) var(--dw-radius-sm) 0 0}.container-dashboard--narrow .calendar-day{height:50px;font-size:.9em}.container-dashboard--narrow .statements-grid{grid-template-columns:1fr}.container-dashboard--narrow .action-buttons{flex-direction:column}.dashboard-accounts-bar{position:fixed;left:0;right:0;bottom:0;z-index:3580;display:flex;align-items:center;gap:12px;padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#fffffff5,#edf6fffa);border-top:1px solid rgba(77,135,221,.2);box-shadow:0 -8px 28px #0f23471a;cursor:pointer;text-align:left;border:none;font:inherit;transition:background .2s ease,box-shadow .2s ease}.dashboard-accounts-bar:hover{background:linear-gradient(180deg,#fff,#eef5ff);box-shadow:0 -10px 32px #4d87dd1f}.dashboard-accounts-bar:active{transform:scale(.995)}.dashboard-accounts-bar__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.dashboard-accounts-bar__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dashboard-accounts-bar__hint{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:600}.dashboard-accounts-bar__name{font-size:.95rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-accounts-bar__chev{flex-shrink:0;font-size:.75rem;color:#64748b}.dashboard-users-sheet-root{position:fixed;inset:0;z-index:3600;pointer-events:none;visibility:hidden;transition:visibility .28s step-end}.dashboard-users-sheet-root.is-open{pointer-events:auto;visibility:visible;transition:visibility 0s step-start}.dashboard-users-sheet-backdrop{position:absolute;inset:0;margin:0;padding:0;border:none;background:#0f172a66;opacity:0;transition:opacity .28s ease;cursor:pointer}.dashboard-users-sheet-root.is-open .dashboard-users-sheet-backdrop{opacity:1}.dashboard-users-sheet{position:absolute;left:0;right:0;bottom:0;max-height:min(88vh,100dvh - 40px);background:#f8fafc;border-radius:18px 18px 0 0;box-shadow:0 -12px 40px #0f172a2e;transform:translateY(105%);transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;min-height:120px;touch-action:pan-y}.dashboard-users-sheet-root.is-open .dashboard-users-sheet{transform:translateY(0)}.dashboard-users-sheet__handle-wrap{flex-shrink:0;padding:10px 0 6px;cursor:grab;touch-action:none}.dashboard-users-sheet__handle-wrap:active{cursor:grabbing}.dashboard-users-sheet__handle{width:40px;height:5px;margin:0 auto;border-radius:99px;background:#cbd5e1}.dashboard-users-sheet__head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:4px 16px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.dashboard-users-sheet__head h3{margin:0;font-size:1.1rem;color:#0f172a}.dashboard-users-sheet__done{padding:8px 14px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-weight:600;font-size:.9rem;color:#334155;cursor:pointer}.dashboard-users-sheet__done:hover{background:#f1f5f9}.dashboard-users-sheet__tip{margin:0 0 10px;font-size:.75rem;color:#64748b;padding:0 4px}.dashboard-users-sheet__scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px max(16px,env(safe-area-inset-bottom))}@media (min-width: 1101px) and (max-width: 1280px){.container-dashboard{grid-template-columns:220px minmax(0,1fr) 260px}.container-dashboard.container-dashboard--no-right:not(.container-dashboard--narrow){grid-template-columns:220px minmax(0,1fr)}}@media (min-width: 1440px){.container-dashboard{max-width:min(1760px,100%);grid-template-columns:260px minmax(0,1fr) 300px}.container-dashboard.container-dashboard--no-right:not(.container-dashboard--narrow){grid-template-columns:260px minmax(0,1fr)}}@media (min-width: 1920px){.container-dashboard{max-width:min(1920px,100%);grid-template-columns:280px minmax(0,1fr) 340px}.container-dashboard.container-dashboard--no-right:not(.container-dashboard--narrow){grid-template-columns:280px minmax(0,1fr)}}@media (max-width: 600px){.connect-gmail-section{padding:24px 16px}.bank-checkbox{padding:10px 8px}.bank-checkbox__text{font-size:13px}}.time-period-interface{max-width:min(800px,100%);margin:0 auto;width:100%;min-width:0}.time-period-interface--busy{position:relative}.period-selection{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:24px;padding:clamp(12px,3vw,20px);background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.selection-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.selection-group label{font-weight:600;color:#495057;font-size:14px}.selection-dropdown{padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.load-data-btn{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s;flex-shrink:0;width:100%;max-width:280px}@media (min-width: 640px){.load-data-btn{width:auto}}.load-data-btn:hover:not(:disabled){background:#0056b3}.load-data-btn:disabled{background:#6c757d;cursor:not-allowed}.selected-period-info{text-align:center;margin-bottom:30px;padding:15px;background:#e7f3ff;border-radius:8px;border-left:4px solid #007bff}.selected-period-info h3{margin:0 0 8px;color:#0056b3}.selected-period-info p{margin:0;color:#495057;font-size:14px}.progress-info{text-align:center;padding:30px;background:#f8f9fa;border-radius:8px;margin:20px 0}.progress-info__hint{font-size:.9rem;color:#64748b;line-height:1.45;max-width:28rem;margin:16px auto 0}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:40px;height:40px;animation:spin 2s linear infinite;margin:0 auto 15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-message{text-align:center;padding:30px;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin:20px 0}.success-details{margin-top:15px;padding:15px;background:#fff;border-radius:6px;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.success-details p{margin:8px 0;color:#155724}@media (max-width: 768px){.period-selection{flex-direction:column;align-items:stretch;gap:14px}.load-data-btn{align-self:stretch;max-width:none}}.warning-text{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7;padding:8px;border-radius:4px;margin-top:10px}.month-status{text-align:center;margin:15px 0;padding:10px;border-radius:6px}.status-loaded{background:#d4edda;color:#155724;border:1px solid #c3e6cb;padding:10px;border-radius:4px}.status-not-loaded{background:#fff3cd;color:#856404;border:1px solid #ffeaa7;padding:10px;border-radius:4px}.connect-account-root{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;min-width:0;width:100%}.connect-account-root h3{font-size:clamp(1rem,3.5vw,1.15rem);margin:0}.connect-account-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;box-sizing:border-box;position:relative;min-width:0;width:100%;border:1px solid #ddd;background:#fff;cursor:pointer}.connect-account-card--selected{border:2px solid #3fced3;background-color:#a7fcff}.connect-account-card--expired{border:1px solid #dc3545;background-color:#fdf2f2;cursor:default}.connect-account-card--selection-locked{cursor:not-allowed;opacity:.72;background:#f8f9fa}.connect-account-card--selection-locked.connect-account-card--selected{border:1px solid #ddd;background:#f8f9fa}.connect-account-card__avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.connect-account-card__avatar--muted{filter:grayscale(80%)}@media (min-width: 400px){.connect-account-card__avatar{width:42px;height:42px}}.connect-account-card__body{flex:1;min-width:0}.connect-account-card__name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connect-account-card__email{color:#666;font-size:.85em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connect-account-card__warn{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:2px 8px;border-radius:999px;background:#dc35451a;color:#dc3545;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connect-account-card__warn-dot{width:6px;height:6px;border-radius:50%;background:#dc3545;flex-shrink:0}.connect-account-card__actions{display:flex;flex-direction:row;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.connect-account-card__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:8px;font-size:15px;line-height:1;font-weight:700;cursor:pointer;border:1px solid rgba(37,99,235,.25);background:#2563eb1a;color:#2563eb;transition:background .18s ease,border-color .18s ease,transform .12s ease}.connect-account-card__icon-btn:hover{background:#2563eb2e;border-color:#2563eb66}.connect-account-card__icon-btn:active{transform:scale(.92)}.connect-account-card__icon-btn--danger,.connect-account-card__icon-btn--danger-muted{border-color:#dc354540;background:#dc35451a;color:#dc3545}.connect-account-card__icon-btn--danger:hover,.connect-account-card__icon-btn--danger-muted:hover{background:#dc35452e;border-color:#dc354566}.connect-account-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:10px;border:1px solid #ddd;cursor:pointer;background:#fff;font-weight:600;width:100%;max-width:100%;box-sizing:border-box;font-size:clamp(.85rem,2.5vw,1rem);align-self:stretch}.connect-account-google-btn:hover{background:#f8fafc;border-color:#cbd5e1}.connect-account-google-btn img{width:20px;height:20px;max-width:20px;max-height:20px;flex-shrink:0;object-fit:contain}.connect-account-logout-btn{width:100%;box-sizing:border-box;margin-top:0;padding:12px;border:none;border-radius:10px;background:#ff6b6b;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:background .3s ease}.connect-account-logout-btn:hover{background:#ee5a5a}.connect-account-root--sheet{margin-bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.connect-account-empty{color:#999;font-size:.9em}.password-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:4000;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.password-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.password-modal-header{padding:24px;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:12px 12px 0 0}.password-modal-header h3{margin:0 0 8px;color:#2c3e50;font-size:24px}.password-modal-header p{margin:0;color:#6c757d;font-size:14px}.password-modal-content{padding:24px}.file-info{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:20px;border-left:4px solid #007bff}.file-info p{margin:4px 0;font-size:14px}.password-form,.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.input-group input{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:6px;font-size:16px;transition:border-color .2s}.input-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.input-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.password-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.skip-btn{padding:12px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.skip-btn:hover:not(:disabled){background:#545b62}.skip-btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.submit-btn:hover:not(:disabled){background:#0056b3}.submit-btn:disabled{background:#6c757d;cursor:not-allowed}.password-help{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:12px;margin-top:20px}.password-help p{margin:0;color:#856404;font-size:14px;text-align:center}.error-message{background:#f8d7da;color:#721c24;padding:12px;border-radius:6px;border:1px solid #f5c6cb;margin-top:16px;font-size:14px}@media (max-width: 576px){.password-modal{margin:10px}.password-modal-actions{flex-direction:column}.skip-btn,.submit-btn{width:100%}}
