:root{--color-bg:#F5F5F7;--color-surface:#FFFFFF;--color-border:#E5E5EA;--color-border-strong:#D2D2D7;--color-divider:#F0F0F3;--color-row-alt:#FAFAFC;--color-text:#1D1D1F;--color-text-secondary:#6E6E73;--color-text-tertiary:#86868B;--color-text-quaternary:#A1A1A6;--color-brand:#00875A;--color-brand-hover:#007650;--color-brand-dot:#00C26E;--color-brand-tint:rgba(0,135,90,.08);--color-navy:#0D1F2D;--color-danger:#C21807;--color-danger-tint:rgba(255,59,48,.1);--color-warning:#A05A00;--color-warning-tint:rgba(255,149,0,.13);--color-info:#0058B0;--color-info-tint:rgba(0,113,227,.1);--color-neutral-tint:rgba(0,0,0,.05);--font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",sans-serif;--text-2xl:22px;--text-xl:20px;--text-lg:16px;--text-md:15px;--text-base:13px;--text-sm:12.5px;--text-xs:12px;--text-2xs:11px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-0.02em;--radius-sm:6px;--radius-md:7px;--radius-lg:10px;--shadow-none:none;--shadow-toggle:0 1px 2px rgba(0,0,0,.25);--blur-glass:blur(20px);--surface-glass:rgba(255,255,255,.86);--surface-glass-sidebar:rgba(243,243,246,.82);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--control-h-sm:20px;--control-h-md:28px;--control-h-input:30px;--facto-green:var(--color-brand);--facto-green-hover:var(--color-brand-hover);--facto-green-dark:#00694A;--facto-accent:var(--color-brand-dot);--facto-navy:var(--color-text);--facto-navy-2:var(--color-navy);--facto-page:var(--color-bg);--facto-surface:var(--color-bg);--facto-surface-2:var(--color-divider);--facto-white:var(--color-surface);--facto-border:var(--color-border);--facto-border-2:var(--color-border-strong);--facto-text:var(--color-text);--facto-text-2:var(--color-text-secondary);--facto-muted:var(--color-text-tertiary);--facto-success-bg:rgba(0,135,90,.1);--facto-success-text:#00694A;--facto-warning-bg:var(--color-warning-tint);--facto-warning-text:var(--color-warning);--facto-error-bg:var(--color-danger-tint);--facto-error-text:var(--color-danger);--facto-info-bg:var(--color-info-tint);--facto-info-text:var(--color-info);--font-display:var(--font-family);--font-body:var(--font-family);--facto-radius-sm:var(--radius-sm);--facto-radius:var(--radius-md);--facto-radius-lg:var(--radius-lg);--facto-radius-pill:999px;--facto-shadow-sm:none;--facto-shadow:none;--facto-ring:0 0 0 3px rgba(0,135,90,.15)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--text-base);line-height:1.5;text-rendering:optimizeLegibility}::selection{background:rgba(0,135,90,.2)}button,input,select,textarea{font-family:inherit}input::placeholder{color:var(--color-text-quaternary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#C7C7CC;border-radius:8px;border:2px solid transparent;background-clip:content-box}h1,h2,h3{font-family:var(--font-family);color:var(--color-text);margin:0 0 .5em}h1{font-size:var(--text-xl)}h1,h2{font-weight:var(--weight-semibold);letter-spacing:-.01em}h2{font-size:var(--text-lg)}h3{font-weight:var(--weight-semibold);font-size:var(--text-md)}p{margin:0 0 1em}a{color:var(--color-brand);text-decoration:none}a:hover{text-decoration:underline}.label{font-weight:var(--weight-medium);font-size:var(--text-2xs);color:var(--color-text-secondary)}.muted{color:var(--color-text-tertiary)}.num{font-weight:var(--weight-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;
  /* !important: vários inputs definem a borda no style inline (React), que
     venceria a regra de stylesheet — igual às regras locais antigas. */border-color:var(--color-brand)!important;box-shadow:var(--facto-ring)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px}.btn{font-weight:var(--weight-medium);font-size:var(--text-sm);border:1px solid transparent;border-radius:var(--radius-md);height:var(--control-h-md);padding:0 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease}.btn--primary{background:var(--color-brand);color:#fff;font-weight:var(--weight-semibold)}.btn--primary:hover{background:var(--color-brand-hover)}.btn--ghost{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn--ghost:hover{background:var(--color-bg)}.badge{display:inline-flex;align-items:center;gap:4px;height:19px;font-weight:var(--weight-semibold);font-size:var(--text-2xs);padding:0 7px;border-radius:5px;white-space:nowrap}.badge--success{background:rgba(0,135,90,.1);color:#00694A}.badge--warning{background:var(--color-warning-tint);color:var(--color-warning)}.badge--error{background:var(--color-danger-tint);color:var(--color-danger)}.badge--info{background:var(--color-info-tint);color:var(--color-info)}