.sidebar{width:240px;background:linear-gradient(180deg,#1d2530,#121821);border-right:1px solid hsl(215 25% 20%);display:flex;flex-direction:column;position:fixed;left:0;top:72px;bottom:0;z-index:50;box-shadow:2px 0 12px #00000026;transition:width .3s ease}.sidebar.collapsed{width:70px}.sidebar-user-section{padding:1rem 1.25rem;border-bottom:1px solid hsl(215 25% 20%);background:#ffffff0d;display:flex;flex-direction:column;align-items:center;gap:.75rem;position:relative}.sidebar-toggle{background:transparent;border:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ffffff80;transition:all .2s;padding:0;position:absolute;top:1rem;right:1rem}.sidebar-toggle svg{width:20px;height:20px}.sidebar-toggle:hover{color:#fff;transform:scale(1.1)}.sidebar-user-info{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.sidebar-user-avatar{width:40px;height:40px;padding:8px;background:var(--gradient-hero);border-radius:50%;color:hsl(var(--primary-foreground));flex-shrink:0;box-shadow:var(--shadow-sm)}.sidebar-user-details{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0;align-items:center;text-align:center}.sidebar-user-name{font-size:.875rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.sidebar-user-collapsed{padding:.75rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;border-bottom:1px solid hsl(215 25% 20%);background:#ffffff0d}.sidebar-user-avatar-small{width:36px;height:36px;padding:6px;background:var(--gradient-hero);border-radius:50%;color:hsl(var(--primary-foreground));box-shadow:var(--shadow-sm)}.sidebar-toggle-collapsed{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ffffffb3;transition:all .2s;padding:0}.sidebar-toggle-collapsed svg{width:18px;height:18px}.sidebar-toggle-collapsed:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff;transform:scale(1.05)}.sidebar-nav{padding:.5rem .75rem;display:flex;flex-direction:column;gap:0;overflow-y:auto;flex:1}.sidebar.collapsed .sidebar-nav{padding:.5rem}.sidebar-section{display:flex;flex-direction:column;margin-bottom:1.5rem}.sidebar-section:last-child{margin-bottom:.5rem}.sidebar-section-header{display:flex;align-items:center;gap:.625rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#fff6;padding:1rem 1rem .375rem;margin-bottom:.375rem;margin-top:1.25rem;-webkit-user-select:none;user-select:none;position:relative}.sidebar-section:first-child .sidebar-section-header{margin-top:.5rem}.sidebar-section-emoji{display:none}.sidebar-section-label{flex:1;font-size:.6875rem}.sidebar-section-items{display:flex;flex-direction:column;gap:.25rem}.sidebar-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);margin:.75rem .5rem}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-radius:var(--radius-md);border:none;background:transparent;color:#ffffffb3;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:left;width:100%;position:relative;white-space:nowrap}.sidebar.collapsed .sidebar-item{padding:.625rem;justify-content:center;border-radius:var(--radius-md)}.sidebar-item:hover{background:#ffffff1a;color:#fff;transform:translate(2px)}.sidebar.collapsed .sidebar-item:hover{transform:scale(1.05)}.sidebar-item.active{background:var(--gradient-hero);color:#fff;box-shadow:0 2px 8px hsl(var(--primary) / .3);font-weight:600;position:relative}.sidebar-item.active:before{content:"";position:absolute;left:-.75rem;top:50%;transform:translateY(-50%);width:3px;height:60%;background:linear-gradient(180deg,hsl(var(--primary)),hsl(var(--secondary)));border-radius:0 2px 2px 0;box-shadow:0 0 8px hsl(var(--primary) / .5)}.sidebar.collapsed .sidebar-item.active:before{display:none}.sidebar-item.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.sidebar-item.disabled:hover{background:transparent;color:#ffffffb3;transform:none}.sidebar-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.sidebar-icon svg{width:100%;height:100%}.sidebar-label{flex:1;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:1rem .75rem;border-top:1px solid hsl(215 25% 20%);margin-top:auto}.sidebar-logout{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);border:none;background:transparent;color:#ffffffb3;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left;width:100%;white-space:nowrap}.sidebar.collapsed .sidebar-logout{padding:.75rem;justify-content:center}.sidebar-logout:hover{background:#ef444426;color:#fca5a5;transform:translate(2px)}.sidebar.collapsed .sidebar-logout:hover{transform:scale(1.05)}.user-role-badge{font-size:.6875rem;padding:.25rem .5rem;background:hsl(var(--primary) / .2);color:#93c5fd;border:1px solid hsl(var(--primary) / .3);border-radius:var(--radius-sm);font-weight:600;text-transform:capitalize;white-space:nowrap}.sidebar-item.ai-powered{position:relative;background:linear-gradient(135deg,#8b5cf61a,#ec48991a);border:1px solid rgba(139,92,246,.3)}.sidebar-item.ai-powered:hover{background:linear-gradient(135deg,#8b5cf633,#ec489933);border-color:#8b5cf680;box-shadow:0 0 20px #8b5cf64d;transform:translate(4px)}.sidebar-item.ai-powered.active{background:linear-gradient(135deg,#8b5cf6,#ec4899,#f59e0b);border:none;box-shadow:0 4px 20px #8b5cf680}.sidebar-item.ai-powered .sidebar-icon svg{filter:drop-shadow(0 0 4px rgba(139,92,246,.5))}.sidebar-item.ai-powered.active .sidebar-icon svg{animation:aiPulse 2s ease-in-out infinite}@keyframes aiPulse{0%,to{filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}50%{filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}}.sidebar-badge{font-size:.625rem;padding:.125rem .375rem;background:hsl(var(--primary) / .2);color:#93c5fd;border:1px solid hsl(var(--primary) / .3);border-radius:var(--radius-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;margin-left:auto}.sidebar-badge.ai-badge{background:linear-gradient(135deg,#8b5cf64d,#ec48994d);color:#e9d5ff;border:1px solid rgba(139,92,246,.5);animation:aiGlow 2s ease-in-out infinite}@keyframes aiGlow{0%,to{box-shadow:0 0 4px #8b5cf64d}50%{box-shadow:0 0 8px #ec489980}}.sidebar-new-indicator{position:absolute;top:-4px;right:-4px;font-size:.5rem;padding:.125rem .25rem;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;border-radius:var(--radius-sm);font-weight:800;letter-spacing:.05em;box-shadow:0 2px 8px #f59e0b80;animation:newBadgePulse 2s ease-in-out infinite}@keyframes newBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.sidebar.collapsed .sidebar-new-indicator{top:2px;right:2px}.ai-icon{animation:aiIconShimmer 3s ease-in-out infinite}@keyframes aiIconShimmer{0%,to{opacity:1}50%{opacity:.8}}@media (max-width: 768px){.sidebar{width:100%;position:fixed;top:auto;left:0;right:0;bottom:auto;border-right:none;border-bottom:1px solid hsl(var(--border));box-shadow:var(--shadow-sm);flex-direction:column}.sidebar.collapsed{width:100%}.sidebar-user-section{order:-1;padding:.75rem 1rem}.sidebar-user-collapsed{display:none}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:.5rem;gap:.5rem}.sidebar-section{display:flex;flex-direction:row;margin-bottom:0;gap:.5rem}.sidebar-section-header{display:none}.sidebar-section-items{flex-direction:row;gap:.5rem}.sidebar-divider{display:none}.sidebar-item{flex-direction:column;gap:.25rem;padding:.75rem 1rem;min-width:90px}.sidebar.collapsed .sidebar-item{flex-direction:column;padding:.75rem 1rem}.sidebar-item.active:before{display:none}.sidebar-icon{width:24px;height:24px}.sidebar-label{font-size:.75rem;display:block!important}}.simple-dashboard{padding:0;min-height:calc(100vh - 60px);max-width:100%;width:100%;overflow-x:hidden;box-sizing:border-box}.dashboard-grid{display:grid;gap:1rem;grid-template-columns:repeat(12,1fr);grid-auto-rows:auto;max-width:100%;width:100%;overflow-x:hidden;box-sizing:border-box}.dashboard-section{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0;box-shadow:0 1px 3px #0000000d;transition:box-shadow .2s ease;overflow:hidden;max-width:100%;box-sizing:border-box}.dashboard-section:hover{box-shadow:0 4px 12px #00000014}.summary-section{background:transparent;border:none;box-shadow:none;padding:0}.summary-section:hover{box-shadow:none}.section-title{flex-shrink:0}.section-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;display:flex;flex-direction:column}.section-content>*{flex:1;min-height:0}.chart-section,.services-section,.breakdown-section,.budget-section{display:flex;flex-direction:column;overflow:hidden}.budget-section,.summary-section{grid-column:span 12}.chart-section,.services-section{grid-column:span 6;height:450px}.breakdown-section{grid-column:span 12;min-height:auto;height:auto}@media (max-width: 1024px){.chart-section,.services-section{grid-column:span 12}}@media (max-width: 768px){.simple-dashboard{padding:0}.dashboard-grid{gap:.75rem}}.dashboard-section>*:not(.section-title):not(.section-content){border:none!important;box-shadow:none!important;border-radius:0!important}.section-content .chart-container,.section-content .budget-card{margin:0!important;height:100%;border:none!important;box-shadow:none!important;padding:.5rem!important}.section-content .detailed-breakdown{margin:0!important;border:none!important;box-shadow:none!important;padding:1rem!important;border-radius:0!important}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1rem}.card{background:linear-gradient(135deg,white 0%,var(--gray-50) 100%);padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:all .2s;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-500) 0%,var(--accent-500) 100%);opacity:0;transition:opacity .2s}.card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:hover:before{opacity:1}.card-label{font-size:.75rem;color:var(--gray-600);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.card-value{font-size:1.75rem;font-weight:600;color:var(--gray-800);line-height:1.2}.card-sublabel{font-size:.8125rem;color:#64748b;margin-top:.5rem;font-weight:400}.provider-table{margin-top:1.25rem}.provider-table table{width:100%;border-collapse:collapse}.provider-table th{background:#f8fafc;color:#475569;padding:.75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.provider-table td{padding:.875rem .75rem;border-bottom:1px solid #f1f5f9;color:#334155;font-weight:500;font-size:.875rem}.provider-table tr:hover{background:#f8fafc}.provider-table tr:last-child td{border-bottom:none}@media (max-width: 768px){.summary-cards{grid-template-columns:1fr}.card{padding:1.25rem}.card-value{font-size:1.5rem}}.chart-container{background:#fff;padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:all .2s;box-shadow:var(--shadow-sm);height:100%;display:flex;flex-direction:column}.chart-container:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md)}.chart-container h2{margin-bottom:1rem;font-size:.9375rem;font-weight:600;color:var(--gray-900);letter-spacing:-.025em;flex-shrink:0}.service-table{margin-top:1rem;flex:1;min-height:0;overflow-y:auto;border-radius:6px;border:1px solid #e2e8f0}.service-table::-webkit-scrollbar{width:6px}.service-table::-webkit-scrollbar-track{background:#f8fafc}.service-table::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.service-table::-webkit-scrollbar-thumb:hover{background:#94a3b8}.service-table table{width:100%;border-collapse:collapse}.service-table th{background:#f8fafc;color:#475569;padding:.75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:10;border-bottom:1px solid #e2e8f0}.service-table td{padding:.875rem .75rem;border-bottom:1px solid #f1f5f9;color:#334155;font-weight:500;font-size:.875rem}.service-table tr:hover{background:#f8fafc}.service-table tr:last-child td{border-bottom:none}@media (max-width: 768px){.chart-container{padding:1.25rem}.chart-container h2{font-size:.9375rem}.service-table{max-height:350px}.service-table th,.service-table td{padding:.625rem .5rem;font-size:.8125rem}}.forecast-info{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e2e8f0;display:flex;gap:2rem}.forecast-stat{display:flex;flex-direction:column;gap:.25rem}.forecast-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.forecast-value{font-size:1.25rem;font-weight:600;color:#8b5cf6}.forecast-chart-container{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.5rem;margin-top:1.5rem;box-shadow:var(--shadow-sm);transition:all .2s}.forecast-chart-container:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md)}.modern-multi-chart-container{width:100%}.multi-chart-legend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem;padding:.75rem;background:hsl(var(--muted) / .3);border-radius:var(--radius-md)}.legend-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;color:#374151}.legend-button:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.legend-button.disabled{opacity:.4}.legend-color-box{width:16px;height:16px;border-radius:3px;border:2px solid white;box-shadow:0 0 0 1px #0000001a}.line-chart-wrapper{width:100%;height:320px;padding:.5rem .25rem;background:linear-gradient(to bottom,hsl(var(--muted) / .1) 0%,transparent 100%);border-radius:var(--radius-md);margin-bottom:.5rem}.budget-card{background:linear-gradient(135deg,white 0%,var(--gray-50) 100%);padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin-bottom:1rem;box-shadow:var(--shadow-sm)}.budget-card.no-budget{border:1px dashed #cbd5e1}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.budget-header h3{font-size:.9375rem;font-weight:600;color:var(--gray-600);margin:0}.budget-header-actions{display:flex;align-items:center;gap:.75rem}.budget-status{font-size:.875rem;font-weight:600}.btn-edit,.btn-history{padding:.375rem .625rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:#fff;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-edit:hover{background:var(--primary-50);border-color:var(--primary-300)}.btn-history:hover{background:var(--accent-50);border-color:var(--accent-300)}.btn-set-budget{padding:.5rem 1rem;border-radius:6px;border:1px solid var(--primary-500);background:#fff;color:var(--primary-600);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-set-budget:hover{background:var(--primary-500);color:#fff}.budget-form{margin-top:1rem}.budget-input{width:100%;padding:.625rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:.75rem}.budget-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #06b6d426}.budget-textarea{width:100%;padding:.625rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:.75rem;font-family:inherit;resize:vertical}.budget-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #06b6d426}.budget-actions{display:flex;gap:.5rem}.btn-save,.btn-cancel{flex:1;padding:.5rem;border-radius:6px;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-save{background:var(--primary-500);color:#fff}.btn-save:hover{background:var(--primary-600)}.btn-cancel{background:#f1f5f9;color:#64748b}.budget-progress{margin-bottom:1.25rem}.budget-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.budget-bar-fill{height:100%;transition:width .3s,background-color .3s;border-radius:4px}.budget-labels{display:flex;justify-content:space-between;font-size:.8125rem;color:#64748b}.budget-projection{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1rem;border-top:1px solid #f1f5f9}.projection-item{display:flex;flex-direction:column;gap:.25rem}.projection-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.projection-value{font-size:1.125rem;font-weight:600;color:var(--gray-700)}.budget-history{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--gray-200)}.budget-history h4{font-size:.875rem;font-weight:600;color:var(--gray-700);margin:0 0 .75rem}.history-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.history-entry{padding:.875rem;background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.history-date{font-size:.75rem;color:var(--gray-600);font-weight:500}.history-user{font-size:.75rem;color:var(--gray-500);background:#fff;padding:.125rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.history-changes{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.5rem}.history-change{display:flex;gap:.5rem;font-size:.8125rem}.change-label{font-weight:600;color:var(--gray-600);min-width:60px}.change-value{color:var(--gray-700);font-weight:500}.history-reason{display:flex;gap:.5rem;align-items:flex-start;padding:.5rem;background:#fff;border-radius:var(--radius-sm);font-size:.8125rem;color:var(--gray-700);font-style:italic;border:1px solid var(--gray-200)}.reason-icon{font-size:.875rem;line-height:1}.detailed-breakdown{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:auto}.breakdown-header{margin-bottom:1rem;flex-shrink:0}.breakdown-title{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.breakdown-title h2{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0}.total-cost-badge{font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);padding:.375rem .75rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.breakdown-filters{display:flex;gap:.75rem}.breakdown-search{flex:1;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;transition:all .2s}.breakdown-search:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.provider-filter{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer;min-width:150px}.provider-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.breakdown-content{display:flex;flex-direction:column;gap:1rem}.provider-section{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s}.provider-section:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000000d}.provider-header{padding:1rem;cursor:pointer;background:#f8fafc;transition:background .2s}.provider-header:hover{background:#f1f5f9}.provider-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.toggle-icon{font-size:.75rem;color:#64748b;width:16px;display:inline-block}.provider-badge{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}.provider-cost{font-size:1rem;font-weight:600;color:#0f172a;margin-left:auto}.cost-bar-container{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.cost-bar{height:100%;border-radius:3px;transition:width .3s ease}.categories-container{padding:.5rem 1rem 1rem;display:flex;flex-direction:column;gap:.75rem}.category-section{border-left:3px solid #e2e8f0;padding-left:1rem}.category-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem;cursor:pointer;border-radius:6px;transition:background .2s}.category-info{display:flex;align-items:center;gap:.5rem}.toggle-icon-small{font-size:.625rem;color:#94a3b8;width:12px;display:inline-block}.category-icon{font-size:1rem}.category-name{font-size:.875rem;font-weight:600;color:#334155}.service-count{font-size:.75rem;color:#94a3b8}.category-cost{font-size:.875rem;font-weight:600;color:#64748b}.services-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.service-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f8fafc;border-radius:4px;transition:all .2s}.service-item:hover{background:#f1f5f9;transform:translate(4px)}.service-name{font-size:.8125rem;color:#475569}.service-cost{font-size:.8125rem;font-weight:600;color:#0f172a}.no-results{padding:3rem;text-align:center;color:#64748b;font-size:.875rem;background:#f8fafc;border-radius:8px}@media (max-width: 768px){.breakdown-filters{flex-direction:column}.provider-filter{min-width:100%}.provider-info{flex-wrap:wrap}.provider-cost{flex-basis:100%;margin-left:0;margin-top:.5rem}.category-header{flex-direction:column;align-items:flex-start;gap:.5rem}.service-item{flex-direction:column;align-items:flex-start;gap:.25rem}}.service-cost-table-container{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1.5rem;margin-top:2rem;box-shadow:0 2px 8px #0000000d;max-width:100%;width:100%;overflow:hidden;box-sizing:border-box}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.table-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.export-btn{padding:.625rem 1.25rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.export-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #06b6d466}.table-wrapper{overflow-x:auto;overflow-y:auto;max-height:600px;max-width:100%;width:100%;border:1px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--primary-color) var(--bg-primary)}.table-wrapper::-webkit-scrollbar{height:8px;width:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.service-cost-table{width:max-content;min-width:100%;max-width:none;border-collapse:collapse;font-size:.875rem;table-layout:auto}.service-cost-table thead{background:var(--bg-primary);position:sticky;top:0;z-index:10}.service-cost-table th{padding:.75rem .625rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color);white-space:nowrap}.service-cost-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.service-cost-table th.sortable:hover{background:var(--bg-secondary)}.service-cost-table td{padding:.75rem .625rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.service-cost-table tbody tr:hover{background:var(--bg-primary)}.sticky-col{position:sticky;left:0;background:var(--bg-primary);z-index:5;box-shadow:2px 0 4px #0000000d}.service-cost-table tbody tr:hover .sticky-col{background:var(--bg-secondary)}.service-name{font-weight:600;color:var(--text-primary);min-width:150px;max-width:200px}.provider-cell{min-width:100px}.provider-with-icon{display:flex;align-items:center;gap:.5rem}.provider-name{color:var(--text-secondary);font-weight:500;text-transform:uppercase;font-size:.75rem}.month-col{min-width:70px;max-width:80px;text-align:right}.cost-cell{text-align:right;font-family:Courier New,monospace;color:var(--text-primary)}.total-col,.avg-col{min-width:90px;max-width:110px;text-align:right;font-weight:600}.total-cell{text-align:right;font-family:Courier New,monospace;font-weight:700;color:var(--primary-color);background:var(--primary-50, #eff6ff)}.avg-cell{text-align:right;font-family:Courier New,monospace;font-weight:600;color:var(--text-primary)}.service-cost-table th.sortable:hover .sort-icon{opacity:.8}.table-scroll-hint{text-align:center;padding:.5rem;font-size:.75rem;color:var(--text-secondary);background:var(--bg-primary);border-radius:var(--radius-sm);margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.table-scroll-hint.hidden{display:none}.table-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);text-align:center}.table-footer p{margin:0;font-size:.875rem;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;margin:2rem auto;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.empty-state p{margin:0;font-size:1rem}@media (max-width: 768px){.table-header{flex-direction:column;gap:1rem;align-items:flex-start}.export-btn{width:100%}.service-cost-table{font-size:.75rem}.service-cost-table th,.service-cost-table td{padding:.625rem .75rem}}.dashboard{padding:1.5rem;max-width:100%;width:100%;margin:0;animation:fadeIn .3s ease-out;overflow-x:hidden;box-sizing:border-box}.dashboard-controls{margin-bottom:.5rem;display:flex;gap:.5rem;align-items:center;padding:.4rem .75rem;background:var(--bg-secondary);border-radius:var(--radius-md)}.dashboard-controls label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#475569;font-size:.875rem}.dashboard-controls select{padding:.5rem .75rem;border-radius:6px;border:1px solid #e2e8f0;font-size:.875rem;font-weight:500;cursor:pointer;background:#fff;color:#334155;transition:all .2s}.dashboard-controls select:hover{border-color:#cbd5e1}.dashboard-controls select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .15)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.dashboard-full-width{margin-top:1rem}@media (max-width: 1024px){.dashboard{padding:1.25rem}.dashboard-grid{grid-template-columns:1fr}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:1rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .8s linear infinite}.loading-container p{font-size:.875rem;font-weight:500;color:#64748b}.forecast-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.forecast-header h2{font-size:1.5rem;font-weight:600;color:#0f172a;margin:0 0 .25rem}.forecast-subtitle{font-size:.875rem;color:#64748b;margin:0}.forecast-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.5rem}.insight-card{background:#fff;padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);display:flex;flex-direction:column;gap:.5rem;transition:all .2s;box-shadow:var(--shadow-sm)}.insight-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md);transform:translateY(-2px)}.insight-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.insight-value{font-size:1.5rem;font-weight:600;color:#0f172a}.trend-increasing{color:#ef4444}.trend-decreasing{color:#10b981}.trend-stable{color:#64748b}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state h3{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.empty-state p{font-size:.9375rem;color:#64748b;max-width:400px;margin:0}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:#fff;border-radius:8px;border:1px solid #fee2e2;background:linear-gradient(to bottom,#fef2f2,#fff);max-width:600px;margin:2rem auto}.error-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.error-container h2{font-size:1.5rem;font-weight:600;color:#991b1b;margin:0 0 .75rem}.error-message{font-size:1rem;color:#64748b;margin:0 0 1.5rem;line-height:1.6}.error-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem;width:100%}.error-hint{font-size:.875rem;color:#475569;margin:0;padding:.75rem 1rem;background:#f8fafc;border-radius:6px;border-left:3px solid hsl(var(--primary))}.btn-primary{padding:.75rem 1.5rem;background:hsl(var(--primary));color:#fff;border:none;border-radius:6px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.btn-primary:hover{background:hsl(var(--primary-700));transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-secondary{padding:.625rem 1.25rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}@media (max-width: 768px){.dashboard{padding:1rem}.optimization-header{flex-direction:column;align-items:stretch}.time-range-selector{width:100%;justify-content:stretch}.time-range-selector button{flex:1;padding:.5rem;font-size:.75rem}}.chart-type-toggle{display:flex;gap:.25rem;background:transparent;padding:.25rem;border-radius:var(--radius-md)}.chart-type-toggle .toggle-btn{padding:.375rem .75rem;background:transparent;border:none;border-radius:var(--radius-sm);font-size:1.125rem;cursor:pointer;transition:all .2s ease;opacity:.5}.chart-type-toggle .toggle-btn:hover{opacity:.8;background:var(--bg-primary)}.chart-type-toggle .toggle-btn.active{opacity:1;background:hsl(var(--primary));box-shadow:0 2px 4px hsl(var(--primary) / .3)}.calculator-header{margin-bottom:1.5rem}.calculator-header h2{font-size:1.5rem;font-weight:600;color:#0f172a;margin:0 0 .25rem}.calculator-subtitle{font-size:.875rem;color:#64748b;margin:0}.calculator-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem}.service-catalog{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.25rem;max-height:calc(100vh - 250px);overflow-y:auto;box-shadow:var(--shadow-sm)}.catalog-header{margin-bottom:1rem}.catalog-title{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.service-catalog h3{font-size:1rem;font-weight:600;color:#0f172a;margin:0}.service-count-badge{font-size:.75rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);padding:.25rem .5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.catalog-filters{display:flex;gap:.5rem;margin-bottom:.75rem}.search-input{flex:1;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;transition:all .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#94a3b8}.category-filter{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer;min-width:150px;transition:all .2s}.category-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.category-filter:hover{border-color:#94a3b8}.clear-filters-btn{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:.875rem;cursor:pointer;transition:all .2s;min-width:40px}.clear-filters-btn:hover{background:#fee2e2;border-color:#fecaca;color:#ef4444}.no-results{padding:2rem;text-align:center;color:#64748b;font-size:.875rem;background:#f8fafc;border-radius:6px;margin-top:1rem}.service-category{margin-bottom:1.5rem}.service-category:last-child{margin-bottom:0}.category-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem;margin:-.5rem -.5rem .75rem;border-radius:6px;transition:background .2s}.category-header:hover{background:#f8fafc}.service-category h4{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0;display:flex;align-items:center;gap:.5rem}.category-toggle{font-size:.75rem;color:#94a3b8;display:inline-block;width:16px}.category-count{font-size:.75rem;font-weight:500;color:#94a3b8;text-transform:none;margin-left:auto}.service-list{display:flex;flex-direction:column;gap:.5rem}.service-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;text-align:left}.service-item:hover:not(:disabled){border-color:#3b82f6;background:#f8fafc}.service-item:disabled{opacity:.5;cursor:not-allowed}.service-name{font-size:.875rem;font-weight:500;color:#334155;display:flex;align-items:center;gap:.5rem}.provider-badge{font-size:.75rem;font-weight:600;color:#3b82f6;background:#eff6ff;padding:.125rem .375rem;border-radius:4px}.service-price{font-size:.8125rem;color:#64748b;font-weight:500}.calculator-panel{display:flex;flex-direction:column;gap:1rem}.selected-services{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.25rem;flex:1;box-shadow:var(--shadow-sm)}.selected-services h3{font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 1rem}.empty-selection{padding:2rem;text-align:center;color:#64748b;font-size:.875rem}.service-inputs{display:flex;flex-direction:column;gap:.75rem}.service-input-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:1rem;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.service-input-info{display:flex;flex-direction:column;gap:.25rem}.service-input-name{font-size:.875rem;font-weight:500;color:#334155}.service-input-price{font-size:.75rem;color:#64748b}.service-input-controls{display:flex;align-items:center;gap:.5rem}.region-select{padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;font-weight:500;background:#fff;cursor:pointer;min-width:180px;color:#334155}.region-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.region-select:hover{border-color:#94a3b8}.quantity-input{width:100px;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;font-weight:500}.quantity-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.unit-label{font-size:.75rem;color:#64748b;min-width:80px}.remove-btn{width:28px;height:28px;border:none;border-radius:4px;background:#fee2e2;color:#ef4444;font-size:1.25rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-btn:hover{background:#ef4444;color:#fff}.service-cost{font-size:1rem;font-weight:600;color:#0f172a;text-align:right;min-width:100px}.cost-summary{background:linear-gradient(135deg,var(--primary-50) 0%,white 100%);border-radius:var(--radius-lg);border:2px solid var(--primary-400);padding:1.25rem;box-shadow:var(--shadow-md)}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:1.125rem;font-weight:600;color:#0f172a;margin-bottom:.5rem}.summary-value{font-size:1.5rem;color:#3b82f6}.summary-note{font-size:.75rem;color:#64748b;font-style:italic}@media (max-width: 1024px){.calculator-layout{grid-template-columns:1fr}.service-catalog{max-height:400px}.catalog-filters{flex-direction:column}.category-filter{min-width:100%}.service-input-row{grid-template-columns:1fr;gap:.75rem}.service-input-controls{flex-wrap:wrap;justify-content:space-between}.region-select{flex:1 1 100%;min-width:100%}.service-cost{text-align:left}}.optimization-header{margin-bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.optimization-header h1{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 .25rem}.optimization-subtitle{font-size:.9375rem;color:var(--gray-500);margin:0}.time-range-selector{display:flex;gap:.25rem;background:hsl(var(--muted));padding:.25rem;border-radius:var(--radius-md);box-shadow:inset 0 1px 2px hsl(var(--foreground) / .05)}.time-range-selector button{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;background:transparent;color:hsl(var(--muted-foreground));transition:all .2s;white-space:nowrap}.time-range-selector button:hover{background:hsl(var(--background));color:hsl(var(--foreground))}.time-range-selector button.active{background:var(--gradient-hero);color:#fff;box-shadow:0 2px 4px hsl(var(--primary) / .3)}@media (max-width: 768px){.optimization-header{flex-direction:column;align-items:stretch}.time-range-selector{width:100%;justify-content:stretch}.time-range-selector button{flex:1;padding:.5rem;font-size:.75rem}}.optimization-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1rem}.opt-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;box-shadow:var(--shadow-sm);transition:all .2s}.opt-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md);transform:translateY(-2px)}.opt-card-icon{font-size:2rem;line-height:1}.opt-card-content{flex:1}.opt-card-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:.5rem}.opt-card-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);line-height:1.2;margin-bottom:.25rem}.opt-card-value.savings{color:var(--success);font-weight:800}.opt-card-value.warning{color:var(--warning);font-weight:800}.opt-card-value.success{color:var(--success);font-weight:800}.opt-card-sublabel{font-size:.8125rem;color:var(--gray-500)}.optimization-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.filter-search{flex:1;min-width:200px;padding:.625rem .875rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s}.filter-search:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a}.filter-select{padding:.625rem .875rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;background:#fff;cursor:pointer;min-width:150px;transition:all .2s}.filter-select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a}.filter-clear{padding:.625rem 1rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;color:var(--gray-600);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-clear:hover{background:var(--error);color:#fff;border-color:var(--error)}.resources-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1rem}.resource-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.25rem;box-shadow:var(--shadow-sm);transition:all .2s}.resource-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md)}.resource-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-100)}.resource-title{display:flex;gap:.75rem;align-items:flex-start}.resource-icon{font-size:1.5rem;line-height:1}.resource-title h3{font-size:.9375rem;font-weight:600;color:var(--gray-900);margin:0 0 .25rem}.resource-type{font-size:.8125rem;color:var(--gray-500);margin:0}.resource-cost{text-align:right}.cost-current{font-size:.9375rem;font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.cost-savings{font-size:.8125rem;font-weight:600;color:var(--success);background:#d1fae5;padding:.125rem .5rem;border-radius:var(--radius-sm)}.resource-utilization{margin-bottom:1rem}.utilization-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;color:var(--gray-700)}.utilization-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.utilization-bar{height:8px;background:var(--gray-100);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.25rem}.utilization-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s ease}.utilization-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--gray-400)}.utilization-status{font-weight:600;color:var(--gray-600)}.resource-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem;margin-bottom:1rem;padding:.75rem;background:var(--gray-50);border-radius:var(--radius-md)}.metric{display:flex;flex-direction:column;gap:.25rem}.metric-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.metric-value{font-size:.9375rem;font-weight:600;color:var(--gray-900)}.resource-recommendation{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:linear-gradient(135deg,var(--primary-50) 0%,var(--accent-50) 100%);border-radius:var(--radius-md);border:1px solid var(--primary-200)}.recommendation-header{display:flex;align-items:center;gap:.75rem;justify-content:space-between}.recommendation-icon{font-size:1.25rem;line-height:1}.priority-badge{padding:.25rem .75rem;border-radius:.375rem;font-size:.6875rem;font-weight:700;letter-spacing:.025em;white-space:nowrap;text-transform:uppercase}.recommendation-text{font-size:.8125rem;color:var(--gray-700);line-height:1.5}.recommendation-text strong{color:var(--gray-900);font-weight:600}.action-items{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--primary-200)}.action-items strong{display:block;margin-bottom:.5rem;color:var(--gray-900);font-size:.8125rem;font-weight:600}.action-items ul{margin:0;padding-left:1.25rem;list-style-type:disc}.action-items li{font-size:.8125rem;color:var(--gray-700);line-height:1.6;margin-bottom:.375rem}.action-items li:last-child{margin-bottom:0}.no-results{grid-column:1 / -1;padding:3rem;text-align:center;color:var(--gray-500);background:var(--gray-50);border-radius:var(--radius-lg)}@media (max-width: 768px){.resources-container{grid-template-columns:1fr}.optimization-filters{flex-direction:column}.filter-search,.filter-select{width:100%}.resource-header{flex-direction:column;gap:.75rem}.resource-cost{text-align:left}.resource-metrics{grid-template-columns:repeat(2,1fr)}}.cross-cloud-comparison{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:var(--radius-md);border:1px solid #e2e8f0}.comparison-title{margin:0 0 .875rem;color:var(--text-primary);font-size:.9375rem;font-weight:600}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.625rem;margin-bottom:.875rem}.comparison-card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-sm);padding:.75rem;position:relative;transition:all .2s ease}.comparison-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.comparison-card.cheapest{border-color:#10b981;background:#f0fdf4;border-width:2px}.provider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.25rem}.provider-name{font-weight:600;color:var(--text-primary);font-size:.8125rem}.best-price-badge{background:#10b981;color:#fff;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:600;white-space:nowrap}.comparison-card .resource-name{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.375rem;font-weight:500}.comparison-card .resource-cost{font-size:1rem;font-weight:700;color:var(--primary-color);margin-bottom:.375rem}.comparison-card .resource-specs{font-size:.6875rem;color:var(--text-secondary);margin-bottom:.25rem;line-height:1.4}.comparison-card .savings-info{font-size:.6875rem;color:#dc2626;font-weight:600;margin-top:.25rem}.comparison-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-sm);padding:.625rem .75rem;font-size:.8125rem;color:#1e40af;text-align:center;line-height:1.4}@media (max-width: 768px){.comparison-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.comparison-grid{grid-template-columns:1fr}}.usage-comparison-section{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);width:100%;max-width:100%;overflow:hidden;min-width:0}.line-chart-wrapper{width:100%;height:320px;padding:1rem;background:linear-gradient(to bottom,hsl(var(--muted) / .1) 0%,transparent 100%);border-radius:var(--radius-md);margin-bottom:1rem}.line-chart{width:100%;height:100%;display:block}.usage-comparison-section .section-header{margin-bottom:1.5rem}.usage-comparison-section .section-header h2{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .25rem}.usage-comparison-section .section-header p{font-size:.875rem;color:var(--gray-500);margin:0}.usage-chart-container{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%;min-width:0}.chart-legend{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gray-700)}.legend-color{width:16px;height:16px;border-radius:3px}.legend-color.current{background:linear-gradient(135deg,#1e3a5f,#14b8a6)}.legend-color.optimized{background:linear-gradient(135deg,#10b981,#059669)}.legend-color.savings{background:linear-gradient(135deg,#f59e0b,#d97706)}.chart-scroll-wrapper{background:linear-gradient(to top,hsl(var(--muted) / .3) 0%,transparent 100%);border-radius:var(--radius-md)}.usage-chart{display:flex;gap:.5rem;height:250px;align-items:flex-end;padding:1rem;justify-content:space-between}.chart-bar-group{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .2s;flex-shrink:0}.chart-bar-group:hover{transform:translateY(-2px)}.chart-bars{display:flex;gap:3px;align-items:flex-end;height:200px;width:100%;justify-content:center}.chart-bar{flex:1;max-width:12px;border-radius:4px 4px 0 0;transition:all .3s ease;position:relative}.chart-bar.current{background:linear-gradient(to top,#1e3a5f,#14b8a6);box-shadow:0 -2px 8px #14b8a64d}.chart-bar.optimized{background:linear-gradient(to top,#10b981,#34d399);box-shadow:0 -2px 8px #10b9814d}.chart-bar-group:hover .chart-bar{filter:brightness(1.1)}.chart-label{font-size:.6875rem;color:var(--gray-500);text-align:center;white-space:nowrap}.chart-summary{display:flex;justify-content:space-around;gap:1rem;padding:1rem;background:hsl(var(--muted) / .3);border-radius:var(--radius-md);flex-wrap:wrap}.stat-label{font-size:.75rem;color:var(--gray-500);font-weight:500}.stat-value{font-size:1.125rem;font-weight:700;color:var(--gray-900)}.stat-value.optimized{color:#10b981}.stat-value.savings{color:#f59e0b}@media (max-width: 768px){.usage-chart{height:200px;padding:.75rem}.chart-bar-group{width:24px}.chart-bars{height:150px}.chart-bar{max-width:8px}.chart-summary{flex-direction:column;align-items:stretch}.summary-stat{flex-direction:row;justify-content:space-between}}.resource-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-200);display:flex;flex-direction:column;gap:.75rem}.current-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.status-label{color:var(--gray-600);font-weight:600}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.action-btn{padding:.5rem 1rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.375rem}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.accept{background:#d1fae5;color:#065f46;border:1px solid #10b981}.action-btn.accept:hover:not(:disabled){background:#10b981;color:#fff}.action-btn.implement{background:#dbeafe;color:#1e40af;border:1px solid #3b82f6}.action-btn.implement:hover:not(:disabled){background:#3b82f6;color:#fff}.action-btn.reject{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.action-btn.reject:hover:not(:disabled){background:#ef4444;color:#fff}.action-note{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);font-size:.8125rem;color:#1e40af}.note-icon{font-size:1rem;flex-shrink:0}.note-text{line-height:1.4}.modal-content{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;max-width:500px;width:100%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-content h3{margin:0 0 .5rem;color:var(--gray-900);font-size:1.125rem}.modal-content p{margin:0 0 1rem;color:var(--gray-600);font-size:.875rem}.modal-content textarea{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;font-family:inherit;resize:vertical;margin-bottom:1rem}.modal-content textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-btn{padding:.625rem 1.25rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-btn.cancel{background:var(--gray-100);color:var(--gray-700)}.modal-btn.cancel:hover{background:var(--gray-200)}.modal-btn.confirm{background:var(--error);color:#fff}.modal-btn.confirm:hover{background:#dc2626}@media (max-width: 768px){.action-buttons{flex-direction:column}.action-btn{width:100%;justify-content:center}}.provider-breakdown-section{margin:2rem 0;padding:1.5rem;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.provider-breakdown-section h2{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 1rem}.provider-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.provider-breakdown-card{background:linear-gradient(135deg,hsl(var(--muted) / .3),hsl(var(--muted) / .1));border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1rem;transition:all .2s}.provider-breakdown-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.provider-breakdown-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--gray-200)}.provider-breakdown-header .provider-name{font-size:1rem;font-weight:600;color:var(--gray-900)}.provider-breakdown-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.provider-breakdown-stats .stat{display:flex;flex-direction:column;gap:.25rem}.provider-breakdown-stats .stat-label{font-size:.75rem;color:var(--gray-500);font-weight:500;text-transform:uppercase;letter-spacing:.025em}.provider-breakdown-stats .stat-value{font-size:1.125rem;font-weight:700;color:var(--gray-900)}.provider-breakdown-stats .stat-value.savings{color:var(--success-600)}@media (max-width: 768px){.provider-breakdown-grid{grid-template-columns:1fr}}.savings-header{margin-bottom:2rem}.savings-header h1{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.savings-subtitle{color:#6b7280;font-size:1rem}.savings-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.metric-card.highlight{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.metric-card.highlight .metric-label,.metric-card.highlight .metric-sublabel{color:#ffffffe6}.metric-icon{font-size:2.5rem;line-height:1}.metric-content{flex:1}.metric-label{font-size:.875rem;color:#6b7280;font-weight:500;margin-bottom:.5rem}.metric-value{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.metric-value.success{color:#10b981}.metric-card.highlight .metric-value{color:#fff}.metric-value.warning{color:#f59e0b}.metric-sublabel{font-size:.875rem;color:#9ca3af}.savings-timeline-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{font-size:1.5rem;font-weight:600;color:#1f2937}.timeline-controls{display:flex;gap:.25rem;background:hsl(var(--muted));padding:.25rem;border-radius:var(--radius-md);box-shadow:inset 0 1px 2px hsl(var(--foreground) / .05)}.timeline-controls button{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;background:transparent;color:hsl(var(--muted-foreground));transition:all .2s;white-space:nowrap}.timeline-controls button:hover{background:hsl(var(--background));color:hsl(var(--foreground))}.timeline-controls button.active{background:var(--gradient-hero);color:#fff;box-shadow:0 2px 4px hsl(var(--primary) / .3)}.timeline-chart-container{margin-top:1.5rem}.chart-legend{display:flex;gap:2rem;margin-bottom:1rem;justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.projected{background:var(--chart-projected, #93c5fd)}.legend-color.actual{background:var(--chart-actual, #10b981)}.timeline-chart{display:flex;align-items:flex-end;gap:1rem;height:250px;padding:1rem;border-bottom:2px solid #e5e7eb}.timeline-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.timeline-bars{display:flex;gap:4px;align-items:flex-end;height:200px;width:100%;justify-content:center}.timeline-bar{width:20px;border-radius:4px 4px 0 0;transition:all .3s;cursor:pointer}.timeline-bar:hover{opacity:.8}.timeline-bar.projected{background:var(--chart-projected, #93c5fd)}.timeline-bar.actual{background:var(--chart-actual, #10b981)}.timeline-label{font-size:.75rem;color:#6b7280;text-align:center}.timeline-badge{position:absolute;top:-20px;background:#3b82f6;color:#fff;font-size:.75rem;padding:2px 6px;border-radius:10px;font-weight:600}.timeline-summary{display:flex;justify-content:space-around;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.summary-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-label{font-size:.875rem;color:#6b7280}.stat-value{font-size:1.25rem;font-weight:700;color:#1f2937}.stat-value.success{color:#10b981}.stat-value.warning{color:#f59e0b}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.breakdown-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.breakdown-card h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.breakdown-item{padding:1rem;background:var(--gray-50, #f9fafb);border-radius:var(--radius-md);border:1px solid var(--gray-200, #e5e7eb)}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.breakdown-name{font-weight:600;color:#1f2937}.breakdown-count{font-size:.875rem;color:#6b7280}.breakdown-metrics{display:flex;gap:1.5rem;margin-bottom:.75rem}.breakdown-metric{display:flex;flex-direction:column;gap:.25rem}.breakdown-metric .metric-label{font-size:.75rem;color:#9ca3af}.breakdown-metric .metric-value{font-size:1rem;font-weight:600;color:#1f2937}.breakdown-metric .metric-value.success{color:#10b981}.breakdown-progress{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--chart-secondary, #10b981);transition:width .3s}.breakdown-sublabel{font-size:.75rem;color:#6b7280}.top-performers-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.top-performers-section h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.performers-list{display:flex;flex-direction:column;gap:1rem}.performer-card{display:flex;gap:1rem;padding:1.5rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s}.performer-card:hover{border-color:#10b981;box-shadow:0 2px 4px #10b9811a}.performer-rank{font-size:1.5rem;font-weight:700;color:#10b981;min-width:40px;text-align:center}.performer-content{flex:1}.performer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.performer-header h4{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.performer-category{padding:.25rem .75rem;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:.75rem;font-weight:600}.performer-type{font-size:.875rem;color:#6b7280;margin-bottom:1rem}.performer-metrics{display:flex;gap:2rem;margin-bottom:.75rem}.performer-metric{display:flex;flex-direction:column;gap:.25rem}.performer-dates{font-size:.75rem;color:#9ca3af}.recent-implementations-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.recent-implementations-section h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.implementations-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.implementation-card{display:flex;gap:1rem;padding:1.5rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;position:relative}.implementation-icon{font-size:1.5rem}.implementation-content{flex:1}.implementation-content h4{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.implementation-category{font-size:.75rem;color:#6b7280;margin-bottom:.75rem}.implementation-savings{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.savings-label{font-size:.75rem;color:#9ca3af}.savings-value{font-size:1.125rem;font-weight:700;color:#10b981}.implementation-date{font-size:.75rem;color:#9ca3af}.implementation-status{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;background:#fef3c7;color:#92400e;border-radius:4px;font-size:.625rem;font-weight:600}@media (max-width: 768px){.savings-metrics,.breakdown-grid,.implementations-list{grid-template-columns:1fr}.performer-metrics{flex-direction:column;gap:.5rem}}.commitment-advisor{padding:20px;max-width:1400px;margin:0 auto}.advisor-header{margin-bottom:20px}.advisor-header.ai-header{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;margin-bottom:20px!important;display:block;width:100%;box-sizing:border-box}.header-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.ai-sparkle-icon{width:20px;height:20px;opacity:.6}.advisor-header h1{font-size:20px;margin:0;color:var(--text-primary);font-weight:600}.ai-badge-header{font-size:10px;padding:3px 8px;background:#8b5cf61a;color:#8b5cf6;border:1px solid rgba(139,92,246,.3);border-radius:4px;font-weight:600;letter-spacing:.05em}.new-badge-header{font-size:10px;padding:3px 8px;background:#f59e0b;color:#fff;border-radius:4px;font-weight:600;letter-spacing:.05em}.header-subtitle{color:var(--text-secondary);font-size:14px;margin:0;line-height:1.5}.gradient-text{color:var(--text-primary);font-weight:500}.upgrade-prompt{text-align:center;padding:60px 20px;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-teal) 100%);border-radius:12px;color:#fff}.upgrade-icon{font-size:64px;margin-bottom:20px}.upgrade-prompt h2{font-size:32px;margin-bottom:16px;color:#fff}.upgrade-prompt p{font-size:18px;margin-bottom:12px;opacity:.95;color:#fff}.upgrade-button{margin-top:24px;padding:14px 32px;font-size:16px;font-weight:600;background:#fff;color:var(--primary-blue);border:none;border-radius:8px;cursor:pointer;transition:all .2s}.upgrade-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003;background:#fffffff2}.savings-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:0;margin-bottom:30px;clear:both}.summary-card{background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000001a;transition:transform .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.summary-card .card-icon{font-size:40px}.summary-card .card-label{font-size:13px;color:#666;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.summary-card .card-value{font-size:28px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.summary-card .card-sublabel{font-size:14px;color:#888}.summary-card.potential{border-left:4px solid #10b981}.summary-card.realized{border-left:4px solid #14b8a6}.summary-card.recommendations{border-left:4px solid #f59e0b}.advisor-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e5e7eb}.advisor-tabs .tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:500;color:#666;transition:all .2s}.advisor-tabs .tab:hover{color:#1a1a1a;background:#f9fafb}.advisor-tabs .tab.active{color:#14b8a6;border-bottom-color:#14b8a6}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.provider-filter{padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.generate-button{padding:10px 20px;background:linear-gradient(135deg,#1e3a5f,#14b8a6);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #14b8a64d}.generate-button:hover{background:linear-gradient(135deg,#1a3352,#0d9488);transform:translateY(-1px);box-shadow:0 4px 12px #14b8a666}.recommendations-list{display:grid;gap:20px}.recommendation-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;border-left:4px solid #d1d5db}.recommendation-card.confidence-high{border-left-color:#10b981}.recommendation-card.confidence-medium{border-left-color:#f59e0b}.recommendation-card.confidence-low{border-left-color:#ef4444}.rec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.rec-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.provider-badge{padding:4px 12px;background:#14b8a6;color:#fff;border-radius:6px;font-size:12px;font-weight:600}.service-name{font-size:18px;font-weight:600;color:#1a1a1a}.instance-type{font-size:14px;color:#666;background:#f3f4f6;padding:4px 10px;border-radius:6px}.confidence-badge{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;text-transform:capitalize}.confidence-badge.high{background:#d1fae5;color:#065f46}.confidence-badge.medium{background:#fef3c7;color:#92400e}.confidence-badge.low{background:#fee2e2;color:#991b1b}.rec-body{margin-bottom:20px}.rec-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:20px}.metric{text-align:center;padding:12px;background:#f9fafb;border-radius:8px}.metric-label{font-size:12px;color:#666;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:20px;font-weight:700;color:#1a1a1a}.metric-value.savings{color:#10b981}.metric-value.roi{color:#14b8a6}.rec-details{background:#f9fafb;padding:16px;border-radius:8px;margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e5e7eb}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:#666;font-size:14px}.detail-row span:last-child{font-weight:600;color:#1a1a1a;font-size:14px}.risk-factors{background:#fef3c7;padding:12px 16px;border-radius:8px;border-left:3px solid #f59e0b}.risk-label{font-weight:600;color:#92400e;margin-bottom:8px;font-size:14px}.risk-factors ul{margin:0;padding-left:20px}.risk-factors li{color:#92400e;font-size:13px;margin-bottom:4px}.rec-actions{display:flex;gap:12px;justify-content:flex-end}.accept-button,.reject-button{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.accept-button{background:#10b981;color:#fff}.accept-button:hover{background:#059669}.reject-button{background:#f3f4f6;color:#666}.reject-button:hover{background:#e5e7eb;color:#1a1a1a}.commitments-list{display:grid;gap:16px}.commitment-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.commitment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.commitment-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.utilization-badge{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500}.utilization-badge.warning{background:#fef3c7;color:#92400e}.commitment-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:16px}.renewal-alert{background:#fef3c7;padding:12px 16px;border-radius:8px;border-left:3px solid #f59e0b;color:#92400e;font-size:14px;font-weight:500}.empty-state{text-align:center;padding:60px 20px;background:#f9fafb;border-radius:12px}.empty-state p{color:#666;font-size:16px;margin-bottom:20px}.empty-state button{padding:12px 24px;background:linear-gradient(135deg,#1e3a5f,#14b8a6);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #14b8a64d;transition:all .2s}.empty-state button:hover{background:linear-gradient(135deg,#1a3352,#0d9488);transform:translateY(-1px);box-shadow:0 4px 12px #14b8a666}.loading{text-align:center;padding:60px 20px;color:#666;font-size:16px}@media (max-width: 768px){.advisor-header h1{font-size:24px}.savings-summary{grid-template-columns:1fr}.rec-metrics,.commitment-metrics{grid-template-columns:repeat(2,1fr)}.section-header{flex-direction:column;align-items:stretch}.rec-actions{flex-direction:column}.accept-button,.reject-button{width:100%}}.topology-container{padding:1rem;background:var(--bg-primary)}.topology-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.topology-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.topology-controls{display:flex;gap:1rem;align-items:center}.topology-controls select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.topology-legend{display:flex;gap:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.legend-icon{font-size:1.25rem}.topology-view{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1.5rem;min-height:600px;overflow-x:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-items:start}@media (max-width: 1400px){.topology-view{grid-template-columns:1fr}}.region-container{border:2px solid var(--primary-color);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#3b82f60d,#10b9810d)}.vpcs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 1400px){.vpcs-grid{grid-template-columns:1fr}}.region-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.region-title{font-size:1.25rem;font-weight:600;color:var(--primary-color);display:flex;align-items:center;gap:.5rem}.region-cost{font-size:1rem;font-weight:600;color:var(--accent-color)}.vpc-container{border:2px dashed var(--accent-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem;background:#ffffff80}.vpc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.vpc-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.vpc-info{font-size:.875rem;color:var(--text-secondary)}.subnets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}@media (max-width: 1200px){.subnets-grid{grid-template-columns:1fr}}.subnet-container{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem;background:var(--bg-primary)}.subnet-container.public{border-left:4px solid #10b981}.subnet-container.private{border-left:4px solid #f59e0b}.subnet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-color)}.subnet-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.subnet-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.subnet-badge.public{background:#d1fae5;color:#065f46}.subnet-badge.private{background:#fef3c7;color:#92400e}.resources-list{display:flex;flex-direction:column;gap:.5rem}.resource-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.5rem;cursor:pointer;transition:all .2s ease;position:relative}.resource-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--primary-color)}.resource-card.selected{border-color:var(--primary-color);background:#3b82f61a}.resource-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.resource-name{display:flex;align-items:center;gap:.4rem;font-weight:600;color:var(--text-primary);font-size:.8rem}.resource-icon{font-size:1rem}.resource-status{padding:.1rem .4rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:500}.resource-status.running,.resource-status.active,.resource-status.available,.resource-status.deployed,.resource-status.online{background:#d1fae5;color:#065f46}.resource-details{display:flex;flex-direction:column;gap:.15rem;font-size:.7rem;color:var(--text-secondary);margin-bottom:.25rem}.resource-cost{font-weight:600;color:var(--accent-color);font-size:.75rem;margin-top:0}.standalone-resources{margin-top:1rem;border:2px dashed var(--accent-color);border-radius:var(--radius-md);padding:1rem;background:#ffffff80;max-width:fit-content}.standalone-header{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-color)}.standalone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.connection-indicator{position:absolute;top:.5rem;right:.5rem;width:8px;height:8px;border-radius:50%;background:var(--primary-color);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.connections-panel{position:fixed;right:0;top:0;bottom:0;width:350px;background:var(--bg-primary);border-left:1px solid var(--border-color);padding:1.5rem;overflow-y:auto;box-shadow:-4px 0 12px #0000001a;z-index:100;transform:translate(100%);transition:transform .3s ease}.connections-panel.open{transform:translate(0)}.connections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.connections-header h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.selected-resource-info{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.connections-list{display:flex;flex-direction:column;gap:.75rem}.connection-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem;display:flex;align-items:center;gap:.75rem}.connection-arrow{color:var(--primary-color);font-size:1.25rem}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.loading-topology{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.topology-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.topology-view.compact .region-container,.topology-view.compact .vpc-container{padding:1rem;margin-bottom:1rem}.topology-view.compact .subnets-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem}.topology-view.compact .subnet-container{padding:.75rem}.topology-view.compact .resources-list{gap:.5rem}.topology-view.compact .resource-card{padding:.5rem}.topology-view.compact .resource-details{display:none}.topology-view.compact .resource-name{font-size:.85rem}.topology-view.compact .resource-icon{font-size:1rem}.topology-view.compact .resource-cost{font-size:.8rem}.topology-view.compact .standalone-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.topology-view.compact .region-title{font-size:1.1rem}.topology-view.compact .vpc-title{font-size:1rem}.topology-view.compact .subnet-title{font-size:.875rem}.anomaly-container{padding:1rem}.anomaly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.anomaly-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.btn-config{padding:.5rem 1rem;background:linear-gradient(135deg,#13316c,#2bc5b5);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;box-shadow:0 2px 8px #14b8a64d}.btn-config:hover{background:linear-gradient(135deg,#0f2757,#27b0a2);transform:translateY(-1px);box-shadow:0 4px 12px #14b8a666}.anomaly-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;text-align:center}.stat-value{font-size:1.75rem;font-weight:700;color:var(--primary-color);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-secondary)}.anomaly-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.anomaly-tabs button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:1rem;color:var(--text-secondary);margin-bottom:-2px}.anomaly-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.anomaly-filters{display:flex;gap:1rem;align-items:flex-end;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.25rem;min-width:150px}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.filter-group select{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;cursor:pointer}.filter-group select:focus{outline:none;border-color:var(--primary-color)}.btn-clear-filters{padding:.5rem 1rem;background:var(--text-secondary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;height:fit-content;align-self:flex-end}.btn-clear-filters:hover{background:var(--text-primary)}.anomalies-list{display:flex;flex-direction:column;gap:1rem}.anomaly-card{background:var(--bg-secondary);border-radius:var(--radius-md);border-left:4px solid;padding:1.5rem}.anomaly-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.anomaly-title{display:flex;align-items:center;gap:.5rem}.severity-icon{font-size:1.25rem}.severity-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;color:#fff}.provider-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background:var(--primary-color);color:#fff}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background:#e0e0e0;color:#666}.status-badge.status-open{background:#fef3c7;color:#92400e}.status-badge.status-resolved{background:#d1fae5;color:#065f46}.anomaly-date{font-size:.875rem;color:var(--text-secondary)}.anomaly-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.metric{background:var(--bg-primary);padding:.75rem;border-radius:var(--radius-sm)}.metric-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.metric-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.metric-value.deviation{color:#dc143c}.anomaly-description{background:var(--bg-primary);padding:1rem;border-radius:var(--radius-sm);margin-bottom:.75rem;font-size:.9rem}.anomaly-recommendation{background:#e8f4f8;padding:1rem;border-radius:var(--radius-sm);border-left:3px solid var(--primary-color);margin-bottom:1rem;font-size:.9rem}.anomaly-actions{display:flex;gap:.5rem}.btn-resolve,.btn-ignore{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500}.btn-resolve{background:#10b981;color:#fff}.btn-resolve:hover{background:#059669}.btn-ignore{background:#6b7280;color:#fff}.btn-ignore:hover{background:#4b5563}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-icon{font-size:3rem;margin-bottom:1rem}.settings-panel{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1.5rem}.alert-config-form{max-width:800px}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.form-section:last-of-type{border-bottom:none}.form-section h4{margin-bottom:1rem;color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input[type=text],.form-group input[type=number],.form-group select{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9rem}.form-group input[type=checkbox]{margin-right:.5rem}.btn-test{padding:.5rem 1rem;background:var(--accent-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;margin-top:.5rem}.btn-test:hover{opacity:.9}.btn-test:disabled{opacity:.5;cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:2rem}.btn-primary{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:500}.btn-primary:hover{background:var(--primary-dark)}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);max-width:800px;max-height:90vh;overflow-y:auto;padding:2rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{margin:0;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:30px;height:30px}.modal-close:hover{color:var(--text-primary)}.loading{text-align:center;padding:3rem;color:var(--text-secondary)}.cost-allocation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.cost-allocation-header h1{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem}.cost-allocation-header .subtitle{font-size:.9375rem;color:var(--gray-500);margin:0}.header-actions{display:flex;gap:.75rem;align-items:center}.period-select{padding:.625rem .875rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;background:#fff;cursor:pointer}.allocation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;box-shadow:var(--shadow-sm)}.summary-card .card-icon{font-size:2rem;line-height:1}.summary-card .card-content{flex:1}.summary-card .card-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:.5rem}.summary-card .card-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);line-height:1.2;margin-bottom:.25rem}.summary-card .card-value.warning{color:var(--warning)}.summary-card .card-value.success{color:var(--success)}.summary-card .card-sublabel{font-size:.8125rem;color:var(--gray-500)}.allocation-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--gray-200)}.tab-button.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.tab-content{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:2rem;box-shadow:var(--shadow-sm)}.overview-content .section{margin-bottom:2.5rem}.overview-content .section:last-child{margin-bottom:0}.overview-content h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 1.5rem}.allocations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.allocation-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.25rem;transition:all .2s}.allocation-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md)}.allocation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.allocation-header h4{font-size:1rem;font-weight:600;color:var(--gray-900);margin:0 0 .25rem}.cost-center-code{font-size:.75rem;color:var(--gray-500);font-family:monospace;background:var(--gray-200);padding:.125rem .375rem;border-radius:var(--radius-sm)}.mode-badge{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:var(--radius-sm)}.mode-badge.chargeback{background:#dbeafe;color:#1e40af}.mode-badge.showback{background:#fef3c7;color:#92400e}.allocation-cost{text-align:center;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--gray-200)}.cost-amount{font-size:1.75rem;font-weight:700;color:var(--primary-600);margin-bottom:.25rem}.cost-label{font-size:.8125rem;color:var(--gray-500)}.budget-progress{margin-bottom:1rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8125rem;color:var(--gray-600)}.utilization-value{font-weight:600;color:var(--success)}.utilization-value.warning{color:var(--error)}.progress-bar{height:8px;background:var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--success);border-radius:var(--radius-sm);transition:width .3s ease}.progress-fill.warning{background:var(--error)}.budget-info{font-size:.75rem;color:var(--gray-500);text-align:center}.allocation-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--gray-200)}.owner-info{font-size:.8125rem;color:var(--gray-600)}.btn-link{background:none;border:none;color:var(--primary-600);font-size:.875rem;font-weight:600;cursor:pointer;padding:0}.btn-link:hover{color:var(--primary-700);text-decoration:underline}.trends-chart{display:flex;flex-direction:column;gap:.75rem}.trend-bar{display:grid;grid-template-columns:80px 1fr 60px;gap:1rem;align-items:center}.trend-label{font-size:.8125rem;color:var(--gray-600);font-weight:500}.trend-bar-container{height:24px;background:var(--gray-100);border-radius:var(--radius-sm);overflow:hidden}.trend-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-sm);transition:width .3s ease}.trend-value{font-size:.875rem;font-weight:600;color:var(--gray-700);text-align:right}.cost-centers-content .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.cost-centers-content h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0}.cost-centers-table table{width:100%;border-collapse:collapse}.cost-centers-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-50);border-bottom:2px solid var(--gray-200);font-size:.8125rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em}.cost-centers-table td{padding:1rem;border-bottom:1px solid var(--gray-200);font-size:.9375rem;color:var(--gray-900)}.cost-centers-table tr:hover{background:var(--gray-50)}.description-text{font-size:.8125rem;color:var(--gray-500);margin-top:.25rem}.btn-small{padding:.375rem .75rem;background:#fff;color:var(--primary-600);border:1px solid var(--primary-600);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-small:hover{background:var(--primary-600);color:#fff}.unallocated-content .section{margin-bottom:2rem}.unallocated-content h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.section-description{font-size:.9375rem;color:var(--gray-600);margin:0 0 1.5rem}.unallocated-table table{width:100%;border-collapse:collapse}.unallocated-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-50);border-bottom:2px solid var(--gray-200);font-size:.8125rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em}.unallocated-table td{padding:1rem;border-bottom:1px solid var(--gray-200);font-size:.9375rem;color:var(--gray-900)}.unallocated-table code{background:var(--gray-100);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.8125rem}.reason-text{color:var(--gray-600);font-size:.875rem}.details-content{padding:0}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--gray-200)}.details-header h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0}.details-header .total-cost{font-size:2rem;font-weight:700;color:var(--primary-600)}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2rem}.detail-section{background:var(--gray-50);border-radius:var(--radius-md);padding:1.5rem}.detail-section.full-width{grid-column:1 / -1}.detail-section h4{font-size:1rem;font-weight:600;color:var(--gray-900);margin:0 0 1rem}.service-list,.resource-list{display:flex;flex-direction:column;gap:.75rem}.service-item,.resource-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.service-info,.resource-info{display:flex;flex-direction:column;gap:.25rem}.service-percentage{font-size:.8125rem;color:var(--gray-500)}.service-cost,.resource-cost{font-weight:700;color:var(--primary-600)}.resource-type{font-size:.8125rem;color:var(--gray-500)}.daily-chart{display:flex;gap:.5rem;align-items:flex-end;height:200px;padding:1rem;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.day-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.day-bar-fill{width:100%;background:linear-gradient(180deg,var(--primary-400),var(--primary-600));border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-height:4px;transition:height .3s ease}.day-label{font-size:.75rem;color:var(--gray-500);font-weight:500}.modal-content form{padding:1.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.btn-primary{padding:.75rem 1.5rem;background:var(--primary-600);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}@media (max-width: 768px){.cost-allocation-header{flex-direction:column;gap:1rem}.header-actions{width:100%;flex-direction:column}.period-select,.btn-primary{width:100%}.allocations-grid,.details-grid,.form-row{grid-template-columns:1fr}.trend-bar{grid-template-columns:60px 1fr 50px;gap:.5rem}}.reports-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.reports-header h1{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem}.reports-header .subtitle{font-size:.9375rem;color:var(--gray-500);margin:0}.reports-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--gray-200)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.template-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.5rem;transition:all .2s;display:flex;flex-direction:column}.template-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-icon{font-size:3rem;margin-bottom:1rem}.template-card h4{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.template-description{font-size:.875rem;color:var(--gray-600);margin-bottom:1rem;flex:1}.template-sections{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.section-tag{font-size:.75rem;padding:.25rem .625rem;background:var(--gray-100);color:var(--gray-700);border-radius:var(--radius-sm);font-weight:500}.schedules-table table,.history-table table{width:100%;border-collapse:collapse}.schedules-table th,.history-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-50);border-bottom:2px solid var(--gray-200);font-size:.8125rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em}.schedules-table td,.history-table td{padding:1rem;border-bottom:1px solid var(--gray-200);font-size:.9375rem;color:var(--gray-900)}.schedules-table tr:hover,.history-table tr:hover{background:var(--gray-50)}.frequency-badge{display:inline-block;padding:.25rem .625rem;background:var(--primary-100);color:var(--primary-700);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;text-transform:capitalize}.report-preview{background:#fff;border-radius:var(--radius-lg);padding:2rem}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--gray-200)}.preview-header h2{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem}.period-label{font-size:.9375rem;color:var(--gray-500);margin:0}.preview-actions{display:flex;gap:.75rem}.preview-content{display:flex;flex-direction:column;gap:2rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.metric-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.25rem}.metric-label{font-size:.8125rem;color:var(--gray-600);margin-bottom:.5rem;font-weight:500}.metric-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:.25rem}.metric-change{font-size:.875rem;font-weight:600}.metric-change.up{color:var(--error)}.metric-change.down{color:var(--success)}.report-section{background:var(--gray-50);border-radius:var(--radius-md);padding:1.5rem}.report-section h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 1.5rem}.breakdown-list{display:flex;flex-direction:column;gap:1rem}.breakdown-item{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.breakdown-info{display:flex;justify-content:space-between;align-items:center;grid-column:1 / -1;margin-bottom:.5rem}.breakdown-name{font-weight:600;color:var(--gray-900)}.breakdown-percentage{font-size:.875rem;color:var(--gray-600)}.breakdown-bar{height:8px;background:var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;grid-column:1}.breakdown-fill{height:100%;background:linear-gradient(90deg,#13316c,#2bc5b5);border-radius:var(--radius-sm)}.breakdown-cost{font-weight:700;color:var(--primary-600);text-align:right}.services-list{display:flex;flex-direction:column;gap:.75rem}.service-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:.75rem;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.service-icon{font-size:1.5rem}.service-name{font-weight:600;color:var(--gray-900)}.service-cost{font-weight:700;color:var(--primary-600)}.service-percentage{font-size:.875rem;color:var(--gray-600)}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.recommendation-item{padding:1rem;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.rec-title{font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.rec-details{display:flex;gap:1rem;font-size:.875rem}.rec-savings{color:var(--success);font-weight:600}.rec-effort,.rec-impact{color:var(--gray-600)}.budget-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-item{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.25rem;text-align:center}.summary-label{font-size:.875rem;color:var(--gray-600);margin-bottom:.5rem}.summary-value{font-size:1.75rem;font-weight:700;color:var(--gray-900)}.budgets-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-sm);overflow:hidden}.budgets-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-100);font-size:.8125rem;font-weight:600;color:var(--gray-700);text-transform:uppercase}.budgets-table td{padding:1rem;border-top:1px solid var(--gray-200)}.utilization-badge{padding:.25rem .625rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600}.utilization-badge.good{background:#d1fae5;color:#065f46}.utilization-badge.warning{background:#fee2e2;color:#991b1b}.over-budget{color:var(--error);font-weight:600}.under-budget{color:var(--success);font-weight:600}.total-cost-banner{background:linear-gradient(135deg,#13316c,#2bc5b5);color:#fff;padding:2rem;border-radius:var(--radius-lg);text-align:center;margin-bottom:2rem}.total-label{font-size:1rem;opacity:.9;margin-bottom:.5rem}.total-value{font-size:3rem;font-weight:700}.modal-content.large{max-width:700px}@media (max-width: 768px){.reports-header{flex-direction:column;gap:1rem}.header-actions,.period-select{width:100%}.templates-grid,.metrics-grid,.breakdown-item{grid-template-columns:1fr}.service-item{grid-template-columns:auto 1fr;gap:.5rem}.service-cost,.service-percentage{grid-column:2;text-align:right}}.effort-badge,.impact-badge,.mode-badge{display:inline-block;padding:.25rem .625rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:capitalize}.effort-badge.low{background:#d1fae5;color:#065f46}.effort-badge.medium{background:#fef3c7;color:#92400e}.effort-badge.high{background:#fee2e2;color:#991b1b}.impact-badge.low{background:var(--gray-100);color:var(--gray-700)}.impact-badge.medium{background:#dbeafe;color:#1e40af}.impact-badge.high{background:#d1fae5;color:#065f46}.mode-badge{background:var(--primary-100);color:var(--primary-700)}.recommendations-table table,.chargeback-table table,.unallocated-table table{width:100%;border-collapse:collapse;margin-top:1rem}.recommendations-table th,.chargeback-table th,.unallocated-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-50);border-bottom:2px solid var(--gray-200);font-size:.8125rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em}.recommendations-table td,.chargeback-table td,.unallocated-table td{padding:.875rem 1rem;border-bottom:1px solid var(--gray-100);font-size:.875rem}.recommendations-table tbody tr:hover,.chargeback-table tbody tr:hover,.unallocated-table tbody tr:hover{background:var(--gray-50)}.savings{color:#16a34a;font-weight:600}.unallocated-table code{background:var(--gray-100);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.8125rem;font-family:Monaco,Courier New,monospace}.settings-header{margin-bottom:1.5rem}.settings-header h1{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem}.settings-subtitle{font-size:.9375rem;color:var(--gray-500);margin:0}.message-banner{padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.9375rem;font-weight:500}.settings-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--gray-200)}.tab-button{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:.9375rem;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab-button:hover{color:var(--primary-600);background:var(--gray-50)}.tab-button.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary))}.settings-content{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.25rem;box-shadow:var(--shadow-sm);max-width:900px;width:100%}.settings-form{max-width:700px;width:100%}.form-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-100)}.form-section:last-of-type{border-bottom:none;margin-bottom:.5rem;padding-bottom:0}.form-section h3{font-size:.8125rem;font-weight:600;color:var(--gray-700);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.form-group{margin-bottom:.75rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-600);margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;transition:all .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px #06b6d41a}.form-group small{display:block;margin-top:.25rem;font-size:.75rem;color:var(--gray-500);font-style:italic}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:.75rem}.form-row:last-child{margin-bottom:0}.form-row .form-group{margin-bottom:0}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--gray-200)}.btn-primary{padding:.625rem 1.25rem;background:var(--primary-600);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-700);transform:translateY(-1px);box-shadow:0 2px 8px #06b6d440}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.625rem 1.25rem;background:#fff;color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.users-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.users-header h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .25rem}.users-header p{font-size:.875rem;color:var(--gray-500);margin:0}.users-table{overflow-x:auto}.users-table table{width:100%;border-collapse:collapse}.users-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-50);border-bottom:2px solid var(--gray-200);font-size:.8125rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em}.users-table td{padding:1rem;border-bottom:1px solid var(--gray-200);font-size:.9375rem;color:var(--gray-900)}.users-table tr:hover{background:var(--gray-50)}.role-select{padding:.375rem .625rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600}.btn-danger-small{padding:.375rem .75rem;background:#fff;color:var(--error);border:1px solid var(--error);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger-small:hover{background:var(--error);color:#fff}.modal-content{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--gray-400);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s}.modal-content form,.modal-body{padding:1.5rem}.modal-description{font-size:.9375rem;color:var(--gray-600);margin-bottom:1.5rem;line-height:1.6}.provider-checkboxes{display:flex;flex-direction:column;gap:1rem}.provider-checkbox{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.provider-checkbox:hover:not(.disabled){background:var(--gray-100);border-color:var(--primary-300)}.provider-checkbox.disabled{opacity:.5;cursor:not-allowed;background:var(--gray-100)}.provider-checkbox.disabled input[type=checkbox]{cursor:not-allowed}.restricted-badge{font-size:.75rem;color:var(--error, #dc2626);font-weight:600}.provider-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.provider-label{font-size:.9375rem;font-weight:500;color:var(--gray-900)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.btn-small{padding:.375rem .75rem;background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-small:hover{background:var(--primary-100);border-color:var(--primary-300)}.provider-display,.role-display{font-size:.875rem;color:var(--gray-700);font-weight:500}.text-muted{color:var(--gray-400);font-size:.875rem}@media (max-width: 768px){.settings-content{padding:1.5rem}.form-row{grid-template-columns:1fr}.users-header{flex-direction:column;gap:1rem}.users-header button{width:100%}.users-table{font-size:.875rem}.users-table th,.users-table td{padding:.625rem .75rem}}.disabled-input{background-color:var(--gray-100)!important;color:var(--gray-500)!important;cursor:not-allowed!important;opacity:.7}.form-hint{display:block;margin-top:.375rem;font-size:.8125rem;color:var(--gray-500);font-style:italic}.section-description{font-size:.9375rem;color:var(--gray-600);margin:-.5rem 0 1.5rem}.editable-field{cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.editable-field:hover{background-color:var(--gray-100)}.inline-edit{display:flex;align-items:center}.inline-edit-input{width:100%;padding:.375rem .5rem;border:2px solid var(--primary-color);border-radius:4px;font-size:.9375rem;outline:none}.inline-edit-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.subscription-management{padding:0;max-width:1000px;width:100%}.subscription-header{margin-bottom:2rem}.subscription-header h2{font-size:1.75rem;color:#1a1a1a;margin-bottom:.5rem}.subscription-header p{color:#666}.current-plan-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.plan-header h3{font-size:1.25rem;color:#666;margin-bottom:.5rem;font-weight:500}.plan-name{font-size:2rem;font-weight:700;color:var(--primary-color);display:flex;align-items:center;gap:1rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-active{background:#d4edda;color:#155724}.status-trial{background:#d1ecf1;color:#0c5460}.status-warning{background:#fff3cd;color:#856404}.status-canceled{background:#f8d7da;color:#721c24}.trial-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#e7f3ff;border-left:4px solid var(--primary-color);border-radius:8px;margin-bottom:1.5rem;color:#004085}.trial-notice svg{width:24px;height:24px;flex-shrink:0}.usage-stats{display:grid;gap:1.5rem}.usage-item{display:grid;gap:.5rem}.usage-label{font-weight:600;color:#333;font-size:.875rem}.usage-bar{height:8px;background:#e9ecef;border-radius:50px;overflow:hidden}.usage-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:50px;transition:width .3s ease}.usage-text{font-size:.875rem;color:#666}.plans-section{margin-bottom:2rem}.plans-section h3{font-size:1.5rem;margin-bottom:1.5rem;color:#1a1a1a}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.plan-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;border:2px solid transparent;transition:all .3s;display:flex;flex-direction:column}.plan-card:hover{border-color:var(--primary-color);box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.plan-card.current{border-color:var(--primary-color);background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.plan-card-header{margin-bottom:1.5rem}.plan-card-header h4{font-size:1.25rem;color:#1a1a1a;margin-bottom:.5rem}.plan-price{display:flex;align-items:baseline;gap:.25rem}.price-amount{font-size:2.5rem;font-weight:700;color:var(--primary-color)}.price-interval{font-size:1rem;color:#666}.price-custom{font-size:1.5rem;font-weight:600;color:var(--primary-color)}.plan-features{list-style:none;padding:0;margin:0 0 2rem;flex-grow:1}.plan-features li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#333;font-size:.875rem}.plan-features svg{width:20px;height:20px;color:var(--success-color);flex-shrink:0}.plan-card button{width:100%;margin-top:auto}.btn-current{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:not-allowed;opacity:.6}.invoices-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.invoices-section h3{font-size:1.5rem;margin-bottom:1.5rem;color:#1a1a1a}.invoices-table{overflow-x:auto}.invoices-table table{width:100%;border-collapse:collapse}.invoices-table th{text-align:left;padding:1rem;background:#f8f9fa;color:#666;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.invoices-table td{padding:1rem;border-bottom:1px solid #e9ecef;color:#333}.invoices-table tr:last-child td{border-bottom:none}.invoice-link{color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .2s}.invoice-link:hover{color:var(--secondary-color);text-decoration:underline}.subscription-loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:#666}.plan-features li.ai-feature{background:linear-gradient(135deg,#8b5cf61a,#ec48991a);border-left:3px solid #8B5CF6;padding:.75rem;margin:.5rem 0;border-radius:6px;animation:aiFeatureGlow 3s ease-in-out infinite}@keyframes aiFeatureGlow{0%,to{box-shadow:0 0 10px #8b5cf633}50%{box-shadow:0 0 20px #ec489966}}.ai-feature-text{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.ai-badge-inline{font-size:.625rem;padding:2px 6px;background:linear-gradient(135deg,#8b5cf64d,#ec48994d);color:#8b5cf6;border:1px solid rgba(139,92,246,.5);border-radius:4px;font-weight:800;letter-spacing:.05em;animation:aiGlowInline 2s ease-in-out infinite;-webkit-background-clip:initial;-webkit-text-fill-color:initial;background-clip:initial}@keyframes aiGlowInline{0%,to{box-shadow:0 0 4px #8b5cf64d}50%{box-shadow:0 0 8px #ec489980}}.new-badge-inline{font-size:.6rem;padding:2px 6px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;border-radius:4px;font-weight:800;letter-spacing:.05em;box-shadow:0 2px 4px #f59e0b66;animation:newBadgePulseInline 2s ease-in-out infinite;-webkit-background-clip:initial;-webkit-text-fill-color:initial;background-clip:initial}@keyframes newBadgePulseInline{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width: 768px){.subscription-management{padding:1rem}.plan-header{flex-direction:column;gap:1rem}.plan-header button{width:100%}.plans-grid{grid-template-columns:1fr}.invoices-table{font-size:.875rem}.invoices-table th,.invoices-table td{padding:.75rem .5rem}}.notification-settings{max-width:900px;width:100%;padding:0}.notification-settings-header{margin-bottom:30px}.notification-settings-header h1{font-size:32px;font-weight:700;color:#1f2937;margin-bottom:8px}.notification-settings-header p{font-size:16px;color:#6b7280}.notification-settings-loading{text-align:center;padding:60px 20px;color:#6b7280;font-size:18px}.notification-message{padding:16px 20px;border-radius:8px;margin-bottom:24px;font-weight:500}.notification-message.success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.notification-message.error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.settings-sections{display:flex;flex-direction:column;gap:24px}.settings-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.section-header h2{font-size:20px;font-weight:600;color:#1f2937;margin:0}.section-content{padding:24px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #f3f4f6}.setting-item:last-child{border-bottom:none}.setting-info{flex:1;padding-right:20px}.setting-info h3{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 4px}.setting-info p{font-size:14px;color:#6b7280;margin:0}.help-link{display:inline-block;margin-top:8px;font-size:13px;color:#667eea;text-decoration:none}.help-link:hover{text-decoration:underline}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d1d5db;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--primary-600)}input:checked+.toggle-slider:before{transform:translate(24px)}input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.threshold-input{display:flex;align-items:center;gap:8px;background:#f9fafb;padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb}.threshold-input input{width:100px;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;font-weight:600;text-align:right}.threshold-input input:focus{outline:none;border-color:var(--primary-500)}.threshold-input span{color:#6b7280;font-weight:500}.webhook-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:Monaco,Courier New,monospace;margin-top:12px}.webhook-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px #06b6d41a}.test-button{margin-top:16px;padding:.625rem 1.25rem;background:#fff;color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.test-button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.test-button:disabled{opacity:.6;cursor:not-allowed}.settings-actions{margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.save-button{padding:.625rem 1.25rem;background:var(--primary-600);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.save-button:hover:not(:disabled){background:var(--primary-700);transform:translateY(-1px);box-shadow:0 2px 8px #06b6d440}.save-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.notification-settings{padding:20px}.setting-item{flex-direction:column;align-items:flex-start;gap:16px}.setting-info{padding-right:0}.threshold-input{width:100%}.threshold-input input{flex:1}}.exchange-rate-manager{padding:20px;max-width:1200px;margin:0 auto}.exchange-rate-manager .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.exchange-rate-manager h2{margin:0;color:#111827}.exchange-rate-manager .header-actions{display:flex;gap:10px}.exchange-rate-manager button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.exchange-rate-manager .btn-primary{background:#0891b2;color:#fff}.exchange-rate-manager .btn-primary:hover{background:#0e7490}.exchange-rate-manager .btn-secondary{background:#6b7280;color:#fff}.exchange-rate-manager .btn-secondary:hover{background:#4b5563}.exchange-rate-manager .btn-success{background:#10b981;color:#fff}.exchange-rate-manager .btn-success:hover{background:#059669}.exchange-rate-manager .btn-danger{background:#ef4444;color:#fff}.exchange-rate-manager .btn-danger:hover{background:#dc2626}.exchange-rate-manager button:disabled{opacity:.5;cursor:not-allowed}.exchange-rate-manager .alert{padding:15px;border-radius:6px;margin-bottom:20px}.exchange-rate-manager .alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.exchange-rate-manager .alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.exchange-rate-manager .info-box{background:#dbeafe;padding:12px 16px;border-radius:6px;margin-bottom:20px;color:#1e40af;border-left:4px solid #3b82f6}.exchange-rate-manager .upload-section{background:#f9fafb;padding:20px;border-radius:8px;margin-bottom:30px;border:2px dashed #d1d5db}.exchange-rate-manager .upload-section h3{margin-top:0;color:#374151}.exchange-rate-manager .upload-section form{display:flex;gap:10px;align-items:center;margin:15px 0}.exchange-rate-manager .upload-section input[type=file]{flex:1;padding:8px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.exchange-rate-manager .help-text{font-size:.875rem;color:#6b7280;margin:10px 0 0}.exchange-rate-manager .rates-section{margin-bottom:40px}.exchange-rate-manager .rates-section h3{color:#374151;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e5e7eb}.exchange-rate-manager .rates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.exchange-rate-manager .rate-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:15px;text-align:center;transition:all .2s}.exchange-rate-manager .rate-card:hover{box-shadow:0 4px 6px #0000001a;border-color:#0891b2}.exchange-rate-manager .currency-code{font-size:1.25rem;font-weight:700;color:#0891b2;margin-bottom:10px}.exchange-rate-manager .rate-value{font-size:1.5rem;font-weight:600;color:#111827;margin:10px 0}.exchange-rate-manager .rate-value input{width:100%;padding:8px;border:2px solid #0891b2;border-radius:6px;font-size:1.25rem;text-align:center;font-weight:600}.exchange-rate-manager .rate-label{font-size:.875rem;color:#6b7280;margin-bottom:5px}.exchange-rate-manager .rate-inverse{font-size:.75rem;color:#9ca3af;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.exchange-rate-manager .rates-table{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.exchange-rate-manager table{width:100%;border-collapse:collapse}.exchange-rate-manager th{background:#f9fafb;padding:12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.exchange-rate-manager td{padding:12px;border-bottom:1px solid #e5e7eb}.exchange-rate-manager tbody tr:hover{background:#f9fafb}.exchange-rate-manager td input{width:120px;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem}.exchange-rate-manager td input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.exchange-rate-manager .loading{text-align:center;padding:40px;color:#6b7280;font-size:1.1rem}.cloud-accounts-container{padding:2rem;max-width:1400px;margin:0 auto}.accounts-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.accounts-header h1{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem}.accounts-header p{color:var(--gray-500);margin:0}.btn-add{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #06b6d44d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 16px #06b6d466}.info-banner{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:hsl(var(--primary) / .05);border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius-md);margin-bottom:1.5rem;color:hsl(var(--primary))}.info-banner svg{width:24px;height:24px;flex-shrink:0;margin-top:2px}.info-banner strong{display:block;font-weight:600;margin-bottom:.25rem;color:hsl(var(--foreground))}.info-banner p{margin:0;font-size:.875rem;color:hsl(var(--muted-foreground))}.message-banner{padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-weight:500}.message-banner.success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.message-banner.error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.account-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.5rem;transition:all .2s;box-shadow:var(--shadow-sm)}.account-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.account-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.account-provider{display:flex;gap:1rem;align-items:center}.provider-icon-wrapper{display:flex;align-items:center;justify-content:center;width:56px;height:56px;min-width:56px;background:#fff;border-radius:var(--radius-md);border:1px solid var(--gray-200);padding:.5rem}.provider-icon-wrapper svg{max-width:100%;max-height:100%;width:auto;height:auto}.provider-showcase{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid var(--gray-200);padding:2rem 1.5rem;text-align:center}.provider-showcase-title{font-size:.875rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.5rem}.provider-logos{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}.provider-logo-item{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:1rem;transition:all .3s ease;cursor:default}.provider-logo-item svg{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.provider-logo-item.active{border-color:var(--primary-500);background:linear-gradient(135deg,#06b6d40d,#06b6d41a);box-shadow:0 4px 12px #06b6d433;transform:scale(1.05)}.provider-select{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;transition:all .2s;background:#fff}.account-provider h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--gray-900)}.provider-name{font-size:.875rem;color:var(--gray-500)}.account-status{flex-shrink:0}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.verified{background:#d1fae5;color:#065f46}.status-badge.unverified{background:#fef3c7;color:#92400e}.account-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;font-size:.875rem}.detail-label{color:var(--gray-500);font-weight:500}.detail-value{color:var(--gray-900);font-weight:600;font-family:Monaco,Courier New,monospace}.account-notes{background:var(--gray-50);padding:.75rem;border-radius:var(--radius-sm);font-size:.875rem;color:var(--gray-700);margin-bottom:1rem;display:flex;gap:.5rem}.notes-icon{flex-shrink:0}.account-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.btn-test,.btn-edit,.btn-delete{flex:1;padding:.5rem;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-test{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200)}.btn-test:hover:not(:disabled){background:var(--primary-100)}.btn-test:disabled{opacity:.6;cursor:not-allowed}.btn-edit{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-edit:hover{background:var(--gray-200)}.btn-delete{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn-delete:hover{background:#fecaca}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#fff;border:2px dashed var(--gray-300);border-radius:var(--radius-lg)}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.empty-state p{color:var(--gray-500);margin:0 0 1.5rem}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #06b6d44d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--gray-200)}.modal-header h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0}.modal-close{background:none;border:none;font-size:2rem;color:var(--gray-400);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s}.modal-close:hover{background:var(--gray-100);color:var(--gray-600)}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;transition:all .2s;font-family:inherit}.form-group textarea{resize:vertical;font-family:Monaco,Courier New,monospace;font-size:.8125rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #06b6d426}.form-group input:disabled{background:var(--gray-100);cursor:not-allowed}.info-message{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem;color:var(--primary-700)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--gray-200)}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:#fff;color:var(--gray-700);border:1px solid var(--gray-300)}.btn-cancel:hover{background:var(--gray-50)}.btn-save{background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:#fff}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #06b6d44d}.loading{text-align:center;padding:4rem;color:var(--gray-500);font-size:1.125rem}@media (max-width: 768px){.cloud-accounts-container{padding:1rem}.accounts-header{flex-direction:column;gap:1rem}.btn-add{width:100%}.accounts-grid{grid-template-columns:1fr}.account-actions{flex-direction:column}.modal-content{max-height:95vh}}.sync-timestamp{display:flex;align-items:center;gap:.375rem}.sync-icon{font-size:.875rem}.status-active{color:#10b981;font-weight:600}.status-inactive{color:#ef4444;font-weight:600}.account-card.recently-used{border-left:3px solid var(--primary-500)}.account-card.recently-used:before{content:"🔥 Recently Used";position:absolute;top:-.5rem;right:1rem;background:var(--primary-500);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;box-shadow:0 2px 4px #0000001a}.account-card{position:relative}.detail-value.sync-timestamp{font-family:inherit;font-weight:500;color:var(--gray-600)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.login-background-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1e3a5f,#14b8a6,#06b6d4);opacity:.95}.login-background-pattern{position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(255,255,255,.05) 0%,transparent 50%);animation:patternMove 20s ease-in-out infinite}@keyframes patternMove{0%,to{transform:translate(0)}50%{transform:translate(20px,20px)}}.login-card{position:relative;z-index:1;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:440px;padding:3rem 2.5rem;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-logo{display:inline-block;margin-bottom:1rem}.login-logo svg{width:64px;height:64px;filter:drop-shadow(0 4px 12px rgba(59,130,246,.3))}.login-header h1{font-size:2rem;font-weight:700;color:#1a202c;margin:0 0 .5rem;background:linear-gradient(135deg,#1e3a5f,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:.9375rem;color:#64748b;margin:0;font-weight:500}.login-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#f1f5f9;padding:.375rem;border-radius:10px}.login-tab{flex:1;padding:.75rem 1rem;border:none;background:transparent;color:#64748b;font-size:.9375rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.login-tab:hover{color:#14b8a6}.login-tab.active{background:#fff;color:#14b8a6;box-shadow:0 2px 8px #00000014}.error-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1.5rem;animation:shake .4s ease}.error-message svg{width:20px;height:20px;flex-shrink:0}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:#334155}.form-group input{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9375rem;transition:all .2s ease;background:#fff}.form-group input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.form-group input::placeholder{color:#94a3b8}.btn-login{padding:1rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;background:linear-gradient(135deg,#1e3a5f,#14b8a6);color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #14b8a64d}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #14b8a666}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.forgot-password-link{text-align:center;margin-top:-.5rem}.link-button{background:none;border:none;color:#14b8a6;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:color .2s ease}.link-button:hover{color:#0d9488;text-decoration:underline}.signup-benefits{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:#f8fafc;border-radius:8px;margin-top:.5rem}.benefit-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#475569}.benefit-item svg{width:20px;height:20px;color:#10b981;flex-shrink:0}.login-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.login-features{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.feature-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:#fffffffa;border-radius:6px;font-size:.8125rem;color:#1e293b!important;font-weight:500;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000001a}.feature-badge svg{width:16px;height:16px;color:#14b8a6;flex-shrink:0}@media (max-width: 640px){.login-container{padding:1rem}.login-card{padding:2rem 1.5rem}.login-header h1{font-size:1.75rem}.login-features{flex-direction:column}.feature-badge{justify-content:center}}.admin-console{padding:2rem;max-width:1400px;margin:0}.admin-header{margin-bottom:2rem}.admin-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.admin-header p{color:var(--text-secondary);margin:0}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color);justify-content:flex-start}.admin-tabs button{padding:1rem 1.5rem;border:none;background:none;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;margin-bottom:-2px}.admin-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.admin-tabs button:hover{color:var(--text-primary)}.admin-content{min-height:400px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 2px 8px #0000000d;border:1px solid var(--border-color)}.stat-icon{font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);opacity:.7}.stat-info{flex:1}.stat-value{font-size:2.5rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.5rem}.stat-label{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.stat-sublabel{font-size:.875rem;color:var(--text-secondary)}.tier-distribution{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1.5rem}.tier-distribution h3{margin:0 0 1rem;font-size:1.25rem;color:var(--text-primary)}.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.tier-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.tier-count{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.view-header{margin-bottom:1.5rem}.view-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.table-container{background:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px #0000000d}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:var(--bg-primary);border-bottom:2px solid var(--border-color)}.admin-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:1rem;border-bottom:1px solid var(--border-color)}.admin-table tbody tr:hover{background:var(--bg-primary)}.org-info,.user-info{display:flex;flex-direction:column;gap:.25rem}.org-info strong,.user-info strong{color:var(--text-primary);font-weight:600}.org-info small,.user-info small{color:var(--text-secondary);font-size:.875rem}.tier-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tier-free{background:#e5e7eb;color:#374151}.tier-starter{background:#dbeafe;color:#1e40af}.tier-professional{background:#d1fae5;color:#065f46}.tier-enterprise{background:#fef3c7;color:#92400e}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:capitalize}.role-super-admin{background:#fecaca;color:#991b1b}.role-org-admin{background:#fed7aa;color:#9a3412}.role-user{background:#dbeafe;color:#1e40af}.role-viewer{background:#e5e7eb;color:#374151}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.count-badge{display:inline-block;padding:.25rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;color:var(--text-primary)}.action-buttons{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:.5rem;white-space:nowrap;flex-wrap:nowrap}.btn-edit,.btn-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border:none;background:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:all .2s ease;flex-shrink:0}.btn-edit:hover{background:var(--primary-color);transform:scale(1.1)}.btn-toggle:hover{transform:scale(1.1)}.btn-toggle.deactivate:hover{background:#fee2e2}.btn-toggle.activate:hover{background:#d1fae5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-form{padding:1.5rem}.modal-form .form-group{margin-bottom:1.5rem}.modal-form label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.9rem}.modal-form input,.modal-form select{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;box-sizing:border-box}.modal-form input:focus,.modal-form select:focus{outline:none;border-color:var(--primary-color)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background:var(--bg-secondary);color:var(--text-primary)}.btn-cancel:hover{background:var(--border-color)}.btn-save{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #06b6d466}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.btn-provider-access{padding:.375rem .75rem;background:var(--primary-50, #eff6ff);color:var(--primary-700, #1d4ed8);border:1px solid var(--primary-200, #bfdbfe);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-provider-access:hover{background:var(--primary-100, #dbeafe);border-color:var(--primary-300, #93c5fd);transform:translateY(-1px)}.modal-description{margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary, #f8fafc);border-radius:var(--radius-md);border-left:3px solid var(--primary-color, #3b82f6)}.modal-description p{margin:.5rem 0;font-size:.9rem;color:var(--text-primary)}.provider-checkboxes{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.provider-checkbox{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.provider-checkbox:hover{background:var(--bg-primary, #ffffff);border-color:var(--primary-300, #93c5fd)}.provider-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.provider-label{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.revenue-summary,.revenue-metrics-section,.subscription-metrics-section,.conversion-metrics-section{margin-bottom:2rem}.revenue-metrics-section h3,.subscription-metrics-section h3,.conversion-metrics-section h3{margin:0 0 1rem;font-size:1.25rem;color:var(--text-primary)}.payment-issue-row{background:#fef2f2!important}.payment-warning{display:inline-block;margin-left:.5rem;color:#dc2626;font-size:.875rem;font-weight:600}.billing-period{font-size:.875rem;color:var(--text-secondary)}.stripe-id{font-family:monospace;color:var(--text-secondary);font-size:.75rem}.status-active{background:#d1fae5;color:#065f46}.status-trialing{background:#dbeafe;color:#1e40af}.status-past-due{background:#fed7aa;color:#9a3412}.status-canceled{background:#e5e7eb;color:#374151}.status-unpaid{background:#fecaca;color:#991b1b}.status-incomplete{background:#fef3c7;color:#92400e}.modal-large{max-width:700px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.form-group input.error,.form-group select.error{border-color:#dc2626}.form-group input:disabled,.form-group select:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.error-message{display:block;margin-top:.25rem;font-size:.875rem;color:#dc2626;font-weight:500}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.checkbox-label span{font-size:.9375rem}.form-help{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary);font-style:italic}.form-divider{margin:2rem 0 1.5rem;padding-top:1.5rem;border-top:2px solid var(--border-color);position:relative}.form-divider span{position:absolute;top:-.75rem;left:50%;transform:translate(-50%);background:var(--bg-primary);padding:0 1rem;font-weight:600;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.btn-save:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.subscription-info-section{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.subscription-info-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.subscription-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.info-item span{font-size:.9rem;color:var(--text-primary);font-weight:500}.info-item.trial-info{background:#dbeafe;padding:.75rem;border-radius:var(--radius-sm)}.info-item.trial-info .trial-date{color:#1e40af;font-weight:600}.info-item.cancellation-info{background:#fef2f2;padding:.75rem;border-radius:var(--radius-sm)}.info-item.cancellation-info .cancel-warning{color:#dc2626;font-weight:600}.info-item.cancellation-info .cancel-date{color:#991b1b;font-weight:600}.btn-edit-subscription{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.btn-edit-subscription:hover{transform:translateY(-2px);box-shadow:0 4px 12px #06b6d466}.trial-row{background:#eff6ff!important;border-left:3px solid #3b82f6}.canceled-row{background:#f9fafb!important;border-left:3px solid #6b7280;opacity:.85}.tier-with-indicators{display:flex;flex-direction:column;gap:.5rem}.trial-indicator{display:inline-block;font-size:.75rem;font-weight:600;color:#1e40af;background:#dbeafe;padding:.25rem .5rem;border-radius:var(--radius-sm)}.canceled-indicator{display:inline-block;font-size:.75rem;font-weight:600;color:#374151;background:#e5e7eb;padding:.25rem .5rem;border-radius:var(--radius-sm)}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-in}.confirmation-dialog{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease-out}.confirmation-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#fef3c7}.confirmation-header h4{margin:0;font-size:18px;font-weight:600;color:#92400e;display:flex;align-items:center;gap:8px}.confirmation-body{padding:24px}.confirmation-body p{margin:0 0 16px;color:#374151;line-height:1.6}.confirmation-body strong{color:#111827;font-weight:600}.change-list{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px 16px 16px 36px;margin:12px 0;list-style:disc}.change-list li{color:#374151;margin:8px 0;font-size:14px}.confirmation-warning{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:16px;margin:16px 0}.confirmation-warning strong{color:#92400e;display:block;margin-bottom:8px}.confirmation-warning ul{margin:8px 0 0;padding-left:20px;list-style:disc}.confirmation-warning li{color:#78350f;margin:4px 0;font-size:14px}.confirmation-actions{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;background:#f9fafb}.btn-confirm{background:#dc2626;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-confirm:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.pagination{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);border-radius:0 0 var(--radius-lg) var(--radius-lg);margin-top:-1px}.pagination-btn{padding:.625rem 1.25rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px #06b6d44d}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-secondary)}.pagination-info{display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:.9rem;font-weight:600;color:var(--text-primary)}.pagination-count{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.admin-table th.sortable:hover{background:var(--bg-secondary)}.sort-icon{display:inline-block;margin-left:.5rem;font-size:.875rem;color:var(--text-secondary);opacity:.5;transition:all .2s ease}.sort-icon.active{opacity:1;color:var(--primary-color);font-weight:700}.admin-table th.sortable:hover .sort-icon{opacity:.8}.email-text{font-size:.875rem;color:var(--text-secondary);font-family:Courier New,monospace}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease-out}.modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;width:100%;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:2rem 2rem 1.5rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #e2e8f0}.modal-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-icon svg{width:28px;height:28px}.modal-header.danger .modal-icon{background:#fee2e2;color:#dc2626}.modal-header.warning .modal-icon{background:#fef3c7;color:#f59e0b}.modal-header.info .modal-icon{background:#dbeafe;color:#3b82f6}.modal-header h3{font-size:1.25rem;font-weight:700;color:#1a202c;margin:0}.modal-body{padding:1.5rem 2rem}.modal-body p{font-size:.9375rem;color:#64748b;line-height:1.6;margin:0}.modal-footer{padding:1.5rem 2rem;display:flex;gap:.75rem;justify-content:flex-end;background:#f8fafc;border-top:1px solid #e2e8f0}.btn-cancel,.btn-confirm{padding:.75rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-cancel{background:#fff;color:#64748b;border:2px solid #e2e8f0}.btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-confirm{color:#fff;box-shadow:0 2px 8px #00000026}.btn-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.btn-confirm:active{transform:translateY(0)}.btn-confirm.danger{background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn-confirm.danger:hover{box-shadow:0 4px 12px #dc262666}.btn-confirm.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.btn-confirm.warning:hover{box-shadow:0 4px 12px #f59e0b66}.btn-confirm.info{background:linear-gradient(135deg,#1e3a5f,#14b8a6)}.btn-confirm.info:hover{box-shadow:0 4px 12px #3b82f666}@media (max-width: 640px){.modal-container{margin:1rem}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-body{padding:1rem 1.5rem}.modal-footer{padding:1rem 1.5rem;flex-direction:column-reverse}.btn-cancel,.btn-confirm{width:100%;justify-content:center}}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.onboarding-wizard{background:#fff;border-radius:16px;padding:3rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .4s ease}.onboarding-skip{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s}.onboarding-skip:hover{background:#f5f5f5;color:#333}.onboarding-progress-bar{display:flex;gap:.5rem;justify-content:center;margin-bottom:2rem}.progress-dot{width:12px;height:12px;border-radius:50%;background:#e0e0e0;transition:all .3s}.progress-dot.active{background:var(--primary-color);transform:scale(1.2)}.onboarding-content{text-align:center;margin-bottom:2rem}.onboarding-icon{font-size:4rem;margin-bottom:1rem;animation:bounce .6s ease}.onboarding-content h2{font-size:1.75rem;color:#1a1a1a;margin-bottom:.5rem}.onboarding-content p{color:#666;font-size:1rem;margin-bottom:2rem}.onboarding-details{margin-top:2rem}.welcome-info h3{color:var(--primary-color);margin-bottom:1rem}.feature-list{display:grid;gap:1rem;margin-top:1.5rem;text-align:left}.feature-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;transition:all .2s}.feature-item:hover{background:#e9ecef;transform:translate(4px)}.feature-icon{font-size:1.5rem}.trial-info{text-align:center}.trial-badge{display:inline-block;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:.75rem 1.5rem;border-radius:50px;font-weight:600;font-size:1.125rem;margin-bottom:1rem;box-shadow:0 4px 12px #007bff4d}.trial-features{display:flex;flex-direction:column;gap:1rem;margin:2rem 0;text-align:left}.trial-feature{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8f9fa;border-radius:8px}.trial-feature svg{width:24px;height:24px;color:var(--success-color);flex-shrink:0}.trial-note{font-size:.875rem;color:#666;margin-top:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.cloud-setup{text-align:center}.provider-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:2rem 0}.provider-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:2px solid transparent;transition:all .2s;cursor:pointer}.provider-option:hover{border-color:var(--primary-color);background:#fff;box-shadow:0 4px 12px #0000001a}.provider-logo{font-size:2rem}.cloud-setup .btn-primary{width:100%;margin-bottom:.75rem}.cloud-setup .btn-secondary{width:100%}.completion-info{text-align:left}.next-steps{background:#f8f9fa;padding:1.5rem;border-radius:12px;margin-top:1.5rem}.next-steps h4{color:var(--primary-color);margin-bottom:1rem}.next-steps ul{list-style:none;padding:0;margin:0}.next-steps li{padding:.5rem 0 .5rem 1.5rem;position:relative}.next-steps li:before{content:"✓";position:absolute;left:0;color:var(--success-color);font-weight:700}.onboarding-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.onboarding-actions button{min-width:120px}.onboarding-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.25rem;color:#666}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.onboarding-wizard{padding:2rem;width:95%}.onboarding-content h2{font-size:1.5rem}.provider-options{grid-template-columns:1fr}}.feature-gate-loading{display:flex;justify-content:center;align-items:center;padding:2rem;color:#627084;font-size:1rem}.feature-gate-upgrade{display:flex;justify-content:center;align-items:center;min-height:400px;padding:2rem;background:linear-gradient(180deg,#fff,#f5f7fa)}.upgrade-card{background:linear-gradient(135deg,#0d4da5,#20afdf);border-radius:16px;padding:3rem;text-align:center;color:#fff;max-width:500px;box-shadow:0 20px 40px -15px #0d4da540,0 8px 16px -8px #1d253026;border:1px solid hsl(215 85% 45% / .2);position:relative;overflow:hidden}.upgrade-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsl(215 85% 40% / .1) 0%,transparent 50%,hsl(195 75% 55% / .1) 100%);pointer-events:none}.upgrade-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s infinite;filter:drop-shadow(0 4px 8px hsl(215 85% 20% / .3));position:relative;z-index:1}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.upgrade-card h3{font-size:2rem;margin-bottom:1rem;font-weight:700;letter-spacing:-.025em;position:relative;z-index:1;text-shadow:0 2px 4px hsl(215 85% 20% / .2)}.upgrade-card p{font-size:1.1rem;margin-bottom:2rem;opacity:.95;line-height:1.6;position:relative;z-index:1}.upgrade-card p strong{font-weight:700;text-transform:capitalize;text-shadow:0 1px 2px hsl(215 85% 20% / .2)}.upgrade-button{background:#fff;color:#0d4da5;border:none;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #082c5e4d,0 2px 4px #082c5e33;position:relative;z-index:1;letter-spacing:.025em}.upgrade-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #082c5e66,0 4px 8px #082c5e4d;background:#f8fafb}.upgrade-button:active{transform:translateY(0);box-shadow:0 2px 8px #082c5e4d}.feature-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-left:.5rem;box-shadow:0 2px 4px #1d253026}.product-tour-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;pointer-events:none}.tour-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;pointer-events:all}.tour-spotlight{position:absolute;background:transparent;border-radius:8px;box-shadow:0 0 0 9999px #000000b3,0 0 20px #3b82f680,inset 0 0 20px #3b82f633;pointer-events:none;transition:all .3s ease;z-index:10001}.tour-tooltip{position:absolute;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:400px;max-width:calc(100vw - 40px);pointer-events:all;z-index:10002;animation:tourFadeIn .3s ease}.tour-tooltip.center{top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes tourFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tour-tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid hsl(220 13% 91%)}.tour-tooltip-header h3{margin:0;font-size:18px;font-weight:600;color:#0f1729}.tour-close-btn{background:none;border:none;padding:4px;cursor:pointer;color:#65758b;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.tour-close-btn:hover{background:#e5e7eb;color:#0f1729}.tour-close-btn svg{width:20px;height:20px}.tour-tooltip-content{padding:20px 24px}.tour-tooltip-content p{margin:0;font-size:15px;line-height:1.6;color:#65758b}.tour-tooltip-footer{padding:16px 24px 20px;border-top:1px solid hsl(220 13% 91%)}.tour-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tour-step-counter{font-size:13px;color:#65758b;font-weight:500}.tour-progress-dots{display:flex;gap:6px}.tour-dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb;cursor:pointer;transition:all .2s}.tour-dot.active{background:#3c83f6;width:24px;border-radius:4px}.tour-dot.completed{background:#21c45d}.tour-dot:hover{transform:scale(1.2)}.tour-actions{display:flex;gap:8px;justify-content:flex-end}.tour-btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;outline:none}.tour-btn-primary{background:#3c83f6;color:#fff}.tour-btn-primary:hover{background:#2474f5;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.tour-btn-secondary{background:#e5e7eb;color:#0f1729}.tour-btn-secondary:hover{background:#d2d5da}.tour-btn-text{background:transparent;color:#65758b}.tour-btn-text:hover{background:#e5e7eb;color:#0f1729}@media (max-width: 768px){.tour-tooltip{width:calc(100vw - 40px);max-height:calc(100vh - 40px);overflow-y:auto}.tour-tooltip.center{top:20px;left:20px;transform:none}.tour-tooltip-header h3{font-size:16px}.tour-tooltip-content p{font-size:14px}.tour-actions{flex-wrap:wrap}.tour-btn{flex:1;min-width:100px}}.tutorial-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s ease}.tutorial-modal{background:#fff;border-radius:16px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorial-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid hsl(220 13% 91%);background:linear-gradient(135deg,#3c83f6,#20afdf);color:#fff;border-radius:16px 16px 0 0}.tutorial-header-content h2{margin:0 0 4px;font-size:24px;font-weight:600}.tutorial-header-content p{margin:0;font-size:14px;opacity:.9}.tutorial-close-btn{background:#fff3;border:none;padding:8px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.tutorial-close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.tutorial-close-btn svg{width:24px;height:24px}.tutorial-content{display:flex;flex:1;overflow:hidden}.tutorial-sidebar{width:280px;border-right:1px solid hsl(220 13% 91%);overflow-y:auto;background:#f3f4f6}.tutorial-tour-cta{padding:16px;border-bottom:1px solid hsl(220 13% 91%);background:#fff}.tutorial-tour-btn{width:100%;padding:12px 16px;background:linear-gradient(135deg,#3c83f6,#20afdf);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.tutorial-tour-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f64d}.tutorial-tour-btn svg{width:20px;height:20px}.tutorial-sections{padding:8px}.tutorial-section-group{margin-bottom:4px}.tutorial-section-btn{width:100%;padding:12px 16px;background:transparent;border:none;border-radius:8px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s;text-align:left;font-size:14px;font-weight:600;color:#0f1729}.tutorial-section-btn:hover{background:#fff}.tutorial-section-btn.active{background:#fff;box-shadow:0 2px 8px #00000014}.tutorial-section-icon{font-size:20px}.tutorial-lessons{padding-left:20px;margin-top:4px}.tutorial-lesson-btn{width:100%;padding:10px 16px;background:transparent;border:none;border-radius:6px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s;text-align:left;margin-bottom:2px}.tutorial-lesson-btn:hover{background:#ffffff80}.tutorial-lesson-btn.active{background:#fff;box-shadow:0 1px 4px #00000014}.tutorial-lesson-title{font-size:13px;color:#65758b;font-weight:500}.tutorial-lesson-btn.active .tutorial-lesson-title{color:#3c83f6;font-weight:600}.tutorial-lesson-duration{font-size:11px;color:#97a3b4;background:#e5e7eb;padding:2px 8px;border-radius:12px}.tutorial-main{flex:1;overflow-y:auto;padding:32px}.tutorial-lesson-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tutorial-lesson-header h3{margin:0;font-size:28px;font-weight:700;color:#0f1729}.tutorial-duration-badge{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f3f4f6;border-radius:20px;font-size:13px;font-weight:600;color:#65758b}.tutorial-duration-badge svg{width:16px;height:16px}.tutorial-lesson-overview{margin-bottom:32px;padding:20px;background:#e7f0fe;border-left:4px solid hsl(217 91% 60%);border-radius:8px}.tutorial-lesson-overview p{margin:0;font-size:16px;line-height:1.6;color:#65758b}.tutorial-steps{display:flex;flex-direction:column;gap:16px}.tutorial-step{border:1px solid hsl(220 13% 91%);border-radius:12px;overflow:hidden;background:#fff;transition:all .2s}.tutorial-step:hover{box-shadow:0 4px 12px #00000014}.tutorial-step-header{width:100%;padding:20px;background:#fff;border:none;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .2s}.tutorial-step-header:hover{background:#f9fafb}.tutorial-step-number{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3c83f6,#20afdf);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.tutorial-step-header h4{margin:0;font-size:18px;font-weight:600;color:#0f1729;flex:1;text-align:left}.tutorial-step-chevron{width:20px;height:20px;color:#65758b;transition:transform .2s}.tutorial-step-chevron.expanded{transform:rotate(180deg)}.tutorial-step-content{padding:0 20px 20px 72px;animation:expandDown .2s ease}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tutorial-step-description{margin:0 0 16px;font-size:15px;line-height:1.6;color:#65758b}.tutorial-tips{background:#edfdf3;border-left:4px solid hsl(142 71% 45%);border-radius:8px;padding:16px}.tutorial-tips-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;font-size:14px;color:#1a9948}.tutorial-tips-header svg{width:16px;height:16px}.tutorial-tips ul{margin:0;padding-left:20px}.tutorial-tips li{font-size:14px;line-height:1.6;color:#126d34;margin-bottom:8px}.tutorial-tips li:last-child{margin-bottom:0}.tutorial-sidebar::-webkit-scrollbar,.tutorial-main::-webkit-scrollbar{width:8px}.tutorial-sidebar::-webkit-scrollbar-track,.tutorial-main::-webkit-scrollbar-track{background:transparent}.tutorial-sidebar::-webkit-scrollbar-thumb,.tutorial-main::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.tutorial-sidebar::-webkit-scrollbar-thumb:hover,.tutorial-main::-webkit-scrollbar-thumb:hover{background:#d2d5da}@media (max-width: 968px){.tutorial-modal{max-width:100%;max-height:100vh;border-radius:0}.tutorial-content{flex-direction:column}.tutorial-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid hsl(220 13% 91%)}.tutorial-main{padding:20px}.tutorial-lesson-header{flex-direction:column;align-items:flex-start;gap:12px}.tutorial-step-content{padding-left:20px}}.notification-bell-container{position:relative}.notification-bell-button{position:relative;background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.notification-bell-button:hover{background:#0000000d}.bell-icon{width:24px;height:24px;color:#6b7280}.notification-badge{position:absolute;top:4px;right:4px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;padding:2px 5px;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #dc26264d;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:500px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;z-index:1000;display:flex;flex-direction:column;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.notification-dropdown-header h3{font-size:16px;font-weight:600;color:#1f2937;margin:0}.unread-count{font-size:12px;color:#dc2626;font-weight:600;background:#fee2e2;padding:4px 8px;border-radius:12px}.notification-list{flex:1;overflow-y:auto;max-height:400px}.notification-loading,.notification-empty{padding:40px 20px;text-align:center;color:#6b7280}.notification-empty svg{width:48px;height:48px;margin:0 auto 12px;color:#10b981}.notification-empty p{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 4px}.notification-empty span{font-size:14px;color:#6b7280}.notification-item{display:flex;align-items:flex-start;padding:16px 20px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f3f4f6}.notification-item:hover{background:#f9fafb}.notification-item:last-child{border-bottom:none}.notification-icon{flex-shrink:0;width:40px;height:40px;margin-right:12px}.notification-icon svg{width:100%;height:100%}.notification-content{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-message{font-size:13px;color:#10b981;font-weight:600;margin-bottom:4px}.notification-time{font-size:12px;color:#6b7280}.notification-arrow{flex-shrink:0;font-size:20px;color:#d1d5db;margin-left:8px}.notification-dropdown-footer{padding:12px 20px;border-top:1px solid #e5e7eb}.notification-dropdown-footer button{width:100%;padding:10px;background:#f9fafb;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#667eea;cursor:pointer;transition:all .2s}.notification-dropdown-footer button:hover{background:#f3f4f6;color:#5568d3}@media (max-width: 480px){.notification-dropdown{width:calc(100vw - 32px);right:-16px}}.copilot-fab{position:fixed;bottom:24px;right:24px;width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#14b8a6,#06b6d4);border:3px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #14b8a666,0 0 #14b8a666,inset 0 1px #ffffff4d;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9999;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.copilot-fab:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.copilot-fab:hover{transform:scale(1.1) translateY(-4px) rotate(5deg);box-shadow:0 16px 48px #14b8a680,0 0 0 8px #14b8a61a,inset 0 1px #fff6;border-color:#ffffff80}.copilot-fab:active{transform:scale(1.05) translateY(-2px)}.copilot-icon{font-size:36px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));position:relative;z-index:1}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-2deg)}75%{transform:translateY(-3px) rotate(2deg)}}.copilot-badge{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:12px;border:2px solid white;box-shadow:0 2px 12px #10b98166;animation:badgePulse 2s infinite;z-index:2}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.copilot-fab.pulse{animation:magicPulse 2s infinite}@keyframes magicPulse{0%{box-shadow:0 8px 32px #14b8a666,0 0 #14b8a666,inset 0 1px #ffffff4d}50%{box-shadow:0 8px 32px #14b8a666,0 0 0 16px #14b8a600,inset 0 1px #ffffff4d}to{box-shadow:0 8px 32px #14b8a666,0 0 #14b8a600,inset 0 1px #ffffff4d}}@media (max-width: 768px){.copilot-fab{bottom:16px;right:16px;width:56px;height:56px}.copilot-icon{font-size:28px}}.ai-copilot-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-copilot-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:800px;height:80vh;max-height:700px;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-copilot-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#14b8a6,#06b6d4);color:#fff;border-radius:16px 16px 0 0}.ai-copilot-title{display:flex;align-items:center;gap:12px}.ai-icon{font-size:28px}.ai-copilot-title h3{margin:0;font-size:20px;font-weight:600}.ai-copilot-actions{display:flex;gap:8px}.new-chat-btn,.minimize-btn,.close-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .2s}.new-chat-btn:hover,.minimize-btn:hover,.close-btn:hover{background:#ffffff4d}.ai-copilot-messages{flex:1;overflow-y:auto;padding:24px;background:#f9fafb}.welcome-message{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.welcome-message h4{margin:0 0 16px;font-size:20px;color:#1f2937}.welcome-message p{margin:12px 0;color:#6b7280;line-height:1.6}.welcome-message ul{margin:16px 0;padding-left:24px;color:#6b7280}.welcome-message li{margin:8px 0;line-height:1.6}.get-started{margin-top:20px!important;font-weight:500;color:#14b8a6!important}.message{display:flex;gap:12px;margin-bottom:20px;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{font-size:32px;flex-shrink:0}.message-content{flex:1;background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000d}.message.user .message-content{background:linear-gradient(135deg,#14b8a6,#06b6d4);color:#fff}.message-text{line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.message-text h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#1f2937}.message-text p{margin:8px 0;line-height:1.6}.message-text ul,.message-text ol{margin:12px 0;padding-left:24px}.message-text li{margin:6px 0;line-height:1.5}.message-text strong{font-weight:600;color:#1f2937}.message-text code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.875em;font-family:Monaco,Courier New,monospace}.message-data{margin-top:16px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;overflow-x:auto}.message.user .message-data{background:#ffffff26;border-color:#fff3}.message-data pre{margin:0;font-family:Monaco,Courier New,monospace;line-height:1.5}.insight-section{margin-top:16px;padding:16px;background:#f0fdfa;border-left:4px solid #14b8a6;border-radius:8px}.insight-section h5{margin:0 0 8px;font-size:14px;font-weight:600;color:#0f766e}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb}.metric-row:last-child{border-bottom:none}.metric-label{font-size:13px;color:#6b7280}.metric-value{font-size:14px;font-weight:600;color:#1f2937}.metric-value.positive{color:#059669}.metric-value.negative{color:#dc2626}.metric-value.warning{color:#d97706}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{width:8px;height:8px;background:#14b8a6;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.suggested-questions{padding:16px 24px;border-top:1px solid #e5e7eb;background:#fff}.suggested-label{font-size:13px;color:#6b7280;margin-bottom:8px;font-weight:500}.suggested-buttons{display:flex;flex-wrap:wrap;gap:8px}.suggested-question-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;padding:8px 16px;font-size:13px;color:#374151;cursor:pointer;transition:all .2s}.suggested-question-btn:hover:not(:disabled){background:#14b8a6;color:#fff;border-color:#14b8a6;transform:translateY(-1px)}.suggested-question-btn:disabled{opacity:.5;cursor:not-allowed}.ai-copilot-input{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fff}.ai-copilot-input textarea{flex:1;border:2px solid #e5e7eb;border-radius:12px;padding:12px 16px;font-size:14px;font-family:inherit;resize:none;min-height:44px;max-height:120px;transition:border-color .2s}.ai-copilot-input textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.ai-copilot-input textarea:disabled{background:#f9fafb;cursor:not-allowed}.send-btn{background:linear-gradient(135deg,#14b8a6,#06b6d4);border:none;color:#fff;width:44px;height:44px;border-radius:12px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;flex-shrink:0}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #14b8a666}.send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-copilot-footer{padding:12px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;text-align:center;border-radius:0 0 16px 16px}.powered-by{font-size:12px;color:#9ca3af}.ai-copilot-messages::-webkit-scrollbar{width:8px}.ai-copilot-messages::-webkit-scrollbar-track{background:#f1f1f1}.ai-copilot-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.ai-copilot-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 768px){.ai-copilot-container{width:100%;height:100vh;max-height:100vh;border-radius:0}.ai-copilot-header,.ai-copilot-footer{border-radius:0}.suggested-buttons{flex-direction:column}.suggested-question-btn{width:100%}}.app-container{display:flex;min-height:100vh;background:hsl(var(--background));max-width:100vw;overflow-x:hidden}.main-content{flex:1;margin-left:240px;padding-top:72px;min-height:100vh;transition:margin-left .3s ease;background:#f8f9fa;max-width:calc(100vw - 240px);overflow-x:hidden;box-sizing:border-box}body.sidebar-collapsed .main-content{margin-left:70px}.app-header{background:linear-gradient(to bottom,#fff,#fafbfc);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;position:fixed;top:0;left:0;right:0;z-index:100;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;height:72px;transition:background .3s ease}.app-header.admin-mode{background:linear-gradient(135deg,#1e293b,#0f172a);box-shadow:0 4px 6px #0f172a4d,0 2px 4px #0f172a33;border-bottom:2px solid #f59e0b}.app-header.admin-mode .brand-logo h1{color:#fff;-webkit-text-fill-color:white;text-shadow:0 2px 4px rgba(0,0,0,.3)}.app-header.admin-mode .sidebar-toggle-button{color:#fff}.app-header.admin-mode .sidebar-toggle-button:hover{background:#ffffff1a}.header-left{display:flex;align-items:center;gap:1rem;min-height:56px}.sidebar-toggle-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.sidebar-toggle-button svg{width:20px;height:20px}.sidebar-toggle-button:hover{background:#f8f9fa;color:hsl(var(--primary))}.brand-logo{display:flex;align-items:center;gap:.75rem}.logo-icon{width:32px;height:32px;filter:drop-shadow(0 2px 4px hsl(var(--primary) / .2))}.app-header h1{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));letter-spacing:-.025em;background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.provider-selector{display:flex;gap:.75rem;align-items:center;flex:1;justify-content:center}.provider-selector button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:50px;font-size:.875rem;font-weight:600;cursor:pointer;background:transparent;color:#6b7280;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;letter-spacing:-.01em;height:44px}.provider-icon-container{display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:all .2s}.provider-icon-container svg{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.provider-selector button.active{background:var(--gradient-hero);color:#fff;box-shadow:0 4px 12px #3c83f659}.provider-selector button.active .provider-icon-container{filter:brightness(1.2) drop-shadow(0 0 4px rgba(255,255,255,.5))}.provider-selector button:hover:not(.active):not(:disabled){color:#1f2937;background:#3b82f614;transform:scale(1.02)}.provider-selector button:hover:not(.active):not(:disabled) .provider-icon-container{transform:scale(1.1)}.provider-selector button:disabled{opacity:.4;cursor:not-allowed;color:hsl(var(--muted-foreground) / .5)}.provider-selector button:disabled:hover{background:transparent;transform:none}.provider-selector button:disabled .provider-icon-container{transform:none;opacity:.5;filter:grayscale(1)}.account-selector-dropdown{position:relative}.account-select{padding:.5rem 2rem .5rem .75rem;border-radius:6px;border:1px solid #e5e7eb;font-size:.875rem;font-weight:500;cursor:pointer;background:#fff;color:#374151;transition:all .2s ease;min-width:180px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:12px}.account-select:hover{border-color:hsl(var(--primary));background-color:#f9fafb}.account-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.account-selector{padding:.625rem 1rem;border-radius:8px;border:1px solid #e5e7eb;font-size:.875rem;font-weight:500;cursor:pointer;background:#fff;color:#1f2937;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:200px;max-width:300px;box-shadow:0 1px 2px #0000000a}.account-selector:hover{border-color:hsl(var(--primary));box-shadow:0 2px 8px #00000014}.account-selector:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1),0 2px 8px #00000014}.loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:400px;gap:1rem}.loading:before{content:"";width:40px;height:40px;border:3px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .8s linear infinite}.loading:after{content:"Loading...";font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.logo-icon:hover{animation:float 1s ease-in-out infinite}@media (max-width: 768px){.main-content{margin-left:0!important;padding-top:150px}body.sidebar-collapsed .main-content{margin-left:0!important}.app-header{flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;min-height:auto}.header-left{flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}.brand-logo{gap:.5rem}.logo-icon{width:28px;height:28px}.app-header h1{font-size:1.125rem}.provider-selector{width:100%;overflow-x:auto;padding:.125rem}.provider-selector button{padding:.5rem .75rem;font-size:.75rem;white-space:nowrap}.provider-selector button span{display:none}.provider-icon{width:20px;height:20px}}.header-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.help-menu-container{position:relative}.help-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:#6b7280;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.help-button svg{width:22px;height:22px}.help-button:hover{background:hsl(var(--primary) / .1);color:hsl(var(--primary));transform:scale(1.05)}.help-dropdown{position:absolute;top:calc(100% + .75rem);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 40px #0000001f,0 4px 12px #00000014;min-width:220px;padding:.5rem;z-index:1000;animation:fadeIn .2s ease}.help-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-radius:var(--radius-sm);color:hsl(var(--foreground));font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:all .2s}.help-item svg{width:18px;height:18px;color:hsl(var(--muted-foreground));flex-shrink:0}.help-item:hover{background:#f8f9fa;color:hsl(var(--primary))}.help-item:hover svg{color:hsl(var(--primary))}.help-item.disabled{opacity:.4;cursor:not-allowed;color:hsl(var(--muted-foreground))}.help-item.disabled:hover{background:transparent;color:hsl(var(--muted-foreground))}.help-item.disabled svg{color:hsl(var(--muted-foreground))}.user-menu-container{position:relative}.user-menu-button{display:flex;align-items:center;gap:.75rem;padding:.375rem .75rem .375rem .375rem;background:transparent;border:none;border-radius:50px;color:#1f2937;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);height:44px}.user-avatar-icon{width:36px;height:36px;padding:6px;background:var(--gradient-hero);color:#fff;border-radius:50%;flex-shrink:0;box-shadow:0 2px 8px hsl(var(--primary) / .25)}.user-name-text{font-size:.875rem;font-weight:600;color:#1f2937;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron-icon{width:16px;height:16px;color:#6b7280;transition:transform .2s;flex-shrink:0}.user-menu-button:hover{background:hsl(var(--primary) / .05)}.user-menu-button:hover .chevron-icon{transform:rotate(180deg)}.user-menu-button:hover .user-avatar-icon{box-shadow:0 4px 12px hsl(var(--primary) / .35);transform:scale(1.05)}.user-dropdown{position:absolute;top:calc(100% + .75rem);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 40px #0000001f,0 4px 12px #00000014;min-width:260px;padding:0;z-index:1000;animation:fadeIn .2s ease}.user-dropdown-header{padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.user-dropdown-info{display:flex;flex-direction:column;gap:.25rem}.user-dropdown-name{font-size:.9375rem;font-weight:700;color:#1f2937}.user-dropdown-email{font-size:.8125rem;color:#6b7280;font-weight:500}.user-dropdown-role{display:inline-block;font-size:.6875rem;padding:.25rem .625rem;background:hsl(var(--primary) / .1);color:hsl(var(--primary));border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius-sm);font-weight:600;text-transform:capitalize;margin-top:.375rem;width:fit-content}.user-dropdown-divider{height:1px;background:#e5e7eb;margin:.5rem 0}.user-dropdown-item{display:flex;align-items:center;gap:.875rem;width:100%;padding:.875rem 1.25rem;background:transparent;border:none;color:#1f2937;font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:all .2s}.user-dropdown-item svg{width:18px;height:18px;color:#6b7280;flex-shrink:0}.user-dropdown-item:hover{background:#f8f9fa;color:hsl(var(--primary))}.user-dropdown-item:hover svg{color:hsl(var(--primary))}.user-dropdown-item.logout-item{color:#dc2626}.user-dropdown-item.logout-item svg{color:#dc2626}.user-dropdown-item.logout-item:hover{background:#fef2f2;color:#b91c1c}.user-dropdown-item.logout-item:hover svg{color:#b91c1c}.help-item.disabled:hover svg{color:hsl(var(--muted-foreground))}.sidebar-user-badge{margin-top:.5rem;text-align:center}.user-role-badge{display:inline-block;padding:.25rem .75rem;background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;color:hsl(var(--primary));text-transform:capitalize}.account-selector-wrapper{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#fafcff;border-bottom:1px solid hsl(215 20% 92%);max-width:1600px;margin:0 auto}@media (max-width: 768px){.account-selector-wrapper{flex-direction:column;gap:12px;padding:12px 16px}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.widget-card,.insight-card,.metric-card,.summary-card{background:#fff;padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:all .2s;box-shadow:var(--shadow-sm)}.widget-card:hover,.insight-card:hover,.metric-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md);transform:translateY(-2px)}.status-badge,.badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.success,.status-badge.active,.status-badge.verified,.badge-success{background:#d1fae5;color:#065f46}.status-badge.warning,.status-badge.pending,.status-badge.unverified,.badge-warning{background:#fef3c7;color:#92400e}.status-badge.error,.status-badge.inactive,.status-badge.failed,.badge-error{background:#fee2e2;color:#991b1b}.status-badge.info,.status-badge.processing,.badge-info{background:#ccfbf1;color:#0e7490}.message-banner{padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem;font-weight:500;border:1px solid}.message-banner.success{background:#d1fae5;color:#065f46;border-color:#10b981}.message-banner.error{background:#fee2e2;color:#991b1b;border-color:#ef4444}.message-banner.warning{background:#fef3c7;color:#92400e;border-color:#f59e0b}.message-banner.info{background:#ccfbf1;color:#0e7490;border-color:#14b8a6}.btn-success{background:#10b981;color:#fff;border:1px solid #059669}.btn-success:hover{background:#059669}.btn-warning{background:#f59e0b;color:#fff;border:1px solid #d97706}.btn-warning:hover{background:#d97706}.btn-danger,.btn-delete{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn-danger:hover,.btn-delete:hover{background:#fecaca}.btn-cancel{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.btn-cancel:hover{background:#e2e8f0}.progress-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#10b981;transition:width .3s}.progress-fill.warning{background:#f59e0b}.progress-fill.danger{background:#ef4444}.progress-fill.info{background:#14b8a6}.bg-light{background:#f9fafb}.bg-lighter{background:#f8f9fa}.bg-primary-light{background:#e6f7f5}.bg-success-light{background:#d1fae5}.bg-warning-light{background:#fef3c7}.bg-error-light{background:#fee2e2}.gradient-primary{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%)}.gradient-success{background:linear-gradient(135deg,#10b981,#059669)}.gradient-info{background:linear-gradient(135deg,#14b8a6,#06b6d4)}:root{--chart-primary: #14b8a6;--chart-secondary: #06b6d4;--chart-tertiary: #f59e0b;--chart-quaternary: #1e3a5f;--chart-forecast: #f59e0b;--chart-actual: #10b981;--chart-projected: #7dd3fc}:root{--provider-aws: #FF9900;--provider-gcp: #4285F4;--provider-azure: #0078D4;--provider-oci: #F80000;--provider-all: #1f2937}.page-title,.optimization-header h1,.forecast-header h1,.savings-header h1,.calculator-header h1,.reports-header h1,.cost-allocation-header h1,.settings-header h1,.accounts-header h1{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 .25rem;line-height:1.2}.page-subtitle,.optimization-subtitle,.forecast-subtitle{font-size:.9375rem;color:var(--gray-500);margin:0;line-height:1.4}.section-title,.widget-title,.card-title{font-size:.875rem;font-weight:600;color:var(--gray-600);padding:1rem 1rem .5rem;border-bottom:none;background:transparent;line-height:1.3}.section-subtitle{font-size:.75rem;font-weight:400;color:var(--gray-500);margin-left:.25rem}.card-header h3,.budget-header h3,.insight-card-title{font-size:.9375rem;font-weight:600;color:var(--gray-600);margin:0;line-height:1.3}.metric-label,.stat-label,.projection-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600;line-height:1.2}.metric-value,.stat-value,.projection-value{font-size:1.125rem;font-weight:600;color:var(--gray-700);line-height:1.2}.metric-value-large{font-size:1.75rem;font-weight:600;color:var(--gray-800);line-height:1.1}.status-text{font-size:.875rem;font-weight:600;line-height:1.3}.body-text{font-size:.875rem;font-weight:400;color:var(--gray-700);line-height:1.5}.small-text,.caption-text{font-size:.8125rem;font-weight:400;color:var(--gray-500);line-height:1.4}.button-text{font-size:.875rem;font-weight:600;line-height:1.2}.link-text{font-size:.875rem;font-weight:500;color:var(--primary-500);line-height:1.4}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem;line-height:1.3}.modal-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0;line-height:1.3}.form-label{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem;line-height:1.3}@media (max-width: 768px){.page-title,.optimization-header h1,.forecast-header h1,.savings-header h1,.calculator-header h1,.reports-header h1,.cost-allocation-header h1,.settings-header h1,.accounts-header h1{font-size:1.25rem}.metric-value-large{font-size:1.5rem}.empty-state-title,.modal-title{font-size:1.125rem}}.btn-primary,button.primary,.button-primary,[class*=btn-].primary{background:linear-gradient(135deg,#13316c,#2bc5b5)!important;color:#fff!important;border:none!important}.btn-primary:hover,button.primary:hover,.button-primary:hover{background:linear-gradient(135deg,#0f2757,#27b0a2)!important;transform:translateY(-1px);box-shadow:0 4px 12px #14b8a64d}.btn-secondary,button.secondary,.button-secondary{background:#2bc5b5!important;color:#fff!important;border:1px solid hsl(174 64% 42%)!important}.btn-secondary:hover,button.secondary:hover,.button-secondary:hover{background:#27b0a2!important}.btn-outline,button.outline,.button-outline{background:transparent!important;color:#13316c!important;border:2px solid hsl(220 70% 25%)!important}.btn-outline:hover,button.outline:hover,.button-outline:hover{background:#13316c!important;color:#fff!important}button.active:not(.danger):not(.warning):not(.success),.btn.active:not(.danger):not(.warning):not(.success),.toggle-btn.active{background:linear-gradient(135deg,#13316c,#2bc5b5)!important;color:#fff!important;border-color:#2bc5b5!important}.icon-button,.btn-icon{color:#13316c}.icon-button:hover,.btn-icon:hover{color:#2bc5b5;background:#2bc5b51a}.btn-link,button.link,a.button{color:#2bc5b5!important;text-decoration:none}.btn-link:hover,button.link:hover,a.button:hover{color:#27b0a2!important;text-decoration:underline}button:disabled,.btn:disabled,.button:disabled{opacity:.5;cursor:not-allowed;background:hsl(var(--muted))!important;color:hsl(var(--muted-foreground))!important}.btn-success,button.success{background:linear-gradient(135deg,#10b981,#059669)!important}.btn-warning,button.warning{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.btn-danger,button.danger,.btn-delete{background:linear-gradient(135deg,#dc2626,#b91c1c)!important}:root{--compact-space-xs: .125rem;--compact-space-sm: .25rem;--compact-space-md: .5rem;--compact-space-lg: .75rem;--compact-space-xl: 1rem;--compact-text-xs: .6875rem;--compact-text-sm: .75rem;--compact-text-base: .8125rem;--compact-text-md: .875rem;--compact-text-lg: .9375rem;--compact-text-xl: 1rem;--compact-text-2xl: 1.125rem}body{font-size:.8125rem;line-height:1.4}h1{font-size:1.25rem;margin-bottom:.5rem;line-height:1.2}h2{font-size:1.0625rem;margin-bottom:.5rem;line-height:1.2}h3{font-size:.9375rem;margin-bottom:.375rem;line-height:1.2}.card,.widget,.summary-card,.opt-card,.savings-card{padding:.75rem!important;margin-bottom:.75rem!important}.card-header,.widget-header{padding:.5rem .75rem!important;font-size:.875rem!important;margin-bottom:.5rem!important}.card-content,.widget-content{padding:.5rem!important}.summary-cards,.optimization-summary{gap:.75rem!important}.summary-card,.opt-card{padding:.75rem!important}.card-value,.opt-card-value{font-size:1.25rem!important;margin:.25rem 0!important}.card-label,.opt-card-label{font-size:.6875rem!important;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.25rem!important}.card-sublabel,.opt-card-sublabel{font-size:.6875rem!important;margin-top:.25rem!important}.card-icon,.opt-card-icon{font-size:1.25rem!important}table{font-size:.75rem!important}th{padding:.5rem!important;font-size:.6875rem!important;font-weight:600}td{padding:.5rem!important;font-size:.75rem!important}button,.button,.btn{padding:.375rem .75rem!important;font-size:.75rem!important;font-weight:600}button.small,.button-small{padding:.25rem .5rem!important;font-size:.6875rem!important}input,select,textarea{padding:.375rem .625rem!important;font-size:.75rem!important}label{font-size:.6875rem!important;margin-bottom:.25rem!important;font-weight:600}.optimization-filters,.filters-container{gap:.5rem!important;margin-bottom:.75rem!important}.filter-select,.filter-search{padding:.375rem .625rem!important;font-size:.75rem!important}.chart-container{padding:.75rem!important;margin-bottom:.75rem!important}.chart-legend{font-size:.6875rem!important;gap:.75rem!important}.chart-title{font-size:.875rem!important;margin-bottom:.5rem!important}.resource-card{padding:.75rem!important;margin-bottom:.75rem!important}.resource-header{margin-bottom:.5rem!important}.resource-title h3{font-size:.875rem!important;margin:0!important}.resource-type{font-size:.6875rem!important}.resource-cost{font-size:.75rem!important}.cost-current{font-size:.875rem!important;font-weight:600}.cost-savings{font-size:.6875rem!important}.utilization-bar{height:6px!important;margin:.375rem 0!important}.utilization-header,.utilization-labels{font-size:.6875rem!important}.resource-metrics{gap:.5rem!important;padding:.5rem!important;margin:.5rem 0!important}.metric{padding:.375rem!important}.metric-label{font-size:.6875rem!important}.metric-value{font-size:.75rem!important;font-weight:600}.resource-recommendation{padding:.5rem!important;margin-top:.5rem!important}.recommendation-text{font-size:.75rem!important;line-height:1.4}.action-items{font-size:.6875rem!important;margin-top:.375rem!important}.action-items li{margin-bottom:.25rem!important}.badge,.status-badge,.priority-badge,.utilization-badge{padding:.125rem .375rem!important;font-size:.625rem!important;font-weight:600}.dashboard{padding:.75rem!important}.dashboard-header{margin-bottom:.75rem!important}.dashboard-section{margin-bottom:1rem!important}.grid,.card-grid{gap:.75rem!important}@media (min-width: 768px){.summary-cards,.optimization-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}}.sidebar{padding:.75rem!important}.sidebar-item{padding:.5rem .75rem!important;font-size:.8125rem!important}.sidebar-icon{width:16px!important;height:16px!important}.modal-content{padding:1rem!important}.modal-header{padding:.75rem 1rem!important;font-size:.9375rem!important}.modal-body{padding:.75rem 1rem!important;font-size:.75rem!important}.notification{padding:.5rem .75rem!important;font-size:.75rem!important}.provider-breakdown-section{padding:.75rem!important;margin:.75rem 0!important}.provider-breakdown-card{padding:.75rem!important}.provider-breakdown-stats{gap:.5rem!important}.provider-breakdown-stats .stat-label{font-size:.625rem!important}.provider-breakdown-stats .stat-value{font-size:.875rem!important}.time-range-selector button{padding:.375rem .75rem!important;font-size:.6875rem!important}.section-header h2{font-size:.9375rem!important;margin-bottom:.375rem!important}.section-header p{font-size:.6875rem!important}.usage-comparison-section,.provider-breakdown-section,.resources-container,.dashboard-section,.section,.widget-section,.chart-section{margin-bottom:.75rem!important;margin-top:0!important}.dashboard>*:not(:last-child),.main-content>*:not(:last-child){margin-bottom:.75rem!important}.section-header{margin-bottom:.5rem!important;margin-top:0!important}.optimization-header,.dashboard-header,.page-header{margin-top:0!important;margin-bottom:.75rem!important}.summary-cards,.optimization-summary,.savings-summary{margin-bottom:.75rem!important;margin-top:0!important}.usage-chart-container,.chart-wrapper{margin-top:.5rem!important;margin-bottom:.5rem!important}.optimization-filters,.filters-container,.filter-bar{margin-top:.5rem!important;margin-bottom:.75rem!important}.card+.card,.widget+.widget{margin-top:0!important}.resource-card+.resource-card{margin-top:0!important}ul,ol{margin-top:.25rem!important;margin-bottom:.25rem!important}li{margin-bottom:.125rem!important}p{margin-top:0!important;margin-bottom:.5rem!important}p:last-child{margin-bottom:0!important}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}*{margin-block-start:0!important;margin-block-end:0!important}.card,.widget,.section{margin-bottom:.75rem!important}.summary-card,.opt-card{margin-bottom:0!important}.grid,.card-grid,.summary-cards,.optimization-summary{row-gap:.75rem!important;column-gap:.75rem!important}.recharts-wrapper{margin:0!important}.table-wrapper{margin-top:.5rem!important;margin-bottom:.5rem!important}.form-group,.input-group{margin-bottom:.5rem!important}.button-group,.action-buttons{gap:.5rem!important;margin-top:.5rem!important}.flex,.flex-row,.flex-col{gap:.5rem!important}.time-range-selector{margin-bottom:.5rem!important;margin-top:0!important}.provider-breakdown-grid{margin-top:.5rem!important}.resource-recommendation{margin-top:.5rem!important;margin-bottom:0!important}.resource-actions{margin-top:.5rem!important;padding-top:.5rem!important}.cross-cloud-comparison{margin-top:.75rem!important;padding:.75rem!important}.comparison-grid{gap:.5rem!important;margin-top:.5rem!important}.modal-content>*{margin-bottom:.75rem!important}.modal-content>*:last-child{margin-bottom:0!important}.notification+.notification{margin-top:.5rem!important}.settings-section{margin-bottom:1rem!important}.settings-group,.sidebar-section{margin-bottom:.75rem!important}.sidebar-item{margin-bottom:.125rem!important}.dashboard-grid{gap:.75rem!important}.empty-state,.no-results,.loading-container{padding:1rem!important;margin:.5rem 0!important}.legend-item{margin-right:.75rem!important;margin-bottom:.25rem!important}.summary-stat{margin-right:1rem!important;margin-bottom:.25rem!important}.metrics-grid{gap:.5rem!important}.breadcrumb{margin-bottom:.5rem!important}.tabs{margin-bottom:.75rem!important}.tab-content{padding-top:.75rem!important}.alert{margin-bottom:.75rem!important;padding:.75rem!important}.tooltip{padding:.375rem .625rem!important}.dropdown-menu{padding:.25rem!important}.dropdown-item{padding:.375rem .75rem!important}hr{margin:.75rem 0!important}.footer{margin-top:1rem!important;padding:.75rem!important}.header{margin-bottom:.75rem!important;padding:.75rem!important}.topology-container{padding:.75rem!important}.topology-header{margin-bottom:.75rem!important}.topology-legend{margin-bottom:.75rem!important;padding:.75rem!important}.topology-view{padding:1rem!important;gap:.75rem!important;min-height:500px!important}.region-container{margin-bottom:.75rem!important;padding:.75rem!important}.region-header{margin-bottom:.75rem!important;padding-bottom:.5rem!important}.vpcs-grid{gap:.75rem!important}.vpc-container{margin-bottom:.75rem!important;padding:.75rem!important}.vpc-header{margin-bottom:.5rem!important}.subnets-grid{gap:.75rem!important;margin-bottom:.75rem!important}.subnet-container{padding:.625rem!important;margin-bottom:0!important}.subnet-header{margin-bottom:.5rem!important;padding-bottom:.375rem!important}.resources-list{gap:.5rem!important}.resource-card{padding:.5rem!important;margin-bottom:0!important}.resource-header{margin-bottom:.375rem!important}.resource-details{gap:.25rem!important;margin-bottom:.25rem!important}.resource-cost{margin-top:.25rem!important}.standalone-resources{margin-top:.75rem!important;padding:.75rem!important}.standalone-header{margin-bottom:.5rem!important;padding-bottom:.375rem!important}.standalone-grid{gap:.75rem!important}.topology-stats{gap:.75rem!important;margin-bottom:.75rem!important}.stat-card{padding:.75rem!important}.stat-value{margin-bottom:.25rem!important}.region-container,.vpc-container,.subnet-container{position:relative;z-index:1}.topology-view>*{margin-top:0!important}.connections-panel{padding:1rem!important}.connections-header{margin-bottom:.75rem!important;padding-bottom:.5rem!important}.selected-resource-info{padding:.75rem!important;margin-bottom:1rem!important}.connections-list{gap:.5rem!important}.connection-item{padding:.625rem!important;gap:.5rem!important}.anomaly-container,.anomaly-detection{padding:.75rem!important}.anomaly-header{margin-bottom:.75rem!important}.anomaly-summary,.anomaly-stats{gap:.75rem!important;margin-bottom:.75rem!important}.anomaly-stat-card{padding:.75rem!important;margin-bottom:0!important}.anomaly-filters{gap:.5rem!important;margin-bottom:.75rem!important;margin-top:0!important}.anomaly-chart-section{margin-bottom:.75rem!important;padding:.75rem!important}.anomaly-list,.anomalies-container{gap:.75rem!important;margin-top:0!important}.anomaly-card,.anomaly-item{padding:.75rem!important;margin-bottom:.75rem!important}.anomaly-card-header{margin-bottom:.5rem!important;padding-bottom:.5rem!important}.anomaly-details{gap:.5rem!important;margin-top:.5rem!important}.anomaly-metrics{gap:.5rem!important;margin:.5rem 0!important}.anomaly-actions{margin-top:.5rem!important;padding-top:.5rem!important;gap:.5rem!important}.anomaly-card,.anomaly-stat-card,.anomaly-chart-section{position:relative;z-index:1}.severity-badge,.anomaly-severity{padding:.25rem .5rem!important;margin:0!important}.anomaly-timeline{margin:.75rem 0!important;padding:.75rem!important}.timeline-item{margin-bottom:.5rem!important;padding:.5rem!important}.timeline-item:last-child{margin-bottom:0!important}.anomaly-chart-container{padding:.75rem!important;margin:0!important}.anomaly-legend{gap:.75rem!important;margin-bottom:.5rem!important;padding:.5rem!important}.anomaly-type-filters{gap:.5rem!important;margin-bottom:.75rem!important}.anomaly-description{margin:.5rem 0!important;padding:.5rem!important}.anomaly-impact,.anomaly-recommendations{margin-top:.5rem!important;padding:.5rem!important}.anomaly-recommendations li{margin-bottom:.25rem!important}.anomaly-status{padding:.25rem .5rem!important;margin:0!important}.anomaly-provider{gap:.375rem!important;margin:.25rem 0!important}.anomaly-cost-impact{padding:.5rem!important;margin:.5rem 0!important}.anomaly-resolution{margin-top:.75rem!important;padding:.75rem!important}.anomaly-history{margin-top:.75rem!important}.anomaly-history-item{padding:.5rem!important;margin-bottom:.5rem!important}.anomaly-history-item:last-child{margin-bottom:0!important}:root{--background: 210 40% 98%;--foreground: 215 25% 15%;--card: 0 0% 100%;--card-foreground: 215 25% 15%;--popover: 0 0% 100%;--popover-foreground: 215 25% 15%;--primary: 220 70% 25%;--primary-foreground: 0 0% 100%;--primary-50: hsl(220 70% 97%);--primary-100: hsl(220 70% 92%);--primary-200: hsl(220 70% 82%);--primary-300: hsl(220 70% 65%);--primary-400: hsl(220 70% 45%);--primary-500: hsl(220 70% 25%);--primary-600: hsl(220 70% 20%);--primary-700: hsl(220 70% 15%);--primary-800: hsl(220 70% 12%);--primary-900: hsl(220 70% 10%);--secondary: 174 64% 47%;--secondary-foreground: 0 0% 100%;--accent: 187 85% 53%;--accent-foreground: 0 0% 100%;--muted: 210 30% 94%;--muted-foreground: 215 15% 45%;--success: 142 70% 45%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--error: 0 84% 60%;--info: 187 85% 53%;--border: 215 20% 88%;--input: 215 20% 88%;--ring: 215 85% 35%;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8%;--gray-50: hsl(210 40% 98%);--gray-100: hsl(210 30% 94%);--gray-200: hsl(215 20% 88%);--gray-300: hsl(215 20% 75%);--gray-400: hsl(215 15% 60%);--gray-500: hsl(215 15% 45%);--gray-600: hsl(215 20% 35%);--gray-700: hsl(215 25% 25%);--gray-800: hsl(215 25% 15%);--gray-900: hsl(215 30% 10%);--gradient-hero: linear-gradient(135deg, hsl(220 70% 25%), hsl(174 64% 47%));--gradient-card: linear-gradient(180deg, hsl(0 0% 100%), hsl(210 30% 97%));--shadow-sm: 0 1px 3px 0 hsl(215 25% 15% / .08);--shadow-md: 0 4px 12px -2px hsl(215 25% 15% / .12);--shadow-lg: 0 20px 40px -15px hsl(215 85% 35% / .15);--shadow-xl: 0 24px 48px -8px hsl(215 25% 15% / .18);--shadow-glow: 0 0 40px hsl(174 64% 47% / .2);--radius: .75rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--primary-color: hsl(220 70% 25%);--accent-color: hsl(174 64% 47%);--bg-primary: hsl(0 0% 100%);--bg-secondary: hsl(210 30% 94%);--text-primary: hsl(215 25% 15%);--text-secondary: hsl(215 15% 45%);--border-color: hsl(215 20% 88%)}*{margin:0;padding:0;box-sizing:border-box}*{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}button,.btn,[role=button],input,select,textarea,.react-grid-item,.react-resizable-handle{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.react-grid-item *{user-select:text!important;-webkit-user-select:text!important}html{overflow-x:hidden;max-width:100vw}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";font-variant-numeric:tabular-nums;letter-spacing:-.011em;font-size:14px;line-height:1.5;background:hsl(var(--background));color:hsl(var(--foreground));min-height:100vh;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;overflow-x:hidden;max-width:100vw}h1{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;line-height:1.2;font-feature-settings:"cv02","cv03","cv04","cv11"}h2{font-size:1.375rem;font-weight:600;letter-spacing:-.025em;line-height:1.3;font-feature-settings:"cv02","cv03","cv04","cv11"}h3{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.4;font-feature-settings:"cv02","cv03","cv04","cv11"}h4{font-size:1rem;font-weight:600;letter-spacing:-.015em;line-height:1.4;font-feature-settings:"cv02","cv03","cv04","cv11"}h5{font-size:.875rem;font-weight:600;letter-spacing:-.01em;line-height:1.5;font-feature-settings:"cv02","cv03","cv04","cv11"}h6{font-size:.8125rem;font-weight:600;letter-spacing:-.005em;line-height:1.5;font-feature-settings:"cv02","cv03","cv04","cv11"}.tabular-nums,table td,.metric-value,.cost-value,.stat-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.text-xs{font-size:.6875rem;line-height:1.4}.text-sm{font-size:.8125rem;line-height:1.5}.text-base{font-size:.875rem;line-height:1.5}.text-lg{font-size:1rem;line-height:1.5}.text-xl{font-size:1.125rem;line-height:1.4}p{margin-bottom:.75rem;font-size:.875rem;line-height:1.6}small{font-size:.8125rem}button,.btn{font-size:.875rem;letter-spacing:-.01em}input,select,textarea{font-size:.875rem}label{font-size:.8125rem;font-weight:500;letter-spacing:-.005em}::selection{background-color:#3b82f6;color:#fff}::-moz-selection{background-color:#3b82f6;color:#fff}#root{min-height:100vh;overflow-x:hidden;max-width:100vw}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsl(var(--gray-300));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--gray-400))}::selection{background-color:hsl(var(--primary-100));color:hsl(var(--primary-900))}.recharts-tooltip-cursor{fill:hsl(var(--gray-100))}html,body,#root,#root *{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}button,input,select,textarea,[role=button],.react-grid-item.react-draggable-dragging,.react-grid-item.react-grid-placeholder{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}
