/* Theme overrides for contratistas operational pages (examen, portal) */

html,
body {
  background: var(--ehs-page-bg);
  color: var(--ehs-fg);
}

.portal-shell {
  background: var(--ehs-card-bg);
}

.pmain {
  background: var(--ehs-page-bg);
}

.ptopbar {
  background: var(--ehs-bar-bg);
  border-bottom-color: var(--ehs-border);
}

.pnav {
  background: var(--ehs-soft2);
  border-right-color: var(--ehs-border);
}

.pnav-item {
  color: var(--ehs-muted);
}

.pnav-item:hover {
  background: var(--ehs-soft);
  color: var(--ehs-fg);
}

.pnav-item.active {
  background: rgba(var(--ehs-accent-rgb), 0.12);
  color: var(--ehs-accent);
}

.pnav-item.active .material-symbols-outlined {
  color: var(--ehs-accent);
}

.pcard,
.acceso-card,
.vinculo-body {
  background: var(--ehs-card-bg);
  border-color: var(--ehs-border2);
  color: var(--ehs-fg);
}

.vinculo-header {
  background: var(--ehs-soft);
  border-bottom-color: var(--ehs-border);
}

.pform-input,
input.pform-input,
select.pform-input,
textarea.pform-input {
  background: var(--ehs-soft);
  border-color: var(--ehs-border2);
  color: var(--ehs-fg);
}

.pform-input:focus {
  border-color: var(--ehs-accent);
  box-shadow: 0 0 0 3px rgba(var(--ehs-accent-rgb), 0.14);
  background: var(--ehs-card-bg);
}

.pbtn-ghost {
  color: var(--ehs-muted);
  border-color: var(--ehs-border2);
}

.pbtn-ghost:hover {
  background: var(--ehs-soft);
  color: var(--ehs-fg);
}

.upload-zone {
  border-color: var(--ehs-border2);
}

.upload-zone:hover {
  border-color: var(--ehs-accent);
}

.doc-thumb {
  background: var(--ehs-soft);
  border-color: var(--ehs-border2);
}

.ptable th {
  color: var(--ehs-muted);
  border-bottom-color: var(--ehs-border2);
}

.ptable td {
  color: var(--ehs-fg);
  border-bottom-color: var(--ehs-border);
}

.ptable tr:hover td {
  background: var(--ehs-soft);
}

.palert-ok {
  background: var(--ehs-ok-bg);
  color: var(--ehs-ok-fg);
  border-color: var(--ehs-ok-border);
}

.palert-err {
  background: var(--ehs-err-bg);
  color: var(--ehs-err-fg);
  border-color: var(--ehs-err-border);
}

.palert-info {
  background: rgba(var(--ehs-accent-rgb), 0.08);
  color: var(--ehs-accent);
  border-color: rgba(var(--ehs-accent-rgb), 0.22);
}

.imss-result {
  background: rgba(var(--ehs-accent-rgb), 0.06);
  border-color: rgba(var(--ehs-accent-rgb), 0.18);
}

.mobile-tabs {
  background: var(--ehs-card-bg);
  border-bottom-color: var(--ehs-border2);
}

.mobile-tab {
  color: var(--ehs-muted);
}

.mobile-tab.active {
  color: var(--ehs-accent);
  border-bottom-color: var(--ehs-accent);
}

.pspinner {
  border-color: var(--ehs-border2);
  border-top-color: var(--ehs-accent);
}

#accesoEmpleadosList {
  background: var(--ehs-soft) !important;
  border-color: var(--ehs-border2) !important;
}

.pbanner-info {
  background: rgba(var(--ehs-accent-rgb), 0.08);
  border: 1px solid rgba(var(--ehs-accent-rgb), 0.22);
  color: var(--ehs-muted);
}

.pbanner-ok {
  background: var(--ehs-ok-bg);
  border: 1px solid var(--ehs-ok-border);
  color: var(--ehs-ok-fg);
}

.pbanner-warn {
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.35);
  color: #d97706;
}

