/* Temas públicos white-label. A landing e o tema são configurações independentes. */
html[data-public-theme] {
  --background-primary: var(--bg);
  --background-secondary: var(--surface-soft);
  --background-elevated: var(--surface);
  --background-strong: var(--surface-strong);
  --text-primary: var(--text);
  --text-secondary: var(--muted);
  --text-muted: var(--muted-2);
  --border-default: var(--line);
  --border-strong: var(--line-strong);
  --accent-primary: var(--brand);
  --accent-hover: var(--brand-dark);
  --accent-soft: var(--brand-soft);
  --focus-ring: color-mix(in srgb, var(--accent-primary) 48%, transparent);
  --status-success: var(--success);
  --status-warning: var(--warning);
  --status-error: var(--danger);
  --status-info: var(--info);
  --public-logo-text: var(--text-primary);
  --public-copy: var(--text-secondary);
  --public-card: var(--background-elevated);
  --public-input: var(--background-elevated);
  --public-header: color-mix(in srgb, var(--background-elevated) 92%, transparent);
  --public-footer: var(--background-elevated);
  --public-overlay: color-mix(in srgb, var(--background-elevated) 97%, transparent);
}

html[data-public-theme="theme1"] {
  color-scheme: light;
  --bg: #f4f8fa;
  --surface: #ffffff;
  --surface-soft: #edf4f6;
  --surface-strong: #dfe9ed;
  --text: #102632;
  --muted: #4f6572;
  --muted-2: #61737d;
  --line: #cfdae0;
  --line-strong: #acbec8;
  --brand: #0b6b61;
  --brand-dark: #07524b;
  --brand-soft: #dff5f0;
  --accent: #b7651d;
  --accent-soft: #fff0df;
  --danger: #b42318;
  --danger-soft: #ffebe9;
  --warning: #8a4b00;
  --warning-soft: #fff0d5;
  --success: #087454;
  --success-soft: #e0f6ed;
  --info: #185fa7;
  --info-soft: #e8f2ff;
  --shadow-sm: 0 2px 14px rgba(16, 38, 50, .06);
  --shadow-md: 0 24px 58px rgba(16, 38, 50, .13);
}

html[data-public-theme="theme2"] {
  color-scheme: dark;
  --bg: #020203;
  --surface: #090a0c;
  --surface-soft: #101216;
  --surface-strong: #181b20;
  --text: #fafafa;
  --muted: #c5c8ce;
  --muted-2: #969ba4;
  --line: #272a30;
  --line-strong: #3b3f47;
  --brand: #5eead4;
  --brand-dark: #8ff3e4;
  --brand-soft: #0d2d29;
  --accent: #ffd27a;
  --accent-soft: #332814;
  --danger: #ff918b;
  --danger-soft: #3a181d;
  --warning: #ffd27a;
  --warning-soft: #332814;
  --success: #72e8b8;
  --success-soft: #103027;
  --info: #a9c7ff;
  --info-soft: #14233d;
  --shadow-sm: 0 8px 24px rgba(0, 0, 0, .42);
  --shadow-md: 0 28px 70px rgba(0, 0, 0, .68);
  --public-header: rgba(2, 2, 3, .96);
  --public-footer: #000000;
  --public-overlay: rgba(9, 10, 12, .99);
}

html[data-public-theme="theme3"] {
  color-scheme: light;
  --bg: #f8f5ff;
  --surface: #ffffff;
  --surface-soft: #f1ebff;
  --surface-strong: #e6dcfb;
  --text: #241433;
  --muted: #60536e;
  --muted-2: #766980;
  --line: #d9cdef;
  --line-strong: #baa7dd;
  --brand: #6536c7;
  --brand-dark: #492091;
  --brand-soft: #eadfff;
  --accent: #c65b2a;
  --accent-soft: #ffeadf;
  --danger: #a92732;
  --danger-soft: #ffeaed;
  --warning: #875100;
  --warning-soft: #fff0d2;
  --success: #18745b;
  --success-soft: #e3f6ee;
  --info: #4c52b8;
  --info-soft: #eaeaff;
  --shadow-sm: 0 5px 18px rgba(72, 36, 129, .08);
  --shadow-md: 0 26px 64px rgba(72, 36, 129, .17);
  --radius: 1.25rem;
  --radius-lg: 1.7rem;
}

html[data-public-theme] body {
  background: var(--background-primary);
  color: var(--text-primary);
}
html[data-public-theme="theme2"] body {
  background:
    radial-gradient(circle at 12% 0%, rgba(94, 234, 212, .055), transparent 28rem),
    radial-gradient(circle at 88% 18%, rgba(117, 128, 255, .035), transparent 30rem),
    var(--background-primary);
}
html[data-public-theme="theme3"] body {
  background:
    radial-gradient(circle at 8% 7%, rgba(101, 54, 199, .08), transparent 26rem),
    radial-gradient(circle at 92% 18%, rgba(198, 91, 42, .10), transparent 26rem),
    var(--background-primary);
}

