:root{--app-bg-gradient:linear-gradient(135deg, #0f1013 0%, #171223 100%);--glass-bg:#1f2028;--glass-border:#ffffff14;--glass-glow:#ffffff05;--accent-purple:#aa3bff;--accent-pink:#f43b86;--accent-blue:#3b86f4;--success-green:#10b981;--fail-red:#ef4444;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b}body{background:var(--app-bg-gradient);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-family:Inter,system-ui,sans-serif}#root{border:none;width:100%}.dashboard-container{padding:12px 12px 12px 10px;animation:.3s ease-out fadeIn}.floating-card-shadow{box-shadow:-4px 2px 8px #171d379c!important}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dashboard-btns-header{flex-direction:column;justify-content:center;align-items:start;display:flex}.welcome-text{color:var(--text-secondary);margin:0;font-size:16px;font-weight:500}.welcome-text span{color:var(--text-primary);font-weight:600}.dashboard-title{letter-spacing:-.5px;background:linear-gradient(90deg,#fff,#a5a5a5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:4px 0 0;font-size:24px;font-weight:700}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0000004d}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;padding:20px;box-shadow:0 4px 24px #0003}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.stat-card{border-radius:16px;align-items:center;gap:12px;padding:16px 20px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s;display:flex;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px #0006}.stat-card:before{content:"";opacity:.6;background:currentColor;height:2px;position:absolute;top:0;left:0;right:0}.variant-purple{color:var(--accent-purple)}.variant-pink{color:var(--accent-pink)}.variant-red{color:var(--fail-red)}.variant-blue{color:var(--accent-blue)}.stat-icon{background:#ffffff0d;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.stat-content{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.stat-value{color:var(--text-primary);margin-top:2px;font-size:20px;font-weight:700}.dashboard-main-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}@media (width<=900px){.dashboard-main-grid{grid-template-columns:1fr}}.section-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.section-header h2{margin:0;font-size:16px;font-weight:700}.section-subtitle{color:var(--text-secondary);margin-top:4px;font-size:13px;display:block}.doughnut-chart-wrapper{justify-content:space-around;align-items:center;gap:24px;padding:12px 0;display:flex}.doughnut-svg-container{width:170px;height:170px;position:relative}.doughnut-svg{width:100%;height:100%;transform:rotate(-90deg)}.chart-arc{transition:stroke-dasharray .6s,stroke-dashoffset .6s}.doughnut-center-content{text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.doughnut-center-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;font-size:11px;font-weight:600}.doughnut-center-value{margin-top:2px;font-size:16px;font-weight:700}.doughnut-center-value.positive{color:var(--success-green,#10b981)}.doughnut-center-value.negative{color:var(--fail-red,#ef4444)}.doughnut-legend{flex-direction:column;gap:12px;display:flex}.legend-row{align-items:center;gap:12px;display:flex}.legend-indicator{border-radius:4px;flex-shrink:0;width:12px;height:12px}.legend-indicator.income{background:var(--success-green,#10b981);box-shadow:0 0 8px #10b98166}.legend-indicator.expense{background:var(--fail-red,#ef4444);box-shadow:0 0 8px #ef444466}.legend-info{flex-direction:column;display:flex}.legend-title{color:var(--text-secondary);font-size:12px;font-weight:500}.legend-value{color:var(--text-primary);font-size:15px;font-weight:700}.budget-list{flex-direction:column;gap:8px;display:flex}.budget-card-widget{border:1px solid var(--glass-border);background:#ffffff05;border-radius:12px;padding:12px;transition:transform .2s,border-color .2s}.budget-card-widget:hover{border-color:#ffffff26;transform:translateY(-2px)}.budget-widget-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.budget-widget-name{font-size:15px;font-weight:600}.budget-widget-amounts{align-items:baseline;gap:4px;display:flex}.budget-current-spent{color:var(--text-primary);font-size:14px;font-weight:700}.budget-total-target{color:var(--text-secondary);font-size:13px}.progress-bar-container{background:#ffffff0f;border-radius:4px;height:8px;margin-bottom:4px;overflow:hidden}.progress-bar-fill{border-radius:4px;height:100%;transition:width .5s}.budget-widget-footer{color:var(--text-secondary);justify-content:space-between;font-size:12px;display:flex}.transactions-panel{padding:0;padding-inline:16px;padding-bottom:12px}.transaction-list{flex-direction:column;gap:6px;display:flex}.action-icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:4px;font-size:14px;transition:all .2s;display:flex}.action-icon-btn:hover{background:#ffffff1a;border-color:#fff3}.action-icon-btn.delete:hover{color:var(--fail-red);background:#ef444426;border-color:#ef44444d}.empty-state{text-align:center;color:var(--text-secondary);padding:32px;font-size:14px}.loader{border:3px solid #ffffff1a;border-top:3px solid var(--accent-purple);border-radius:50%;width:24px;height:24px;margin:20px auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
