:root{--bg-primary: #f4f6f9;--bg-surface: #ffffff;--color-primary: #1a237e;--color-primary-light: #e8eaf6;--color-accent: #ffab00;--color-text-main: #1e293b;--color-text-muted: #64748b;--border-color: #e2e8f0;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -1px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -2px rgba(0,0,0,.04);--radius-lg: 12px;--radius-md: 8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--color-text-main);-webkit-font-smoothing:antialiased}.app-container{min-height:100vh;display:flex;flex-direction:column}.main-content{padding:24px;max-width:1600px;margin:0 auto;width:100%}.header-container{background:linear-gradient(135deg,#1a237e,#0d47a1);color:#fff;padding:16px 24px;box-shadow:var(--shadow-md);display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid var(--color-accent)}.header-title-wrapper{display:flex;align-items:center;gap:16px}.emblem-icon{width:48px;height:48px;background:#ffffff26;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.hero-banner{background-color:var(--color-primary-light);border-left:6px solid var(--color-primary);padding:16px 20px;border-radius:var(--radius-md);margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.dashboard-card{background-color:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:20px;transition:transform .2s ease,box-shadow .2s ease;height:100%}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card{background-color:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:20px;display:flex;flex-direction:column;justify-content:space-between;height:100%;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background-color:var(--color-primary)}.filter-bar-container{background-color:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:16px 20px;margin-bottom:24px;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.filter-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.charts-grid-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(480px,1fr));gap:24px;margin-bottom:24px}@media (max-width: 768px){.charts-grid-row{grid-template-columns:1fr}}.chart-container-box{width:100%;height:380px}.tabs-bar-container{display:flex;flex-wrap:wrap;gap:8px;background-color:var(--bg-surface);padding:8px 16px;border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:24px}.tab-button{padding:10px 18px;border:none;background:transparent;border-radius:var(--radius-md);font-family:inherit;font-weight:600;font-size:.95rem;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.tab-button:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.tab-button.active{background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.ai-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-bottom:28px}.ai-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:var(--radius-lg);border:1px solid #cbd5e1;padding:20px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column;justify-content:space-between}.ai-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.ai-card-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:20px;background-color:#eff6ff;color:#1d4ed8;margin-bottom:12px;width:fit-content}.ai-card-recommendation{margin-top:14px;padding:10px 12px;background-color:#f1f5f9;border-left:3px solid var(--color-accent);border-radius:4px;font-size:.85rem;color:#334155}