html[data-public-theme] .logo { min-width: 0; color: var(--public-logo-text); }
html[data-public-theme] .logo-text,
html[data-public-theme] .white-label-brand-name {
  display: inline-block;
  min-width: 0;
  max-width: min(28vw, 330px);
  overflow: hidden;
  color: var(--public-logo-text);
  font-size: clamp(.88rem, .35vw + .82rem, 1.05rem);
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-public-theme] .white-label-logo { flex: 0 0 auto; display: block; max-width: 4.1rem; max-height: 3.05rem; width: auto; height: auto; object-fit: contain; }
html[data-public-theme] .footer-company .white-label-brand-name { max-width: min(48vw, 390px); }
html[data-public-theme] .footer-company .white-label-logo { max-width: 4.7rem; max-height: 3.6rem; }
html[data-public-theme] .auth-brand .white-label-brand-name { color: #fff; }

html[data-public-theme] .site-header,
html[data-public-theme] .register-header {
  background: var(--public-header);
  border-color: var(--border-default);
}
html[data-public-theme] .site-nav a { color: var(--text-secondary); }
html[data-public-theme] .site-nav a:hover,
html[data-public-theme] .site-nav a:focus-visible { color: var(--accent-primary); }
html[data-public-theme] .site-nav.mobile-open { background: var(--public-overlay); border-color: var(--border-default); }

html[data-public-theme] .lead,
html[data-public-theme] .muted,
html[data-public-theme] .feature-card p,
html[data-public-theme] .faq-answer,
html[data-public-theme] .feature-list,
html[data-public-theme] .footer-company-copy,
html[data-public-theme] .footer-links,
html[data-public-theme] .footer-bottom,
html[data-public-theme] .footer-business-data,
html[data-public-theme] .form-hint,
html[data-public-theme] .checkbox,
html[data-public-theme] .preview-subtitle,
html[data-public-theme] .preview-row-meta { color: var(--text-secondary); }

html[data-public-theme] .card,
html[data-public-theme] .auth-card,
html[data-public-theme] .faq-item,
html[data-public-theme] .search-panel,
html[data-public-theme] .result-panel,
html[data-public-theme] .modal,
html[data-public-theme] .register-section,
html[data-public-theme] .agreement-box,
html[data-public-theme] .coverage-card,
html[data-public-theme] .dropdown-menu,
html[data-public-theme] .data-table-wrap {
  background: var(--background-elevated);
  color: var(--text-primary);
  border-color: var(--border-default);
}
html[data-public-theme] .surface-soft,
html[data-public-theme] .result-item,
html[data-public-theme] .preview-content,
html[data-public-theme] .preview-body,
html[data-public-theme] .company-detail { background: var(--background-secondary); border-color: var(--border-default); }

html[data-public-theme] .input,
html[data-public-theme] .select,
html[data-public-theme] .textarea {
  background: var(--public-input);
  color: var(--text-primary);
  border-color: var(--border-strong);
}
html[data-public-theme] .input::placeholder,
html[data-public-theme] .textarea::placeholder { color: var(--text-muted); opacity: 1; }
html[data-public-theme] .input:hover,
html[data-public-theme] .select:hover,
html[data-public-theme] .textarea:hover { border-color: color-mix(in srgb, var(--accent-primary) 52%, var(--border-strong)); }
html[data-public-theme] .input:focus,
html[data-public-theme] .select:focus,
html[data-public-theme] .textarea:focus { border-color: var(--accent-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent-primary) 17%, transparent); }
html[data-public-theme] .form-label,
html[data-public-theme] .label,
html[data-public-theme] .faq-question,
html[data-public-theme] .preview-row-title { color: var(--text-primary); }
html[data-public-theme] input:-webkit-autofill { -webkit-text-fill-color: var(--text-primary); -webkit-box-shadow: 0 0 0 1000px var(--public-input) inset; caret-color: var(--text-primary); }

