@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@700;800;900&family=Syne:wght@400;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root,[data-theme=dark]{--bg-base:#0a0e1a;--bg-card:#111827;--bg-card-hover:#161e30;--border:#6366f12e;--border-glow:#6366f173;--accent:#6366f1;--accent-bright:#818cf8;--neon-green:#10f0a0;--neon-red:#f0416a;--neon-blue:#38bdf8;--text-primary:#e2e8f0;--text-muted:#64748b;--text-heading:#f8fafc;--radius-card:16px;--radius-btn:10px;--shadow-card:0 0 0 1px var(--border), 0 4px 24px #00000080;--shadow-glow:0 0 20px #6366f140;--transition:.2s cubic-bezier(.4,0,.2,1)}[data-theme=light]{--bg-base:#f0f4ff;--bg-card:#fff;--bg-card-hover:#f8f9ff;--border:#6366f133;--border-glow:#6366f180;--accent:#6366f1;--accent-bright:#4f46e5;--neon-green:#059669;--neon-red:#dc2626;--neon-blue:#0284c7;--text-primary:#1e293b;--text-muted:#64748b;--text-heading:#0f172a;--radius-card:16px;--radius-btn:10px;--shadow-card:0 0 0 1px var(--border), 0 4px 24px #6366f114;--shadow-glow:0 0 20px #6366f126;--transition:.2s cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-base);color:var(--text-primary);background-image:radial-gradient(80% 50% at 50% -10%,#6366f126 0%,#0000 70%),radial-gradient(60% 40% at 80% 100%,#10f0a00f 0%,#0000 60%);min-height:100vh;font-family:Syne,sans-serif;transition:background .3s,color .3s}[data-theme=light] body,[data-theme=light]{background-image:radial-gradient(80% 50% at 50% -10%,#6366f112 0%,#0000 70%),radial-gradient(60% 40% at 80% 100%,#10b9810a 0%,#0000 60%)}body:after{content:"";pointer-events:none;z-index:9999;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px;position:fixed;inset:0}[data-theme=light] body:after{opacity:.2}.app{max-width:820px;margin:0 auto;padding:48px 20px 80px;animation:.5s both fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:40px;display:flex}.header-left{flex:1;min-width:0}.header-left h1{letter-spacing:.04em;background:linear-gradient(135deg, var(--accent-bright) 0%, var(--neon-blue) 100%);-webkit-text-fill-color:transparent;white-space:nowrap;text-overflow:ellipsis;-webkit-background-clip:text;background-clip:text;font-family:Orbitron,sans-serif;font-size:clamp(1.4rem,5vw,2.8rem);font-weight:800;overflow:hidden}.header-left p{color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-family:JetBrains Mono,monospace;font-size:.6rem;overflow:hidden}.btn-settings{border:1.5px solid var(--border);cursor:pointer;width:42px;height:42px;color:var(--text-muted);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,border-color .2s,background .2s,transform .3s;display:flex}.btn-settings:hover{color:var(--text-primary);border-color:var(--accent);background:#6366f11a}.btn-settings.active{color:var(--accent);border-color:var(--accent);background:#6366f126;transform:rotate(45deg)}.summary-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);padding:24px 20px;position:relative;overflow:hidden}.summary-card:before{content:"";background:var(--accent);opacity:.6;height:2px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.summary-card.income:before{background:var(--neon-green)}.summary-card.expense:before{background:var(--neon-red)}.summary-card.balance:before{background:var(--neon-blue)}.summary-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-card), var(--shadow-glow);transform:translateY(-2px)}.summary-card:hover:before{opacity:1}.summary-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500}.summary-value{letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700}.summary-card.income .summary-value{color:var(--neon-green)}.summary-card.expense .summary-value{color:var(--neon-red)}.summary-card.balance .summary-value{color:var(--neon-blue)}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:20px;padding:28px 24px}.panel-title{color:var(--accent-bright);align-items:center;gap:8px;margin-bottom:20px;font-size:1.1rem;font-weight:700;display:flex}.panel-title:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.field-group{flex-direction:column;flex:1;gap:6px;min-width:120px;display:flex}.field-group label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.65rem}.field-group select,.field-group input{border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);background:#ffffff0a;outline:none;width:100%;padding:10px 14px;font-family:Syne,sans-serif;font-size:.9rem}[data-theme=light] .field-group select,[data-theme=light] .field-group input{background:#00000008}.field-group select:focus,.field-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f126}.field-group select option{background:var(--bg-card);color:var(--text-primary)}.form-row{flex-wrap:wrap;gap:16px;margin-bottom:14px;display:flex}.form-row .field-group{flex:1;min-width:140px}.form-row-action{justify-content:flex-end;margin-bottom:0}.form-row-action .btn-add{letter-spacing:.04em;width:100%;padding:12px;font-size:1rem}.reason-group{flex:2}.reason-input-wrap{align-items:stretch;gap:8px;display:flex}.reason-select{flex:1;min-width:0}.btn-mic{border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--accent-bright);cursor:pointer;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);background:#6366f11f;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 14px;font-size:1.1rem;display:flex}.btn-mic:hover{border-color:var(--accent);background:#6366f138;box-shadow:0 0 12px #6366f14d}.btn-mic.recording{border-color:var(--neon-red);background:#f0416a26;animation:1s ease-in-out infinite mic-pulse;box-shadow:0 0 16px #f0416a66}@keyframes mic-pulse{0%,to{box-shadow:0 0 10px #f0416a4d}50%{box-shadow:0 0 22px #f0416ab3}}.mic-icon{line-height:1}.mic-status{color:var(--text-muted);letter-spacing:.05em;margin-top:5px;font-family:JetBrains Mono,monospace;font-size:.72rem}.mic-status-ok{color:var(--neon-green)}.mic-status-err{color:var(--neon-red)}.mic-status-info{color:var(--text-muted)}.preview-box{border-radius:var(--radius-btn);background:#6366f10f;border:1px solid #6366f14d;margin-bottom:14px;padding:14px 16px}.preview-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-bright);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:.68rem;display:flex}.preview-badge{background:#6366f133;border-radius:99px;padding:2px 8px;font-size:.62rem}.preview-clear{color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.68rem}.preview-clear:hover{color:var(--neon-red);background:#f0416a14}.preview-text{color:var(--text-primary);-webkit-user-select:text;user-select:text;word-break:break-word;background:#ffffff08;border:1px dashed #6366f133;border-radius:8px;min-height:44px;padding:10px 12px;font-size:.95rem;line-height:1.6}[data-theme=light] .preview-text{background:#00000005}.preview-hint{color:var(--text-muted);margin-top:8px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-style:italic}.preview-parsing{color:var(--text-muted);align-items:center;gap:4px;margin-top:8px;font-family:JetBrains Mono,monospace;font-size:.72rem;display:flex}.parsing-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}.parsing-dot:nth-child(2){animation-delay:.2s}.parsing-dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.btn-add{background:var(--accent);color:#fff;border-radius:var(--radius-btn);cursor:pointer;white-space:nowrap;transition:background var(--transition), box-shadow var(--transition), transform var(--transition);border:none;min-height:44px;padding:10px 22px;font-family:Syne,sans-serif;font-size:.9rem;font-weight:700;box-shadow:0 0 16px #6366f159}.btn-add:hover:not(:disabled){background:var(--accent-bright);transform:translateY(-1px);box-shadow:0 0 24px #6366f18c}.btn-add:active{transform:translateY(0)}.btn-add:disabled{opacity:.5;cursor:not-allowed}.tx-table{border-collapse:collapse;width:100%;font-size:.88rem}.tx-table th{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:.62rem}.tx-table td{vertical-align:middle;transition:background var(--transition);border-bottom:1px solid #6366f112;padding:12px 10px}.tx-table tr:hover td{background:#6366f10d}.tx-table tr:last-child td{border-bottom:none}.type-badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.type-badge.income{color:var(--neon-green);background:#10f0a01a;border:1px solid #10f0a033}.type-badge.expense{color:var(--neon-red);background:#f0416a1a;border:1px solid #f0416a33}.amount-income{color:var(--neon-green);font-family:JetBrains Mono,monospace;font-weight:600}.amount-expense{color:var(--neon-red);font-family:JetBrains Mono,monospace;font-weight:600}.btn-delete{color:var(--neon-red);cursor:pointer;transition:background var(--transition), box-shadow var(--transition);white-space:nowrap;background:0 0;border:1px solid #f0416a4d;border-radius:6px;min-height:36px;padding:4px 12px;font-family:Syne,sans-serif;font-size:.78rem}.btn-delete:hover{background:#f0416a1a;box-shadow:0 0 10px #f0416a33}.empty-state{text-align:center;color:var(--text-muted);padding:40px 0 20px;font-family:JetBrains Mono,monospace;font-size:.9rem}.error-bar{color:var(--neon-red);word-break:break-word;background:#f0416a1a;border:1px solid #f0416a4d;border-radius:8px;margin-bottom:16px;padding:10px 16px;font-family:JetBrains Mono,monospace;font-size:.85rem}.success-bar{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer}[data-theme=light] input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7)sepia()saturate(3)hue-rotate(200deg);cursor:pointer;transition:filter var(--transition);border-radius:4px;padding:2px}[data-theme=light] input[type=date]::-webkit-calendar-picker-indicator{filter:none;opacity:.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.settings-overlay{z-index:100;background:#0000008c;justify-content:flex-end;animation:.18s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-panel{background:var(--bg-card);border-left:1px solid var(--border);flex-direction:column;width:420px;max-width:100vw;height:100%;padding:0 0 2rem;animation:.22s slideIn;display:flex;overflow-y:auto}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.settings-header{border-bottom:1px solid var(--border);background:var(--bg-card);z-index:1;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;display:flex;position:sticky;top:0}.settings-title{color:var(--text-primary);align-items:center;font-size:1.05rem;font-weight:700;display:flex}.btn-settings-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:.25rem .5rem;font-size:1.1rem;transition:color .15s,background .15s;display:flex}.btn-settings-close:hover{color:var(--text-primary);background:#ffffff12}.settings-section{padding:1.4rem 1.5rem}.settings-section-title{color:var(--text-primary);margin-bottom:.4rem;font-size:.95rem;font-weight:600}.panel-subtitle{color:var(--text-muted);margin:0 0 1.2rem;font-size:.88rem}.cat-pill{border:1px solid var(--border);color:var(--text-primary);background:#ffffff0d;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;display:inline-block}.no-categories-hint{color:#fbbf24;background:#eab3081a;border:1px solid #eab3084d;border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;font-size:.88rem}.link-btn{color:#fbbf24;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{color:#fff}.new-cat-prompt{background:#6366f11a;border:1px solid #6366f159;border-radius:10px;flex-direction:column;gap:.45rem;margin-top:.6rem;padding:.75rem 1rem;animation:.18s slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.new-cat-label{color:var(--text-primary);font-size:.88rem}.new-cat-label strong{color:#a78bfa}.new-cat-hint{color:var(--text-muted);font-size:.8rem}.new-cat-actions{flex-wrap:wrap;gap:.5rem;margin-top:.2rem;display:flex}.btn-cat-accept{color:#4ade80;cursor:pointer;background:#22c55e2e;border:1px solid #22c55e73;border-radius:7px;min-height:36px;padding:.38rem .9rem;font-size:.85rem;font-weight:600;transition:background .15s}.btn-cat-accept:hover{background:#22c55e4d}.btn-cat-reject{color:#f87171;cursor:pointer;background:#ef44441f;border:1px solid #ef444459;border-radius:7px;min-height:36px;padding:.38rem .9rem;font-size:.85rem;font-weight:600;transition:background .15s}.btn-cat-reject:hover{background:#ef444440}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;max-width:420px;box-shadow:var(--shadow-card), var(--shadow-glow);flex-direction:column;gap:16px;padding:40px 36px;animation:.4s both fadeIn;display:flex}.auth-logo{justify-content:center;margin-bottom:4px;display:flex}.auth-logo-icon{background:linear-gradient(135deg, var(--accent) 0%, var(--neon-blue) 100%);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.6rem;font-weight:800;display:flex;box-shadow:0 0 24px #6366f166}.auth-title{text-align:center;color:var(--text-heading);letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:800}.auth-subtitle{text-align:center;color:var(--text-muted);margin:0;font-family:JetBrains Mono,monospace;font-size:.85rem}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.65rem}.auth-field input{border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);background:#ffffff0a;outline:none;width:100%;padding:11px 14px;font-family:Syne,sans-serif;font-size:.95rem}[data-theme=light] .auth-field input{background:#00000008}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f126}.btn-auth{background:var(--accent);color:#fff;border-radius:var(--radius-btn);cursor:pointer;letter-spacing:.04em;width:100%;transition:background var(--transition), box-shadow var(--transition), transform var(--transition);border:none;min-height:48px;margin-top:4px;padding:13px;font-family:Syne,sans-serif;font-size:1rem;font-weight:700;box-shadow:0 0 20px #6366f159}.btn-auth:hover:not(:disabled){background:var(--accent-bright);transform:translateY(-1px);box-shadow:0 0 28px #6366f18c}.btn-auth:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-muted);margin:0;font-size:.85rem}.page-tabs{background:var(--bg-card);border-radius:10px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.page-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;min-height:44px;padding:9px 0;font-family:Syne,sans-serif;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.page-tab.active{background:var(--accent);color:#fff}.page-tab:hover:not(.active){color:var(--text-primary);background:#ffffff0f}.reports-page{padding:0 0 40px}.reports-controls{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0 20px;display:flex}.period-tabs,.view-tabs{background:var(--bg-card);border-radius:8px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.period-tab,.view-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;min-height:36px;padding:6px 14px;font-size:.82rem;transition:background .15s,color .15s}.period-tab.active,.view-tab.active{background:var(--accent);color:#fff}.period-tab:hover:not(.active),.view-tab:hover:not(.active){color:var(--text-primary);background:#ffffff0f}.range-nav{background:var(--bg-card);border-radius:8px;align-items:center;gap:10px;padding:6px 12px;display:flex}.nav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:0 4px;font-size:1.2rem;line-height:1;transition:color .15s;display:flex}.nav-btn:hover:not(:disabled){color:var(--text-primary)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.range-label{color:var(--text-primary);text-align:center;min-width:120px;font-size:.88rem;font-weight:600}.report-summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.report-card{background:var(--bg-card);border-left:4px solid #0000;border-radius:12px;padding:16px 20px}.report-card.income-card{border-left-color:#10b981}.report-card.expense-card{border-left-color:#ef4444}.report-card.savings-card{border-left-color:#6366f1}.report-card.savpct-card{border-left-color:#f59e0b}.report-card.negative{border-left-color:#ef4444}.rc-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.75rem}.rc-value{color:var(--text-primary);word-break:break-all;font-size:1.2rem;font-weight:700}.rc-value.text-red{color:#ef4444}.charts-area{flex-direction:column;gap:16px;display:flex}.charts-row{flex-wrap:wrap;gap:16px;display:flex}.chart-panel{background:var(--bg-card);border-radius:14px;flex:1;min-width:260px;padding:20px 24px}.chart-panel.wide{flex:100%}.chart-title{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;font-size:.9rem;font-weight:600;display:flex}.tx-count{color:var(--text-muted);background:#ffffff0f;border-radius:20px;padding:2px 8px;font-size:.75rem;font-weight:400}.chart-wrap{position:relative}.cat-legend{flex-direction:column;gap:8px;margin-top:16px;display:flex}.cat-legend-row{align-items:center;gap:10px;font-size:.82rem;display:flex}.cat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cat-name{color:var(--text-primary);flex:1}.cat-amt{color:var(--text-primary);white-space:nowrap;font-weight:600}.cat-pct{color:var(--text-muted);text-align:right;min-width:42px}.savings-center{text-align:center;margin:-10px 0 12px}.sc-value{color:#10b981;font-size:2rem;font-weight:800}.sc-label{color:var(--text-muted);font-size:.78rem}.savings-breakdown{border-top:1px solid #ffffff12;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;display:flex}.sb-row{color:var(--text-muted);justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.sb-row.bold{color:var(--text-primary);font-size:.95rem;font-weight:700}.income-text{color:#10b981}.expense-text{color:#ef4444}.reports-loading{text-align:center;color:var(--text-muted);padding:40px;font-size:.9rem}.custom-range-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 12px;padding:14px 18px;display:flex}.custom-range-inputs{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.custom-date-field{flex-direction:column;gap:4px;display:flex}.custom-date-field label{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:600}.custom-date-field input[type=date]{background:var(--bg-base);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:8px;outline:none;padding:7px 10px;font-size:.88rem;transition:border-color .2s}.custom-date-field input[type=date]:focus{border-color:var(--accent)}.custom-range-arrow{color:var(--text-muted);padding-bottom:8px;font-size:1.1rem}.btn-apply-range{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-end;min-height:38px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .2s}.btn-apply-range:hover{background:#4f46e5}.btn-clear-range{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-end;min-height:38px;padding:8px 12px;font-size:.85rem;transition:color .2s,border-color .2s}.btn-clear-range:hover{color:#ef4444;border-color:#ef4444}.cat-filter-bar{flex-direction:column;gap:8px;padding:12px 0 4px;display:flex}.cat-filter-label{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:600}.cat-checkbox-list{flex-wrap:wrap;gap:8px;display:flex}.cat-checkbox-item{background:var(--bg-base);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:6px;min-height:36px;padding:6px 14px;font-size:.83rem;transition:border-color .2s,background .2s;display:flex}.cat-checkbox-item:has(input:checked){border-color:var(--accent);color:#a5b4fc;background:#6366f11f}.cat-checkbox-item input[type=checkbox]{display:none}.active-filter-badge{color:#a5b4fc;background:#6366f11f;border:1px solid #6366f159;border-radius:20px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:5px 14px;font-size:.83rem;display:inline-flex}.filter-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.9rem;line-height:1;transition:color .2s}.filter-clear-btn:hover{color:#ef4444}@media (width<=768px){.app{padding:24px 16px 80px}.header{margin-bottom:24px}.header-left h1{font-size:1.4rem}.summary-grid{gap:10px}.summary-card{padding:16px 14px}.summary-value{font-size:1.1rem}.summary-label{margin-bottom:8px;font-size:.58rem}.panel{padding:20px 16px}.form-row{gap:12px}.chart-panel{min-width:100%;padding:16px}.reports-controls{gap:8px;padding:12px 0 16px}.period-tabs,.view-tabs{justify-content:space-between;width:100%}.period-tab,.view-tab{text-align:center;flex:1;padding:6px 8px;font-size:.76rem}.range-nav{justify-content:center;width:100%}.range-label{min-width:100px}.report-summary-grid{grid-template-columns:repeat(2,1fr)}.tx-table th,.tx-table td{padding:10px 8px;font-size:.82rem}.custom-range-bar{padding:12px 14px}.custom-range-inputs,.custom-date-field input[type=date]{width:100%}}@media (width<=480px){.app{padding:16px 12px 80px}.header{gap:8px;margin-bottom:20px}.header-left h1{letter-spacing:.02em;font-size:1.1rem}.header-left p{font-size:.55rem}.summary-grid{grid-template-columns:1fr;gap:8px}.summary-card{flex-direction:row;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.summary-label{margin-bottom:0}.summary-value{font-size:1.1rem}.panel{border-radius:12px;padding:16px 12px}.form-row{flex-direction:column;gap:10px}.form-row .field-group{min-width:100%}.reason-group{flex:1}.btn-mic{padding:0 12px;font-size:1rem}.tx-table th:first-child,.tx-table td:first-child,.tx-table th:nth-child(5),.tx-table td:nth-child(5){display:none}.tx-table th,.tx-table td{padding:8px 6px;font-size:.78rem}.type-badge{padding:2px 7px;font-size:.65rem}.btn-delete{padding:3px 8px;font-size:.72rem}.report-summary-grid{grid-template-columns:repeat(2,1fr);gap:8px}.rc-value{font-size:1rem}.period-tabs,.view-tabs{padding:3px}.period-tab,.view-tab{padding:5px 6px;font-size:.7rem}.settings-panel{border-left:none;border-top:1px solid var(--border);width:100vw;max-width:100vw}.settings-overlay{align-items:flex-end}@keyframes slideIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.auth-card{padding:28px 20px}.custom-range-inputs{flex-direction:column;width:100%}.custom-range-arrow{display:none}.custom-date-field,.custom-date-field input[type=date]{width:100%}.btn-apply-range,.btn-clear-range{text-align:center;width:100%}.cat-checkbox-item{padding:5px 10px;font-size:.78rem}.new-cat-actions{flex-direction:column}.btn-cat-accept,.btn-cat-reject{text-align:center;width:100%}.page-tab{padding:8px 0;font-size:.82rem}}@media (width<=360px){.header-left h1,.summary-value{font-size:.95rem}.report-summary-grid{grid-template-columns:1fr}.period-tab,.view-tab{padding:5px 4px;font-size:.65rem}}
