:root{--color-brand-primary-blue: #0B57D0;--color-brand-primary-hover: #185ABC;--color-brand-primary-soft: #E8F0FE;--color-surface-primary: #FFFFFF;--color-surface-secondary: #F1F3F4;--color-surface-tertiary: #F8F9FA;--color-surface-elevated: #FFFFFF;--color-text-primary: #202124;--color-text-secondary: #5F6368;--color-text-tertiary: #80868B;--color-text-on-primary: #FFFFFF;--color-text-link: #1A73E8;--color-border-default: #DADCE0;--color-border-strong: #BDC1C6;--color-border-subtle: #E8EAED;--color-border-focus: #0B57D0;--color-success: #188038;--color-success-bg: #E6F4EA;--color-warning: #F29900;--color-warning-bg: #FEF7E0;--color-danger: #D93025;--color-danger-bg: #FCE8E6;--color-info: #1A73E8;--color-info-bg: #E8F0FE;--shadow-sm: 0 1px 2px 0 rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);--shadow-md: 0 1px 2px 0 rgba(60,64,67,.3), 0 2px 6px 2px rgba(60,64,67,.15);--shadow-lg: 0 4px 8px 3px rgba(60,64,67,.15), 0 1px 3px 0 rgba(60,64,67,.3);--shadow-xl: 0 8px 12px 6px rgba(60,64,67,.15), 0 4px 4px 0 rgba(60,64,67,.3);--radius-button: 20px;--radius-input: 4px;--radius-card: 8px;--radius-chip: 16px;--radius-pill: 9999px;--font-primary: "Google Sans", "Roboto", "Segoe UI", system-ui, -apple-system, sans-serif;--font-body: "Roboto", "Google Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Google Sans Mono", "Roboto Mono", "SF Mono", Menlo, Consolas, monospace;--fs-display: 44px;--fs-h1: 32px;--fs-h2: 28px;--fs-h3: 20px;--fs-body-large: 16px;--fs-body: 14px;--fs-caption: 12px;--fs-button: 14px;--fw-regular: 400;--fw-medium: 500;--fw-bold: 700;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--bg: var(--color-surface-secondary);--bg-elev: var(--color-surface-primary);--surface: var(--color-surface-primary);--surface-2: var(--color-surface-tertiary);--border: var(--color-border-default);--border-strong: var(--color-border-strong);--text: var(--color-text-primary);--text-2: var(--color-text-secondary);--muted: var(--color-text-tertiary);--muted-2: var(--color-border-strong);--primary: var(--color-brand-primary-blue);--primary-hover: var(--color-brand-primary-hover);--primary-soft: var(--color-brand-primary-soft);--danger: var(--color-danger);--danger-soft: var(--color-danger-bg);--success: var(--color-success);--success-soft: var(--color-success-bg);--warning: var(--color-warning);--warning-soft: var(--color-warning-bg);--purple: #8430CE;--r-xs: 4px;--r-sm: 4px;--r-md: 4px;--r-lg: var(--radius-card);--r-xl: var(--radius-card);--r-pill: var(--radius-pill);--sidebar-bg: var(--color-surface-primary)}:root[data-theme=dark]{--color-brand-primary-blue: #8AB4F8;--color-brand-primary-hover: #AECBFA;--color-brand-primary-soft: #1F3254;--color-surface-primary: #1F1F1F;--color-surface-secondary: #2D2E30;--color-surface-tertiary: #28292A;--color-surface-elevated: #2A2A2C;--color-text-primary: #E8EAED;--color-text-secondary: #9AA0A6;--color-text-tertiary: #80868B;--color-text-on-primary: #202124;--color-text-link: #8AB4F8;--color-border-default: #3C4043;--color-border-strong: #5F6368;--color-border-subtle: #2F3134;--color-border-focus: #8AB4F8;--color-success: #81C995;--color-success-bg: #1E3A26;--color-warning: #FDD663;--color-warning-bg: #3F2E0A;--color-danger: #F28B82;--color-danger-bg: #442624;--color-info: #8AB4F8;--color-info-bg: #1F3254;--shadow-sm: 0 1px 2px 0 rgba(0,0,0,.6), 0 1px 3px 1px rgba(0,0,0,.3);--shadow-md: 0 1px 2px 0 rgba(0,0,0,.6), 0 2px 6px 2px rgba(0,0,0,.3);--shadow-lg: 0 4px 8px 3px rgba(0,0,0,.3), 0 1px 3px 0 rgba(0,0,0,.6);--shadow-xl: 0 8px 12px 6px rgba(0,0,0,.3), 0 4px 4px 0 rgba(0,0,0,.6);--sidebar-bg: var(--color-surface-primary)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-brand-primary-blue: #8AB4F8;--color-brand-primary-hover: #AECBFA;--color-brand-primary-soft: #1F3254;--color-surface-primary: #1F1F1F;--color-surface-secondary: #2D2E30;--color-surface-tertiary: #28292A;--color-surface-elevated: #2A2A2C;--color-text-primary: #E8EAED;--color-text-secondary: #9AA0A6;--color-text-tertiary: #80868B;--color-text-on-primary: #202124;--color-text-link: #8AB4F8;--color-border-default: #3C4043;--color-border-strong: #5F6368;--color-border-subtle: #2F3134;--color-border-focus: #8AB4F8;--color-success: #81C995;--color-success-bg: #1E3A26;--color-warning: #FDD663;--color-warning-bg: #3F2E0A;--color-danger: #F28B82;--color-danger-bg: #442624;--color-info: #8AB4F8;--color-info-bg: #1F3254;--shadow-sm: 0 1px 2px 0 rgba(0,0,0,.6), 0 1px 3px 1px rgba(0,0,0,.3);--shadow-md: 0 1px 2px 0 rgba(0,0,0,.6), 0 2px 6px 2px rgba(0,0,0,.3);--shadow-lg: 0 4px 8px 3px rgba(0,0,0,.3), 0 1px 3px 0 rgba(0,0,0,.6);--shadow-xl: 0 8px 12px 6px rgba(0,0,0,.3), 0 4px 4px 0 rgba(0,0,0,.6);--sidebar-bg: var(--color-surface-primary)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);font-size:var(--fs-body);font-weight:var(--fw-regular);letter-spacing:.2px;background:var(--color-surface-secondary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app{display:grid;grid-template-columns:256px 1fr;height:100vh;background:var(--color-surface-secondary)}.sidebar{background:var(--sidebar-bg);color:var(--color-text-primary);padding:16px 0 12px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--color-border-default);position:relative}.sidebar .logo{font-family:var(--font-primary);font-weight:var(--fw-medium);font-size:22px;letter-spacing:0;padding:8px 24px 20px;margin-bottom:8px;color:var(--color-brand-primary-blue);background:none;-webkit-background-clip:unset;background-clip:unset}.sidebar button{background:transparent;border:none;color:var(--color-text-primary);text-align:left;padding:0 16px 0 24px;height:32px;margin:0 8px 0 0;border-radius:0 16px 16px 0;cursor:pointer;font-family:var(--font-primary);font-size:var(--fs-button);font-weight:var(--fw-medium);letter-spacing:.2px;display:flex;align-items:center;border-left:none!important;transition:background .15s,color .15s}.sidebar button:hover{background:var(--color-surface-tertiary);color:var(--color-text-primary)}.sidebar button.ativo{background:var(--color-brand-primary-soft);color:var(--color-brand-primary-blue)!important;font-weight:var(--fw-bold);box-shadow:none}.sidebar button.ativo .nav-icone{color:var(--color-brand-primary-blue)}.sidebar button:active{transform:none}.nav-grupo{padding:4px 0;border-bottom:1px solid var(--color-border-subtle)}.nav-grupo:last-of-type{border-bottom:none}.nav-grupo-label{font-family:var(--font-primary);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);padding:12px 24px 4px;font-weight:var(--fw-medium)}.sidebar .nav-icone{display:inline-block;width:20px;margin-right:12px;color:var(--color-text-secondary);text-align:center;font-size:15px}.sidebar .rodape{margin-top:auto;padding:12px 20px 10px;border-top:1px solid var(--color-border-subtle);font-size:var(--fs-caption);color:var(--color-text-secondary)}.rodape-nome{color:var(--color-text-primary);margin-bottom:2px;font-weight:var(--fw-medium)}.rodape-dica{font-size:11px;color:var(--color-text-tertiary);margin-bottom:10px}.rodape-sair{padding:0 12px!important;height:28px;color:var(--color-text-secondary)!important;font-size:var(--fs-caption)!important;margin-left:0!important;margin-right:0!important;border-radius:var(--radius-button)!important}.conteudo{overflow:auto;padding:32px 40px 48px;background:var(--color-surface-secondary)}.conteudo-interno{max-width:1180px;margin:0 auto}.conteudo h2{font-family:var(--font-primary);font-size:var(--fs-h2);font-weight:var(--fw-medium);letter-spacing:0;color:var(--color-text-primary);margin:0 0 24px;display:flex;align-items:center;gap:12px}.conteudo h3{font-family:var(--font-primary);font-size:var(--fs-h3);font-weight:var(--fw-medium);letter-spacing:0;color:var(--color-text-primary);margin:0 0 12px}.card{background:var(--color-surface-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-card);padding:20px;margin-bottom:16px;box-shadow:none;transition:box-shadow .2s var(--ease-out)}.card:hover{box-shadow:var(--shadow-sm)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}button,input,select,textarea{font-family:var(--font-body);color:inherit;letter-spacing:.2px}input,select,textarea{background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-input);padding:10px 12px;width:100%;color:var(--color-text-primary);transition:border-color .15s,box-shadow .15s,background .15s;font-size:var(--fs-body)}textarea{resize:vertical;min-height:72px}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-focus);border-width:2px;padding:9px 11px;box-shadow:none}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--color-brand-primary-blue);cursor:pointer}label{display:block;font-family:var(--font-primary);font-size:13px;color:var(--color-text-secondary);margin-bottom:6px;font-weight:var(--fw-medium);letter-spacing:.1px}button.btn{background:var(--color-brand-primary-blue);color:var(--color-text-on-primary);border:1px solid var(--color-brand-primary-blue);border-radius:var(--radius-button);padding:8px 24px;height:36px;font-family:var(--font-primary);font-size:var(--fs-button);font-weight:var(--fw-medium);letter-spacing:.2px;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s;box-shadow:none;display:inline-flex;align-items:center;justify-content:center}button.btn:hover{background:var(--color-brand-primary-hover);border-color:var(--color-brand-primary-hover);box-shadow:var(--shadow-sm)}button.btn:active{box-shadow:none}button.btn:disabled{opacity:.38;cursor:not-allowed}button.btn.sec{background:transparent;color:var(--color-brand-primary-blue);border:1px solid var(--color-border-default)}button.btn.sec:hover{background:var(--color-brand-primary-soft);border-color:var(--color-border-strong);box-shadow:none}button.btn.dng{background:var(--color-danger);border-color:var(--color-danger);color:#fff}button.btn.dng:hover{background:#b5261d;border-color:#b5261d}button.btn.ghost{background:transparent;color:var(--color-brand-primary-blue);border:1px solid transparent;box-shadow:none}button.btn.ghost:hover{background:var(--color-brand-primary-soft);box-shadow:none}button.btn.pill{border-radius:var(--radius-pill);padding:6px 16px;font-size:13px;height:32px}table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-body)}.card>table:first-child{margin:-4px 0}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}th{font-family:var(--font-primary);font-size:12px;color:var(--color-text-secondary);text-transform:none;letter-spacing:.1px;font-weight:var(--fw-medium);background:var(--color-surface-tertiary)}td{font-size:var(--fs-body);color:var(--color-text-primary)}tr:last-child td{border-bottom:none}tbody tr{transition:background .1s}tbody tr:hover td{background:var(--color-surface-tertiary)}tbody tr:nth-child(2n) td{background:#f1f3f459}:root[data-theme=dark] tbody tr:nth-child(2n) td{background:#2d2e3059}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-chip);font-family:var(--font-primary);font-size:11px;font-weight:var(--fw-medium);letter-spacing:.2px;text-transform:none;line-height:1.4}.badge.ok{background:var(--color-success-bg);color:var(--color-success)}.badge.warn{background:var(--color-warning-bg);color:#b06000}:root[data-theme=dark] .badge.warn{color:var(--color-warning)}.badge.err{background:var(--color-danger-bg);color:var(--color-danger)}.badge.neu{background:var(--color-surface-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--color-surface-secondary)}.login-card{background:var(--color-surface-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-card);padding:48px 40px 36px;width:448px;box-shadow:var(--shadow-sm);animation:modalIn .3s var(--ease-out)}.login-card h1{margin:0 0 28px;font-family:var(--font-primary);font-size:24px;font-weight:var(--fw-regular);letter-spacing:0;color:var(--color-text-primary);text-align:center}.login-card .erro{color:var(--color-danger);margin-top:10px;font-size:13px;padding:10px 12px;background:var(--color-danger-bg);border-radius:var(--radius-input)}progress{width:100%;height:4px;border:none;border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface-tertiary);-webkit-appearance:none;-moz-appearance:none;appearance:none}progress::-webkit-progress-bar{background:var(--color-surface-tertiary);border-radius:var(--radius-pill)}progress::-webkit-progress-value{background:var(--color-brand-primary-blue);border-radius:var(--radius-pill);transition:width .4s var(--ease-out)}progress::-moz-progress-bar{background:var(--color-brand-primary-blue);border-radius:var(--radius-pill)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.kpi{background:var(--color-surface-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-card);padding:18px 20px;box-shadow:none;transition:box-shadow .2s var(--ease-out)}.kpi:hover{box-shadow:var(--shadow-sm)}.kpi-label{font-family:var(--font-primary);font-size:12px;color:var(--color-text-secondary);text-transform:none;letter-spacing:.1px;font-weight:var(--fw-medium)}.kpi-valor{font-family:var(--font-primary);font-size:32px;font-weight:var(--fw-medium);margin-top:6px;letter-spacing:0;color:var(--color-text-primary);background:none;-webkit-background-clip:unset;background-clip:unset}.toast-wrap{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:1000;pointer-events:none}.toast{background:var(--color-text-primary);color:var(--color-surface-primary);padding:14px 18px;border-radius:var(--radius-card);box-shadow:var(--shadow-lg);max-width:380px;font-family:var(--font-body);font-size:13.5px;font-weight:var(--fw-regular);letter-spacing:.2px;cursor:pointer;pointer-events:auto;animation:toastIn .3s var(--ease-out);border:1px solid transparent;white-space:pre-line}.toast.ok{border-left:3px solid var(--color-success)}.toast.err{border-left:3px solid var(--color-danger)}.toast.info{border-left:3px solid var(--color-brand-primary-blue)}@keyframes toastIn{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#20212499;display:flex;align-items:center;justify-content:center;z-index:900;animation:fadeIn .2s ease-out}.modal{background:var(--color-surface-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-card);padding:28px;width:540px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow:auto;box-shadow:var(--shadow-xl);animation:modalIn .3s var(--ease-out)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-pass{font-size:12px;color:var(--color-text-secondary);font-weight:var(--fw-medium)}.modal-body{color:var(--color-text-secondary);line-height:1.55}.modal-body p{margin:10px 0}.modal-body code{background:var(--color-surface-tertiary);padding:2px 7px;border-radius:var(--radius-input);font-size:12.5px;font-family:var(--font-mono)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}.dica{display:inline-flex;align-items:center;gap:4px;cursor:help}.dica-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--color-surface-tertiary);border:1px solid var(--color-border-default);color:var(--color-text-secondary);font-size:10px;font-weight:var(--fw-medium);font-style:normal}.vazio{padding:60px 24px;text-align:center;color:var(--color-text-secondary)}.vazio-titulo{font-family:var(--font-primary);font-size:17px;font-weight:var(--fw-medium);color:var(--color-text-primary);margin-bottom:8px;letter-spacing:0}.vazio-desc{font-size:13.5px;max-width:420px;margin:0 auto;line-height:1.55}kbd{display:inline-block;padding:2px 7px;background:var(--color-surface-tertiary);border:1px solid var(--color-border-default);border-bottom-width:2px;border-radius:var(--radius-input);font-family:var(--font-mono);font-size:11px;color:var(--color-text-primary);font-weight:var(--fw-medium)}.conteudo pre{font-family:var(--font-mono);font-size:12.5px;line-height:1.6;background:var(--color-surface-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-input);padding:12px 14px;overflow-x:auto}.conteudo dl{margin:0}.conteudo dt{margin-top:12px;font-weight:var(--fw-medium)}.conteudo dd{margin:4px 0 0;color:var(--color-text-secondary)}.conteudo ul,.conteudo ol{padding-left:20px;line-height:1.65}.conteudo ul ul{margin-top:4px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%235F6368%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary);background-clip:padding-box;border:3px solid transparent}@media (max-width: 900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-100%);transition:transform .3s var(--ease-out);width:260px;z-index:500;box-shadow:var(--shadow-lg)}.sidebar.aberto{transform:none}.conteudo{padding:20px 16px 32px}.conteudo h2{font-size:24px}.form-grid{grid-template-columns:1fr}.kpi-valor{font-size:28px}.modal{width:calc(100vw - 24px);padding:20px}table{font-size:13px}th,td{padding:10px}}.fade-in{animation:fadeIn .25s var(--ease-out)}.slide-up{animation:slideUp .3s var(--ease-out)}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}::selection{background:var(--color-brand-primary-soft);color:var(--color-text-primary)}hr{border:none;border-top:1px solid var(--color-border-subtle);margin:24px 0}a{color:var(--color-text-link);text-decoration:none;transition:color .15s}a:hover{color:var(--color-brand-primary-hover);text-decoration:underline}.tabs,.abas,.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--color-border-default);margin-bottom:16px}.tab,.aba{background:transparent;border:none;border-bottom:2px solid transparent;padding:10px 16px;font-family:var(--font-primary);font-size:var(--fs-button);font-weight:var(--fw-medium);color:var(--color-text-secondary);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.tab:hover,.aba:hover{background:var(--color-surface-tertiary);color:var(--color-text-primary)}.tab.ativo,.aba.ativa,.tab[aria-selected=true]{color:var(--color-brand-primary-blue);border-bottom-color:var(--color-brand-primary-blue)}
