:root{--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--accent-color:#c9a96e;--accent-hover:#b8985e;--bg-base:#000;--bg-gradient:radial-gradient(at 0% 0%, #3a3c6666 0px, transparent 50%), radial-gradient(at 100% 0%, #52354c4d 0px, transparent 50%), radial-gradient(at 100% 100%, #2d423d4d 0px, transparent 50%);--bg-surface:#1c1c1e;--card-bg:#1c1c1e;--text-primary:#f5f5f7;--text-secondary:#ebebf5;--text-tertiary:#98989e;--glass-bg:#1c1c1ebf;--glass-bg-hover:#1c1c1ee0;--glass-bg-active:#ffffff1f;--glass-bg-input:#ffffff14;--glass-border:#ffffff1a;--glass-border-strong:#ffffff26;--glass-blur:blur(40px) saturate(240%);--glass-border-inset:inset 0 0 0 1px #ffffff14;--radius-card:24px;--radius-lg:16px;--glass-border-light:#ffffff0f;--glass-border-mid:#ffffff14;--glass-surface-heavy:#1c1c1ef2;--glass-surface-light:#ffffff0a;--glass-surface-mid:#1c1c1ebf;--modal-overlay:#0009;--modal-bg:#2c2c2ef2;--dropdown-bg:#2c2c2e;--input-bg:#ffffff14;--input-border:#ffffff1a;--shadow-glass:0 8px 32px #0006;--shadow-elevated:0 8px 32px #0006;--error-color:#ff453a;--success-color:#30d158;--status-danger:#ff453a;--status-danger-fill:linear-gradient(135deg, #ff8a84 0%, #e55c55 100%);--status-danger-glow:0 4px 12px #e55c551f;--scrollbar-thumb:#ffffff29;--scrollbar-thumb-hover:#ffffff3d;--scrollbar-track:transparent;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--font-data:"SF Mono", "JetBrains Mono", ui-monospace, "Menlo", "Monaco", Consolas, monospace;--ios-spring:cubic-bezier(.25, .1, .25, 1);--ios-ease:cubic-bezier(.42, 0, 1, 1);--elevation-0:0 1px 2px #0000004d;--elevation-1:0 4px 12px #0006;--elevation-2:0 8px 24px #00000080;--elevation-3:0 16px 48px #0009;font:18px/145% var(--font-ui);letter-spacing:.18px;color:var(--text-primary);background:var(--bg-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}html{background-color:var(--bg-base);margin:0;padding:0;width:100vw!important;height:100vh!important;overflow:hidden!important}body{background-color:var(--bg-base);color:var(--text-primary);margin:0;padding:0;transition:background-color .3s,color .3s;width:100vw!important;height:100vh!important;overflow:hidden!important}#root{background:0 0;flex-direction:column;margin:0;padding:0;display:flex;width:100vw!important;height:100vh!important;overflow:hidden!important}.app-background{z-index:-1;background:var(--bg-gradient);width:100vw;height:100vh;position:fixed;top:0;left:0}.chart-card-content{flex-direction:row;justify-content:center;align-items:center;gap:40px;width:100%;display:flex}.d3-chart-container{flex:1;justify-content:center;display:flex}.category-ranking{flex:1;min-width:300px}@media (width<=768px){html,body,#root{height:auto!important;min-height:100vh!important;overflow:visible!important}body{-webkit-overflow-scrolling:touch!important;overflow:auto!important}#root{background:0 0!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;min-height:auto!important;display:flex!important}.dashboard-layout,.dashboard-container{box-sizing:border-box!important;width:100%!important;padding:12px 8px 60px!important}.dashboard-card,.main-card{box-sizing:border-box!important;width:100%!important;margin:0 0 16px!important;padding:16px 12px!important}.dashboard-header,.right-column,.main-card,.main-card-list,.transaction-list,.chart-left,.chart-right{box-sizing:border-box!important;flex:none!important;width:100%!important;height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}.right-column{flex-direction:column!important;gap:20px!important}.transaction-item,.legend-item{box-sizing:border-box!important;flex-flow:row!important;justify-content:space-between!important;align-items:center!important;width:100%!important;padding:12px 8px!important;display:flex!important}.transaction-item span,.transaction-item div,.legend-item span,.legend-item div{white-space:nowrap!important}.transaction-actions,.t-amount,.legend-amount{flex-shrink:0!important;margin-left:auto!important}.chart-card-content{flex-direction:column!important;gap:24px!important}.category-ranking{width:100%!important;min-width:0!important}.dashboard-scroll-area{padding-bottom:24px!important;padding-right:8px!important}.glass-datepicker-dropdown{background:var(--glass-surface-heavy)!important;-webkit-backdrop-filter:blur(20px)!important;z-index:9999!important;border-radius:20px!important;width:260px!important;height:max-content!important;padding:16px!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:0 12px 36px #00000026,0 0 0 100vmax #0009!important}.months-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin:12px 0!important;display:grid!important}.glass-datepicker-dropdown button{height:36px!important;box-shadow:none!important;border-radius:8px!important;padding:6px 0!important;font-size:13px!important}.glass-datepicker-dropdown button.active{background:var(--text-primary)!important;color:var(--bg-surface)!important;font-weight:600!important}}.modal-overlay{background:var(--modal-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);background:var(--modal-bg);width:100%;max-width:480px;-webkit-backdrop-filter:var(--glass-blur);padding:32px;position:relative}.close-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;font-size:28px;transition:transform .2s;position:absolute;top:16px;right:20px}.close-btn:hover{transform:scale(1.1)}h1,h2{font-family:var(--font-ui);color:var(--text-primary);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--font-data);color:var(--text-primary);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 5px #c9a96e33}50%{box-shadow:0 0 20px #c9a96e66}}@keyframes borderGlow{0%,to{border-color:#c9a96e4d}50%{border-color:#c9a96e99}}.anim-fade-in{animation:.5s ease-out forwards fadeIn}.anim-slide-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUp}.anim-scale-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards scaleIn}.anim-float{animation:3s ease-in-out infinite float}.anim-hidden{opacity:0}.anim-delay-1{animation-delay:50ms}.anim-delay-2{animation-delay:.1s}.anim-delay-3{animation-delay:.15s}.anim-delay-4{animation-delay:.2s}.anim-delay-5{animation-delay:.25s}.anim-delay-6{animation-delay:.3s}.anim-delay-7{animation-delay:.35s}.anim-delay-8{animation-delay:.4s}.font-data{font-family:var(--font-data);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.font-ui{font-family:var(--font-ui)}.luminance-line{position:relative;overflow:hidden}.luminance-line:before{content:"";z-index:1;background:linear-gradient(90deg,#0000 0%,#c9a96e66 20%,#c9a96eb3 50%,#c9a96e66 80%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}[data-theme=light]{--bg-base:#e5e5ea;--bg-gradient:radial-gradient(at 0% 0%, #b0cbff26 0px, transparent 50%), radial-gradient(at 100% 0%, #ffb0e21a 0px, transparent 50%), radial-gradient(at 100% 100%, #b0ffe81a 0px, transparent 50%);--bg-surface:#fff;--card-bg:#fff9;--text-primary:#2c2c2e;--text-secondary:#8e8e93;--text-tertiary:#aeaeb2;--glass-bg:#ffffff73;--glass-bg-hover:#ffffffa6;--glass-bg-active:#0000000f;--glass-bg-input:#0000000a;--glass-border:#0000000f;--glass-border-strong:#0000001a;--glass-blur:blur(40px) saturate(240%);--glass-border-inset:inset 0 0 0 1px #ffffff26;--glass-border-light:#0000000a;--glass-border-mid:#0000000f;--glass-surface-heavy:#ffffffd9;--glass-surface-light:#ffffff73;--glass-surface-mid:#ffffff8c;--modal-overlay:#00000026;--modal-bg:#fffc;--dropdown-bg:#fff;--input-bg:#0000000f;--input-border:#0000001a;--shadow-glass:0 4px 24px #0000000a;--shadow-elevated:0 4px 24px #0000000a;--scrollbar-thumb:#00000029;--scrollbar-thumb-hover:#00000047;--scrollbar-track:transparent;--status-danger:#ff3b30;--status-danger-fill:linear-gradient(135deg, #ff9e99 0%, #ff6961 100%);--status-danger-glow:0 4px 12px #ff696126;--elevation-0:0 1px 2px #0000000a;--elevation-1:0 2px 8px #0000000f;--elevation-2:0 4px 16px #00000014;--elevation-3:0 8px 32px #0000001a}:root{--card-border:var(--glass-border);--text-main:var(--text-primary);--input-focus-bg:var(--glass-bg-active);--code-bg:var(--glass-bg)}.glass-element{background:var(--glass-surface-mid);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated)}.dashboard-card,.card{position:relative;overflow:hidden}.dashboard-card:before,.card:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000 0%,#ffffff1a 20%,#ffffff26 50%,#ffffff1a 80%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.container{box-sizing:border-box;justify-content:center;align-items:center;width:100%;max-width:400px;padding:20px;display:flex}.card{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--card-border);box-shadow:var(--glass-border-inset), var(--shadow-elevated);text-align:center;border-radius:24px;width:100%;padding:40px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;animation:.5s cubic-bezier(.16,1,.3,1) forwards scaleIn}.card:hover{box-shadow:var(--elevation-2)}.card h1{letter-spacing:-.5px;color:var(--text-main);margin:0 0 10px;font-size:28px;font-weight:700}.card p{color:var(--text-secondary);margin:0 0 30px;font-size:14px}.status-area{justify-content:center;align-items:center;min-height:24px;margin-bottom:15px;font-size:13px;display:flex}.error-msg{color:var(--error-color);background:#ff767d26;border-radius:8px;width:100%;padding:8px 16px}.success-msg{color:var(--success-color);background:#55efc426;border-radius:8px;width:100%;padding:8px 16px}.form-group{text-align:left;margin-bottom:20px}.input-field{background:var(--input-bg);width:100%;color:var(--text-main);box-sizing:border-box;border:none;border-radius:12px;outline:none;padding:14px 18px;font-size:15px;transition:all .3s}.input-field:focus{background:var(--input-focus-bg);box-shadow:0 0 0 2px #c9a96e66,inset 0 1px #ffffff0d}.btn-primary{background:var(--accent-color);color:#fff;width:100%;font-size:17px;font-weight:600;font-family:var(--font-ui);letter-spacing:-.2px;cursor:pointer;transition:all .2s var(--ios-spring);border:none;border-radius:14px;margin-top:10px;padding:15px}.btn-primary:hover{opacity:.9;transform:scale(1.01)}.btn-primary:active{opacity:.8;transform:scale(.97)}.btn-primary:disabled{background:var(--glass-bg);color:var(--text-tertiary);cursor:not-allowed;opacity:1;transform:none}.btn-outline{color:var(--accent-color);cursor:pointer;background:0 0;border:none;margin-top:20px;padding:0;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s}.btn-outline:hover{color:var(--accent-color);text-decoration:underline}.app-shell{box-sizing:border-box;width:100%;padding:24px 16px}.main-frame{box-sizing:border-box;width:100%}.events-sidecar{z-index:30;-webkit-backdrop-filter:blur(64px);background:#1c1c1ef2;border:1px solid #ffffff1a;border-radius:24px;flex-direction:column;width:288px;height:288px;padding:16px;display:flex;position:absolute;top:0;left:calc(100% + 4px);overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.events-sidecar-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9998;background:#00000080;display:none;position:fixed;inset:0}.events-toggle-icon{opacity:.5;font-size:18px;transition:opacity .2s}.events-toggle-btn:hover .events-toggle-icon{opacity:1}.events-toggle-btn{z-index:20;background:var(--card-bg);-webkit-backdrop-filter:blur(64px);cursor:pointer;border:1px solid #ffffff1a;border-radius:20px;justify-content:center;align-items:center;width:48px;height:128px;padding:0;transition:background .2s;display:flex;position:absolute;top:24px;left:calc(100% + 4px);box-shadow:10px 0 20px -5px #0000004d}.events-toggle-btn:hover{background:#ffffff1a}.dashboard-container{box-sizing:border-box;width:95%;max-width:1200px;margin:0 auto;padding:12px 24px}.dashboard-header{box-sizing:border-box;background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-card);border:1px solid var(--card-border);align-items:center;gap:24px;margin-bottom:20px;padding:15px 30px;animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex;position:relative;overflow:hidden;flex-shrink:0!important}.dashboard-header:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000 0%,#c9a96e66 20%,#c9a96eb3 50%,#c9a96e66 80%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.header-top-row{flex-shrink:0;align-items:center;display:flex}.header-nav{flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.header-actions{flex-shrink:0;align-items:center;gap:16px;margin-left:auto;display:flex}.header-actions button{white-space:nowrap!important;word-break:keep-all!important;min-width:max-content!important}.header-right button,.btn-primary,.btn-logout{justify-content:center;align-items:center;display:inline-flex;box-sizing:border-box!important;height:42px!important;margin:0!important}.header-right button{white-space:nowrap;flex-shrink:0;width:auto}.dashboard-header h1{color:var(--text-main);margin:0;font-size:24px}.current-date{color:var(--text-secondary);font-size:14px}.btn-logout{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;height:42px;padding:0 24px;font-size:14px;font-weight:600;line-height:1;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:inset 0 1px #ffffff08;color:var(--error-color)!important;background:0 0!important;border:1px solid #ff767d66!important}.btn-logout:hover{box-shadow:inset 0 1px #ffffff0d,0 2px 8px #ff767d26;background:#ff767d1a!important;border-color:#ff767d99!important}.header-right button{box-sizing:border-box;justify-content:center;align-items:center;height:42px;padding:0 24px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.dashboard-layout{box-sizing:border-box;flex:1;min-height:0;display:block}.right-column{flex-direction:column;flex:1;gap:25px;width:100%;min-height:0;padding-bottom:64px;display:flex}@media (width<=768px){.dashboard-container{height:auto!important}}.dashboard-card{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-card);border:1px solid var(--card-border);box-shadow:var(--glass-border-inset), var(--shadow-elevated);padding:25px;transition:box-shadow .3s,transform .3s cubic-bezier(.16,1,.3,1);animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp}.dashboard-card:hover{box-shadow:var(--glass-border-inset), var(--elevation-2)}.chart-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.chart-legend-layout{align-items:center;gap:20px;display:flex}.chart-left{flex-direction:column;flex:5;justify-content:center;align-items:center;min-width:0;display:flex}.chart-right{flex:5;min-width:0}.chart-right h3{color:var(--text-primary);margin:0 0 15px;font-size:16px}.legend-list{flex-direction:column;gap:12px;display:flex}.legend-item{border-radius:10px;align-items:center;gap:12px;padding:10px 14px;transition:transform .2s;display:flex;background:var(--glass-surface-light)!important;box-shadow:none!important;border-top:1px solid var(--glass-border-mid)!important;border-left:1px solid var(--glass-border-light)!important;border-bottom:none!important;border-right:none!important}.legend-item:hover{transform:translate(4px);background:var(--glass-bg-hover)!important;box-shadow:var(--elevation-1)!important}.legend-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:0 2px 4px #00000026}.legend-icon{flex-shrink:0;font-size:18px}.legend-name{color:var(--text-primary);flex:1;font-size:14px;font-weight:600}.legend-amount{color:var(--text-primary);font-size:15px;font-weight:700}.d3-chart-wrapper{filter:drop-shadow(0 8px 16px #0003)}.d3-chart-container text{fill:var(--text-primary)!important}.d3-chart-container .donut-label{fill:var(--text-secondary)!important;font-weight:400!important}.d3-chart-container .donut-value{fill:var(--text-primary)!important;font-weight:700!important}.d3-chart-wrapper svg{width:100%;max-width:100%;height:auto;margin:0 auto;display:block}.d3-tooltip{pointer-events:none;transition:opacity .2s}input[type=month].glass-element{color:var(--text-main);cursor:pointer;font-family:inherit}.input-section h2,.main-card-header h2,.chart-header h2{color:var(--text-main);margin-top:0;margin-bottom:20px;font-size:20px}.input-section .form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:14px;display:block}.error-msg-small{color:var(--error-color);margin-top:10px;font-size:12px}.success-msg-small{color:var(--success-color);margin-top:10px;font-size:12px}.custom-dropdown-container{position:relative}.custom-dropdown{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;transition:all .3s;display:flex;overflow:hidden}.custom-dropdown.open{border-bottom-right-radius:0;border-bottom-left-radius:0}.dropdown-list{z-index:999;border-bottom-right-radius:12px;border-bottom-left-radius:12px;max-height:200px;margin:0;padding:8px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #0006;background:var(--glass-surface-heavy)!important}.dropdown-item{cursor:pointer;color:var(--text-primary);padding:12px 20px;font-size:15px;transition:all .2s}.dropdown-item:hover{background:var(--glass-border-mid)}.dropdown-item.selected{background:var(--glass-border-strong);font-weight:600}.main-card{box-sizing:border-box;padding:25px}.main-card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.main-card-list{display:block}.main-card-list h2{color:var(--text-main);margin-top:0;margin-bottom:12px;font-size:20px}.main-card-divider{border-top:1px solid var(--glass-border-light);margin:24px 0}.transaction-list{flex-direction:column;gap:12px;display:flex}.transaction-item{border-radius:12px;justify-content:space-between;align-items:center;padding:15px 20px;transition:all .25s cubic-bezier(.16,1,.3,1);animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex;background:var(--glass-surface-light)!important;box-shadow:none!important;border-top:1px solid var(--glass-border-mid)!important;border-left:1px solid var(--glass-border-light)!important;border-bottom:none!important;border-right:none!important}.transaction-item:hover{transform:translate(4px);background:var(--glass-bg-hover)!important;box-shadow:var(--elevation-1)!important}.transaction-item.income{border-left:4px solid var(--success-color)!important}.transaction-item.expense{border-left:4px solid var(--error-color)!important}.transaction-info{flex-direction:column;display:flex}.t-category{color:var(--text-main);font-size:14px;font-weight:700}.t-desc{color:var(--text-secondary);font-size:12px}.t-amount{font-size:16px;font-weight:700}.t-amount.income{color:var(--success-color);font-weight:700}.t-amount.expense{color:var(--text-primary)}.transaction-item.dimmed{opacity:.3;transition:opacity .3s}.transaction-actions{align-items:center;gap:8px;display:flex}.action-btn{cursor:pointer;opacity:.6;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:4px;font-size:16px;transition:all .2s}.action-btn:hover{opacity:1;color:var(--text-primary);background:var(--glass-bg)}.loading-text,.empty-msg{text-align:center;color:var(--text-secondary);margin-top:40px}.empty-state-container{text-align:center;opacity:.7;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:200px;padding:40px 20px;display:flex}.empty-state-icon{filter:grayscale(.5);margin-bottom:16px;font-size:48px;animation:3s ease-in-out infinite float}.empty-state-title{color:var(--text-primary);margin:0 0 8px;font-size:16px;font-weight:600}.empty-state-desc{color:var(--text-tertiary);margin:0 0 24px;font-size:14px}.empty-state-btn{height:auto!important;padding:8px 24px!important;font-size:14px!important}.modal-overlay{background:var(--modal-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);background:var(--modal-bg);width:100%;max-width:480px;-webkit-backdrop-filter:var(--glass-blur);padding:32px;animation:.35s cubic-bezier(.16,1,.3,1) scaleIn;position:relative}.close-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:28px;transition:transform .2s;display:flex;position:absolute;top:8px;right:12px}.modal-content form{flex-direction:column;gap:20px;margin-top:16px;display:flex}.modal-content .form-group{flex-direction:column;gap:8px;display:flex}.modal-content label{color:var(--text-primary);font-size:14px;font-weight:600}.modal-content .input-field,.modal-content .custom-dropdown{box-sizing:border-box;width:100%}.modal-actions{gap:12px;margin-top:16px;display:flex}.modal-actions .btn-primary,.modal-actions .btn-cancel{flex:1}.btn-cancel{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--glass-border);cursor:pointer;border-radius:14px;padding:14px;font-size:17px;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff0d}.btn-cancel:hover{background:var(--glass-bg-active);box-shadow:inset 0 1px 0 #ffffff14, var(--elevation-1);transform:translateY(-1px)}.glass-form-input{box-sizing:border-box;background:var(--input-bg);border:1px solid var(--input-border);width:100%;height:48px;color:var(--text-primary);appearance:none;border-radius:12px;outline:none;padding:0 16px;font-size:16px}.modal-content .custom-dropdown.glass-form-input{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.modal-content .datepicker-trigger{box-sizing:border-box!important;background:var(--input-bg)!important;border:1px solid var(--input-border)!important;width:100%!important;height:48px!important;color:var(--text-primary)!important;border-radius:12px!important;justify-content:flex-start!important;align-items:center!important;padding:0 16px!important;font-size:16px!important;font-weight:400!important;display:flex!important}@media (width<=768px){.dashboard-container{height:auto!important;min-height:100vh!important;padding:12px!important;overflow:visible!important}.dashboard-layout{min-height:auto!important}.right-column{flex:none!important;min-height:auto!important;overflow-y:visible!important}.main-card-list{overflow:visible!important}.transaction-list{max-height:none!important;padding-right:0!important;overflow:visible!important}.dashboard-header{flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:12px 16px!important}.header-top-row{flex-direction:row!important;flex:none!important;justify-content:space-between!important;align-items:center!important;width:100%!important;display:flex!important}.header-gear-mobile{display:flex!important}.header-gear-desktop{display:none!important}.header-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap!important;flex-direction:row!important;flex:none!important;gap:6px!important;width:100%!important;display:flex!important;overflow-x:auto!important}.header-nav::-webkit-scrollbar{display:none}.header-actions{gap:10px!important;width:100%!important;display:flex!important}.header-add-btn{white-space:nowrap!important;flex:1 0!important;justify-content:center!important;padding:10px 16px!important}.filter-console{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:12px 16px!important}.filter-console>div{width:100%!important;min-width:0!important;margin-left:0!important}.filter-console button{text-align:center!important;flex:1!important}.filter-console>button{justify-content:center!important;width:100%!important}.filter-console>input{width:100%!important}.chart-legend-layout{flex-direction:column!important;gap:24px!important}.chart-left{flex:none!important;width:100%!important}.chart-right{width:100%!important}.d3-chart-wrapper{justify-content:center!important;width:100%!important;display:flex!important}.modal-overlay{align-items:flex-start!important}.modal-content{border-radius:0!important;max-width:100vw!important;height:100vh!important;padding:24px 16px!important}body,#root{flex-direction:column!important;justify-content:flex-start!important;place-items:start!important;display:flex!important}.dashboard-layout{justify-content:flex-start!important;width:100%!important;padding:16px 12px!important}.d3-chart-container{flex-shrink:0!important;justify-content:center!important;align-items:center!important;height:auto!important;min-height:240px!important;display:flex!important}.dashboard-header{flex-shrink:0!important;width:100%!important}html,body,#root{height:auto!important;min-height:100vh!important;overflow:hidden auto!important}.app-shell{box-sizing:border-box!important;width:100vw!important;height:auto!important;min-height:100vh!important;padding:12px 6px 24px!important;overflow:hidden visible!important}.main-frame{box-sizing:border-box!important;align-self:stretch!important;width:calc(100vw - 12px)!important;max-width:none!important}.dashboard-container{height:auto!important;min-height:100vh!important;padding:16px 12px 60px!important;display:block!important;overflow:visible!important}.dashboard-layout{height:auto!important;min-height:auto!important;display:block!important;overflow:visible!important}.dashboard-header,.right-column,.main-card,.main-card-list,.transaction-list,.chart-left,.chart-right{flex:none!important;height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}.main-card{border-radius:16px!important;padding:16px!important}.right-column{flex-direction:column!important;gap:20px!important}.main-card-list{margin-bottom:20px!important}.transaction-info{flex:1!important;min-width:0!important;overflow:hidden!important}.t-desc{text-overflow:ellipsis!important;max-width:100%!important;overflow:hidden!important}.chart-header h2{white-space:nowrap!important;font-size:18px!important}.main-card-list h2{white-space:nowrap!important}.chart-card-content .font-data{font-size:14px!important}.t-category{text-overflow:ellipsis!important;max-width:100%!important;overflow:hidden!important}.container{padding:16px!important}.card{border-radius:16px!important;padding:24px 20px!important}.card h1{font-size:24px!important}.input-field{font-size:16px!important}.budget-status-bar{flex-wrap:wrap!important;justify-content:flex-start!important;gap:8px!important}.modal-content{overflow-y:auto!important}.modal-content form{gap:16px!important}.empty-state-container{padding:24px 16px!important}.empty-state-btn{padding:12px 24px!important;font-size:16px!important}.right-column{-webkit-overflow-scrolling:touch!important;overflow-y:auto!important}.events-sidebar-toggle{border-radius:50%!important;justify-content:center!important;align-items:center!important;width:44px!important;height:44px!important;display:flex!important;position:fixed!important;top:auto!important;bottom:16px!important;right:16px!important;transform:none!important;box-shadow:0 4px 16px #0000004d!important}.settings-layout{flex-direction:column!important;gap:0!important}.settings-sidebar{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-right:none!important;border-bottom:1px solid var(--glass-border)!important;flex-direction:row!important;gap:4px!important;width:100%!important;padding:8px 12px!important;overflow-x:auto!important}.settings-sidebar::-webkit-scrollbar{display:none}.settings-sidebar button{white-space:nowrap!important;border-radius:8px!important;flex-shrink:0!important;padding:8px 16px!important;font-size:13px!important}.settings-content{width:100%!important;max-width:100%!important;padding:20px 16px!important}.events-sidecar-backdrop{display:block!important}.events-sidecar{z-index:9999!important;width:calc(100vw - 32px)!important;max-width:400px!important;height:60vh!important;max-height:480px!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.events-toggle-btn{display:none!important}.events-page-actions{flex-direction:column!important;width:100%!important}.events-page-actions button{justify-content:center!important;width:100%!important}}.custom-scrollbar::-webkit-scrollbar{width:5px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#ffffff47}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}.glass-datepicker-container{display:inline-block;position:relative}.datepicker-trigger{border:1px solid var(--glass-border-light);background:var(--glass-surface-light);color:var(--text-primary);cursor:pointer;border-radius:12px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .3s}.datepicker-trigger:hover{background:var(--glass-surface-mid)}.glass-datepicker-dropdown{z-index:99999;width:calc(100vw - 2rem);max-width:280px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-elevated);border-radius:14px;padding:12px;background:var(--glass-surface-heavy)!important}.datepicker-header{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 2px;display:flex}.current-year{color:var(--text-primary);font-size:14px;font-weight:700}.nav-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:2px 6px;font-size:15px;transition:opacity .2s;display:inline-flex}.nav-btn:hover{opacity:.7}.months-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;display:grid}.month-btn{background:var(--glass-bg);color:var(--text-primary);cursor:pointer;border:none;border-radius:6px;padding:6px 0;font-size:12px;transition:all .2s}.month-btn:hover{background:var(--glass-bg-active)}.month-btn.active{background:var(--text-primary);color:var(--bg-surface);font-weight:700;box-shadow:0 4px 12px #0000004d}.datepicker-footer{border-top:1px solid var(--glass-border-light);padding-top:8px}.year-stat-btn{background:var(--glass-bg);width:100%;color:var(--text-primary);cursor:pointer;border:none;border-radius:8px;padding:6px;font-size:12px;font-weight:600;transition:all .2s}.year-stat-btn:hover{background:var(--glass-bg-active)}.weekdays-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:6px;display:grid}.weekday-label{color:var(--text-secondary);padding:2px 0;font-size:11px;font-weight:600}.days-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.day-cell{background:var(--glass-bg);color:var(--text-primary);cursor:pointer;text-align:center;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:28px;padding:5px 0;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex}.day-cell:hover{background:var(--glass-bg-active)}.day-cell.active{background:var(--text-primary);color:var(--bg-surface);font-weight:700;box-shadow:0 4px 12px #0000004d}.day-cell.empty,.day-cell.disabled,.day-cell:disabled{cursor:default;pointer-events:none;color:var(--text-tertiary);opacity:.35;background:0 0}
