:root{--color-bg: #f5f7fa;--color-surface: #ffffff;--color-sidebar: #0d2b2e;--color-sidebar-text: #a9c7c5;--color-sidebar-text-active: #ffffff;--color-primary: #0f8c8c;--color-primary-dark: #0b6b6b;--color-accent: #ff6f59;--color-positive: #16a34a;--color-negative: #e1462f;--color-indigo: #4c51bf;--color-amber: #d98a1a;--color-slate: #64748b;--color-text: #16202a;--color-text-muted: #6b7785;--color-border: #e7eaf0;--radius-md: 12px;--radius-lg: 16px;--shadow-card: 0 1px 2px rgba(16, 24, 32, .04), 0 8px 24px rgba(16, 24, 32, .06);--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);margin:0}button{font-family:var(--font-body)}.app-shell{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--color-sidebar);color:var(--color-sidebar-text);padding:28px 18px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh}.sidebar-logo{display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:.2px}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--color-sidebar-text);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s ease,color .15s ease}.sidebar-link:hover,.sidebar-link:focus-visible{background:#ffffff14;color:var(--color-sidebar-text-active);outline:none}.sidebar-footer{margin-top:auto;font-size:12px;color:#a9c7c599;line-height:1.5}.main-content{flex:1;min-width:0;padding:32px 40px 64px}.topbar{margin-bottom:8px}.topbar-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 4px}.topbar-title{font-size:28px;font-weight:600}.wave-divider{position:relative;height:16px;overflow:hidden;margin:10px 0 28px}.wave-track{display:flex;width:200%;height:100%;animation:wave-scroll 16s linear infinite}.wave-track svg{width:50%;height:100%;flex-shrink:0}@keyframes wave-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.wave-track{animation:none}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:20px 0 32px}.kpi-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:18px 20px;transition:transform .15s ease,box-shadow .15s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #1018200f,0 12px 28px #10182014}.kpi-label{font-size:12px;color:var(--color-text-muted);font-weight:500;margin-bottom:8px}.kpi-value{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--color-text)}.kpi-sub{font-size:12px;color:var(--color-text-muted);margin-top:4px}.panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px;margin-bottom:24px}.panel-title{font-size:16px;font-weight:600;margin-bottom:16px}.panel-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}table.dados{border-collapse:collapse;width:100%;font-size:13px}table.dados th,table.dados td{padding:10px 14px;text-align:left;white-space:nowrap}table.dados thead th{background:#f0f3f6;color:var(--color-text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}table.dados tbody tr:nth-child(2n){background:#fafbfc}table.dados tbody tr:hover{background:#eef6f6}table.dados tfoot td{font-weight:700;border-top:2px solid var(--color-border)}.btn{font-family:var(--font-body);font-size:14px;font-weight:600;padding:9px 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-outline{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.text-muted{color:var(--color-text-muted)}.status-erro{color:var(--color-negative);font-size:14px}.status-sucesso{color:var(--color-positive);font-size:14px}.upload-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin-bottom:16px}.upload-card h3{font-size:15px;margin-bottom:12px}.secao-recolhivel summary{cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:17px;padding:4px 0}.secao-recolhivel{margin-bottom:16px}.filtro-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.filtro-input{font-family:var(--font-body);font-size:14px;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.filtro-chip{font-family:var(--font-body);font-size:13px;font-weight:500;padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.filtro-chip:hover{border-color:var(--color-primary)}.filtro-chip-ativo{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.filtro-chip-count{font-family:var(--font-mono);font-size:11px;opacity:.75}@media(max-width:860px){.app-shell{flex-direction:column}.sidebar{position:static;height:auto;width:100%;flex-direction:row;align-items:center;justify-content:space-between;padding:14px 18px}.sidebar-nav{flex-direction:row}.sidebar-footer{display:none}.main-content{padding:24px 18px 48px}}
