:root{--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f4;--bg-sidebar: #1a1a1a;--bg-dark: #262626;--text-primary: #1a1a1a;--text-secondary: #525252;--text-on-dark: #fafafa;--text-muted: #737373;--accent-primary: #1d4ed8;--accent-primary-light: #eff6ff;--accent-secondary: #1e40af;--accent-cyan: #0891b2;--accent-emerald: #059669;--accent-amber: #b45309;--accent-rose: #be123c;--border-color: #e5e5e5;--border-light: #f0f0f0;--border-dark: #404040;--success: #059669;--warning: #b45309;--danger: #be123c;--info: #0891b2;--font-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Consolas", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .03);--radius-sm: 2px;--radius-md: 3px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;letter-spacing:-.01em}.text-editorial,.card-description,p.description,.insight-text,.help-content p,.analysis-text{font-family:var(--font-serif);line-height:1.75;font-size:.925rem;color:var(--text-secondary);letter-spacing:.01em}.text-data,.metric-value,.metric-trend,.chart-legend,td,th,.status-positive,.status-warning,.status-danger{font-family:var(--font-mono)}.layout-container{display:flex;min-height:100vh}.sidebar{width:240px;background:linear-gradient(180deg,#1a1a1a,#111);border-right:1px solid var(--border-dark);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:1000;color:var(--text-on-dark)}.main-content{flex:1;margin-left:240px;padding:var(--space-xl) var(--space-2xl);min-height:100vh;width:calc(100% - 240px);background-color:var(--bg-secondary)}.sidebar-header{padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--border-dark);background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,transparent 100%)}.sidebar-logo{display:flex;flex-direction:column;align-items:flex-start}.sidebar-header h1{font-size:1rem;color:#fff;margin:0;font-weight:700;letter-spacing:.18em;font-family:var(--font-sans);text-transform:uppercase;line-height:1.1}.sidebar-header .version{font-size:.6rem;color:var(--text-muted);font-family:var(--font-mono);margin-top:var(--space-xs);letter-spacing:.05em}.sidebar-subtitle{font-size:.65rem;color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.15em;margin-top:.25rem;font-family:var(--font-mono)}.sidebar-nav{padding:1rem .75rem;display:flex;flex-direction:column;gap:2px}.nav-section-label{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;padding:.75rem .75rem .375rem;margin-top:.5rem;opacity:.6;cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.nav-section-label:hover{opacity:1}.nav-section-label:first-child{margin-top:0}.nav-chevron{transition:transform .2s ease;opacity:.4}.nav-chevron.open{transform:rotate(90deg);opacity:.7}.nav-section-items{max-height:0;overflow:hidden;transition:max-height .25s ease}.nav-section-items.expanded{max-height:200px}.nav-section-items.analises.expanded{max-height:260px}.nav-link{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:all .15s ease;font-size:.8rem;font-weight:500;border-left:2px solid transparent}.nav-link:hover{background:#ffffff0d;color:var(--text-on-dark);border-left-color:var(--accent-cyan)}.nav-link.active{background:linear-gradient(90deg,#06b6d426,#06b6d40d);color:var(--accent-cyan);border-left-color:var(--accent-cyan)}.sidebar-footer{margin-top:auto;padding:1rem .75rem;border-top:1px solid var(--border-dark);display:flex;flex-direction:column;gap:.2rem;text-align:left;font-size:.65rem;color:var(--text-muted);letter-spacing:.03em;opacity:.55;line-height:1.5}.upload-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem .75rem;background:linear-gradient(135deg,var(--accent-primary) 0%,#2563eb 100%);color:#fff;border-radius:var(--radius-sm);font-weight:600;font-size:.75rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.03em}.upload-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 2px 8px #1d4ed84d}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-lg);max-width:1400px;margin:0 auto}.header{grid-column:1 / -1;margin-bottom:var(--space-md);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,transparent 0%,rgba(29,78,216,.02) 100%);border-radius:var(--radius-md);padding:var(--space-lg)}.header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem;font-family:var(--font-sans);letter-spacing:-.025em}.subtitle{color:var(--text-muted);font-size:1rem;font-family:var(--font-serif);font-style:italic;line-height:1.5}.card{background:linear-gradient(135deg,var(--bg-primary) 0%,#fafbff 100%);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.card.full-width{grid-column:1 / -1}.card.half-width{grid-column:span 6}@media (max-width: 1200px){.card.half-width{grid-column:span 12}}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.metric-card{background:linear-gradient(160deg,var(--bg-primary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;border-left:3px solid var(--accent-primary);transition:all .2s ease}.metric-card:hover{border-left-color:var(--accent-cyan);box-shadow:0 4px 12px #0000000f;background:linear-gradient(160deg,var(--bg-primary) 0%,#f0f4ff 100%)}.metric-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-weight:600;font-family:var(--font-mono)}.metric-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem;font-family:var(--font-mono);letter-spacing:-.02em}.metric-trend{font-size:.7rem;color:var(--text-secondary);font-family:var(--font-mono)}.chart-title{font-size:.8rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);font-family:var(--font-sans)}.card-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-family:var(--font-sans)}.card-subtitle{font-size:.85rem;color:var(--text-secondary);font-family:var(--font-serif);font-style:italic;margin-bottom:1rem}.insight-box{padding:var(--space-lg) var(--space-xl);background:var(--bg-tertiary);border-left:2px solid var(--text-muted);margin:var(--space-lg) 0}.insight-box p{font-family:var(--font-serif);font-size:.95rem;line-height:1.8;color:var(--text-secondary);margin:0}.insight-box .highlight{font-weight:700;color:var(--text-primary)}.chart-container{height:350px;width:100%;position:relative}.chart-legend{margin-top:.75rem;font-size:.7rem;color:var(--text-muted);text-align:left;padding-top:.75rem;border-top:1px solid var(--border-color);font-family:var(--font-mono)}.badge-new{display:inline-block;font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#e0e7ff);padding:.1rem .4rem;border-radius:3px;margin-left:.5rem;vertical-align:middle;line-height:1.4;font-family:var(--font-mono)}.table-container{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.8rem}th{text-align:left;padding:var(--space-sm) var(--space-md);color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--text-primary);white-space:nowrap;text-transform:uppercase;font-size:.65rem;letter-spacing:.1em;background-color:transparent;font-family:var(--font-mono)}td{padding:var(--space-sm) var(--space-md);color:var(--text-primary);border-bottom:1px solid var(--border-light);font-family:var(--font-mono);font-size:.8rem}tr:last-child td{border-bottom:none}tbody tr{transition:background-color .15s ease}tbody tr:hover{background:linear-gradient(90deg,var(--bg-tertiary) 0%,rgba(29,78,216,.03) 100%)}[class*=btn-]{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border:none;cursor:pointer;transition:all .15s ease;border-radius:var(--radius-sm);font-family:inherit;line-height:1;text-decoration:none}[class*=btn-] svg{width:16px;height:16px;flex-shrink:0}[class*=btn-]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn-primary{padding:.5rem 1rem;background:linear-gradient(180deg,#3b6ef0,#1d4ed8 60%,#1a44c0);color:#fff;box-shadow:inset 0 1px #ffffff26,0 1px 2px #1d4ed833}.btn-primary:hover{background:linear-gradient(180deg,#2f5fd6,#1a44c0 60%,#163bad);box-shadow:inset 0 1px #ffffff1f,0 2px 6px #1d4ed84d;transform:translateY(-.5px)}.btn-primary:active{transform:translateY(0);box-shadow:inset 0 2px 4px #00000026,0 0 #1d4ed800}.btn-primary:disabled{background:linear-gradient(180deg,#9ca3af,#6b7280);box-shadow:none;cursor:not-allowed;opacity:.7}.btn-secondary{padding:.5rem 1rem;background:linear-gradient(180deg,#fff,#f8f9fa);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:inset 0 1px #fffc,0 1px 2px #0000000a}.btn-secondary:hover{background:linear-gradient(180deg,#f0f6ff,#e8f0fe);border-color:#1d4ed84d;color:var(--accent-primary);box-shadow:inset 0 1px #ffffffe6,0 2px 4px #1d4ed814}.btn-secondary:active{background:linear-gradient(180deg,#e8f0fe,#dbeafe);box-shadow:inset 0 1px 3px #00000014}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:.375rem .75rem;background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:#0000000a;color:var(--text-primary)}.btn-ghost:active{background:#00000012}.btn-ghost.btn-danger{color:var(--danger)}.btn-ghost.btn-danger:hover{background:#ef44440f;color:#dc2626}.btn-icon{width:28px;height:28px;padding:0;background:linear-gradient(180deg,#3b6ef0,#1d4ed8 60%,#1a44c0);color:#fff;box-shadow:inset 0 1px #ffffff26,0 1px 2px #1d4ed833}.btn-icon:hover{background:linear-gradient(180deg,#22d3ee,#06b6d4 60%,#0891b2);transform:translate(1px);box-shadow:inset 0 1px #ffffff26,0 2px 6px #06b6d44d}.btn-icon:active{transform:translate(0);box-shadow:inset 0 2px 4px #00000026}.btn-icon-neutral{background:linear-gradient(180deg,#f3f4f6,#e5e7eb);color:var(--text-secondary);box-shadow:inset 0 1px #fff9,0 1px 2px #0000000f}.btn-icon-neutral:hover{background:linear-gradient(180deg,#e5e7eb,#d1d5db);color:var(--text-primary);transform:none}.btn-chip{padding:.4rem .75rem;font-weight:500;font-size:.7rem;background:linear-gradient(180deg,#fff,#f8f9fa);border:1px solid var(--border-color);color:var(--text-secondary);box-shadow:inset 0 1px #fffc,0 1px 1px #00000008}.btn-chip:hover{border-color:#1d4ed840;color:var(--accent-primary);background:linear-gradient(180deg,#f8faff,#f0f4ff)}.btn-chip.active{background:linear-gradient(180deg,#3b6ef0,#1d4ed8 60%,#1a44c0);color:#fff;border-color:transparent;font-weight:600;box-shadow:inset 0 1px #ffffff26,0 1px 2px #1d4ed833}.btn-sm{font-size:.7rem;padding:.3rem .6rem}.btn-sm.btn-icon{width:24px;height:24px}.btn-sm.btn-icon svg{width:14px;height:14px}.btn-lg{padding:.875rem 1.75rem;font-size:.85rem}.upload-section{text-align:center;padding:2.5rem 2rem;border:2px dashed var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);transition:all .15s ease}.upload-section:hover{border-color:var(--accent-cyan);background:#06b6d405}input[type=file]{display:none}label[for=file-upload],label[for=file-upload-reload]{display:inline-block;cursor:pointer}.text-accent{color:var(--accent-primary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.mt-4{margin-top:1rem}.full-width{grid-column:1 / -1}.placeholder-feature{position:relative;opacity:.5;pointer-events:none}.placeholder-badge{position:absolute;top:.75rem;right:.75rem;background:var(--text-muted);color:#fff;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;z-index:10;font-family:var(--font-mono)}.back-link{display:inline-flex;align-items:center;gap:.375rem;color:var(--accent-cyan);text-decoration:none;font-weight:600;font-size:.75rem;transition:all .15s ease;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-mono)}.back-link:hover{gap:.5rem;color:var(--accent-primary)}.lawyer-name-link{color:var(--accent-primary);text-decoration:none;font-weight:600;transition:color .15s ease}.lawyer-name-link:hover{color:var(--accent-cyan);text-decoration:underline}.chart-color-1{fill:#2563eb}.chart-color-2{fill:#7c3aed}.chart-color-3{fill:#06b6d4}.chart-color-4{fill:#10b981}.chart-color-5{fill:#f59e0b}.chart-color-6{fill:#f43f5e}.chart-color-7{fill:#8b5cf6}.chart-color-8{fill:#14b8a6}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media print{.pdf-hide,.sidebar{display:none!important}.main-content{margin-left:0!important;width:100%!important}}.status-positive{color:var(--success);background:#10b9811a;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;font-family:var(--font-mono)}.status-warning{color:var(--warning);background:#f59e0b1a;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;font-family:var(--font-mono)}.status-danger{color:var(--danger);background:#ef44441a;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;font-family:var(--font-mono)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.recharts-tooltip-wrapper{filter:drop-shadow(0 4px 12px rgba(0,0,0,.08))}.recharts-default-tooltip{border-radius:8px!important}