[data-theme="dark"] .pbanner-warn {
  color: #fbbf24;
}

.pbanner-warn-imss {
  background: rgba(234, 179, 8, 0.1);
  border: 1px solid rgba(234, 179, 8, 0.25);
  color: #ca8a04;
}

[data-theme="dark"] .pt-account-dropdown {
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .exam-header-text h1,
[data-theme="dark"] .exam-pregunta-texto,
[data-theme="dark"] .exam-opcion-text,
[data-theme="dark"] .exam-resultado-title,
[data-theme="dark"] .worker-nombre,
[data-theme="dark"] .pnav-logo-text {
  color: var(--ehs-fg);
}

[data-theme="dark"] .exam-header-text p,
[data-theme="dark"] .exam-pregunta-num,
[data-theme="dark"] .exam-progress-label,
[data-theme="dark"] .worker-meta,
[data-theme="dark"] .pnav-logo-sub,
[data-theme="dark"] .pnav-section {
  color: var(--ehs-muted);
}

[data-theme="dark"] .exam-card,
[data-theme="dark"] .exam-info-bar,
[data-theme="dark"] .worker-item,
[data-theme="dark"] .face-consent,
[data-theme="dark"] .face-retry-tips,
[data-theme="dark"] .pmain-card,
[data-theme="dark"] .pmain-panel {
  background: var(--ehs-card-bg);
  border-color: var(--ehs-border);
  color: var(--ehs-fg);
}

[data-theme="dark"] .exam-video-notice {
  background: var(--ehs-soft);
  color: var(--ehs-muted);
  border-top-color: var(--ehs-border);
}

[data-theme="dark"] .exam-progress-bar {
  background: var(--ehs-soft);
}

[data-theme="dark"] .exam-info-chip {
  background: var(--ehs-soft);
  border-color: var(--ehs-border);
  color: var(--ehs-fg);
}

[data-theme="dark"] .exam-opcion {
  background: var(--ehs-soft);
  border-color: var(--ehs-border2);
}

[data-theme="dark"] .exam-opcion.is-selected,
[data-theme="dark"] .exam-opcion:hover {
  border-color: var(--ehs-accent);
  background: rgba(var(--ehs-accent-rgb), 0.12);
}

[data-theme="dark"] .exam-opcion-letra {
  background: var(--ehs-card-bg);
  border-color: var(--ehs-border);
  color: var(--ehs-fg);
}

[data-theme="dark"] .exam-btn-primary {
  background: var(--ehs-accent);
  color: #fff;
}

[data-theme="dark"] .exam-btn-ghost {
  background: var(--ehs-soft);
  color: var(--ehs-fg);
  border-color: var(--ehs-border2);
}

[data-theme="dark"] .exam-logo {
  background: var(--ehs-accent);
}

[data-theme="dark"] .face-camera-wrap,
[data-theme="dark"] .face-guide-ring {
  background: var(--ehs-soft);
  border-color: var(--ehs-border);
}

[data-theme="dark"] .pmain-topbar {
  background: var(--ehs-card-bg);
  border-bottom-color: var(--ehs-border);
}

/* Badges adaptativos */
.badge-ok {
  background: var(--ehs-ok-bg);
  color: var(--ehs-ok-fg);
}

.badge-warn {
  background: rgba(245, 158, 11, 0.12);
  color: #d97706;
}

[data-theme="dark"] .badge-warn {
  color: #fbbf24;
}

.badge-danger {
  background: var(--ehs-err-bg);
  color: var(--ehs-err-fg);
}

.badge-neutral {
  background: var(--ehs-soft);
  color: var(--ehs-muted);
}

/* Worker link cards (gestión solicitud) */
.worker-link-card {
  background: var(--ehs-card-bg);
  border: 1px solid var(--ehs-border2);
  color: var(--ehs-fg);
}

.worker-link-card .worker-info-box {
  background: rgba(var(--ehs-accent-rgb), 0.06);
  border: 1px solid rgba(var(--ehs-accent-rgb), 0.15);
  color: var(--ehs-fg);
}
