@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--text-muted);font-size:1rem}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){.spinner{animation:none;border-style:dotted}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;box-shadow:0 4px 16px #0000004d;border:1px solid;animation:toastIn .3s ease forwards;max-width:360px;line-height:1.3;background:var(--bg-card);color:var(--text);cursor:pointer}.toast-success{border-left:4px solid var(--ok);background:linear-gradient(135deg,var(--bg-card) 85%,rgba(16,185,129,.08))}.toast-success .toast-icon{color:var(--ok)}.toast-error{border-left:4px solid var(--danger);background:linear-gradient(135deg,var(--bg-card) 85%,rgba(239,68,68,.08))}.toast-error .toast-icon{color:var(--danger)}.toast-warning{border-left:4px solid var(--accent);background:linear-gradient(135deg,var(--bg-card) 85%,rgba(251,191,36,.08))}.toast-warning .toast-icon{color:var(--accent)}.toast-info{border-left:4px solid var(--brand);background:linear-gradient(135deg,var(--bg-card) 85%,rgba(59,130,246,.08))}.toast-info .toast-icon{color:var(--brand)}.toast:hover{opacity:.9}.toast-exit{animation:toastOut .25s ease forwards}.toast-icon{font-size:1.1em}.toast-message{flex:1}@keyframes toastIn{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(40px) scale(.95)}}@media (max-width: 480px){.toast-container{left:1rem;right:1rem}.toast{max-width:100%}}.sidebar{position:fixed;top:0;left:0;height:100vh;width:240px;background:var(--bg-card);border-right:1px solid var(--border);box-shadow:2px 0 10px #0003;display:flex;flex-direction:column;z-index:100;transition:width .25s ease}.sidebar-collapsed{width:64px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border);min-height:56px}.sidebar-logo{font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.15em;color:var(--brand);white-space:nowrap}.sidebar-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.sidebar-toggle:hover{color:var(--text);background:#ffffff0d}.sidebar-chevron{width:18px;height:18px;transition:transform .25s ease}.sidebar-chevron.collapsed{transform:rotate(180deg)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:4px;padding:.75rem;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:600;white-space:nowrap;transition:color .2s,background .2s;border:none;background:none;cursor:pointer;width:100%;text-align:left}.sidebar-link:hover{color:var(--text);background:#ffffff0d}.sidebar-link.active{color:var(--brand);background:#3b82f61a}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-footer{display:flex;flex-direction:column;gap:4px;padding:.75rem;border-top:1px solid var(--border)}.sidebar-user{padding:.5rem .75rem;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout{color:var(--text-muted)}.sidebar-logout:hover{color:#ef4444;background:#ef44441a}@media (max-width: 768px){.sidebar{width:64px}.sidebar-logo,.sidebar-user,.sidebar-link span,.sidebar-chevron{display:none}}.header{position:sticky;top:0;z-index:100;background:var(--bg-header);border-bottom:3px solid var(--brand);padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition);box-shadow:0 4px 20px #3b82f626}.header-scrolled{padding:.5rem 1.5rem;box-shadow:0 6px 30px #3b82f640}.header h1{font-family:var(--font-display);font-size:clamp(1rem,1.6vw,1.5rem);letter-spacing:.08em;font-weight:900;color:var(--text-heading);text-shadow:0 2px 10px rgba(0,0,0,.4);display:flex;align-items:center;gap:.75rem;text-transform:uppercase}.header h1:before{content:"";display:inline-block;width:6px;height:1.1em;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dark) 100%);border-radius:3px}.header-left{display:flex;align-items:center;gap:1rem}.header-right{display:flex;align-items:center;gap:.5rem}.date-badge{background:var(--accent);border-radius:20px;padding:.4rem .8rem;font-size:clamp(.8rem,1vw,1rem);font-weight:800;color:#000;box-shadow:0 2px 8px #fbbf244d;font-variant-numeric:tabular-nums;white-space:nowrap}.user-info{padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border)}.action-btn{display:inline-flex;align-items:center;gap:.4rem;border:none;color:#fff;border-radius:var(--radius-sm);padding:.5rem .9rem;font-size:.8rem;font-weight:700;cursor:pointer;background:var(--brand);transition:all var(--transition);font-family:var(--font);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.action-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.action-btn:active{transform:translateY(0) scale(.97)}.action-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.action-btn-save{background:var(--ok);animation:pulse-save 1.5s ease-in-out 3}.action-btn-save:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b98166}@keyframes pulse-save{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 6px #10b98100}}.action-btn-danger{background:var(--danger);border:1px solid var(--danger)}.action-btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466}.action-btn-secondary{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border)}.action-btn-secondary:hover{background:var(--border);color:var(--text);box-shadow:0 4px 12px #0003}@media (max-width: 768px){.header{padding:.5rem 1rem}.header h1{font-size:1rem;letter-spacing:.04em}.date-badge{font-size:.75rem;padding:.3rem .6rem}}.kpi-card{border-radius:var(--radius-md);padding:1rem 1.25rem;transition:all var(--transition);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.kpi-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:0 8px 30px #00000080}.kpi-card.estado-bom{border-color:var(--ok);background:linear-gradient(135deg,var(--ok-bg-strong) 0%,var(--bg-card) 100%)}.kpi-card.estado-critico{border-color:var(--danger);background:linear-gradient(135deg,var(--danger-bg-strong) 0%,var(--bg-card) 100%)}.kpi-label{display:flex;align-items:center;gap:.5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--text-muted);margin-bottom:.35rem}.kpi-label svg{width:1rem;height:1rem;fill:currentColor;opacity:.9}.kpi-value{display:block;font-family:var(--font-display);font-size:clamp(1.1rem,1.5vw,1.6rem);font-weight:900;letter-spacing:.02em;color:var(--text-heading);font-variant-numeric:tabular-nums}.kpi-subvalue{display:block;margin-top:.25rem;font-size:clamp(.7rem,.85vw,.85rem);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.kpi-card.estado-critico .kpi-value{color:var(--danger-light)}.kpi-card.estado-critico .kpi-subvalue{color:var(--danger)}.kpi-card.estado-bom .kpi-value{color:var(--ok-light)}.kpi-card.estado-bom .kpi-subvalue{color:var(--ok)}.table-wrap{min-height:0;height:100%;overflow:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-page)}table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:clamp(.8rem,.95vw,1rem)}thead th{position:sticky;top:0;z-index:2;background:var(--bg-header);font-family:var(--font-display);font-weight:800;text-align:center;color:var(--text-heading);letter-spacing:.05em;font-size:.72rem;text-transform:uppercase;border-bottom:2px solid var(--brand);border-right:1px solid var(--border);padding:.6rem .5rem}th:last-child,td:last-child{border-right:0}th:first-child{text-align:left}.sortable{cursor:pointer;user-select:none}.sortable:hover{background:#3b82f626}.sortable.sort-active{background:#3b82f640;color:var(--brand)}.sort-indicator{margin-left:.3rem}tbody tr{background:transparent;transition:background .12s ease}tbody tr:nth-child(2n){background:#ffffff05}tbody tr:hover{background:#3b82f614}td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:.5rem .4rem;line-height:1.2;text-align:center;color:var(--text);font-variant-numeric:tabular-nums}.tbody td:first-child{font-weight:800;color:var(--text-heading);text-align:left}th:nth-child(2),th:nth-child(3),th:nth-child(4),th:nth-child(5),td:nth-child(2),td:nth-child(3),td:nth-child(4),td:nth-child(5){text-align:right}.setor-cell{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.setor-badge{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .4rem;border-radius:4px;font-size:.6rem;font-weight:900;letter-spacing:.05em;line-height:1;border:1px solid;text-transform:uppercase}.badge-melhor{color:var(--ok);background:var(--ok-bg);border-color:var(--ok)}.badge-critico{color:var(--danger);background:var(--danger-bg);border-color:var(--danger)}.status-positivo{color:var(--ok-light);font-weight:700}.status-negativo{color:var(--danger-light);font-weight:700}.diferenca-seta{display:inline-block;font-size:1em;font-weight:900;margin-left:.2rem;vertical-align:-.02em}.cell-input{width:100%;border:1px solid transparent;background:transparent;text-align:right;font:inherit;color:var(--text);font-weight:700;padding:.15rem .35rem;border-radius:4px;transition:all .12s ease;font-variant-numeric:tabular-nums}.cell-input:focus{outline:none;border-color:var(--brand);background:#3b82f626;box-shadow:0 0 0 3px #3b82f633}.cell-ok{border-color:var(--ok);background:#10b98126}.cell-error{border-color:var(--danger);background:#ef444426}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--border) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-kpi{background:var(--bg-card);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;min-width:200px}.skeleton-table{display:flex;flex-direction:column;gap:.5rem}.skeleton-table-header,.skeleton-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:1rem;padding:.75rem;align-items:center}.skeleton-table-header{border-bottom:1px solid var(--border)}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.dashboard{width:100%;max-width:100%;min-height:100vh;margin:0;padding:0 0 2rem;display:flex;flex-direction:column;gap:1.25rem;overflow-x:hidden}.dashboard>section,.dashboard>div:not(.header){padding-left:1.5rem;padding-right:1.5rem}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.content-grid{min-height:0;display:grid;grid-template-columns:1fr;animation:fadeInUp .5s .2s ease forwards;opacity:1}.card{border-radius:var(--radius-md);display:flex;flex-direction:column;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--brand);box-shadow:var(--shadow-card)}.card h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--brand);display:flex;align-items:center;gap:.5rem}.card h2:before{content:"";display:inline-block;width:4px;height:.9em;background:var(--accent);border-radius:2px}.tabela-card{min-height:400px}.rodape-exportacao{text-align:center;padding:.5rem 1rem;font-size:.75rem;color:var(--text-muted);font-family:var(--font);letter-spacing:.05em;font-weight:600;opacity:.7}.export-loading{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);z-index:1000}.spinner-small{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state p{font-size:1rem;color:var(--text);margin-bottom:.5rem}.empty-state .empty-sub{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.empty-state .empty-hint{color:var(--text-muted);font-size:.85rem;font-style:italic}.empty-state .btn-primary{display:inline-block}@media (max-width: 1300px){.dashboard{padding:.5rem 0 1rem}.kpis{gap:.75rem}}@media (max-width: 900px){.kpis{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media (max-width: 600px){.kpis{grid-template-columns:1fr;gap:.4rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--bg-page)}.login-card{width:100%;max-width:420px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:0 20px 60px #0006;padding:2rem;animation:fadeInUp .5s ease}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-family:var(--font-display);font-size:1.75rem;font-weight:900;color:var(--text-heading);margin:0 0 .5rem;letter-spacing:.05em}.login-header p{color:var(--text-muted);font-size:.9rem;margin:0}.login-card form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-group input{padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text);font-family:var(--font);font-size:.95rem;transition:all var(--transition)}.form-group input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #3b82f633}.form-group input::placeholder{color:var(--text-muted);opacity:.7}.login-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-family:var(--font);font-size:1rem;font-weight:700;cursor:pointer;transition:all var(--transition);text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.login-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.login-btn:active:not(:disabled){transform:translateY(0) scale(.97)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:.85rem;margin-bottom:1rem}.login-success{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#10b9811a;border:1px solid var(--ok);border-radius:var(--radius-sm);color:var(--ok);font-size:.85rem;margin-bottom:1rem}.login-footer{margin-top:1.5rem;text-align:center;padding-top:1rem;border-top:1px solid var(--border)}.login-footer p{color:var(--text-muted);font-size:.85rem}.toggle-btn{background:none;border:none;color:var(--brand);font-family:var(--font);font-size:.85rem;font-weight:700;cursor:pointer;padding:.25rem .5rem;margin-left:.5rem;transition:color var(--transition)}.toggle-btn:hover{color:#60a5fa;text-decoration:underline}@media (max-width: 480px){.login-container{padding:1rem}.login-card{padding:1.5rem}.login-header h1{font-size:1.5rem}}.field-error{display:block;color:var(--danger, #ef4444);font-size:.75rem;margin-top:.25rem}.form-group input:invalid:not(:placeholder-shown){border-color:var(--danger, #ef4444)}@media (prefers-reduced-motion: reduce){.login-card{animation:none}}.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--danger);text-align:center;padding:2rem}.error h2{font-size:1.5rem;margin:0}.error p{font-size:1rem;margin:0}.error-btn{margin-top:1rem;padding:.75rem 1.5rem;background:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);font-weight:600;font-size:.9rem;transition:all var(--transition)}.error-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.error-btn:active{transform:translateY(0) scale(.97)}.history-page{min-height:100vh;display:flex;flex-direction:column}.history-loading{flex:1}.history-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:0 1.5rem;margin-bottom:1.5rem}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}.summary-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.summary-value{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--text-heading);font-variant-numeric:tabular-nums}.summary-negative .summary-value{color:var(--danger-light)}.summary-positive .summary-value{color:var(--ok-light)}.history-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center;padding:2rem}.empty-icon{font-size:3rem;margin-bottom:.5rem}.history-empty h2{font-size:1.25rem;font-weight:700;color:var(--text-heading);margin:0}.history-empty p{color:var(--text-muted);font-size:.9rem;margin:0;max-width:400px}.history-list{display:flex;flex-direction:column;gap:.75rem;padding:0 1.5rem 2rem}.history-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;cursor:pointer;transition:all var(--transition)}.history-item:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.history-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.item-date{display:flex;align-items:baseline;gap:.5rem}.date-day{font-family:var(--font-display);font-size:1.75rem;font-weight:900;color:var(--text-heading);line-height:1}.date-meta{display:flex;flex-direction:column;gap:0}.date-month{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:capitalize}.date-year{font-size:.75rem;color:var(--text-muted);opacity:.7}.item-status{padding:.3rem .7rem;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.status-acima{background:var(--danger-bg);color:var(--danger-light)}.status-abaixo{background:var(--ok-bg);color:var(--ok-light)}.status-ok{background:#3b82f61a;color:var(--brand)}.item-values{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.value-col{flex:1;display:flex;flex-direction:column;gap:.2rem}.value-divider{width:1px;height:2.5rem;background:var(--border);flex-shrink:0}.value-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.value-amount{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--text-heading);font-variant-numeric:tabular-nums}.value-negative .value-amount{color:var(--danger-light)}.value-positive .value-amount{color:var(--ok-light)}.item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.item-sectors{font-size:.75rem;color:var(--text-muted);font-weight:500}.item-arrow{color:var(--text-muted);font-size:.9rem;transition:transform .2s}.history-item:hover .item-arrow{transform:translate(4px);color:var(--brand)}@media (max-width: 768px){.history-summary{grid-template-columns:repeat(2,1fr);padding:0 1rem}.history-list{padding:0 1rem 2rem}.item-values{flex-direction:column;gap:.5rem}.value-divider{width:100%;height:1px}}@media (max-width: 480px){.history-summary{grid-template-columns:1fr}.date-day{font-size:1.5rem}.summary-value{font-size:1rem}}.chart-wrap{height:300px;width:100%}.reports{display:flex;flex-direction:column;gap:1.25rem}.reports-header{display:flex;align-items:center;padding:1rem 1.5rem}.reports-header h1{font-family:var(--font-display);font-size:1.1rem;font-weight:800;letter-spacing:.08em;color:var(--text);display:flex;align-items:center;gap:.5rem;margin:0}.reports-filters{display:flex;align-items:flex-end;gap:1rem;padding:0 1.5rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-group label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.filter-group input[type=date]{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.85rem;outline:none;transition:border-color .2s}.filter-group input[type=date]:focus{border-color:var(--brand)}.reports-empty{text-align:center;padding:3rem 1.5rem;color:var(--text-muted);font-size:.9rem}.reports-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 1.5rem}.report-kpi-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.report-kpi-icon{width:36px;height:36px;flex-shrink:0;color:var(--brand)}.report-kpi-icon svg{width:100%;height:100%}.report-kpi-info{display:flex;flex-direction:column;gap:.15rem}.report-kpi-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.report-kpi-value{font-size:1.1rem;font-weight:800;color:var(--text);font-family:var(--font-display)}.reports-chart-section{padding:0 1.5rem}.reports-chart-section .card{border-radius:var(--radius-md);padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--brand);box-shadow:var(--shadow-card)}.reports-chart-section .card h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--brand);display:flex;align-items:center;gap:.5rem}.reports-chart-section .card h2:before{content:"";display:inline-block;width:4px;height:.9em;background:var(--accent);border-radius:2px}.reports-table-section{padding:0 1.5rem}.reports-table-section .card{border-radius:var(--radius-md);padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--brand);box-shadow:var(--shadow-card)}.reports-table-section .card h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--brand);display:flex;align-items:center;gap:.5rem}.reports-table-section .card h2:before{content:"";display:inline-block;width:4px;height:.9em;background:var(--accent);border-radius:2px}.reports-table-wrap{overflow-x:auto}.reports-table{width:100%;border-collapse:collapse;font-size:.85rem}.reports-table th{text-align:left;padding:.625rem .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border)}.reports-table td{padding:.625rem .75rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text)}.reports-table tbody tr:hover{background:#ffffff05}.align-right{text-align:right}.status-neutro{color:var(--text-muted)}@media (max-width: 1300px){.reports-kpis{gap:.75rem}}@media (max-width: 900px){.reports-kpis{grid-template-columns:repeat(2,1fr)}.reports-filters{flex-direction:column;align-items:stretch}}@media (max-width: 600px){.reports-kpis{grid-template-columns:1fr}}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:0 20px 60px #00000080;width:90%;max-width:450px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid var(--border)}.modal-header h2{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-heading);margin:0}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s ease}.modal-close:hover{color:var(--text-heading)}.modal-close:focus{outline:none;color:var(--brand)}.modal-body{padding:1.25rem;color:var(--text);font-size:.95rem;line-height:1.6;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border)}.btn-danger{display:inline-flex;align-items:center;gap:.5rem;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;font-family:var(--font);transition:all var(--transition);white-space:nowrap;background:var(--danger);color:#fff;border:1px solid var(--danger)}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef444466}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-danger:active:not(:disabled){transform:translateY(0) scale(.97)}.users-page{display:flex;flex-direction:column;gap:1.25rem}.users-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem}.users-header h1{font-family:var(--font-display);font-size:1.1rem;font-weight:800;letter-spacing:.08em;color:var(--text);display:flex;align-items:center;gap:.5rem;margin:0}.users-table-section{padding:0 1.5rem}.users-table-section .card{border-radius:var(--radius-md);padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--brand);box-shadow:var(--shadow-card)}.users-table-wrap{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:.85rem}.users-table th{text-align:left;padding:.625rem .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border)}.users-table td{padding:.75rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text)}.users-table tbody tr:hover{background:#ffffff05}.role-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.role-admin{background:#3b82f626;color:#60a5fa}.role-user{background:#94a3b826;color:#94a3b8}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .15s ease}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;width:min(90vw,440px);box-shadow:0 20px 60px #00000080}.modal-content h2{margin:0 0 1.25rem;font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--text)}@media (max-width: 768px){.users-header{flex-direction:column;gap:.75rem;align-items:flex-start}}.departamentos-page{padding:1.5rem}.departamentos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.departamentos-header h1{font-family:var(--font-display);font-size:clamp(1rem,1.6vw,1.5rem);letter-spacing:.08em;font-weight:900;color:var(--text-heading);display:flex;align-items:center;gap:.75rem;text-transform:uppercase}.departamentos-table-section .card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--brand);box-shadow:var(--shadow-card);padding:1.25rem}.departamentos-table-wrap{overflow-x:auto}.departamentos-table{width:100%;border-collapse:collapse}.departamentos-table th{text-align:left;padding:.75rem;font-size:.75rem;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.departamentos-table td{padding:.75rem;font-size:.85rem;color:var(--text);border-bottom:1px solid var(--border)}.departamentos-table tr:last-child td{border-bottom:none}.departamentos-table tr:hover td{background:#ffffff05}.row-inactive td{opacity:.5}.dep-nome{font-weight:600}.dep-meta{font-variant-numeric:tabular-nums;font-weight:600}.status-toggle{border:none;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s}.status-toggle.active{background:var(--ok-bg);color:var(--ok)}.status-toggle.inactive{background:var(--danger-bg);color:var(--danger)}.status-toggle:hover{transform:scale(1.05)}@media (max-width: 768px){.departamentos-header{flex-direction:column;align-items:flex-start;gap:1rem}.departamentos-table th,.departamentos-table td{padding:.5rem;font-size:.8rem}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;width:100%;max-width:480px;box-shadow:0 20px 60px #00000080}.modal-content h2{font-size:1.1rem;font-weight:700;color:var(--text-heading);margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-page: #0b1525;--bg-card: #151e30;--bg-header: #0f172a;--border: #1e3a5f;--border-light: #2d4a6f;--text: #f1f5f9;--text-muted: #94a3b8;--text-heading: #ffffff;--brand: #3b82f6;--brand-border: #1d4ed8;--accent: #fbbf24;--accent-dark: #d97706;--ok: #10b981;--ok-light: #34d399;--ok-bg: rgba(16, 185, 129, .15);--ok-bg-strong: rgba(16, 185, 129, .25);--danger: #ef4444;--danger-light: #f87171;--danger-bg: rgba(239, 68, 68, .15);--danger-bg-strong: rgba(239, 68, 68, .25);--warn-bg: rgba(251, 191, 36, .15);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Inter", sans-serif;--radius: 8px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--transition: .2s ease;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--surface: var(--bg-card);--surface-hover: var(--border)}html{transition:background .4s ease;font-size:16px}html,body{width:100%;min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg-page);background-attachment:fixed}body{overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:#3b82f64d;color:var(--text-heading)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}a{color:var(--brand);text-decoration:none;transition:color var(--transition)}a:hover{color:#60a5fa}button{font-family:var(--font)}img{max-width:100%;height:auto}.app-layout{display:flex;min-height:100vh;overflow-x:hidden}.main-content{flex:1;margin-left:240px;min-height:100vh;overflow-x:hidden;transition:margin-left .25s ease}@media (max-width: 768px){.main-content{margin-left:64px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.2rem;background:var(--brand);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;font-family:var(--font);cursor:pointer;transition:all var(--transition);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-primary:active{transform:translateY(0) scale(.97)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.2rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--transition)}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.03em}.form-group input,.form-group select{width:100%;padding:.6rem .8rem;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;font-family:var(--font);transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--brand)}.field-error{display:block;color:var(--danger);font-size:.75rem;margin-top:.25rem}.action-btn-sm{width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;background:transparent}.action-btn-sm svg{width:16px;height:16px}.action-btn-sm.edit{color:var(--brand)}.action-btn-sm.edit:hover{background:#3b82f61a}.action-btn-sm.delete{color:var(--danger)}.action-btn-sm.delete:hover{background:var(--danger-bg)}.actions-cell{display:flex;gap:.5rem}.status-positivo,.positive{color:var(--ok-light)}.status-negativo,.negative{color:var(--danger-light)}.empty-row{text-align:center;color:var(--text-muted);padding:2rem!important}.title-bar{display:inline-block;width:6px;height:1.1em;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dark) 100%);border-radius:3px}
