/* UX.1 - Design System e Consolidacao Visual
   Camada transversal: nao altera regras de negocio nem estrutura funcional. */
:root{
 --ds-font:Inter,"Segoe UI",Arial,sans-serif;
 --ds-primary:#173f66;--ds-primary-strong:#102a43;--ds-primary-soft:#e8f0f8;
 --ds-text:#172033;--ds-text-secondary:#53677d;--ds-muted:#6b7c93;
 --ds-bg:#f4f7fb;--ds-surface:#fff;--ds-surface-subtle:#f7f9fc;
 --ds-border:#dfe7ef;--ds-border-strong:#bdc9d8;
 --ds-success-bg:#eaf7ef;--ds-success:#246b44;
 --ds-warning-bg:#fff5d9;--ds-warning:#815d0d;
 --ds-danger-bg:#fff0f0;--ds-danger:#8b3030;
 --ds-info-bg:#eaf3fa;--ds-info:#245d83;
 --ds-radius-sm:8px;--ds-radius-md:11px;--ds-radius-lg:14px;--ds-radius-xl:16px;
 --ds-shadow:0 4px 18px rgba(20,45,75,.05);
 --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:20px;--ds-space-6:24px;--ds-space-8:32px;
 --ds-font-xs:.75rem;--ds-font-sm:.875rem;--ds-font-md:1rem;--ds-font-lg:1.125rem;--ds-font-xl:1.375rem;--ds-font-2xl:1.75rem;
 --line:var(--ds-border);--muted:var(--ds-muted);--surface:var(--ds-surface);--navy:var(--ds-primary-strong);--navy-2:var(--ds-primary);--accent:#2b6fa6;
}
html{font-family:var(--ds-font);color:var(--ds-text);background:var(--ds-bg)}
body{font-family:var(--ds-font);color:var(--ds-text);background:var(--ds-bg)}
/* Foco consistente e acessivel */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(43,111,166,.32);outline-offset:2px}
/* Superficies: unifica raio, bordo e sombra sem apagar identidades dos modulos. */
:where(.panel,.status-card,.metric,.user-edit-card,.tf-panel,.tf-pricing-card,.tf-account-card,.pk-panel,.pk-card,.pk-profile,.sa-panel,.sa-uc-card){border-color:var(--ds-border);box-shadow:var(--ds-shadow)}
/* Formularios */
:where(input,select,textarea){border-color:var(--ds-border-strong);border-radius:var(--ds-radius-sm);color:var(--ds-text);background:var(--ds-surface);min-height:42px}
:where(input,select,textarea):focus{border-color:#2b6fa6}
:where(input,select,textarea):disabled{background:#eef2f6;color:var(--ds-muted);cursor:not-allowed}
/* Botoes existentes passam a partilhar medidas e comportamento. */
:where(.button,.btn,.small-action,.tf-action,.pk-card-action){font-family:var(--ds-font);font-weight:700;border-radius:var(--ds-radius-sm);transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
:where(.button,.btn,.small-action,.tf-action,.pk-card-action):not(:disabled):active{transform:translateY(1px)}
:where(button,.button,.btn,.small-action,.tf-action,.pk-card-action):disabled{opacity:.55;cursor:not-allowed}
/* Estados semanticos transversais */
:where(.state-active,.status-paid,.badge-success){background:var(--ds-success-bg);color:var(--ds-success)}
:where(.state-pending,.status-pending,.badge-warning){background:var(--ds-warning-bg);color:var(--ds-warning)}
:where(.state-blocked,.status-overdue,.badge-danger){background:var(--ds-danger-bg);color:var(--ds-danger)}
/* Legibilidade: corrige microtipografia herdada da pesquisa publica. */
.pk-modality,.pk-tags span,.pk-group-summary span,.pk-group-summary small,.pk-group-top>span:first-child,.pk-vacancy,.pk-capacity,.pk-unit-list strong,.pk-unit-list span{font-size:var(--ds-font-xs)}
.pk-bio,.pk-profile-main p,.pk-panel p,.pk-panel h3,.pk-back,.pk-results-head span,.pk-results-head small,.pk-filter label span{font-size:var(--ds-font-sm)}
/* Tabelas */
:where(table){font-size:var(--ds-font-sm)}
:where(table th){color:var(--ds-text-secondary)}
/* Movimento reduzido */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* N.1.3 - Configuração booleana da pesquisa pública */
.eo-admin-boolean-setting{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #dbe4ec;border-radius:10px;background:#f8fafc;cursor:pointer}
.eo-admin-boolean-setting input[type="checkbox"]{width:20px;height:20px;min-width:20px;margin-top:1px}
.eo-admin-boolean-setting span{display:flex;flex-direction:column;gap:4px}
.eo-admin-boolean-setting small{color:#667788;line-height:1.45}
