.header{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-dark) 100%);color:#fff;padding:20px 0;box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:20px}.logo{display:flex;align-items:center;gap:12px}.logo svg{color:var(--accent-gold)}.logo h1{font-size:24px;font-weight:700;margin:0;letter-spacing:-.5px}.logo p{font-size:13px;opacity:.9;margin:0;font-weight:400}.header-right{display:flex;align-items:center;gap:20px}.header-stats{display:flex;align-items:center;gap:16px}.batch-count{font-size:14px;font-weight:600;padding:6px 12px;background:#ffffff26;border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width: 768px){.header-content{flex-direction:column;align-items:flex-start}.header-right{width:100%;justify-content:space-between}.logo h1{font-size:20px}}.metric-card{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all .3s ease;border-left:4px solid var(--primary-blue)}.metric-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.metric-card.status-success{border-left-color:var(--success-green)}.metric-card.status-warning{border-left-color:var(--warning-amber)}.metric-card.status-danger{border-left-color:var(--danger-red)}.metric-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.metric-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-dark) 100%);color:#fff}.status-success .metric-icon{background:linear-gradient(135deg,var(--success-green) 0%,#047857 100%)}.status-warning .metric-icon{background:linear-gradient(135deg,var(--warning-amber) 0%,#D97706 100%)}.status-danger .metric-icon{background:linear-gradient(135deg,var(--danger-red) 0%,#B91C1C 100%)}.metric-title{font-size:14px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px;line-height:1}.metric-target{font-size:13px;color:var(--text-secondary);margin-bottom:12px;padding:4px 8px;background:var(--bg-primary);border-radius:4px;display:inline-block}.metric-trend{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}.metric-trend.positive{color:var(--success-green)}.metric-trend.negative{color:var(--danger-red)}.metric-trend.neutral{color:var(--text-secondary)}.trend-label{font-size:12px;font-weight:400;color:var(--text-tertiary);margin-left:4px}@media (max-width: 768px){.metric-value{font-size:28px}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.product-table{width:100%;border-collapse:collapse;font-size:14px}.product-table thead{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-dark) 100%);color:#fff}.product-table th{padding:14px 12px;text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background .2s ease}.product-table th:hover{background:#ffffff1a}.product-table th svg{display:inline-block;margin-left:4px;vertical-align:middle}.product-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s ease}.product-table tbody tr:hover{background:var(--bg-primary)}.product-table tbody tr:last-child{border-bottom:none}.product-table td{padding:12px;color:var(--text-primary)}.product-name{font-weight:600;color:var(--primary-blue);white-space:nowrap}.status-good{color:var(--success-green);font-weight:600}.status-warning{color:var(--warning-amber);font-weight:600}.status-bad{color:var(--danger-red);font-weight:600}@media (max-width: 768px){.product-table{font-size:12px}.product-table th,.product-table td{padding:10px 8px}}.recommendations-panel{margin-top:32px}.panel-header{margin-bottom:24px}.panel-header h2{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.panel-subtitle{font-size:14px;color:var(--text-secondary);margin:0}.no-recommendations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);text-align:center}.no-recommendations p{margin-top:16px;color:var(--text-secondary);font-size:16px}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.recommendation-card{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-left-width:4px;transition:all .3s ease}.recommendation-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.recommendation-card.priority-high{border-left-color:var(--danger-red)}.recommendation-card.priority-medium{border-left-color:var(--warning-amber)}.recommendation-card.priority-low{border-left-color:var(--primary-blue)}.rec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.rec-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--bg-primary)}.priority-high .rec-icon{background:linear-gradient(135deg,#fee2e2,#fecaca);color:var(--danger-red)}.priority-medium .rec-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:var(--warning-amber)}.priority-low .rec-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:var(--primary-blue)}.rec-priority{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:12px}.priority-high .rec-priority{background:var(--danger-red);color:#fff}.priority-medium .rec-priority{background:var(--warning-amber);color:#fff}.priority-low .rec-priority{background:var(--primary-blue);color:#fff}.recommendation-card h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.rec-description{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.rec-impact{background:var(--bg-primary);padding:12px;border-radius:6px;font-size:13px;color:var(--text-secondary);margin-bottom:16px;border-left:3px solid var(--accent-gold)}.rec-impact strong{color:var(--text-primary);display:block;margin-bottom:4px}.rec-actions{font-size:14px}.rec-actions strong{color:var(--text-primary);display:block;margin-bottom:8px}.rec-actions ul{margin:0;padding-left:20px}.rec-actions li{color:var(--text-secondary);margin-bottom:6px;line-height:1.5}.rec-actions li:last-child{margin-bottom:0}@media (max-width: 768px){.recommendations-grid{grid-template-columns:1fr}}.filter-panel{background:var(--bg-secondary);border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.filter-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--primary-blue)}.filter-header h3{margin:0;font-size:16px;font-weight:600}.filter-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.filter-group select{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.filter-group select:hover{border-color:var(--primary-blue)}.filter-group select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #0047ab1a}.clear-filters{height:42px}@media (max-width: 768px){.filter-controls{grid-template-columns:1fr}}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:24px 0}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px;padding:20px;text-align:center}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px}.spin{animation:spin 1s linear infinite;color:var(--primary-blue)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container h2{color:var(--danger-red);margin:0}.error-container p{color:var(--text-secondary);max-width:500px}.alert-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid var(--warning-amber);padding:16px 20px;border-radius:8px;display:flex;align-items:center;gap:12px;margin-bottom:24px;box-shadow:var(--shadow-sm);animation:fadeIn .3s ease-in-out}.alert-banner svg{color:var(--warning-amber);flex-shrink:0}.alert-banner strong{color:#92400e}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:32px}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:24px;margin-bottom:32px}.chart-full{grid-column:1 / -1}@media (max-width: 1200px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all .3s ease}.chart-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.chart-card h2{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.chart-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;outline:none}.btn-primary{background:var(--primary-blue);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--primary-blue)}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:24px 0;margin-top:48px}.footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer p{margin:0;font-size:14px;color:var(--text-secondary)}.text-secondary{color:var(--text-secondary)}@media (max-width: 768px){.footer .container{flex-direction:column;text-align:center}.metrics-grid,.charts-grid{grid-template-columns:1fr}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media print{.no-print{display:none!important}.chart-card{page-break-inside:avoid;break-inside:avoid}.app{background:#fff}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-blue: #0047AB;--primary-dark: #003580;--accent-gold: #D4AF37;--success-green: #059669;--warning-amber: #F59E0B;--danger-red: #DC2626;--bg-primary: #F8FAFC;--bg-secondary: #FFFFFF;--text-primary: #0F172A;--text-secondary: #475569;--text-tertiary: #94A3B8;--border-color: #E2E8F0;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1)}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:var(--bg-primary);color:var(--text-primary);line-height:1.5}code{font-family:Monaco,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.container{max-width:1600px;margin:0 auto;padding:0 20px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-in-out}@media print{body{background:#fff}.no-print{display:none!important}.print-break{page-break-after:always}}