html[data-public-theme] .btn-primary { background: var(--accent-primary); color: #fff; box-shadow: 0 10px 24px color-mix(in srgb, var(--accent-primary) 22%, transparent); }
html[data-public-theme] .btn-primary:hover { background: var(--accent-hover); }
html[data-public-theme="theme2"] .btn-primary { color: #041814; }
html[data-public-theme] .btn-secondary,
html[data-public-theme] .icon-button,
html[data-public-theme] .menu-button { background: var(--background-elevated); color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .btn-secondary:hover,
html[data-public-theme] .icon-button:hover,
html[data-public-theme] .menu-button:hover { background: var(--background-secondary); border-color: var(--border-strong); }
html[data-public-theme] .btn-soft { background: var(--brand-soft); color: var(--accent-hover); }
html[data-public-theme] .btn:disabled,
html[data-public-theme] input:disabled,
html[data-public-theme] select:disabled,
html[data-public-theme] textarea:disabled { opacity: .58; cursor: not-allowed; }

html[data-public-theme] .badge-success { background: var(--success-soft); color: var(--status-success); }
html[data-public-theme] .badge-warning { background: var(--warning-soft); color: var(--status-warning); }
html[data-public-theme] .badge-danger { background: var(--danger-soft); color: var(--status-error); }
html[data-public-theme] .badge-info { background: var(--info-soft); color: var(--status-info); }
html[data-public-theme] .badge-neutral,
html[data-public-theme] .pill { background: var(--background-strong); color: var(--text-secondary); }
html[data-public-theme] .alert { border-color: var(--border-default); }
html[data-public-theme] .alert-info { background: var(--info-soft); color: var(--status-info); }
html[data-public-theme] .alert-warning { background: var(--warning-soft); color: var(--status-warning); }
html[data-public-theme] .alert-danger { background: var(--danger-soft); color: var(--status-error); }
html[data-public-theme] .alert-success { background: var(--success-soft); color: var(--status-success); }

html[data-public-theme] .data-table th { color: var(--text-secondary); background: var(--background-secondary); border-color: var(--border-default); }
html[data-public-theme] .data-table td { color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .data-table tbody tr:hover { background: color-mix(in srgb, var(--accent-primary) 7%, var(--background-elevated)); }
html[data-public-theme] .pagination button,
html[data-public-theme] .tab-button { background: var(--background-elevated); color: var(--text-secondary); border-color: var(--border-default); }
html[data-public-theme] .pagination button.active,
html[data-public-theme] .tab-button.active { background: var(--brand-soft); color: var(--accent-hover); border-color: var(--accent-primary); }
html[data-public-theme] .tooltip,
html[data-public-theme] [role="tooltip"] { background: var(--text-primary); color: var(--background-elevated); }

html[data-public-theme] .billing-toggle { background: var(--background-secondary); border-color: var(--border-default); }
html[data-public-theme] .billing-toggle button { color: var(--text-secondary); }
html[data-public-theme] .billing-toggle button.active { background: var(--background-elevated); color: var(--text-primary); box-shadow: var(--shadow-sm); }
html[data-public-theme] .price-card.popular { border-color: var(--accent-primary); }
html[data-public-theme] .popular-label { background: var(--accent-primary); color: #fff; }
html[data-public-theme="theme2"] .popular-label { color: #041814; }

html[data-public-theme] .site-footer { background: var(--public-footer); color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .site-footer a:hover { color: var(--accent-primary); }
html[data-public-theme] .footer-highlight { background: var(--brand-soft); color: var(--accent-hover); border-left-color: var(--accent-primary); }
html[data-public-theme="theme2"] .site-footer .logo-text,
html[data-public-theme="theme2"] .site-footer .white-label-brand-name,
html[data-public-theme="theme2"] .site-footer .title-sm,
html[data-public-theme="theme2"] .site-footer .footer-company-title { color: #f7f9fc; }
html[data-public-theme="theme2"] .site-footer .footer-company-copy,
html[data-public-theme="theme2"] .site-footer .footer-links,
html[data-public-theme="theme2"] .site-footer .footer-bottom,
html[data-public-theme="theme2"] .site-footer .footer-business-data { color: #bbc9da; }
html[data-public-theme="theme2"] .site-footer .footer-business-data a { color: #86f1df; }
html[data-public-theme="theme3"] .site-footer { background: #29194a; color: #fbf9ff; border-color: #493071; }
html[data-public-theme="theme3"] .site-footer .logo-text,
html[data-public-theme="theme3"] .site-footer .white-label-brand-name,
html[data-public-theme="theme3"] .site-footer .title-sm,
html[data-public-theme="theme3"] .site-footer .footer-company-title { color: #fbf9ff; }
html[data-public-theme="theme3"] .site-footer .footer-company-copy,
html[data-public-theme="theme3"] .site-footer .footer-links,
html[data-public-theme="theme3"] .site-footer .footer-bottom,
html[data-public-theme="theme3"] .site-footer .footer-business-data { color: #d8ccea; }

html[data-public-theme] .cookie-consent { background: var(--public-overlay); color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .cookie-consent-copy strong { color: var(--text-primary); }
html[data-public-theme] .simple-auth-main,
html[data-public-theme] .register-page,
html[data-public-theme] .auth-main,
html[data-public-theme] .auth-page { background: var(--background-primary); }
html[data-public-theme="theme2"] .auth-brand { background: linear-gradient(145deg, #020203, #11151a); }
html[data-public-theme="theme3"] .auth-brand { background: linear-gradient(145deg, #4c238d, #7441c1); }
html[data-public-theme] .legal-page { background: var(--background-primary); }
html[data-public-theme] .legal-hero { background: var(--background-secondary); border-color: var(--border-default); }
html[data-public-theme] .legal-content { background: var(--background-elevated); border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: clamp(1.3rem, 4vw, 3rem); margin-block: 2rem; }
html[data-public-theme] .legal-content p,
html[data-public-theme] .legal-content li { color: var(--text-secondary); }
html[data-public-theme] .legal-content h2,
html[data-public-theme] .legal-content h3 { color: var(--text-primary); }

html[data-public-theme] :focus-visible { outline-color: color-mix(in srgb, var(--accent-primary) 55%, transparent); }
html[data-public-theme] ::selection { background: color-mix(in srgb, var(--accent-primary) 24%, transparent); }

@media (max-width: 900px) {
  html[data-public-theme] .logo-text,
  html[data-public-theme] .white-label-brand-name { max-width: 44vw; }
}
@media (max-width: 620px) {
  html[data-public-theme] .logo { gap: .5rem; }
  html[data-public-theme] .logo-text,
  html[data-public-theme] .white-label-brand-name { max-width: 46vw; font-size: .88rem; }
  html[data-public-theme] .white-label-logo { max-width: 2.8rem; max-height: 2.55rem; }
  html[data-public-theme] .legal-content { margin-block: 1rem; padding: 1.1rem; border-radius: 1.2rem; }
}
@media (prefers-contrast: more) {
  html[data-public-theme] .btn,
  html[data-public-theme] .card,
  html[data-public-theme] .input,
  html[data-public-theme] .select,
  html[data-public-theme] .textarea { border-width: 2px; }
}

/* Aplicação autenticada e administração: os mesmos tokens evitam contraste quebrado. */
html[data-public-theme] .app-shell,
html[data-public-theme] .app-main,
html[data-public-theme] .app-content { background: var(--background-primary); color: var(--text-primary); }
html[data-public-theme] .app-sidebar { background: var(--background-elevated); color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .app-topbar { background: var(--public-header); color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .sidebar-label,
html[data-public-theme] .topbar-title span,
html[data-public-theme] .page-head p,
html[data-public-theme] .kpi-top,
html[data-public-theme] .kpi-note,
html[data-public-theme] .action-item span,
html[data-public-theme] .user-mini span,
html[data-public-theme] .empty-state p { color: var(--text-secondary); }
html[data-public-theme] .nav-link { color: var(--text-secondary); }
html[data-public-theme] .nav-link:hover { background: var(--background-secondary); color: var(--text-primary); }
html[data-public-theme] .nav-link.active { background: var(--brand-soft); color: var(--accent-hover); }
html[data-public-theme] .nav-icon { background: var(--background-strong); color: var(--text-secondary); }
html[data-public-theme] .nav-link.active .nav-icon { background: var(--background-elevated); color: var(--accent-primary); }
html[data-public-theme] .user-mini,
html[data-public-theme] .tabs,
html[data-public-theme] .setting-list,
html[data-public-theme] .address-card,
html[data-public-theme] .coverage-card { background: var(--background-elevated); color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .avatar,
html[data-public-theme] .kpi-icon,
html[data-public-theme] .empty-icon { background: var(--brand-soft); color: var(--accent-hover); }
html[data-public-theme] .privacy-mini,
html[data-public-theme] .kpi-card-button[aria-expanded="true"] { background: var(--brand-soft); color: var(--accent-hover); }
html[data-public-theme] .tab { color: var(--text-secondary); }
html[data-public-theme] .tab.active { background: var(--background-elevated); color: var(--text-primary); }
html[data-public-theme] .data-table tbody tr:hover { background: color-mix(in srgb, var(--accent-primary) 7%, var(--background-elevated)); }
html[data-public-theme] .fiscal-banner { background: var(--success-soft); border-color: color-mix(in srgb, var(--status-success) 32%, var(--border-default)); color: var(--text-primary); }
html[data-public-theme] .fiscal-banner.disconnected { background: var(--background-elevated); border-color: var(--border-default); }
html[data-public-theme] .score-ring { background: conic-gradient(var(--accent-primary) calc(var(--score) * 1%), var(--background-strong) 0); }
html[data-public-theme] .score-ring::after { background: var(--background-elevated); }
html[data-public-theme] .code-box { background: color-mix(in srgb, var(--text-primary) 94%, #000); color: var(--background-elevated); border: 1px solid var(--border-strong); }
html[data-public-theme] .modal-backdrop { background: color-mix(in srgb, #000 62%, transparent); }
html[data-public-theme] .modal-head,
html[data-public-theme] .modal-foot { border-color: var(--border-default); }
html[data-public-theme] .toast { background: var(--text-primary); color: var(--background-elevated); }
html[data-public-theme] .toast.success { background: var(--status-success); color: var(--background-elevated); }
html[data-public-theme="theme2"] .toast.success { color: #041814; }
html[data-public-theme] .skeleton { background: linear-gradient(90deg, var(--background-secondary) 25%, var(--background-elevated) 37%, var(--background-secondary) 63%); background-size: 400% 100%; }
html[data-public-theme] .company-theme-option,
html[data-public-theme] .company-landing-option,
html[data-public-theme] .cnpj-stock-card,
html[data-public-theme] .admin-plan-price { background: var(--background-secondary); color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .company-theme-option:has(input:checked),
html[data-public-theme] .company-landing-option:has(input:checked),
html[data-public-theme] .cnpj-stock-card.is-selected,
html[data-public-theme] .cnpj-stock-card[aria-checked="true"] { background: var(--brand-soft); border-color: var(--accent-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-primary) 16%, transparent); }
html[data-public-theme] .landing-option-copy small,
html[data-public-theme] .landing-option-copy em,
html[data-public-theme] .landing-option-state,
html[data-public-theme] .company-theme-option small,
html[data-public-theme] .cnpj-stock-card > span,
html[data-public-theme] .cnpj-stock-card > small { color: var(--text-secondary); }
html[data-public-theme] .landing-option-state { background: var(--background-strong); }
html[data-public-theme] .white-label-asset-preview { background: var(--background-secondary); color: var(--text-secondary); border-color: var(--border-default); }
html[data-public-theme] .btn-neutral { background: var(--background-strong); color: var(--text-primary); border-color: var(--border-default); }
html[data-public-theme] .btn-neutral:hover { background: var(--background-secondary); border-color: var(--border-strong); }
html[data-public-theme] .connection-card { background: linear-gradient(135deg, var(--accent-hover), var(--accent-primary)); color: #fff; }
html[data-public-theme] .connection-card p { color: rgba(255,255,255,.82); }
html[data-public-theme="theme2"] .connection-card { background: linear-gradient(135deg, #123c3b, #185a57); color: #f7f9fc; }
html[data-public-theme="theme2"] .connection-card p { color: #d3e4e2; }
html[data-public-theme] .app-booting::after { background: color-mix(in srgb, var(--background-primary) 90%, transparent); color: var(--text-primary); }
html[data-public-theme] .input[readonly] { background: var(--background-secondary); color: var(--text-secondary); }
html[data-public-theme] .field-error { color: var(--status-error); }
html[data-public-theme] .password-toggle { color: var(--text-secondary); }
html[data-public-theme] .password-toggle:hover { background: var(--brand-soft); color: var(--accent-hover); }

@media (max-width: 900px) {
  html[data-public-theme] .app-sidebar { box-shadow: var(--shadow-md); }
  html[data-public-theme] .sidebar-overlay { background: color-mix(in srgb, #000 58%, transparent); }
}

.footer-social-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.65rem}
.footer-social-links a{display:inline-flex;align-items:center;min-height:40px;padding:.45rem .7rem;border:1px solid var(--border-default);border-radius:999px;background:var(--background-elevated);color:var(--text-primary);font-weight:700;text-decoration:none}
.footer-social-links a:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-soft)}
.footer-social-links a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}

/* Identidades públicas e composições externas independentes. */
html[data-public-theme="theme4"]{color-scheme:light;--bg:#f2f8fb;--surface:#ffffff;--surface-soft:#e8f3f8;--surface-strong:#d2e8f1;--text:#102c3b;--muted:#496672;--muted-2:#617884;--line:#c5dce6;--line-strong:#94bfce;--brand:#0b5f8a;--brand-dark:#084867;--brand-soft:#d8eef7;--accent:#08a7b8;--accent-soft:#d9f7f9;--danger:#ad2734;--danger-soft:#fde7e9;--warning:#8a5900;--warning-soft:#fff1cf;--success:#08705a;--success-soft:#dcf5ec;--info:#0b5f8a;--info-soft:#e1f2fa;--shadow-sm:0 3px 15px rgba(8,72,103,.07);--shadow-md:0 24px 60px rgba(8,72,103,.15);--radius:.7rem;--radius-lg:1rem}
html[data-public-theme="theme5"]{color-scheme:light;--bg:#f4efe5;--surface:#fffdf8;--surface-soft:#eee6d8;--surface-strong:#dfd4c1;--text:#24352e;--muted:#59685f;--muted-2:#6c776f;--line:#d6cbb8;--line-strong:#b9aa91;--brand:#1f6b52;--brand-dark:#174f3d;--brand-soft:#dcebe4;--accent:#ad7d39;--accent-soft:#f5e7cc;--danger:#a23a35;--danger-soft:#f8e5e2;--warning:#805a16;--warning-soft:#f6e9c9;--success:#1f6b52;--success-soft:#e1eee8;--info:#3e6476;--info-soft:#e6eef1;--shadow-sm:0 2px 10px rgba(54,45,31,.07);--shadow-md:0 22px 50px rgba(54,45,31,.14);--radius:0;--radius-lg:0}
html[data-public-theme="theme6"]{color-scheme:light;--bg:#f5f7fa;--surface:#ffffff;--surface-soft:#edf1f5;--surface-strong:#dce4eb;--text:#17324b;--muted:#50687b;--muted-2:#6a7d8c;--line:#d1dce5;--line-strong:#aabfce;--brand:#e45f19;--brand-dark:#bd4911;--brand-soft:#fff0e6;--accent:#173b60;--accent-soft:#e4ecf4;--danger:#b12e37;--danger-soft:#fde8ea;--warning:#9a5a00;--warning-soft:#fff0d1;--success:#13705b;--success-soft:#e0f3ed;--info:#225d91;--info-soft:#e5f0fa;--shadow-sm:0 4px 14px rgba(23,59,96,.08);--shadow-md:0 24px 58px rgba(23,59,96,.16);--radius:.55rem;--radius-lg:.85rem}
html[data-public-theme="theme4"] body{background:linear-gradient(rgba(11,95,138,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,95,138,.035) 1px,transparent 1px),var(--bg);background-size:34px 34px}
html[data-public-theme="theme5"] body{background:radial-gradient(circle at 88% 8%,rgba(31,107,82,.07),transparent 24rem),var(--bg)}
html[data-public-theme="theme6"] body{background:linear-gradient(135deg,rgba(228,95,25,.035),transparent 32rem),var(--bg)}
html[data-public-theme="theme5"] h1,html[data-public-theme="theme5"] h2,html[data-public-theme="theme5"] .title-lg,html[data-public-theme="theme5"] .title-md{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.025em}

/* Login e recuperação: seis arquiteturas, não apenas seis paletas. */
html[data-public-theme="theme1"] .simple-auth-container{grid-template-columns:minmax(0,.9fr) minmax(380px,.7fr);gap:3rem;align-items:center}
html[data-public-theme="theme1"] .simple-auth-intro{padding:2.4rem;border-left:6px solid var(--brand);background:linear-gradient(140deg,var(--surface),var(--surface-soft))}
html[data-public-theme="theme1"] .simple-auth-card{border-radius:2rem!important;box-shadow:var(--shadow-md)}
html[data-public-theme="theme2"] .simple-auth-main{min-height:calc(100vh - 74px);background:#020203}
html[data-public-theme="theme2"] .simple-auth-container{grid-template-columns:1.1fr .75fr;gap:0;max-width:1180px;border:1px solid #272a30;background:#090a0c}
html[data-public-theme="theme2"] .simple-auth-intro{min-height:560px;padding:clamp(2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 25% 20%,rgba(94,234,212,.13),transparent 19rem),#040505}
html[data-public-theme="theme2"] .simple-auth-intro h1{font-size:clamp(2.6rem,5vw,5.3rem);max-width:9ch}
html[data-public-theme="theme2"] .simple-auth-card{align-self:stretch!important;max-width:none!important;margin:0!important;border:0!important;border-left:1px solid #272a30!important;border-radius:0!important;display:flex;align-items:center;padding:clamp(2rem,5vw,4rem)}
html[data-public-theme="theme3"] .simple-auth-container{grid-template-columns:.72fr 1fr;gap:1.2rem;max-width:1060px}
html[data-public-theme="theme3"] .simple-auth-intro{order:2;padding:3rem;border-radius:3rem 1rem 3rem 1rem;background:linear-gradient(145deg,#4a2388,#7642c6);color:#fff;box-shadow:var(--shadow-md)}
html[data-public-theme="theme3"] .simple-auth-intro h1,html[data-public-theme="theme3"] .simple-auth-intro p,html[data-public-theme="theme3"] .simple-auth-intro .eyebrow{color:#fff}
html[data-public-theme="theme3"] .simple-auth-card{order:1;border-radius:1rem 3rem 1rem 3rem!important}
html[data-public-theme="theme4"] .simple-auth-container{grid-template-columns:1fr 1fr;gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);max-width:1120px}
html[data-public-theme="theme4"] .simple-auth-intro{padding:3rem;background:linear-gradient(rgba(11,95,138,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(11,95,138,.06) 1px,transparent 1px),#eff8fb;background-size:28px 28px}
html[data-public-theme="theme4"] .simple-auth-intro::before{content:'SECURE / CONTROLLED';display:block;margin-bottom:3rem;color:var(--brand);font:800 .72rem/1 monospace;letter-spacing:.14em}
html[data-public-theme="theme4"] .simple-auth-card{max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;padding:3rem}
html[data-public-theme="theme5"] .simple-auth-container{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(370px,.65fr);max-width:1180px;gap:5vw;align-items:end}
html[data-public-theme="theme5"] .simple-auth-intro{padding:4rem 0;border-top:1px solid var(--text);border-bottom:1px solid var(--text)}
html[data-public-theme="theme5"] .simple-auth-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,6vw,6.2rem);font-weight:400;line-height:.96}
html[data-public-theme="theme5"] .simple-auth-card{border:0!important;border-top:6px solid var(--brand)!important;border-radius:0!important;box-shadow:12px 12px 0 rgba(31,107,82,.11)!important}
html[data-public-theme="theme6"] .simple-auth-container{grid-template-columns:.75fr 1fr;gap:1.2rem;max-width:1080px}
html[data-public-theme="theme6"] .simple-auth-intro{padding:2rem;background:#173b60;color:#fff;border-radius:.8rem;position:relative;overflow:hidden}
html[data-public-theme="theme6"] .simple-auth-intro::after{content:'01  →  02  →  03';display:block;margin-top:4rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.25);font:800 .78rem monospace;letter-spacing:.12em}
html[data-public-theme="theme6"] .simple-auth-intro h1,html[data-public-theme="theme6"] .simple-auth-intro p,html[data-public-theme="theme6"] .simple-auth-intro .eyebrow{color:#fff}
html[data-public-theme="theme6"] .simple-auth-card{border-radius:.8rem!important;border-top:6px solid var(--brand)!important}

/* Cadastro: seis ritmos visuais. */
html[data-public-theme="theme1"] .register-container{grid-template-columns:.75fr 1.25fr;gap:3rem}html[data-public-theme="theme1"] .register-card{border-radius:1.7rem}
html[data-public-theme="theme2"] .register-main{background:#020203}html[data-public-theme="theme2"] .register-container{max-width:1100px;grid-template-columns:.65fr 1.35fr;gap:0;border:1px solid var(--line)}html[data-public-theme="theme2"] .register-intro{padding:3rem;background:#050707}html[data-public-theme="theme2"] .register-card{border:0;border-left:1px solid var(--line);border-radius:0}
html[data-public-theme="theme3"] .register-container{max-width:1120px;grid-template-columns:1fr 1fr;gap:2rem}html[data-public-theme="theme3"] .register-intro{padding:2rem;border-radius:2rem;background:var(--brand-soft)}html[data-public-theme="theme3"] .register-section{border-radius:1.5rem}
html[data-public-theme="theme4"] .register-container{max-width:1180px;grid-template-columns:340px 1fr;gap:1px;background:var(--line)}html[data-public-theme="theme4"] .register-intro,html[data-public-theme="theme4"] .register-card{background:var(--surface);border:0;border-radius:0}html[data-public-theme="theme4"] .register-intro{padding:2rem;position:sticky;top:90px;align-self:start}
html[data-public-theme="theme5"] .register-container{display:block;max-width:980px}html[data-public-theme="theme5"] .register-intro{max-width:760px;margin-bottom:2.5rem;border-bottom:1px solid var(--text);padding-bottom:2rem}html[data-public-theme="theme5"] .register-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:400}html[data-public-theme="theme5"] .register-card{border-radius:0;border-top:5px solid var(--brand)}
html[data-public-theme="theme6"] .register-container{max-width:1120px;grid-template-columns:300px 1fr;gap:1.25rem}html[data-public-theme="theme6"] .register-intro{background:#173b60;color:#fff;padding:2rem;border-radius:.7rem}html[data-public-theme="theme6"] .register-intro h1,html[data-public-theme="theme6"] .register-intro p,html[data-public-theme="theme6"] .register-intro .eyebrow{color:#fff}html[data-public-theme="theme6"] .register-section{border-left:5px solid var(--brand);border-radius:.5rem}

/* Legais: a mesma informação institucional é apresentada por arquiteturas distintas. */
html[data-public-theme="theme1"] .legal-hero .container{max-width:860px}html[data-public-theme="theme1"] .legal-content{max-width:860px;border-left:6px solid var(--brand)}
html[data-public-theme="theme2"] .legal-hero{background:#050607;border-bottom:1px solid var(--line)}html[data-public-theme="theme2"] .legal-hero .container{max-width:1180px;padding-block:4rem}html[data-public-theme="theme2"] .legal-content{max-width:1180px;border-radius:0;border:0;border-left:1px solid var(--line);padding-left:4rem;background:transparent;box-shadow:none}
html[data-public-theme="theme3"] .legal-hero{background:linear-gradient(135deg,var(--brand-soft),#fff)}html[data-public-theme="theme3"] .legal-content{max-width:900px;border-radius:2.2rem}
html[data-public-theme="theme4"] .legal-hero{background:linear-gradient(rgba(11,95,138,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(11,95,138,.06) 1px,transparent 1px),var(--surface);background-size:30px 30px;border-bottom:4px solid var(--brand)}html[data-public-theme="theme4"] .legal-content{max-width:1050px;border-radius:0;border:1px solid var(--line-strong);box-shadow:none}html[data-public-theme="theme4"] .legal-content h2{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;text-transform:uppercase;letter-spacing:.06em}
html[data-public-theme="theme5"] .legal-hero{background:transparent;border:0}html[data-public-theme="theme5"] .legal-hero .container{max-width:960px;border-bottom:1px solid var(--text);padding-block:5rem 2.5rem}html[data-public-theme="theme5"] .legal-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,6vw,6rem);font-weight:400}html[data-public-theme="theme5"] .legal-content{max-width:960px;border:0;border-radius:0;background:transparent;box-shadow:none;padding-inline:0}html[data-public-theme="theme5"] .legal-content h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:2rem}
html[data-public-theme="theme6"] .legal-hero{background:#173b60;color:#fff;border-bottom:8px solid var(--brand)}html[data-public-theme="theme6"] .legal-hero h1,html[data-public-theme="theme6"] .legal-hero p,html[data-public-theme="theme6"] .legal-hero .eyebrow{color:#fff}html[data-public-theme="theme6"] .legal-content{max-width:1040px;border-radius:.7rem;border-top:0}html[data-public-theme="theme6"] .legal-content h2{border-left:5px solid var(--brand);padding-left:.8rem}

/* Rodapés independentes. */
.footer-theme-signature{grid-column:1/-1;margin:.25rem 0;padding:.7rem 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor;font-size:.77rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.76}
html[data-public-theme="theme1"] .site-footer{border-top:5px solid var(--brand)}
html[data-public-theme="theme2"] .site-footer{background:#000;color:#fff;border-top:1px solid #30343b}html[data-public-theme="theme2"] .site-footer .footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}
html[data-public-theme="theme3"] .site-footer{border-radius:3rem 3rem 0 0;margin-top:2rem}
html[data-public-theme="theme4"] .site-footer{background:#0b3144;color:#eef9fd;border-top:6px solid #08a7b8}html[data-public-theme="theme4"] .site-footer .footer-grid{grid-template-columns:1.6fr repeat(3,1fr)}html[data-public-theme="theme4"] .site-footer .footer-column{border-left:1px solid rgba(255,255,255,.18);padding-left:1rem}
html[data-public-theme="theme5"] .site-footer{background:#eee6d8;color:#24352e;border-top:1px solid #24352e}html[data-public-theme="theme5"] .site-footer .footer-grid{grid-template-columns:2fr repeat(3,1fr)}html[data-public-theme="theme5"] .site-footer .footer-company-title{font-family:Georgia,'Times New Roman',serif;font-weight:500}html[data-public-theme="theme5"] .site-footer .footer-column h3{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}
html[data-public-theme="theme6"] .site-footer{background:#173b60;color:#fff;border-top:8px solid var(--brand)}html[data-public-theme="theme6"] .site-footer .footer-grid{grid-template-columns:1.5fr repeat(3,1fr)}html[data-public-theme="theme6"] .site-footer .footer-column{background:rgba(255,255,255,.05);padding:1rem}
html[data-public-theme="theme4"] .site-footer a,html[data-public-theme="theme6"] .site-footer a{color:#fff}html[data-public-theme="theme4"] .site-footer .footer-company-copy,html[data-public-theme="theme4"] .site-footer .footer-links,html[data-public-theme="theme4"] .site-footer .footer-bottom,html[data-public-theme="theme4"] .site-footer .footer-business-data{color:#cce3ed}html[data-public-theme="theme5"] .site-footer .footer-company-copy,html[data-public-theme="theme5"] .site-footer .footer-links,html[data-public-theme="theme5"] .site-footer .footer-bottom,html[data-public-theme="theme5"] .site-footer .footer-business-data{color:#4f6057}html[data-public-theme="theme6"] .site-footer .footer-company-title,html[data-public-theme="theme6"] .site-footer .logo-text,html[data-public-theme="theme6"] .site-footer .white-label-brand-name,html[data-public-theme="theme6"] .site-footer .title-sm{color:#fff}html[data-public-theme="theme6"] .site-footer .footer-company-copy,html[data-public-theme="theme6"] .site-footer .footer-links,html[data-public-theme="theme6"] .site-footer .footer-bottom,html[data-public-theme="theme6"] .site-footer .footer-business-data{color:#cfdeeb}

/* Consentimento de cookies acompanha linguagem e desenho de cada apresentação. */
html[data-public-theme="theme1"] .cookie-consent{border-radius:22px;box-shadow:0 18px 55px rgba(16,54,47,.18)}
html[data-public-theme="theme2"] .cookie-consent{background:#081815;color:#f4fbf8;border:1px solid #35534b;border-radius:4px;box-shadow:0 18px 65px rgba(0,0,0,.42)}html[data-public-theme="theme2"] .cookie-consent a{color:#8be1c5}
html[data-public-theme="theme3"] .cookie-consent{border-left:6px solid var(--brand);border-radius:18px 4px 18px 4px}
html[data-public-theme="theme4"] .cookie-consent{border:1px solid #9cc9dc;border-top:5px solid var(--brand);border-radius:8px;box-shadow:0 18px 45px rgba(8,67,96,.18)}
html[data-public-theme="theme5"] .cookie-consent{background:#fbf7ee;border:1px solid #c9bea6;border-radius:0;box-shadow:12px 12px 0 rgba(31,107,82,.12)}
html[data-public-theme="theme6"] .cookie-consent{border:0;border-left:8px solid var(--brand);border-radius:12px;background:#fff8f2;box-shadow:0 16px 40px rgba(23,59,96,.2)}

@media(max-width:900px){html[data-public-theme] .simple-auth-container,html[data-public-theme] .register-container{grid-template-columns:1fr!important;display:grid!important}html[data-public-theme="theme3"] .simple-auth-intro{order:1}html[data-public-theme="theme3"] .simple-auth-card{order:2}html[data-public-theme="theme4"] .register-intro{position:static}html[data-public-theme="theme5"] .simple-auth-intro h1{font-size:3rem}html[data-public-theme="theme2"] .simple-auth-card{border-left:0!important;border-top:1px solid var(--line)!important}}
