:root{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--accent-primary:#ea580c;--accent-hover:#c2410c;--accent-gradient:linear-gradient(135deg, #f97316 0%, #ea580c 100%);--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--border-color:#0000001a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000008;--shadow-glow:0 0 15px #ea580c4d;--transition-fast:.15s ease;--transition-normal:.3s ease}body.dark-mode{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-primary:#f97316;--accent-hover:#ea580c;--accent-gradient:linear-gradient(135deg, #fb923c 0%, #f97316 100%);--border-color:#ffffff1a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 15px #f9731680}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:Segoe UI,sans-serif;font-weight:600;line-height:1.2}mark{background-color:var(--accent-primary);color:#fff;border-radius:2px;padding:0 2px}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--text-primary)}.app-container{width:100%;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;height:100vh;display:flex;overflow-x:hidden}.page-container{flex-direction:column;flex:1;padding:2rem;display:flex;overflow-y:auto}.glass-card{background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal);border-radius:16px;padding:1.5rem}.glass-card:hover{box-shadow:var(--shadow-lg)}.btn{cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-family:Segoe UI,sans-serif;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 6px -1px #ea580c66}.btn-primary:hover{box-shadow:var(--shadow-glow)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.btn-secondary:hover{background:var(--bg-tertiary)}.input-field,.form-control{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px;padding:.75rem 1rem;font-family:Segoe UI,sans-serif}.input-field:focus,.form-control:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #ea580c33}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s forwards fadeIn}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.responsive-grid{gap:1rem;display:grid}.grid-cols-2{grid-template-columns:1fr 1fr}.grid-cols-3{grid-template-columns:1fr 1fr 1fr}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.sidebar-overlay,.mobile-header{display:none}.precedents-search-panel{flex-shrink:0;width:100%;max-width:360px;height:100%}.precedents-results-area{flex-direction:column;flex:1;height:100%;padding-right:.5rem;display:flex;overflow-y:auto}@media (width<=768px){.responsive-grid{grid-template-columns:1fr!important}.responsive-row-to-col{flex-direction:column!important;height:auto!important}.precedents-search-panel{max-width:100%;height:auto!important}.precedents-search-panel form{height:auto!important}.precedents-search-panel form>div{overflow-y:visible!important}.precedents-results-area{height:auto!important;overflow-y:visible!important}.page-container{padding:1rem}.mobile-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:1rem;display:flex;position:sticky;top:0}.mobile-header-logo{color:var(--text-primary);font-size:1.25rem;font-weight:600}.mobile-header-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.app-sidebar{z-index:50;height:100vh;box-shadow:none;transition:left .3s ease-in-out;top:0;left:-100%;position:fixed!important}.app-sidebar.open{left:0;box-shadow:4px 0 15px #00000080}.sidebar-overlay.open{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:45;background:#0009;animation:.3s fadeIn;display:block;position:fixed;inset:0}.login-card{width:90%!important;padding:1.5rem!important}}.MuiPaper-root{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}.MuiMenuItem-root{color:var(--text-primary)!important}.MuiMenuItem-root:hover{background-color:var(--bg-tertiary)!important}.MuiTypography-root{color:var(--text-primary)!important}.MuiDataGrid-columnHeaders,.MuiDataGrid-columnHeader{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important}.MuiDataGrid-root .MuiDataGrid-container--top [role=row],.MuiDataGrid-root .MuiDataGrid-columnHeadersInner,.MuiDataGrid-filler,.MuiDataGrid-row:hover{background-color:var(--bg-tertiary)!important}.sidebar-link{transition:all var(--transition-fast)}.sidebar-link:hover{background-color:#ea580c0d;transform:translate(4px);color:var(--text-primary)!important}@media (width<=768px){.desktop-only{display:none!important}}.dashboard-page{flex-direction:column;gap:2rem;display:flex}.page-header h2{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2rem;display:inline-block}.page-subtitle{color:var(--text-secondary);font-size:1rem}.dashboard-grid{flex-direction:column;gap:1.5rem;display:flex}.premium-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.kpi-card{flex-direction:column;gap:.75rem;padding:.5rem 1rem 1rem;display:flex}.kpi-header{justify-content:space-between;align-items:center;display:flex}.kpi-title{color:var(--text-secondary);font-size:.95rem;font-weight:500}.kpi-icon-wrapper{background-color:var(--bg-tertiary);color:var(--accent-primary);border-radius:8px;padding:.5rem}.kpi-value{color:var(--text-primary);text-align:center;width:100%;font-size:2rem;font-weight:700}.kpi-value.text-accent{color:var(--accent-primary)}.kpi-value.status-success{color:var(--success)}.kpi-value.status-danger{color:var(--danger)}.charts-row{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;min-width:0;display:grid}.chart-wrapper{flex-direction:column;min-width:0;height:400px;padding:1.5rem;display:flex;overflow:hidden}.chart-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.chart-title-group{color:var(--text-primary);align-items:center;gap:.5rem;display:flex}.chart-title-group h3{font-size:1.1rem;font-weight:600}.chart-body{flex:1;min-width:0;min-height:0;overflow:hidden}.premium-select{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:border-color var(--transition-fast);border-radius:6px;outline:none;padding:.4rem .8rem;font-size:.9rem}.premium-select:focus{border-color:var(--accent-primary)}.header-filters{gap:1rem;display:flex}.recharts-custom-tooltip{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:8px;padding:1rem}.recharts-tooltip-label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600}.recharts-tooltip-value{color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.recharts-tooltip-indicator{background-color:var(--accent-primary);border-radius:50%;width:8px;height:8px}.ranking-wrapper{padding:1.5rem}.table-container{max-height:500px;overflow-x:auto}.premium-table{border-collapse:collapse;text-align:left;width:100%}.premium-table th{color:var(--text-secondary);border-bottom:2px solid var(--border-color);background-color:var(--bg-secondary);z-index:10;padding:1rem;font-weight:600;position:sticky;top:0}.premium-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:1rem}.table-row-hover{transition:background-color var(--transition-fast)}.table-row-hover:hover{background-color:var(--bg-tertiary)}.rank-badge{background-color:var(--bg-tertiary);color:var(--text-secondary);border-radius:12px;padding:.2rem .6rem;font-size:.85rem;font-weight:600;display:inline-block}.rank-badge.top-rank{background:var(--accent-gradient);color:#fff}.party-name{font-weight:500}.party-count{color:var(--accent-primary);font-weight:600}.loading-state,.empty-state{text-align:center;color:var(--text-secondary);padding:3rem;font-style:italic}.pulse{background-color:var(--bg-tertiary);border-radius:4px;width:50%;height:2rem;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%{opacity:.6}50%{opacity:.2}to{opacity:.6}}.nav-btn-primary{background:var(--accent-gradient);color:#fff;transition:opacity var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px;padding:.75rem 1.5rem;font-weight:700;text-decoration:none;display:inline-block}.nav-btn-primary:hover{opacity:.9;box-shadow:var(--shadow-glow)}.nav-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);transition:background var(--transition-fast);border-radius:8px;padding:.75rem 1.5rem;font-weight:700;text-decoration:none;display:inline-block}.nav-btn-secondary:hover{background:var(--border-color)}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
