/**
 * Integração visual dos módulos PROENÇA com o tema industrial independente.
 */

/* Portal Corporativo Integrado */
body.pfi-theme {
    --ppc-bg: var(--pfi-bg);
    --ppc-bg-soft: var(--pfi-bg-elevated);
    --ppc-surface: var(--pfi-surface);
    --ppc-surface-2: var(--pfi-surface-alt);
    --ppc-surface-3: var(--pfi-surface-high);
    --ppc-border: var(--pfi-border);
    --ppc-border-strong: var(--pfi-border-strong);
    --ppc-text: var(--pfi-text);
    --ppc-text-soft: var(--pfi-text-soft);
    --ppc-muted: var(--pfi-muted);
    --ppc-accent: var(--pfi-red);
    --ppc-secondary: var(--pfi-blue);
    --ppc-blue: var(--pfi-blue-light);
    --ppc-green: var(--pfi-success);
    --ppc-orange: var(--pfi-warning);
    --ppc-danger: var(--pfi-danger);
    --ppc-radius: var(--pfi-radius);
    --ppc-radius-sm: var(--pfi-radius-sm);
    --ppc-shadow: var(--pfi-shadow);
}

body.pfi-theme.proenca-suite-dark:not(.ppc-theme-light) {
    color: var(--pfi-text-soft);
    background: transparent !important;
}

body.pfi-theme.proenca-suite-dark:not(.ppc-theme-light)::before {
    display: none !important;
}

.ppc-dashboard,
.ppc-portal,
.proenca-portal-dashboard-page,
.ppc-login-card {
    color: var(--pfi-text-soft);
    font-family: var(--pfi-font);
}

.ppc-hero,
.ppc-module-card,
.ppc-metric,
.ppc-news-item,
.ppc-profile-summary,
.ppc-integrations-mini,
.ppc-shutdown-alert,
.ppc-module-status-list,
.ppc-login-card {
    border-color: var(--pfi-border) !important;
    border-radius: var(--pfi-radius) !important;
    box-shadow: var(--pfi-shadow-soft) !important;
}

.ppc-hero {
    background:
        linear-gradient(115deg, rgba(3, 8, 13, .96), rgba(6, 52, 72, .83) 58%, rgba(118, 5, 12, .55)),
        var(--pfi-surface) !important;
}

.ppc-module-card,
.ppc-metric,
.ppc-news-item,
.ppc-profile-summary,
.ppc-integrations-mini,
.ppc-module-status-list,
.ppc-login-card {
    background: var(--pfi-surface) !important;
}

.ppc-module-card:hover,
.ppc-news-item:hover {
    border-color: rgba(36, 183, 232, .30) !important;
    box-shadow: var(--pfi-glow-blue) !important;
}

/* Comunicados */
.pcc-board,
.pcc-login-required {
    --pcc-blue: var(--pfi-blue);
    --pcc-blue-strong: #073e56;
    --pcc-red: var(--pfi-red);
    --pcc-orange: var(--pfi-warning);
    --pcc-yellow: var(--pfi-gold);
    --pcc-green: var(--pfi-success);
    --pcc-bg: var(--pfi-bg);
    --pcc-panel: var(--pfi-surface);
    --pcc-panel-2: var(--pfi-surface-alt);
    --pcc-border: var(--pfi-border);
    --pcc-text: var(--pfi-text);
    --pcc-muted: var(--pfi-muted);
    --pcc-shadow: var(--pfi-shadow-soft);
    margin-top: 0 !important;
    color: var(--pfi-text-soft);
    font-family: var(--pfi-font);
}

.pcc-hero,
.pcc-card,
.pcc-board__panel,
.pcc-login-required,
.pcc-filter-form,
.pcc-field {
    border-color: var(--pfi-border) !important;
    border-radius: var(--pfi-radius) !important;
    background-color: var(--pfi-surface) !important;
    box-shadow: var(--pfi-shadow-soft) !important;
}

.pcc-board input,
.pcc-board select,
.pcc-board textarea {
    color: var(--pfi-text) !important;
    border-color: var(--pfi-border-strong) !important;
    background: rgba(0, 0, 0, .16) !important;
}

