.tool-filter{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;transition:background-color .3s ease}.dark .tool-filter{background:#1e293b}.tool-filter-label{font-weight:600;color:#374151;font-size:14px;transition:color .3s ease}.dark .tool-filter-label{color:#e2e8f0}.tool-filter-buttons{display:flex;gap:8px}.tool-filter-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.dark .tool-filter-btn{border-color:#334155;background:#0f172a;color:#94a3b8}.tool-filter-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.dark .tool-filter-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#1e3a8a}.tool-filter-btn.active{border-color:#3b82f6;background:#3b82f6;color:#fff}.tool-filter-btn.active:hover{background:#2563eb;border-color:#2563eb}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background-color:#1e293b;color:#fff;padding:20px 0;position:fixed;height:100vh;overflow-y:auto;transition:background-color .3s ease}.dark .sidebar{background-color:#0f172a}.sidebar-header{padding:0 20px 20px;border-bottom:1px solid #334155;margin-bottom:20px;display:flex;flex-direction:row;align-items:center;gap:12px}.dark .sidebar-header{border-bottom-color:#1e293b}.logo{height:40px;width:auto;object-fit:contain}.sidebar-header h1{font-size:18px;font-weight:600;margin:0}.theme-toggle-container{padding:0 20px 20px;border-bottom:1px solid #334155;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.dark .theme-toggle-container{border-bottom-color:#1e293b}.theme-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background-color:#334155;border:none;border-radius:6px;color:#cbd5e1;cursor:pointer;transition:all .2s;font-size:14px}.dark .theme-toggle{background-color:#1e293b}.theme-toggle:hover{background-color:#475569;color:#fff}.dark .theme-toggle:hover{background-color:#334155}.logout-button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background-color:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s;font-size:14px}.logout-button:hover{background-color:#b91c1c}.dark .logout-button{background-color:#dc2626}.dark .logout-button:hover{background-color:#b91c1c}.nav-list{list-style:none;padding:0}.nav-list li{margin:0}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#cbd5e1;text-decoration:none;transition:all .2s}.nav-link:hover{background-color:#334155;color:#fff}.dark .nav-link:hover{background-color:#1e293b}.nav-link.active{background-color:#3b82f6;color:#fff}.dark .nav-link.active{background-color:#2563eb}.main-content{margin-left:250px;flex:1;padding:30px;background-color:#f5f5f5;min-height:100vh;transition:background-color .3s ease}.dark .main-content{background-color:#0f172a;color:#e2e8f0}@media (max-width: 768px){.sidebar{width:200px}.main-content{margin-left:200px;padding:20px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5;padding:20px}.dark .login-container{background-color:#0f172a}.login-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:40px;width:100%;max-width:400px}.dark .login-card{background:#1e293b;box-shadow:0 2px 8px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-logo{height:48px;width:auto;margin-bottom:16px}.login-header h1{font-size:24px;font-weight:600;color:#1f2937;margin:0}.dark .login-header h1{color:#e2e8f0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#374151}.dark .form-group label{color:#cbd5e1}.form-group input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s;background-color:#fff;color:#1f2937}.dark .form-group input{background-color:#334155;border-color:#475569;color:#e2e8f0}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dark .form-group input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.dark .form-group input:disabled{background-color:#475569}.error-message{padding:12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:14px}.dark .error-message{background-color:#7f1d1d;border-color:#991b1b;color:#fecaca}.login-button{padding:12px 24px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:8px}.login-button:hover:not(:disabled){background-color:#2563eb}.login-button:active:not(:disabled){background-color:#1d4ed8}.login-button:disabled{background-color:#9ca3af;cursor:not-allowed}.dark .login-button{background-color:#3b82f6}.dark .login-button:hover:not(:disabled){background-color:#2563eb}.dark .login-button:disabled{background-color:#475569}.dashboard{max-width:1400px;margin:0 auto}.page-title{font-size:32px;font-weight:600;margin-bottom:30px;color:#1e293b;transition:color .3s ease}.dark .page-title{color:#e2e8f0}.chart-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.dark .chart-card{background:#1e293b;box-shadow:0 1px 3px #0000004d}.chart-card h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#1e293b;transition:color .3s ease}.dark .chart-card h3{color:#e2e8f0}.chart-row{margin-bottom:30px}.leaderboard{display:flex;flex-direction:column;gap:12px}.leaderboard-item{display:flex;align-items:center;gap:16px;padding:12px;background:#f5f5f5;border-radius:8px;transition:background-color .3s ease}.dark .leaderboard-item{background:#334155}.leaderboard-item .rank{font-weight:600;color:#3b82f6;min-width:30px}.leaderboard-item .name{flex:1;font-weight:500}.leaderboard-item .value{font-weight:600;color:#10b981}.loading,.error{text-align:center;padding:40px;font-size:18px}.error{color:#ef4444}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:30px}@media (max-width: 1400px){.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.kpi-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;align-items:flex-start;transition:background-color .3s ease,box-shadow .3s ease}.dark .kpi-card{background:#1e293b;box-shadow:0 1px 3px #0000004d}.kpi-card-full-width{grid-column:1 / -1}.tool-list-container{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tool-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;border:1px solid;transition:all .2s ease}.tool-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.dark .tool-badge{border-color:#fff3}.kpi-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-content{flex:1}.kpi-title{font-size:14px;color:#64748b;margin-bottom:8px;transition:color .3s ease}.dark .kpi-title{color:#94a3b8}.kpi-value{font-size:28px;font-weight:600;margin-bottom:4px;transition:color .3s ease}.dark .kpi-value{color:#e2e8f0}.kpi-subtitle{font-size:12px;color:#94a3b8;transition:color .3s ease}.dark .kpi-subtitle{color:#64748b}.savings-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;padding:30px;margin-bottom:30px;text-align:center}.savings-card h2{font-size:20px;margin-bottom:16px;opacity:.9}.savings-amount{font-size:48px;font-weight:700;margin-bottom:8px}.savings-note{font-size:14px;opacity:.8}.savings-card-large{background:#fff;border-radius:12px;padding:30px;box-shadow:0 1px 3px #0000001a;display:flex;gap:24px;align-items:center;transition:background-color .3s ease}.dark .savings-card-large{background:#1e293b}.savings-content{flex:1}.savings-label{font-size:14px;color:#64748b;margin-bottom:8px;transition:color .3s ease}.dark .savings-label{color:#94a3b8}.savings-amount-large{font-size:42px;font-weight:700;color:#10b981;margin-bottom:12px}.savings-breakdown{display:flex;gap:24px;font-size:14px;color:#64748b;transition:color .3s ease}.dark .savings-breakdown{color:#94a3b8}.alerts-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}.dark .alerts-section{background:#1e293b}.alerts-section h2{display:flex;align-items:center;gap:8px;font-size:20px;margin-bottom:16px;color:#1e293b;transition:color .3s ease}.dark .alerts-section h2{color:#e2e8f0}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{padding:16px;border-radius:8px;border-left:4px solid}.alert-low{background:#fef3c7;border-color:#f59e0b}.alert-medium{background:#fee2e2;border-color:#ef4444}.alert-high{background:#fee2e2;border-color:#dc2626}.alert-message{font-weight:500;margin-bottom:4px}.alert-detail{font-size:12px;color:#64748b}.bu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px}.bu-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s;border:2px solid transparent}.dark .bu-card{background:#1e293b;box-shadow:0 1px 3px #0000004d}.bu-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.dark .bu-card:hover{box-shadow:0 4px 6px #00000080}.bu-card.selected{border-color:#3b82f6;background:#eff6ff}.dark .bu-card.selected{border-color:#3b82f6;background:#1e3a8a}.bu-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.bu-header h3{font-size:18px;color:#1e293b;transition:color .3s ease}.dark .bu-header h3{color:#e2e8f0}.bu-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bu-metric{display:flex;flex-direction:column}.metric-label{font-size:12px;color:#64748b;margin-bottom:4px;transition:color .3s ease}.dark .metric-label{color:#94a3b8}.metric-value{font-size:16px;font-weight:600;color:#1e293b;transition:color .3s ease}.dark .metric-value{color:#e2e8f0}.metric-value.warning{color:#ef4444}.bu-details{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-top:30px;transition:background-color .3s ease}.dark .bu-details{background:#1e293b}.dark .bu-details h2{color:#e2e8f0}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0}.detail-card{display:flex;gap:12px;align-items:center;padding:16px;background:#f8fafc;border-radius:8px;transition:background-color .3s ease}.dark .detail-card{background:#0f172a}.detail-content{flex:1}.detail-title{font-size:12px;color:#64748b;margin-bottom:4px;transition:color .3s ease}.dark .detail-title{color:#94a3b8}.detail-value{font-size:18px;font-weight:600;color:#1e293b;transition:color .3s ease}.dark .detail-value{color:#e2e8f0}.detail-subtitle{font-size:11px;color:#94a3b8;margin-top:2px;transition:color .3s ease}.dark .detail-subtitle{color:#64748b}.mapping-section{margin:24px 0;padding:16px;background:#f8fafc;border-radius:8px;transition:background-color .3s ease}.dark .mapping-section{background:#0f172a}.dark .mapping-section h3{color:#e2e8f0}.mapping-section h3{font-size:16px;margin-bottom:12px}.mapping-stats{display:flex;gap:24px;font-size:14px}.data-table{width:100%;border-collapse:collapse;margin-top:16px}.data-table thead{background:#f8fafc;transition:background-color .3s ease}.dark .data-table thead{background:#0f172a}.data-table th{padding:12px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:2px solid #e2e8f0;transition:color .3s ease,border-color .3s ease}.dark .data-table th{color:#94a3b8;border-bottom-color:#334155}.data-table td{padding:12px;border-bottom:1px solid #e2e8f0;font-size:14px;transition:color .3s ease,border-color .3s ease}.dark .data-table td{color:#e2e8f0;border-bottom-color:#334155}.data-table tbody tr:hover{background:#f8fafc;transition:background-color .3s ease}.dark .data-table tbody tr:hover{background:#0f172a}.data-table tbody tr.zero-usage{background:#fef2f2}.dark .data-table tbody tr.zero-usage{background:#7f1d1d}.users-table-section{margin-top:24px}.users-table-section h3{font-size:18px;margin-bottom:16px;transition:color .3s ease}.dark .users-table-section h3{color:#e2e8f0}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge.success{background:#d1fae5;color:#065f46}.badge.warning{background:#fef3c7;color:#92400e}.badge-low{color:#ef4444}.badge-medium{color:#f59e0b}.badge-high{color:#10b981}.filters-section{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box{flex:1;min-width:250px;display:flex;align-items:center;gap:8px;background:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}.dark .search-box{background:#1e293b}.search-box input{flex:1;border:none;outline:none;font-size:14px;background:transparent;color:inherit}.dark .search-box input::placeholder{color:#64748b}.filter-select{padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.dark .filter-select{background:#1e293b;border-color:#334155;color:#e2e8f0}.users-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.users-list{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}.dark .users-list{background:#1e293b}.users-list h3{font-size:18px;margin-bottom:16px;transition:color .3s ease}.dark .users-list h3{color:#e2e8f0}.users-table-container{max-height:600px;overflow-y:auto}.user-row{cursor:pointer}.user-row.selected{background:#eff6ff}.dark .user-row.selected{background:#1e3a8a}.user-details-panel{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;transition:background-color .3s ease}.dark .user-details-panel{background:#1e293b}.dark .user-details-panel h3{color:#e2e8f0}.user-info{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.info-item{display:flex;gap:12px;align-items:flex-start}.info-label{font-size:12px;color:#64748b;margin-bottom:4px;transition:color .3s ease}.dark .info-label{color:#94a3b8}.info-value{font-size:14px;font-weight:500;color:#1e293b;transition:color .3s ease}.dark .info-value{color:#e2e8f0}.usage-stats{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0;transition:border-color .3s ease}.dark .usage-stats{border-top-color:#334155}.usage-stats h4{font-size:16px;margin-bottom:16px;transition:color .3s ease}.dark .usage-stats h4{color:#e2e8f0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-item{padding:12px;background:#f8fafc;border-radius:8px;transition:background-color .3s ease}.dark .stat-item{background:#0f172a}.stat-label{font-size:12px;color:#64748b;margin-bottom:4px;transition:color .3s ease}.stat-value{font-size:18px;font-weight:600;color:#1e293b;transition:color .3s ease}.copilot-models{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0;transition:border-color .3s ease}.dark .copilot-models{border-top-color:#334155}.copilot-models h4{font-size:16px;margin-bottom:12px;transition:color .3s ease}.dark .copilot-models h4{color:#e2e8f0}.model-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2e8f0;transition:border-color .3s ease,color .3s ease}.dark .model-item{border-bottom-color:#334155;color:#e2e8f0}.warning-box{margin-top:24px;padding:12px;background:#fef3c7;border-radius:8px;color:#92400e;font-size:14px}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:24px}.comparison-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}.dark .comparison-card{background:#1e293b}.comparison-card h2{font-size:18px;margin-bottom:20px;color:#1e293b;transition:color .3s ease}.dark .comparison-card h2{color:#e2e8f0}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px}.metric-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}.dark .metric-card{background:#1e293b}.metric-card h3{font-size:18px;margin-bottom:16px;color:#1e293b;transition:color .3s ease}.dark .metric-card h3{color:#e2e8f0}.metric-list{display:flex;flex-direction:column;gap:12px}.metric-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2e8f0;transition:border-color .3s ease,color .3s ease}.dark .metric-row{border-bottom-color:#334155;color:#e2e8f0}.metric-row:last-child{border-bottom:none}.savings-overview{margin-bottom:30px}.optimization-sections{display:flex;flex-direction:column;gap:24px}.optimization-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}.dark .optimization-section{background:#1e293b}.optimization-section h2{display:flex;align-items:center;gap:8px;font-size:20px;margin-bottom:20px;color:#1e293b;transition:color .3s ease}.dark .optimization-section h2{color:#e2e8f0}.underutilized-tabs{display:flex;flex-direction:column;gap:24px}.tab-content h3{font-size:16px;margin-bottom:12px;color:#475569;transition:color .3s ease}.dark .tab-content h3{color:#94a3b8}.users-list-table{max-height:400px;overflow-y:auto}.empty-state{padding:40px;text-align:center;color:#94a3b8;font-size:14px;transition:color .3s ease}.dark .empty-state{color:#64748b}.forecast-card{display:flex;flex-direction:column;gap:20px}.forecast-item{display:flex;gap:16px;align-items:center;padding:20px;background:#f8fafc;border-radius:8px;transition:background-color .3s ease}.dark .forecast-item{background:#0f172a}.forecast-label{font-size:14px;color:#64748b;margin-bottom:4px;transition:color .3s ease}.dark .forecast-label{color:#94a3b8}.forecast-value{font-size:24px;font-weight:600;color:#1e293b;transition:color .3s ease}.dark .forecast-value{color:#e2e8f0}.forecast-breakdown{display:flex;gap:24px;padding:16px;background:#f8fafc;border-radius:8px;transition:background-color .3s ease}.dark .forecast-breakdown{background:#0f172a}.forecast-stat{display:flex;flex-direction:column;gap:4px}.forecast-stat span{font-size:12px;color:#64748b;transition:color .3s ease}.dark .forecast-stat span{color:#94a3b8}.forecast-stat strong{font-size:18px;color:#1e293b;transition:color .3s ease}.dark .forecast-stat strong{color:#e2e8f0}.upload-container{display:flex;justify-content:center;align-items:center;min-height:60vh}.upload-card{background:#fff;border-radius:12px;padding:40px;box-shadow:0 1px 3px #0000001a;max-width:600px;width:100%;text-align:center;transition:background-color .3s ease}.dark .upload-card{background:#1e293b}.upload-icon{color:#3b82f6;margin-bottom:16px}.upload-card h2{font-size:24px;margin-bottom:12px;color:#1e293b;transition:color .3s ease}.dark .upload-card h2{color:#e2e8f0}.upload-description{color:#64748b;margin-bottom:24px;line-height:1.6;transition:color .3s ease}.dark .upload-description{color:#94a3b8}.upload-area{margin:24px 0;padding:24px;border:2px dashed #cbd5e1;border-radius:8px;background:#f8fafc;transition:background-color .3s ease,border-color .3s ease}.dark .upload-area{background:#0f172a;border-color:#334155}.file-input{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;background:#fff;color:inherit;transition:background-color .3s ease,border-color .3s ease}.dark .file-input{background:#1e293b;border-color:#334155;color:#e2e8f0}.file-info{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;background:#fff;border-radius:8px;transition:background-color .3s ease}.dark .file-info{background:#1e293b}.file-icon{color:#10b981}.file-size{color:#64748b;font-size:12px}.error-message,.success-message{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;margin:16px 0}.error-message{background:#fee2e2;color:#991b1b}.success-message{background:#d1fae5;color:#065f46}.upload-button{width:100%;padding:14px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.upload-button:hover:not(:disabled){background:#2563eb}.upload-button:disabled{background:#94a3b8;cursor:not-allowed}@media (max-width: 768px){.users-grid,.comparison-grid,.kpi-grid{grid-template-columns:1fr}}.tech-stack-dashboard{max-width:1400px;margin:0 auto}.dashboard-header{display:flex;align-items:center;gap:16px;margin-bottom:30px}.coming-soon-badge{padding:6px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.search-section{margin-bottom:30px}.search-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}.dark .search-container{background:#1e293b}.search-type-toggle{display:flex;gap:8px;margin-bottom:16px}.search-type-toggle button{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s ease}.dark .search-type-toggle button{background:#1e293b;border-color:#334155;color:#94a3b8}.search-type-toggle button:hover{background:#f8fafc;border-color:#3b82f6}.dark .search-type-toggle button:hover{background:#0f172a}.search-type-toggle button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border-radius:8px;transition:background-color .3s ease}.dark .search-box{background:#0f172a}.search-box input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:inherit}.dark .search-box input{color:#e2e8f0}.search-button{padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.search-button:hover:not(:disabled){background:#2563eb}.search-button:disabled{background:#94a3b8;cursor:not-allowed}.clear-search-button{padding:6px;background:transparent;border:none;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.dark .clear-search-button{color:#94a3b8}.clear-search-button:hover{background:#e2e8f0;color:#1e293b}.dark .clear-search-button:hover{background:#334155;color:#e2e8f0}.search-error{margin-top:16px;padding:12px 16px;background:#fee2e2;border-radius:8px;color:#991b1b;display:flex;align-items:flex-start;gap:8px;font-size:14px}.dark .search-error{background:#7f1d1d;color:#fca5a5}.available-projects-hint{margin-top:12px;padding-top:12px;border-top:1px solid #fca5a5}.dark .available-projects-hint{border-top-color:#991b1b}.available-projects-hint p{margin-bottom:8px;font-weight:500}.projects-quick-list{display:flex;flex-wrap:wrap;gap:6px}.project-quick-link{padding:4px 10px;background:#fff;border:1px solid #fca5a5;border-radius:4px;color:#991b1b;font-size:12px;cursor:pointer;transition:all .2s ease}.dark .project-quick-link{background:#1e293b;border-color:#991b1b;color:#fca5a5}.project-quick-link:hover{background:#fef2f2;border-color:#991b1b}.dark .project-quick-link:hover{background:#991b1b;color:#fff}.more-projects{font-size:12px;color:#64748b;align-self:center;padding:4px 8px}.dark .more-projects{color:#94a3b8}.project-details-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;transition:background-color .3s ease}.dark .project-details-card{background:#1e293b}.project-details-card h2{font-size:24px;margin-bottom:24px;color:#1e293b;transition:color .3s ease}.dark .project-details-card h2{color:#e2e8f0}.project-tech-stack{display:flex;flex-direction:column;gap:24px}.tech-section{padding-bottom:24px;border-bottom:1px solid #e2e8f0;transition:border-color .3s ease}.dark .tech-section{border-bottom-color:#334155}.tech-section:last-child{border-bottom:none}.tech-section h3{display:flex;align-items:center;gap:8px;font-size:18px;margin-bottom:12px;color:#1e293b;transition:color .3s ease}.dark .tech-section h3{color:#e2e8f0}.tech-badges{display:flex;flex-wrap:wrap;gap:8px}.tech-badge{display:inline-block;padding:6px 12px;background:#eff6ff;color:#1e40af;border-radius:6px;font-size:13px;font-weight:500;border:1px solid #bfdbfe;transition:all .2s ease}.dark .tech-badge{background:#1e3a8a;color:#bfdbfe;border-color:#3b82f6}.tech-badge-small{display:inline-block;padding:4px 8px;background:#f1f5f9;color:#475569;border-radius:4px;font-size:11px;margin-right:6px;transition:background-color .3s ease,color .3s ease}.dark .tech-badge-small{background:#334155;color:#cbd5e1}.dependencies-list{display:flex;flex-direction:column;gap:8px}.dependency-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#f8fafc;border-radius:6px;transition:background-color .3s ease}.dark .dependency-item{background:#0f172a}.dep-name{font-weight:500;color:#1e293b;transition:color .3s ease}.dark .dep-name{color:#e2e8f0}.dep-version{color:#64748b;font-size:13px;transition:color .3s ease}.dark .dep-version{color:#94a3b8}.dep-outdated{color:#ef4444;font-size:12px;font-weight:500}.search-results-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;transition:background-color .3s ease}.dark .search-results-card{background:#1e293b}.search-results-card h2{font-size:20px;margin-bottom:8px;color:#1e293b;transition:color .3s ease}.dark .search-results-card h2{color:#e2e8f0}.results-count{color:#64748b;margin-bottom:20px;transition:color .3s ease}.dark .results-count{color:#94a3b8}.version-distribution{margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:8px;transition:background-color .3s ease}.dark .version-distribution{background:#0f172a}.version-distribution h3{font-size:16px;margin-bottom:12px;color:#1e293b;transition:color .3s ease}.dark .version-distribution h3{color:#e2e8f0}.version-list{display:flex;flex-direction:column;gap:8px}.version-item{display:flex;justify-content:space-between;padding:8px 12px;background:#fff;border-radius:6px;transition:background-color .3s ease}.dark .version-item{background:#1e293b}.version-name{font-weight:500;color:#1e293b;transition:color .3s ease}.dark .version-name{color:#e2e8f0}.version-count{color:#3b82f6;font-weight:600}.projects-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-card-mini{background:#f8fafc;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.dark .project-card-mini{background:#0f172a}.project-card-mini:hover{background:#eff6ff;border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.dark .project-card-mini:hover{background:#1e3a8a}.project-card-mini h4{font-size:16px;margin-bottom:8px;color:#1e293b;transition:color .3s ease}.dark .project-card-mini h4{color:#e2e8f0}.project-meta{font-size:12px;color:#64748b;margin-bottom:12px;transition:color .3s ease}.dark .project-meta{color:#94a3b8}.project-tech-preview{display:flex;flex-wrap:wrap;gap:6px}.dashboard-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e2e8f0;transition:border-color .3s ease}.dark .dashboard-tabs{border-bottom-color:#334155}.dashboard-tabs button{padding:12px 24px;border:none;background:transparent;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.dark .dashboard-tabs button{color:#94a3b8}.dashboard-tabs button:hover{color:#3b82f6}.dark .dashboard-tabs button:hover{color:#60a5fa}.dashboard-tabs button.active{color:#3b82f6;border-bottom-color:#3b82f6}.dark .dashboard-tabs button.active{color:#60a5fa;border-bottom-color:#60a5fa}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:24px;margin-bottom:24px}@media (max-width: 1200px){.charts-grid{grid-template-columns:1fr}}.health-summary{margin-bottom:24px}.summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}.dark .summary-card{background:#1e293b}.summary-card h3{font-size:18px;margin-bottom:16px;color:#1e293b;transition:color .3s ease}.dark .summary-card h3{color:#e2e8f0}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-stat{display:flex;flex-direction:column;gap:4px;padding:16px;background:#f8fafc;border-radius:8px;transition:background-color .3s ease}.dark .summary-stat{background:#0f172a}.stat-label{font-size:12px;color:#64748b;transition:color .3s ease}.dark .stat-label{color:#94a3b8}.stat-value{font-size:24px;font-weight:600;color:#1e293b;transition:color .3s ease}.dark .stat-value{color:#e2e8f0}.stat-value.warning{color:#f59e0b}.stat-value.danger{color:#ef4444}.table-container{overflow-x:auto}.data-table td.warning{color:#f59e0b;font-weight:500}.data-table td.danger{color:#ef4444;font-weight:500}.top-dependencies-list{display:flex;flex-direction:column;gap:16px}.dependency-overlap-item{padding:16px;background:#f8fafc;border-radius:8px;border-left:4px solid #3b82f6;transition:background-color .3s ease}.dark .dependency-overlap-item{background:#0f172a}.dep-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.dep-rank{font-size:20px;font-weight:700;color:#3b82f6}.dep-name-large{flex:1;font-size:16px;font-weight:600;color:#1e293b;transition:color .3s ease}.dark .dep-name-large{color:#e2e8f0}.dep-usage-count{font-size:14px;color:#64748b;font-weight:500;transition:color .3s ease}.dark .dep-usage-count{color:#94a3b8}.dep-projects{font-size:13px;color:#64748b;margin-left:32px;transition:color .3s ease}.dark .dep-projects{color:#94a3b8}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-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;background-color:#f5f5f5;transition:background-color .3s ease,color .3s ease}.dark body{background-color:#0f172a;color:#e2e8f0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
