.dashboard-widget{border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease;background:var(--bs-body-bg);backdrop-filter:blur(10px);border:1px solid var(--bs-border-color)}.dashboard-widget:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.dashboard-widget-header{background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.05) 0%,transparent 100%);border-bottom:1px solid var(--bs-border-color);padding:1rem 1.25rem;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.dashboard-widget-header .card-title{font-weight:600;font-size:.9375rem;color:var(--bs-body-color)}.dashboard-widget-actions{display:flex;align-items:center;gap:.5rem}.drag-handle{cursor:move;padding:.25rem;border-radius:4px;transition:background-color .2s}.drag-handle:hover{background-color:var(--bs-border-color)}.dashboard-widget-body{padding:1.25rem}.dashboard-widget-footer{background-color:var(--bs-border-color);border-top:1px solid var(--bs-border-color);padding:.75rem 1.25rem;border-radius:0 0 12px 12px}.kpi-card{border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease;background:var(--bs-body-bg);backdrop-filter:blur(10px);border:1px solid var(--bs-border-color);overflow:hidden}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.1)}.kpi-card .avatar{transition:transform .3s ease}.kpi-card:hover .avatar{transform:scale(1.05)}.sparkline-container{position:relative;overflow:hidden}.stacked-cost-chart{padding:.5rem}.cost-legend{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding-top:1rem;border-top:1px solid var(--bs-border-color)}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:12px;height:12px;border-radius:3px;display:inline-block}.cost-waterfall-card{border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);background:var(--bs-body-bg);backdrop-filter:blur(10px)}.waterfall-steps{display:flex;flex-direction:column;gap:.5rem}.waterfall-step{position:relative}.waterfall-step.highlight{background:linear-gradient(90deg,rgba(var(--bs-primary-rgb),.05) 0%,transparent 100%);border-radius:8px;margin:-.5rem -.75rem;padding:.5rem .75rem}.step-content{display:flex;align-items:center;gap:1rem}.step-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(var(--bs-primary-rgb),.1);flex-shrink:0}.step-icon i{font-size:1.1rem}.step-details{flex:1}.step-label{font-weight:500;font-size:.875rem;color:var(--bs-body-color)}.step-description{font-size:.75rem;color:var(--bs-secondary-color);margin-top:.125rem}.step-value{min-width:80px}.step-value .amount{font-weight:600;font-size:.9375rem}.step-value .percentage{font-size:.75rem;margin-top:.125rem}.step-connector{display:flex;flex-direction:column;align-items:center;padding:.25rem 0;margin-left:18px}.connector-line{width:2px;height:16px;background:linear-gradient(180deg,rgba(var(--bs-primary-rgb),.3) 0%,rgba(var(--bs-primary-rgb),.1) 100%)}.connector-arrow{color:rgba(var(--bs-primary-rgb),.5);font-size:.75rem;margin-top:-4px}.waterfall-summary{background:linear-gradient(135deg,rgba(var(--bs-success-rgb),.05) 0%,transparent 100%);border-radius:8px;padding:1rem}.chart-widget-container{position:relative;width:100%}.dashboard-dragula-grid .gu-mirror{position:fixed!important;margin:0!important;z-index:9999!important;opacity:.8;background:var(--bs-body-bg);border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.2)}.dashboard-dragula-grid .gu-hide{display:none!important}.dashboard-dragula-grid .gu-unselectable{user-select:none!important}.dashboard-dragula-grid .gu-transit{opacity:.4;transform:scale(.98)}@keyframes slideInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.animate-slide-in{animation:slideInUp .4s ease-out}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-pulse{animation:pulse 2s infinite}.dashboard-widget-body::-webkit-scrollbar{width:6px;height:6px}.dashboard-widget-body::-webkit-scrollbar-track{background:var(--bs-border-color);border-radius:3px}.dashboard-widget-body::-webkit-scrollbar-thumb{background:rgba(var(--bs-primary-rgb),.3);border-radius:3px}.dashboard-widget-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--bs-primary-rgb),.5)}@media(max-width:991.98px){.dashboard-widget{margin-bottom:1rem}.kpi-card{margin-bottom:1rem}.waterfall-step.highlight{margin:-.375rem -.5rem;padding:.375rem .5rem}}@media(max-width:575.98px){.dashboard-widget-header{padding:.75rem 1rem}.dashboard-widget-body{padding:1rem}.step-content{gap:.75rem}.step-icon{width:32px;height:32px}.step-value{min-width:70px}}[data-theme-mode="dark"] .dashboard-widget,[data-theme-mode="dark"] .kpi-card,[data-theme-mode="dark"] .cost-waterfall-card{background:var(--bs-body-bg);border-color:var(--bs-border-color)}[data-theme-mode="dark"] .dashboard-widget-header{background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.1) 0%,transparent 100%);border-color:var(--bs-border-color)}[data-theme-mode="dark"] .dashboard-widget-header .card-title,[data-theme-mode="dark"] .step-label{color:var(--bs-body-color)}[data-theme-mode="dark"] .step-description{color:var(--bs-secondary-color)}[data-theme-mode="dark"] .dashboard-widget-footer{background-color:var(--bs-border-color);border-color:var(--bs-border-color)}[data-theme-mode="dark"] .drag-handle:hover{background-color:var(--bs-border-color)}[data-theme-mode="dark"] .cost-legend{border-color:var(--bs-border-color)}[data-theme-mode="dark"] .waterfall-step.highlight{background:linear-gradient(90deg,rgba(var(--bs-primary-rgb),.1) 0%,transparent 100%)}[data-theme-mode="dark"] .step-icon{background:rgba(var(--bs-primary-rgb),.15)}[data-theme-mode="dark"] .connector-line{background:linear-gradient(180deg,rgba(var(--bs-primary-rgb),.4) 0%,rgba(var(--bs-primary-rgb),.15) 100%)}[data-theme-mode="dark"] .connector-arrow{color:rgba(var(--bs-primary-rgb),.6)}[data-theme-mode="dark"] .waterfall-summary{background:linear-gradient(135deg,rgba(var(--bs-success-rgb),.08) 0%,transparent 100%)}[data-theme-mode="dark"] .dashboard-widget-body::-webkit-scrollbar-track{background:var(--bs-border-color)}.bg-primary-gradient{background:linear-gradient(135deg,var(--bs-primary) 0%,#8b5cf6 100%)!important;border:0!important;color:#fff!important}.bg-warning-gradient{background:linear-gradient(135deg,var(--bs-warning) 0%,#f97316 100%)!important;border:0!important;color:#fff!important}.bg-success-gradient{background:linear-gradient(135deg,var(--bs-success) 0%,#059669 100%)!important;border:0!important;color:#fff!important}.bg-info-gradient{background:linear-gradient(135deg,var(--bs-info) 0%,#0284c7 100%)!important;border:0!important;color:#fff!important}.bg-primary-gradient .card-body,.bg-warning-gradient .card-body,.bg-success-gradient .card-body,.bg-info-gradient .card-body{color:#fff}.bg-white-transparent{background-color:rgba(255,255,255,.2)!important}.text-white-50{color:rgba(255,255,255,.7)!important}.cost-analysis-header{background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.05) 0%,transparent 100%);border-bottom:1px solid var(--bs-border-color)}[data-theme-mode="dark"] .cost-analysis-header{background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.1) 0%,transparent 100%);border-color:var(--bs-border-color)}.cost-summary-card{transition:transform .3s ease,box-shadow .3s ease}.cost-summary-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.15)}.cost-summary-card .avatar{transition:transform .3s ease}.cost-summary-card:hover .avatar{transform:scale(1.1) rotate(5deg)}.progress.progress-sm{height:6px;border-radius:3px;background-color:var(--bs-border-color)}.progress.progress-sm .progress-bar{border-radius:3px;transition:width .6s ease}.table th{font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background-color:rgba(var(--bs-primary-rgb),.05)}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}