/* RH */
.prh-portal,
.prh-sign-page,
.prh-access-denied {
    --prh-navy-950: var(--pfi-bg);
    --prh-navy-900: var(--pfi-bg-elevated);
    --prh-navy-850: var(--pfi-surface);
    --prh-navy-800: var(--pfi-surface-alt);
    --prh-navy-750: var(--pfi-surface-high);
    --prh-blue: var(--pfi-blue);
    --prh-blue-bright: var(--pfi-blue-light);
    --prh-red: var(--pfi-red);
    --prh-orange: var(--pfi-warning);
    --prh-green: var(--pfi-success);
    --prh-yellow: var(--pfi-gold);
    --prh-text: var(--pfi-text);
    --prh-muted: var(--pfi-muted);
    --prh-line: var(--pfi-border);
    --prh-line-strong: var(--pfi-border-strong);
    --prh-shadow: var(--pfi-shadow-soft);
    --prh-radius: var(--pfi-radius-sm);
    margin-top: 0 !important;
    color: var(--pfi-text-soft);
    font-family: var(--pfi-font);
}

.prh-portal {
    border-radius: var(--pfi-radius-lg) !important;
    background:
        radial-gradient(circle at 94% -6%, rgba(36, 183, 232, .13), transparent 30%),
        radial-gradient(circle at 8% 2%, rgba(226, 27, 35, .09), transparent 25%),
        var(--pfi-bg) !important;
    box-shadow: var(--pfi-shadow) !important;
}

.prh-hero,
.prh-card,
.prh-alert-card,
.prh-worker-summary-card,
.prh-document-summary,
.prh-timeline,
.prh-signature-item,
.prh-worker-photo-panel {
    border-color: var(--pfi-border) !important;
    border-radius: var(--pfi-radius) !important;
}

.prh-table,
.prh-timesheet-table {
    color: var(--pfi-text-soft) !important;
}

.prh-table th,
.prh-timesheet-table th {
    color: var(--pfi-text) !important;
    background: var(--pfi-surface-alt) !important;
}

.prh-table td,
.prh-timesheet-table td {
    border-color: var(--pfi-border) !important;
}

/* Solicitações e Ordens de Serviço */
.psos-portal,
.psos-login-required,
.psos-access-denied {
    --psos-navy-975: var(--pfi-bg);
    --psos-navy-950: var(--pfi-bg-elevated);
    --psos-navy-900: var(--pfi-surface);
    --psos-navy-850: var(--pfi-surface);
    --psos-navy-800: var(--pfi-surface-alt);
    --psos-navy-750: var(--pfi-surface-high);
    --psos-blue: var(--pfi-blue);
    --psos-blue-bright: var(--pfi-blue-light);
    --psos-cyan: var(--pfi-info);
    --psos-red: var(--pfi-red);
    --psos-orange: var(--pfi-warning);
    --psos-yellow: var(--pfi-gold);
    --psos-green: var(--pfi-success);
    --psos-text: var(--pfi-text);
    --psos-muted: var(--pfi-text-soft);
    --psos-muted-2: var(--pfi-muted);
    --psos-line: var(--pfi-border);
    --psos-line-strong: var(--pfi-border-strong);
    --psos-shadow: var(--pfi-shadow-soft);
    --psos-radius: var(--pfi-radius-sm);
    margin-top: 0 !important;
    color: var(--pfi-text-soft);
    font-family: var(--pfi-font);
}

.psos-portal {
    border-radius: var(--pfi-radius-lg) !important;
    background:
        radial-gradient(circle at 95% -4%, rgba(36, 183, 232, .13), transparent 28%),
        radial-gradient(circle at 5% 2%, rgba(226, 27, 35, .08), transparent 24%),
        var(--pfi-bg) !important;
    box-shadow: var(--pfi-shadow) !important;
}

.psos-card,
.psos-summary-card,
.psos-data-grid,
.psos-editor,
.psos-transition-form,
.psos-attachment,
.psos-timeline-event,
.psos-ranking-row {
    border-color: var(--pfi-border) !important;
    border-radius: var(--pfi-radius) !important;
}

