:root{--color-primary: #16243B;--color-primary-light: #21385C;--color-accent: #12B26A;--color-accent-dark: #0A7D43;--color-bg: #F4F4F0;--color-surface: #FFFFFF;--color-surface-2: #FBFBF8;--color-border: #E4E6DF;--color-border-strong: #CFD3C9;--color-text: #15202E;--color-text-muted: #5B6675;--color-error: #DC2626;--color-warning: #C77800;--color-success: #0A7D43;--color-sidebar: #16243B;--color-sidebar-2: #101B2E;--color-sidebar-text: #FFFFFF;--color-sidebar-active: #21385C;--font-display: "Archivo", "Inter", system-ui, sans-serif;--font-family: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Spline Sans Mono", "JetBrains Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.5rem;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(16, 27, 46, .06);--shadow-md: 0 8px 24px -10px rgba(16, 27, 46, .2);--shadow-lift: 0 14px 36px -16px rgba(16, 27, 46, .28);--ease: cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-family);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}h1{font-size:var(--text-3xl);font-weight:800;line-height:1.08}h2{font-size:var(--text-2xl);font-weight:700;line-height:1.15}h3{font-size:var(--text-lg);font-weight:700;line-height:1.25}a{color:var(--color-accent-dark);text-decoration:none;font-weight:500}a:hover{text-decoration:underline;text-underline-offset:2px}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:var(--text-base)}.num,.stat-value,.data-table td,.pagination-info{font-variant-numeric:tabular-nums}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.eyebrow:before{content:"";width:14px;height:2px;background:var(--color-accent)}.tick-head{position:relative;padding-left:.85rem}.tick-head:before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:3px;border-radius:2px;background:var(--color-accent)}.page-head{margin-bottom:1.5rem}.page-head h1{margin-top:.35rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--radius-md);padding:.6rem 1.15rem;font-family:var(--font-family);font-weight:600;font-size:var(--text-sm);min-height:44px;letter-spacing:.01em;transition:background .15s var(--ease),transform .12s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:3px solid rgba(18,178,106,.45);outline-offset:2px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-light);box-shadow:var(--shadow-md)}.btn-accent{background:var(--color-accent-dark);color:#fff}.btn-accent:hover:not(:disabled){background:#0c6e3c;box-shadow:var(--shadow-md)}.btn-secondary{background:#fff;border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary-light)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background:#16243b0f}.btn-sm{padding:.4rem .8rem;min-height:38px;font-size:var(--text-xs)}.btn-lg{padding:.85rem 1.5rem;min-height:52px;font-size:var(--text-base)}.btn-block{width:100%}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.5rem}.field{margin-bottom:1rem}.field-label{display:block;margin-bottom:.4rem;font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.field-required{color:var(--color-accent-dark);margin-left:2px}.field-control{width:100%;padding:.65rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;color:var(--color-text);min-height:44px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field-control::placeholder{color:#9aa3b0}input[type=date].field-control,input[type=time].field-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;height:44px;line-height:1.2;width:100%;max-width:100%;min-width:0;box-sizing:border-box;display:block}input[type=date].field-control::-webkit-date-and-time-value{text-align:left}input[type=date].field-control::-webkit-calendar-picker-indicator{margin-left:auto}.field-control:focus{outline:none;border-color:var(--color-accent-dark);box-shadow:0 0 0 3px #12b26a29}.field-control:disabled{background:var(--color-surface-2);color:var(--color-text-muted)}.field-control.has-error{border-color:var(--color-error)}.field-control.has-error:focus{box-shadow:0 0 0 3px #dc262629}.field-error{display:block;margin-top:.35rem;font-size:var(--text-xs);color:var(--color-error);font-weight:500}textarea.field-control{min-height:90px;resize:vertical}input[name=cpf],input[name=cep],input[name=phone],input[name=electoralZone],input[name=electoralSection],input[name=document],input[name=addressCep]{font-family:var(--font-mono);letter-spacing:.02em}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .6rem;border-radius:999px;font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;border:1px solid transparent}.badge-green{background:#dcfae9;color:#075e37;border-color:#b4edcd}.badge-red{background:#fde5e5;color:#991b1b;border-color:#f6c9c9}.badge-yellow{background:#fbefd3;color:#8a5400;border-color:#f2dba6}.badge-blue{background:#e2e9f4;color:#1b3a66;border-color:#c8d5ea}.badge-gray{background:#eceeea;color:#4b5563;border-color:#dcdfd8}.table-wrap{overflow-x:auto;width:100%}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th,.data-table td{text-align:left;padding:.8rem 1rem}.data-table th{color:var(--color-text-muted);font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--color-border-strong);white-space:nowrap}.data-table td{border-bottom:1px solid var(--color-border)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.clickable{cursor:pointer;transition:background .12s var(--ease)}.data-table tbody tr.clickable:hover{background:var(--color-surface-2)}.table-empty{text-align:center;color:var(--color-text-muted);padding:2.5rem 1rem}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.flex{display:flex}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-gap{display:flex;gap:.75rem;align-items:center}.flex-wrap{flex-wrap:wrap}.grid{display:grid;gap:1rem}.stat-card{display:flex;flex-direction:column;gap:.4rem;position:relative}.stat-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.stat-value{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:600;line-height:1;color:var(--color-primary);letter-spacing:-.02em}.stat-value.money{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.stat-value:after{content:"";display:block;width:28px;height:3px;margin-top:.6rem;border-radius:2px;background:var(--color-accent)}.capture-bar-pct{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:600;color:var(--color-accent-dark);font-variant-numeric:tabular-nums}.capture-bar-track{width:100%;height:10px;background:var(--color-border);border-radius:999px;overflow:hidden;margin-top:.4rem}.capture-bar-fill{height:100%;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 2px,transparent 2px 8px),var(--color-accent);transition:width .5s var(--ease)}.spinner{display:inline-block;border:3px solid rgba(22,36,59,.12);border-top-color:var(--color-accent-dark);border-radius:50%;animation:spin .7s linear infinite}.spinner-wrap{display:flex;justify-content:center;align-items:center;padding:2rem}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#101b2e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fade .15s var(--ease)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);width:100%;max-height:90vh;overflow-y:auto;animation:pop .18s var(--ease)}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:760px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-body{padding:1.5rem}.modal-close{background:transparent;border:none;font-size:1.5rem;line-height:1;color:var(--color-text-muted)}.modal-close:hover{color:var(--color-text)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toast-stack{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:2000;max-width:360px}.toast{padding:.85rem 1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;font-size:var(--text-sm);font-weight:500;border-left:4px solid rgba(255,255,255,.5);animation:slidein .2s var(--ease)}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-error)}.toast-info{background:var(--color-primary-light)}@keyframes slidein{0%{opacity:0;transform:translate(16px)}}.pagination{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-top:1.25rem}.pagination-info{color:var(--color-text-muted);font-size:var(--text-sm);font-family:var(--font-mono)}.tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem;flex-wrap:wrap}.tab{padding:.7rem 1rem;border:none;background:transparent;color:var(--color-text-muted);font-weight:600;font-size:var(--text-sm);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .12s var(--ease),border-color .12s var(--ease)}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-accent)}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(900px 500px at 15% -10%,rgba(18,178,106,.22),transparent 60%),radial-gradient(700px 500px at 110% 110%,rgba(33,56,92,.55),transparent 55%),linear-gradient(160deg,var(--color-primary) 0%,var(--color-sidebar-2) 100%);position:relative;overflow:hidden}.auth-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 64px);pointer-events:none}.auth-card{width:100%;max-width:420px;position:relative;z-index:1;padding:2rem}.auth-logo{margin-bottom:1.5rem}.auth-logo-mark{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.02em;color:var(--color-primary)}.auth-logo-mark .accent{color:var(--color-accent-dark)}:focus-visible{outline:3px solid rgba(18,178,106,.45);outline-offset:2px}@media (max-width: 767px){.hide-mobile{display:none!important}h1,.stat-value{font-size:var(--text-2xl)}.card{padding:1.15rem}.field{margin-bottom:.85rem}.mb-3{margin-bottom:1rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
