:root{--bg-main:#0f172a;--bg-card:#1e293b;--bg-hover:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-primary:#3b82f6;--accent-secondary:#0ea5e9;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--border-color:#334155;--card-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--glow-shadow:0 0 15px #3b82f64d;--radius-md:12px;--radius-sm:8px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}.app-container{max-width:1400px;margin:0 auto;padding:2rem}.header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.header-title h1{background:linear-gradient(to right, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.25rem;font-size:2rem;font-weight:700}.header-title .subtitle{color:var(--text-secondary);font-size:.95rem}.header-actions{align-items:center;gap:1.5rem;display:flex}.filter-group{color:var(--text-secondary);align-items:center;gap:.75rem;display:flex}select,.selector{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;outline:none;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}select:hover,select:focus{border-color:var(--accent-primary)}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.6rem 1.2rem;font-family:inherit;font-weight:600;transition:all .2s}.btn-primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;box-shadow:0 4px 12px #3b82f633}.btn-primary:hover{box-shadow:var(--glow-shadow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.dashboard-section{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--card-shadow);border:1px solid #ffffff0d;margin-bottom:2rem;padding:1.5rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.dashboard-section h2{color:var(--text-primary);font-size:1.25rem;font-weight:600}.validation-section.hidden{display:none}.alert{border-radius:var(--radius-sm);align-items:center;gap:.75rem;margin-bottom:.5rem;padding:1rem;font-size:.95rem;display:flex}.alert-danger{border-left:4px solid var(--danger);color:#fca5a5;background-color:#ef44441a}.alert-success{border-left:4px solid var(--success);color:#6ee7b7;background-color:#10b9811a}.table-responsive{overflow-x:auto}.data-table{border-collapse:collapse;text-align:right;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border-color);white-space:nowrap;padding:1rem}.data-table th.metric-col,.data-table td.metric-col{text-align:left;background-color:var(--bg-card);z-index:10;font-weight:500;position:sticky;left:0}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background-color:#0000001a;font-size:.85rem}.data-table tr{transition:background-color .2s}.data-table tbody tr:hover,.data-table tbody tr:hover td.metric-col{background-color:var(--bg-hover)}.row-group-end td{border-bottom:2px solid var(--border-color)}.row-highlight td{color:#e2e8f0;font-weight:600}.val-negative{color:#fca5a5}.val-positive{color:#6ee7b7}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;display:grid}.chart-card{border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:#0000001a;height:300px;padding:1rem;position:relative}.empty-state{text-align:center;color:var(--text-secondary);border-radius:var(--radius-sm);border:1px dashed var(--border-color);background:#0000001a;padding:3rem;font-style:italic}