.psos-table th {
    color: var(--pfi-text) !important;
    background: var(--pfi-surface-alt) !important;
}

.psos-table td {
    border-color: var(--pfi-border) !important;
}

/* Segurança do Trabalho: converte o módulo originalmente claro para o preto industrial. */
.pst-portal {
    --pst-navy-950: var(--pfi-bg);
    --pst-navy-900: var(--pfi-bg-elevated);
    --pst-navy-800: var(--pfi-surface);
    --pst-navy-700: var(--pfi-blue);
    --pst-orange-600: #d87316;
    --pst-orange-500: var(--pfi-warning);
    --pst-orange-100: rgba(240, 166, 53, .10);
    --pst-blue-050: var(--pfi-bg);
    --pst-blue-100: var(--pfi-surface);
    --pst-blue-200: var(--pfi-surface-alt);
    --pst-text: var(--pfi-text);
    --pst-muted: var(--pfi-muted);
    --pst-border: var(--pfi-border);
    --pst-white: #fff;
    --pst-success: var(--pfi-success);
    --pst-success-bg: rgba(39, 200, 139, .09);
    --pst-warning: var(--pfi-gold);
    --pst-warning-bg: rgba(242, 184, 75, .09);
    --pst-danger: var(--pfi-danger);
    --pst-danger-bg: rgba(240, 75, 85, .09);
    --pst-shadow: var(--pfi-shadow-soft);
    --pst-radius: var(--pfi-radius);
    color: var(--pfi-text-soft) !important;
    font-family: var(--pfi-font) !important;
}

.pst-header {
    border: 1px solid var(--pfi-border-strong);
    border-radius: var(--pfi-radius-lg) !important;
    background: linear-gradient(135deg, #031019, var(--pfi-blue) 66%, #6d0e15) !important;
    box-shadow: var(--pfi-shadow) !important;
}

.pst-portal h1,
.pst-portal h2,
.pst-portal h3,
.pst-portal h4,
.pst-portal strong {
    color: var(--pfi-text) !important;
}

.pst-portal a {
    color: var(--pfi-blue-light) !important;
}

.pst-card,
.pst-panel,
.pst-form-card,
.pst-table-wrap,
.pst-summary-card,
.pst-login-required,
.pst-access-denied,
.pst-nr-card,
.pst-document-card,
.pst-dds-card,
.pst-occurrence-card {
    color: var(--pfi-text-soft) !important;
    border-color: var(--pfi-border) !important;
    border-radius: var(--pfi-radius) !important;
    background: var(--pfi-surface) !important;
    box-shadow: var(--pfi-shadow-soft) !important;
}

.pst-portal input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pst-portal select,
.pst-portal textarea {
    color: var(--pfi-text) !important;
    border-color: var(--pfi-border-strong) !important;
    background: rgba(0, 0, 0, .16) !important;
}

.pst-portal table,
.pst-portal th,
.pst-portal td {
    color: var(--pfi-text-soft) !important;
    border-color: var(--pfi-border) !important;
}

.pst-portal th {
    color: var(--pfi-text) !important;
    background: var(--pfi-surface-alt) !important;
}

/* Rede Corporativa Industrial */
:root {
    --pfnp-bg: var(--pfi-bg);
    --pfnp-bg-soft: var(--pfi-bg-elevated);
    --pfnp-surface: var(--pfi-surface);
    --pfnp-surface-2: var(--pfi-surface-alt);
    --pfnp-border: var(--pfi-border);
    --pfnp-border-strong: var(--pfi-border-strong);
    --pfnp-text: var(--pfi-text);
    --pfnp-muted: var(--pfi-muted);
    --pfnp-primary: var(--pfi-blue-light);
    --pfnp-primary-2: var(--pfi-blue);
    --pfnp-accent: var(--pfi-red);
    --pfnp-accent-2: #ff5b62;
    --pfnp-success: var(--pfi-success);
    --pfnp-warning: var(--pfi-warning);
    --pfnp-danger: var(--pfi-danger);
    --pfnp-radius: var(--pfi-radius);
    --pfnp-radius-sm: var(--pfi-radius-sm);
    --pfnp-shadow: var(--pfi-shadow-soft);
    --pfnp-font: var(--pfi-font);
}

.pfnp-hub,
.pfnp-profile-segment {
    color: var(--pfi-text-soft) !important;
    font-family: var(--pfi-font) !important;
}

.pfnp-panel,
.pfnp-training-card,
.pfnp-folder-card,
.pfnp-form-card,
.pfnp-task-card,
.pfnp-mini-card,
.pfnp-person-row,
.pfnp-course-header,
.pfnp-course-body,
.pfnp-quiz,
.pfnp-dialog,
.pfnp-pdf-stage,
.pfnp-sign-result,
.pfnp-notice {
    border-color: var(--pfi-border) !important;
    border-radius: var(--pfi-radius) !important;
    background-color: var(--pfi-surface) !important;
    box-shadow: var(--pfi-shadow-soft) !important;
}

.pfnp-hub-nav {
    border-color: var(--pfi-border) !important;
    background: rgba(11, 23, 32, .88) !important;
    backdrop-filter: blur(16px);
}

.pfnp-table th {
    color: var(--pfi-text) !important;
    background: var(--pfi-surface-alt) !important;
}

.pfnp-table td {
    border-color: var(--pfi-border) !important;
}

/* Formulários compartilhados */
.psos-portal input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.psos-portal select,
.psos-portal textarea,
.prh-portal input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.prh-portal select,
.prh-portal textarea,
.pfnp-hub input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pfnp-hub select,
.pfnp-hub textarea,
.pfnp-profile-segment input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pfnp-profile-segment select,
.pfnp-profile-segment textarea {
    color: var(--pfi-text) !important;
    border-color: var(--pfi-border-strong) !important;
    background: rgba(0, 0, 0, .16) !important;
}

.psos-portal input:focus,
.psos-portal select:focus,
.psos-portal textarea:focus,
.prh-portal input:focus,
.prh-portal select:focus,
.prh-portal textarea:focus,
.pst-portal input:focus,
.pst-portal select:focus,
.pst-portal textarea:focus,
.pfnp-hub input:focus,
.pfnp-hub select:focus,
.pfnp-hub textarea:focus {
    outline: none !important;
    border-color: rgba(36, 183, 232, .52) !important;
    box-shadow: 0 0 0 4px rgba(36, 183, 232, .08) !important;
}

/* Modo claro opcional: os módulos seguem o tema sem perder contraste. */
html[data-pfi-theme="light"] .psos-portal,
html[data-pfi-theme="light"] .prh-portal,
html[data-pfi-theme="light"] .pst-portal,
html[data-pfi-theme="light"] .pfnp-hub,
html[data-pfi-theme="light"] .pcc-board,
html[data-pfi-theme="light"] .ppc-dashboard {
    color-scheme: light;
}

html[data-pfi-theme="light"] .psos-portal input,
html[data-pfi-theme="light"] .psos-portal select,
html[data-pfi-theme="light"] .psos-portal textarea,
html[data-pfi-theme="light"] .prh-portal input,
html[data-pfi-theme="light"] .prh-portal select,
html[data-pfi-theme="light"] .prh-portal textarea,
html[data-pfi-theme="light"] .pst-portal input,
html[data-pfi-theme="light"] .pst-portal select,
html[data-pfi-theme="light"] .pst-portal textarea,
html[data-pfi-theme="light"] .pfnp-hub input,
html[data-pfi-theme="light"] .pfnp-hub select,
html[data-pfi-theme="light"] .pfnp-hub textarea {
    background: #fff !important;
}

/* Tabelas responsivas sem interferir em scripts dos módulos. */
.psos-table-scroll,
.prh-table-scroll,
.pst-table-wrap,
.pfnp-table-wrap,
.pcc-table-wrap {
    scrollbar-width: thin;
    scrollbar-color: rgba(143, 165, 179, .38) transparent;
}
