/* PROENÇA 3.11.0 — camada estrutural sem paleta legada. Cores controladas pelo Design System 3.11.0. */
/**
 * PROENÇA & FERRAZ Industrial — shell independente.
 * Design original para manutenção mecânica industrial, PCM, SST e rede profissional.
 */

:root {
    
    --pfi-font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --pfi-font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    --pfi-radius:18px;
    --pfi-radius-sm:12px;
    --pfi-radius-xs:8px;
    --pfi-radius-lg:26px;
    
    
    
    
    --pfi-transition:180ms cubic-bezier(.2, .7, .2, 1);
    --pfi-header-height:76px;
    --pfi-ops-height:36px;
    --pfi-left-width:276px;
    --pfi-right-width:320px;
    --pfi-gap:clamp(16px, 1.8vw, 28px);
    --pfi-max-width:1580px;
    --pfi-content-width:900px;
    
    
    
    --proenca-gold:var(--pfi-gold);
    --proenca-green:var(--pfi-success);
    --proenca-orange:var(--pfi-warning);
    --proenca-bg:var(--pfi-bg-elevated);
    --proenca-bg-deep:var(--pfi-bg);
    --proenca-panel:var(--pfi-surface);
    --proenca-panel-2:var(--pfi-surface-alt);
    --proenca-panel-3:var(--pfi-surface-high);
    --proenca-border:var(--pfi-border);
    --proenca-border-strong:var(--pfi-border-strong);
    --proenca-text:var(--pfi-text);
    --proenca-text-soft:var(--pfi-text-soft);
    --proenca-muted:var(--pfi-muted);
    
    --proenca-shadow:0 2px 8px rgba(36, 50, 65, 0.05);
    --proenca-shadow-soft:0 2px 8px rgba(36, 50, 65, 0.05);
    --proenca-radius-xs:var(--pfi-radius-xs);
    --proenca-radius-sm:var(--pfi-radius-sm);
    --proenca-radius-md:var(--pfi-radius);
    --proenca-radius-lg:var(--pfi-radius-lg);
    --proenca-radius-xl:34px;
    --proenca-font:var(--pfi-font);
}



html {
    box-sizing:border-box;
    min-height:100%;
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--pfi-header-height) + var(--pfi-ops-height) + 18px);
    
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

*,
*::before,
*::after {
    box-sizing:inherit;
}

body {
    min-width:320px;
    min-height:100vh;
    margin:0;
    
    font-family:var(--pfi-font);
    font-size:15px;
    line-height:1.6;
    overflow-x:hidden;
    
    background-attachment:fixed;
}

body::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    pointer-events:none;
    opacity:.28;
    
    background-size:54px 54px;
    mask-image:linear-gradient(to bottom, #000, transparent 70%);
}

body::after {
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    
}



body.admin-bar .pfi-header {
    top:32px;
}

body.admin-bar .pfi-operations-bar {
    top:32px;
}

body.admin-bar.pfi-sticky-header .pfi-header {
    top:calc(32px + var(--pfi-ops-height));
}

body.admin-bar .pfi-rail-sticky {
    top:calc(var(--pfi-header-height) + var(--pfi-ops-height) + 32px + 18px);
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    max-width:100%;
}

img {
    height:auto;
}

svg {
    display:block;
}

a {
    
    text-decoration-thickness:.08em;
    text-underline-offset:.16em;
    transition:color var(--pfi-transition), background-color var(--pfi-transition), border-color var(--pfi-transition), box-shadow var(--pfi-transition), transform var(--pfi-transition), opacity var(--pfi-transition);
}



button,
input,
select,
textarea {
    font:inherit;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
    cursor:pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    cursor:not-allowed;
    opacity:.58;
}

:focus-visible {
    
    outline-offset:3px;
}



h1,
h2,
h3,
h4,
h5,
h6 {
    margin:0 0 .65em;
    
    font-weight:780;
    line-height:1.14;
    letter-spacing:-.035em;
}

h1 { font-size:clamp(2rem, 3.6vw, 4.2rem); }
h2 { font-size:clamp(1.45rem, 2.1vw, 2.4rem); }
h3 { font-size:clamp(1.16rem, 1.55vw, 1.55rem); }
h4 { font-size:1.08rem; }

p {
    margin:0 0 1.1em;
}

ul,
ol {
    margin:0 0 1.2em;
    padding-left:1.35em;
}

hr {
    height:1px;
    margin:2rem 0;
    
    
}

blockquote {
    position:relative;
    margin:1.7rem 0;
    padding:1.3rem 1.5rem 1.3rem 1.75rem;
    
    
    
    border-radius:var(--pfi-radius-sm);
    
}

code,
kbd,
samp,
pre {
    font-family:var(--pfi-font-mono);
}

code,
kbd {
    padding:.16em .42em;
    
    border-radius:6px;
    
    
}

pre {
    max-width:100%;
    padding:1.2rem;
    overflow:auto;
    
    border-radius:var(--pfi-radius-sm);
    
    
}

table {
    width:100%;
    border-collapse:collapse;
}

th,
td {
    padding:.78rem .9rem;
    text-align:left;
    vertical-align:middle;
    
}

th {
    
    font-size:.78rem;
    font-weight:780;
    letter-spacing:.05em;
    text-transform:uppercase;
}

caption {
    margin-bottom:.7rem;
    
    text-align:left;
}

/* Acessibilidade */
.screen-reader-text {
    position:absolute!important;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip:rect(1px, 1px, 1px, 1px);
    white-space:nowrap;
    
}

.screen-reader-text:focus,
.pfi-skip-link:focus {
    top:10px;
    left:10px;
    z-index:100000;
    width:auto;
    height:auto;
    padding:12px 18px;
    clip:auto;
    
    border-radius:8px;
    
}

/* Shell */
.pfi-app-shell {
    min-height:100vh;
}

.pfi-site-stage {
    width:100%;
    min-height:62vh;
}

.pfi-site-layout {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--pfi-gap);
    width:min(calc(100% - 32px), var(--pfi-max-width));
    margin:0 auto;
    padding:var(--pfi-gap) 0 clamp(52px, 6vw, 92px);
}

.pfi-site-layout.pfi-layout--portal,
.pfi-site-layout.pfi-layout--feed {
    grid-template-columns:var(--pfi-left-width) minmax(0, 1fr) var(--pfi-right-width);
}

.pfi-site-layout.pfi-layout--auth {
    grid-template-columns:minmax(0, 1fr);
    width:min(calc(100% - 32px), 1200px);
    min-height:clamp(620px, calc(100vh - var(--pfi-header-height) - var(--pfi-ops-height)), 980px);
    padding-top:clamp(26px, 4.5vw, 64px);
}

.pfi-layout--auth .pfi-main {
    width:100%;
    max-width:1160px;
    margin-inline:auto;
}

/* Segurança adicional: visitantes não podem ocupar uma coluna reservada a rails ocultos. */
.pfi-guest .pfi-site-layout.pfi-layout--portal,
.pfi-guest .pfi-site-layout.pfi-layout--feed {
    grid-template-columns:minmax(0, 1fr);
}

.pfi-site-layout.pfi-layout--content-sidebar {
    grid-template-columns:minmax(0, 1fr) 320px;
    max-width:1240px;
}

.pfi-main {
    min-width:0;
}

.pfi-main--full {
    width:min(calc(100% - 32px), var(--pfi-max-width));
    margin:0 auto;
    padding:var(--pfi-gap) 0 clamp(54px, 6vw, 92px);
}

.pfi-main--centered {
    display:grid;
    min-height:70vh;
    padding:50px 20px;
    place-items:center;
}

.pfi-main--portal {
    min-width:0;
}

.pfi-rail-sticky {
    position:sticky;
    top:calc(var(--pfi-header-height) + var(--pfi-ops-height) + 18px);
    display:grid;
    gap:16px;
    max-height:calc(100vh - var(--pfi-header-height) - var(--pfi-ops-height) - 36px);
    overflow:auto;
    scrollbar-width:thin;
    
}

/* Barra operacional */
.pfi-operations-bar {
    position:relative;
    z-index:1002;
    height:var(--pfi-ops-height);
    
    
    
}

.pfi-sticky-header .pfi-operations-bar {
    position:sticky;
    top:0;
}

.pfi-operations-bar__inner {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:24px;
    width:min(calc(100% - 32px), var(--pfi-max-width));
    height:100%;
    margin:0 auto;
    font-size:.72rem;
    letter-spacing:.02em;
}

.pfi-operations-bar__status,
.pfi-operations-bar__meta,
.pfi-operations-bar__message {
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
}

.pfi-operations-bar__status strong {
    
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.pfi-operations-bar__message {
    justify-content:center;
    overflow:hidden;
    
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-operations-bar__tag {
    flex:0 0 auto;
    padding:2px 7px;
    
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.08em;
    
    border-radius:99px;
    
}

.pfi-live-dot {
    width:8px;
    height:8px;
    border-radius:50%;
    
    
    animation:pfi-live-pulse 2.1s infinite;
}

@keyframes pfi-live-pulse{
    
}

/* Cabeçalho */
.pfi-header {
    position:relative;
    z-index:1000;
    height:var(--pfi-header-height);
    
    
    
    backdrop-filter:blur(22px) saturate(145%);
    -webkit-backdrop-filter:blur(22px) saturate(145%);
}



.pfi-sticky-header .pfi-header {
    position:sticky;
    top:var(--pfi-ops-height);
}

.pfi-header__inner {
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    align-items:center;
    gap:clamp(16px, 2vw, 32px);
    width:min(calc(100% - 32px), var(--pfi-max-width));
    height:100%;
    margin:0 auto;
}

.pfi-brand {
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.pfi-brand__mark {
    display:grid;
    flex:0 0 auto;
    width:54px;
    height:54px;
    overflow:hidden;
    
    border-radius:15px;
    
    
    place-items:center;
}

.pfi-brand__mark img {
    width:100%;
    height:100%;
    padding:2px;
    object-fit:contain;
}

.pfi-brand__text {
    display:grid;
    min-width:0;
    
    line-height:1.15;
    text-decoration:none;
}

.pfi-brand__text strong {
    max-width:290px;
    overflow:hidden;
    
    font-size:.95rem;
    font-weight:800;
    letter-spacing:-.02em;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-brand__text span {
    max-width:300px;
    margin-top:4px;
    overflow:hidden;
    
    font-size:.68rem;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-header__nav {
    min-width:0;
}

.pfi-menu {
    display:flex;
    align-items:center;
    gap:4px;
    margin:0;
    padding:0;
    list-style:none;
}

.pfi-menu li {
    position:relative;
    margin:0;
}

.pfi-menu a {
    display:flex;
    align-items:center;
    min-height:42px;
    padding:0 13px;
    
    font-size:.82rem;
    font-weight:680;
    border-radius:10px;
    text-decoration:none;
    white-space:nowrap;
}



.pfi-menu .current-menu-item > a::after,
.pfi-menu .current-menu-ancestor > a::after {
    content:"";
    position:absolute;
    right:13px;
    bottom:2px;
    left:13px;
    height:2px;
    border-radius:99px;
    
}

.pfi-menu .sub-menu {
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    z-index:40;
    display:none;
    min-width:220px;
    margin:0;
    padding:8px;
    list-style:none;
    
    border-radius:14px;
    
    
}

.pfi-menu li:hover > .sub-menu,
.pfi-menu li:focus-within > .sub-menu {
    display:block;
}

.pfi-menu .sub-menu a {
    min-height:38px;
    font-size:.78rem;
}

.pfi-header__actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}

.pfi-icon-button {
    display:inline-grid;
    width:42px;
    height:42px;
    padding:0;
    
    
    border-radius:12px;
    
    place-items:center;
}

.pfi-icon-button:hover {
    
    
    
    transform:translateY(-1px);
}

.pfi-icon-button svg {
    width:19px;
    height:19px;
}

.pfi-header__menu-toggle {
    display:none;
}

.pfi-header__notification {
    position:relative;
}

.pfi-header__notification::after {
    content:"";
    position:absolute;
    top:8px;
    right:8px;
    width:7px;
    height:7px;
    
    border-radius:50%;
    
    
}

/* Conta */
.pfi-account {
    position:relative;
}

.pfi-account__trigger {
    display:grid;
    grid-template-columns:38px minmax(0, 1fr) 16px;
    align-items:center;
    gap:9px;
    min-width:190px;
    height:48px;
    padding:4px 9px 4px 5px;
    
    
    border-radius:14px;
    
}



.pfi-account__trigger img {
    width:38px;
    height:38px;
    border-radius:11px;
    object-fit:cover;
}

.pfi-account__trigger > span {
    display:grid;
    min-width:0;
    text-align:left;
    line-height:1.18;
}

.pfi-account__trigger strong,
.pfi-account__trigger small {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-account__trigger strong {
    
    font-size:.77rem;
}

.pfi-account__trigger small {
    margin-top:3px;
    
    font-size:.64rem;
}

.pfi-account__trigger > svg {
    width:15px;
}

.pfi-account__menu {
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    z-index:80;
    width:310px;
    padding:9px;
    
    border-radius:var(--pfi-radius);
    
    
    backdrop-filter:blur(18px);
}



.pfi-account__menu[hidden] {
    display:none;
}

.pfi-account__identity {
    display:grid;
    grid-template-columns:54px minmax(0, 1fr);
    gap:11px;
    align-items:center;
    margin-bottom:8px;
    padding:10px;
    
}

.pfi-account__identity img {
    width:54px;
    height:54px;
    border-radius:15px;
    object-fit:cover;
}

.pfi-account__identity div {
    display:grid;
    min-width:0;
}

.pfi-account__identity strong {
    
    font-size:.9rem;
}

.pfi-account__identity span {
    margin-top:3px;
    overflow:hidden;
    
    font-size:.72rem;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-account__menu > a {
    display:flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:8px 10px;
    
    font-size:.78rem;
    font-weight:650;
    border-radius:10px;
    text-decoration:none;
}



.pfi-account__menu > a svg {
    width:18px;
}

.pfi-account__menu .pfi-account__logout {
    margin-top:5px;
    
    
    border-radius:0 0 10px 10px;
}

/* Pesquisa */
.pfi-search-overlay {
    position:fixed;
    inset:0;
    z-index:9995;
}

.pfi-search-overlay[hidden] {
    display:none;
}

.pfi-search-overlay__backdrop {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    
    
    backdrop-filter:blur(10px);
}

.pfi-search-overlay__panel {
    position:relative;
    width:min(calc(100% - 32px), 820px);
    max-height:calc(100vh - min(12vh, 120px) - 16px);
    max-height:calc(100dvh - min(12vh, 120px) - 16px);
    margin:min(12vh, 120px) auto 0;
    padding:clamp(22px, 4vw, 42px);
    overflow-y:auto;
    overscroll-behavior:contain;
    box-sizing:border-box;
    
    border-radius:26px;
    
    
}

.pfi-search-overlay__header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}

.pfi-search-overlay__header h2 {
    max-width:620px;
    margin:4px 0 0;
    font-size:clamp(1.55rem, 3vw, 2.5rem);
}

.pfi-search-overlay__quick {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-top:18px;
    
    font-size:.72rem;
}

.pfi-search-overlay__quick a {
    padding:5px 9px;
    
    
    border-radius:99px;
    text-decoration:none;
}

.pfi-search-form {
    display:flex;
    gap:10px;
}

.pfi-search-form label {
    position:relative;
    flex:1;
}

.pfi-search-form label svg {
    position:absolute;
    top:50%;
    left:15px;
    width:20px;
    
    transform:translateY(-50%);
}

.pfi-search-form__field {
    width:100%;
    min-height:52px;
    padding:0 16px 0 47px;
    
    
    border-radius:14px;
    
    
}





/* Botões */
.pfi-button,
.wp-block-button__link,
button.pfi-button,
a.pfi-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    padding:0 16px;
    
    font-size:.78rem;
    font-weight:750;
    line-height:1;
    
    border-radius:12px;
    text-decoration:none;
    
    
}

.pfi-button:hover,
.wp-block-button__link:hover {
    
    transform:translateY(-1px);
}

.pfi-button svg {
    width:18px;
    height:18px;
}









.pfi-button--small {
    min-height:38px;
    padding:0 14px;
    font-size:.73rem;
}

.pfi-button-row {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

/* Rails */
.pfi-left-rail,
.pfi-right-rail,
.pfi-sidebar {
    min-width:0;
}

.pfi-user-card,
.pfi-command-card,
.pfi-field-card,
.pfi-widget {
    
    border-radius:var(--pfi-radius);
    
    
}

.pfi-user-card {
    position:relative;
    display:grid;
    grid-template-columns:56px minmax(0, 1fr) 28px;
    align-items:center;
    gap:11px;
    padding:12px;
    overflow:hidden;
}

.pfi-user-card::before {
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:2px;
    
}

.pfi-user-card__avatar {
    position:relative;
    display:block;
}

.pfi-user-card__avatar img {
    display:block;
    width:56px;
    height:56px;
    
    border-radius:16px;
    object-fit:cover;
}

.pfi-user-card__online {
    position:absolute;
    right:-1px;
    bottom:-1px;
    width:13px;
    height:13px;
    
    border-radius:50%;
    
}

.pfi-user-card__identity {
    display:grid;
    min-width:0;
    line-height:1.18;
}

.pfi-user-card__identity strong,
.pfi-user-card__identity span,
.pfi-user-card__identity small {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-user-card__identity strong {
    
    font-size:.86rem;
}

.pfi-user-card__identity span {
    margin-top:4px;
    
    font-size:.7rem;
    font-weight:650;
}

.pfi-user-card__identity small {
    display:flex;
    align-items:center;
    gap:4px;
    margin-top:4px;
    
    font-size:.64rem;
}

.pfi-user-card__identity small svg {
    width:12px;
}

.pfi-user-card__profile-link {
    display:grid;
    width:28px;
    height:36px;
    
    border-radius:8px;
    place-items:center;
}



.pfi-rail-nav {
    display:grid;
    gap:3px;
    padding:7px;
    
    border-radius:var(--pfi-radius);
    
    
}



.pfi-rail-nav__section {
    padding:14px 11px 5px;
    
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.pfi-rail-nav__item {
    display:grid;
    grid-template-columns:20px minmax(0, 1fr) 14px;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:8px 10px;
    
    font-size:.75rem;
    font-weight:650;
    
    border-radius:11px;
    text-decoration:none;
}

.pfi-rail-nav__item > svg {
    width:18px;
    
}

.pfi-rail-nav__arrow {
    width:13px!important;
    opacity:.48;
}

.pfi-rail-nav__item:hover {
    
    
    
    transform:translateX(2px);
}







.pfi-field-card {
    position:relative;
    padding:18px;
    overflow:hidden;
    
}

.pfi-field-card::after {
    content:"";
    position:absolute;
    right:-36px;
    bottom:-44px;
    width:130px;
    height:130px;
    opacity:.25;
    
    border-radius:50%;
}

.pfi-field-card__label,
.pfi-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:7px;
    
    font-size:.64rem;
    font-weight:820;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.pfi-field-card h2 {
    max-width:200px;
    margin:8px 0 7px;
    font-size:1.08rem;
}

.pfi-field-card p {
    position:relative;
    z-index:1;
    margin:0 0 13px;
    
    font-size:.72rem;
}

.pfi-field-card a {
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:.7rem;
    font-weight:750;
    text-decoration:none;
}

.pfi-field-card a svg {
    width:15px;
}

.pfi-command-card {
    padding:17px;
}

.pfi-command-card > header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.pfi-command-card > header h2 {
    margin:4px 0 0;
    font-size:1rem;
}

.pfi-command-card__metrics {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
}

.pfi-command-card__metrics > div {
    display:grid;
    padding:12px;
    
    border-radius:12px;
    
}

.pfi-command-card__metrics strong {
    
    font-size:1.35rem;
    line-height:1;
}

.pfi-command-card__metrics span {
    margin-top:5px;
    
    font-size:.63rem;
}

.pfi-command-card__actions {
    display:grid;
    gap:7px;
    margin-top:10px;
}

.pfi-command-card__actions a {
    display:flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:7px 10px;
    
    font-size:.69rem;
    font-weight:700;
    
    border-radius:10px;
    text-decoration:none;
}



.pfi-command-card__actions svg {
    width:16px;
}

.pfi-status-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 8px;
    
    font-size:.59rem;
    font-weight:750;
    
    border-radius:99px;
}

.pfi-status-pill i {
    width:6px;
    height:6px;
    border-radius:50%;
}





.pfi-integration-list {
    display:grid;
    gap:0;
    margin:0;
    padding:0;
    list-style:none;
}

.pfi-integration-list li {
    display:grid;
    grid-template-columns:9px minmax(0, 1fr) auto;
    align-items:center;
    gap:9px;
    min-height:34px;
    
    font-size:.68rem;
}



.pfi-integration-list small {
    
    font-size:.58rem;
}

.pfi-integration-list__dot {
    width:7px;
    height:7px;
    border-radius:50%;
    
}



.pfi-command-card--safety {
    position:relative;
    overflow:hidden;
    
    
}

.pfi-command-card__safety-icon {
    display:grid;
    width:42px;
    height:42px;
    margin-bottom:13px;
    
    
    border-radius:13px;
    
    place-items:center;
}

.pfi-command-card__safety-icon svg {
    width:22px;
}

.pfi-command-card--safety h2 {
    margin:7px 0 6px;
    font-size:1.05rem;
}

.pfi-command-card--safety p {
    margin:0;
    
    font-size:.68rem;
}

/* Dashboard */
.pfi-portal-dashboard {
    display:grid;
    gap:var(--pfi-gap);
}

.pfi-dashboard-hero {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(250px, .75fr);
    min-height:330px;
    overflow:hidden;
    
    border-radius:clamp(22px, 3vw, 34px);
    
    
}

.pfi-dashboard-hero::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.45;
    
}

.pfi-dashboard-hero::after {
    content:"";
    position:absolute;
    top:-150px;
    right:-90px;
    width:460px;
    height:460px;
    
    border-radius:50%;
    
}

.pfi-dashboard-hero__content {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(26px, 5vw, 62px);
}

.pfi-dashboard-hero__content h1 {
    max-width:760px;
    margin:12px 0 14px;
    font-size:clamp(2.15rem, 4.3vw, 4.7rem);
    line-height:1.01;
}

.pfi-dashboard-hero__content h1 em {
    
    font-style:normal;
}

.pfi-dashboard-hero__content p {
    max-width:660px;
    margin:0;
    
    font-size:clamp(.89rem, 1.2vw, 1.04rem);
}

.pfi-dashboard-hero__actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.pfi-dashboard-hero__visual {
    position:relative;
    z-index:2;
    display:grid;
    align-content:center;
    justify-items:center;
    padding:30px;
}

.pfi-dashboard-hero__visual img {
    width:min(100%, 300px);
    
    border-radius:30px;
    
    
    transform:rotate(2.5deg);
}

.pfi-dashboard-hero__badge {
    position:absolute;
    right:12%;
    bottom:14%;
    display:flex;
    align-items:center;
    gap:9px;
    max-width:220px;
    padding:10px 13px;
    
    font-size:.68rem;
    font-weight:750;
    
    border-radius:12px;
    
    
    backdrop-filter:blur(12px);
}

.pfi-dashboard-hero__badge svg {
    width:20px;
    
}

.pfi-dashboard-section {
    display:grid;
    gap:15px;
}

.pfi-dashboard-section__header {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
}

.pfi-dashboard-section__header h2 {
    margin:5px 0 0;
    font-size:clamp(1.35rem, 2vw, 2rem);
}

.pfi-dashboard-section__header > a {
    font-size:.72rem;
    font-weight:720;
    text-decoration:none;
}

.pfi-module-grid {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:13px;
}

.pfi-module-card {
    position:relative;
    display:grid;
    min-height:190px;
    padding:20px;
    overflow:hidden;
    
    
    border-radius:var(--pfi-radius);
    
    
    text-decoration:none;
}

.pfi-module-card::before {
    content:"";
    position:absolute;
    top:-58px;
    right:-58px;
    width:150px;
    height:150px;
    
    border-radius:50%;
    transition:transform var(--pfi-transition), border-color var(--pfi-transition);
}

.pfi-module-card:hover {
    
    
    
    transform:translateY(-4px);
}

.pfi-module-card:hover::before {
    
    transform:scale(1.16);
}

.pfi-module-card__icon {
    display:grid;
    width:46px;
    height:46px;
    
    
    border-radius:14px;
    
    place-items:center;
}

.pfi-module-card__icon svg {
    width:23px;
}

.pfi-module-card h3 {
    align-self:end;
    margin:22px 0 6px;
    font-size:1.08rem;
}

.pfi-module-card p {
    margin:0;
    
    font-size:.73rem;
}

.pfi-module-card__footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:14px;
    
    font-size:.67rem;
    font-weight:750;
}

.pfi-module-card__footer svg {
    width:16px;
}





.pfi-dashboard-split {
    display:grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(280px, .75fr);
    gap:15px;
}

.pfi-dashboard-panel {
    padding:clamp(18px, 3vw, 28px);
    
    border-radius:var(--pfi-radius);
    
    
}

.pfi-dashboard-panel__header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:17px;
}

.pfi-dashboard-panel__header h2 {
    margin:4px 0 0;
    font-size:1.25rem;
}

.pfi-news-list {
    display:grid;
    gap:9px;
}

.pfi-news-item {
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    align-items:center;
    gap:12px;
    min-height:62px;
    padding:10px;
    
    
    border-radius:12px;
    text-decoration:none;
}



.pfi-news-item__date {
    display:grid;
    width:44px;
    height:44px;
    
    font-size:1rem;
    font-weight:820;
    line-height:1;
    
    border-radius:11px;
    
    place-items:center;
}

.pfi-news-item__date small {
    
    font-size:.51rem;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.pfi-news-item__content {
    display:grid;
    min-width:0;
}

.pfi-news-item__content strong {
    overflow:hidden;
    
    font-size:.78rem;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-news-item__content span {
    margin-top:3px;
    
    font-size:.65rem;
}

.pfi-news-item > svg {
    width:16px;
    
}

.pfi-principles {
    display:grid;
    gap:10px;
}

.pfi-principle {
    display:grid;
    grid-template-columns:38px minmax(0, 1fr);
    gap:11px;
    align-items:start;
}

.pfi-principle__number {
    display:grid;
    width:38px;
    height:38px;
    
    font-size:.78rem;
    font-weight:820;
    
    border-radius:11px;
    
    place-items:center;
}

.pfi-principle h3 {
    margin:1px 0 3px;
    font-size:.82rem;
}

.pfi-principle p {
    margin:0;
    
    font-size:.67rem;
}

/* Conteúdo WordPress */
.pfi-page-heading {
    margin-bottom:20px;
    padding:clamp(18px, 3vw, 30px);
    
    border-radius:var(--pfi-radius);
    
    
}

.pfi-page-heading h1 {
    margin:7px 0 0;
    font-size:clamp(1.75rem, 3vw, 3rem);
}

.pfi-page-heading__description {
    max-width:760px;
    margin-top:10px;
    
}

.pfi-post-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

.pfi-content-card,
.pfi-entry,
.pfi-comments,
.pfi-error-card {
    overflow:hidden;
    
    border-radius:var(--pfi-radius);
    
    
}

.pfi-content-card {
    display:flex;
    flex-direction:column;
}

.pfi-content-card__media {
    position:relative;
    display:block;
    aspect-ratio:16 / 9;
    overflow:hidden;
    
}

.pfi-content-card__media img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 420ms cubic-bezier(.2, .7, .2, 1);
}

.pfi-content-card:hover .pfi-content-card__media img {
    transform:scale(1.035);
}

.pfi-content-card__body,
.pfi-entry__header,
.pfi-entry__content,
.pfi-entry__footer {
    padding:clamp(17px, 2.5vw, 28px);
}

.pfi-content-card__body {
    display:flex;
    flex:1;
    flex-direction:column;
}

.pfi-entry__header + .pfi-entry__content {
    padding-top:0;
}

.pfi-content-card__meta,
.pfi-entry__meta {
    display:flex;
    flex-wrap:wrap;
    gap:8px 13px;
    margin-bottom:10px;
    
    font-size:.67rem;
}

.pfi-content-card h2,
.pfi-entry__title {
    margin:0 0 10px;
}

.pfi-content-card h2 {
    font-size:1.18rem;
}

.pfi-content-card h2 a {
    
    text-decoration:none;
}

.pfi-content-card__excerpt {
    
    font-size:.78rem;
}

.pfi-content-card__read-more {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:auto;
    padding-top:15px;
    font-size:.7rem;
    font-weight:750;
    text-decoration:none;
}

.pfi-entry {
    max-width:100%;
}

.pfi-entry__featured {
    width:100%;
    max-height:560px;
    object-fit:cover;
}



.pfi-entry-content > :first-child,
.pfi-entry__content > :first-child {
    margin-top:0;
}

.pfi-entry-content > :last-child,
.pfi-entry__content > :last-child {
    margin-bottom:0;
}

.pfi-entry-content img.alignleft { float:left; margin:.4rem 1.5rem 1rem 0; }
.pfi-entry-content img.alignright { float:right; margin:.4rem 0 1rem 1.5rem; }
.pfi-entry-content .aligncenter { display:block; margin-right:auto; margin-left:auto; }
.pfi-entry-content .alignwide { width:min(1100px, calc(100vw - 32px)); max-width:none; margin-left:50%; transform:translateX(-50%); }
.pfi-entry-content .alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }

.pfi-entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pfi-entry-content select,
.pfi-entry-content textarea,
.pfi-comments input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pfi-comments textarea {
    width:100%;
    min-height:44px;
    padding:10px 12px;
    
    
    border-radius:10px;
    
}

.pfi-entry-content textarea,
.pfi-comments textarea {
    min-height:120px;
    resize:vertical;
}



.pfi-entry-content input[type="submit"],
.pfi-comments input[type="submit"] {
    min-height:43px;
    padding:0 17px;
    
    font-weight:750;
    
    border-radius:11px;
    
}

.pfi-sidebar {
    display:grid;
    align-content:start;
    gap:16px;
}

.pfi-widget {
    padding:18px;
}

.pfi-widget__title {
    margin:0 0 13px;
    font-size:1rem;
}

.pfi-widget ul {
    display:grid;
    gap:6px;
    margin:0;
    padding:0;
    list-style:none;
}

.pfi-widget li {
    padding:7px 0;
    
    font-size:.75rem;
}



.pfi-comments {
    margin-top:22px;
    padding:clamp(18px, 3vw, 30px);
}

.comment-list {
    margin:0 0 24px;
    padding:0;
    list-style:none;
}

.comment-list .comment-body {
    margin:10px 0;
    padding:15px;
    
    border-radius:12px;
    
}

.navigation.pagination,
.post-navigation,
.posts-navigation {
    margin-top:22px;
}

.nav-links {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:stretch;
    justify-content:center;
}

.nav-links .page-numbers,
.post-navigation a {
    display:inline-flex;
    min-height:40px;
    padding:8px 13px;
    
    
    border-radius:10px;
    
    text-decoration:none;
}



.post-navigation .nav-links {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.post-navigation a {
    display:grid;
}

.post-navigation a span {
    
    font-size:.62rem;
    text-transform:uppercase;
}

.post-navigation a strong {
    margin-top:3px;
    
    font-size:.78rem;
}

.pfi-error-card {
    width:min(100%, 720px);
    padding:clamp(28px, 6vw, 66px);
    text-align:center;
    
}

.pfi-error-card__code {
    
    font-size:clamp(5rem, 18vw, 11rem);
    font-weight:900;
    line-height:.85;
    letter-spacing:-.09em;
    -webkit-text-stroke:2px rgba(150, 75, 75, 0.42);
}

.pfi-error-card h1 {
    margin-top:12px;
}

.pfi-error-card p {
    max-width:520px;
    margin-right:auto;
    margin-left:auto;
    
}

.pfi-error-card .pfi-button-row {
    justify-content:center;
}

/* Rodapé */
.pfi-footer {
    position:relative;
    padding:42px max(16px, calc((100% - var(--pfi-max-width)) / 2));
    
    
    
}

.pfi-footer__grid {
    display:grid;
    grid-template-columns:minmax(260px, 1.2fr) repeat(2, minmax(180px, .7fr)) minmax(180px, .7fr);
    gap:26px;
}

.pfi-footer__brand {
    display:grid;
    grid-template-columns:58px minmax(0, 1fr);
    gap:12px;
    align-items:center;
}

.pfi-footer__brand img {
    width:58px;
    height:58px;
    padding:2px;
    border-radius:15px;
    
    object-fit:contain;
}

.pfi-footer__brand div {
    display:grid;
}

.pfi-footer__brand strong {
    
    font-size:.9rem;
}

.pfi-footer__brand span {
    margin-top:5px;
    
    font-size:.68rem;
}

.pfi-footer__widgets,
.pfi-footer__nav {
    font-size:.72rem;
}

.pfi-footer__widgets .pfi-widget {
    padding:0;
    
    
    
}

.pfi-footer__nav ul {
    display:grid;
    gap:6px;
    margin:0;
    padding:0;
    list-style:none;
}

.pfi-footer__nav a {
    
    text-decoration:none;
}

.pfi-footer__bottom {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
    margin-top:32px;
    padding-top:18px;
    
    font-size:.64rem;
    
}

/* Gaveta mobile */
.pfi-mobile-drawer {
    position:fixed;
    inset:0;
    z-index:9990;
}

.pfi-mobile-drawer[hidden] {
    display:none;
}

.pfi-mobile-drawer__backdrop {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    
    
    backdrop-filter:blur(7px);
}

.pfi-mobile-drawer__panel {
    position:relative;
    display:flex;
    flex-direction:column;
    width:min(88vw, 390px);
    height:100%;
    padding:14px;
    overflow:auto;
    
    
    
    animation:pfi-drawer-in 220ms cubic-bezier(.2, .7, .2, 1);
}

@keyframes pfi-drawer-in{
    from { transform:translateX(-102%); }
    to { transform:translateX(0); }
}

.pfi-mobile-drawer__panel > header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:13px;
}

.pfi-mobile-drawer__user {
    display:grid;
    grid-template-columns:52px minmax(0, 1fr);
    gap:11px;
    align-items:center;
    margin-bottom:12px;
    padding:11px;
    
    border-radius:14px;
    
}

.pfi-mobile-drawer__user img {
    width:52px;
    height:52px;
    border-radius:14px;
    object-fit:cover;
}

.pfi-mobile-drawer__user div {
    display:grid;
    min-width:0;
}

.pfi-mobile-drawer__user strong,
.pfi-mobile-drawer__user span {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-mobile-drawer__user strong {  font-size:.82rem; }
.pfi-mobile-drawer__user span { margin-top:4px;  font-size:.67rem; }

.pfi-mobile-drawer__panel .pfi-rail-nav {
    flex:1;
    
}

.pfi-mobile-drawer__panel > footer {
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    margin-top:12px;
}

.pfi-mobile-drawer__guest {
    padding:24px 10px;
    text-align:center;
}

.pfi-mobile-bottom {
    display:none;
}

/* Ferramentas */
.pfi-theme-tools {
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:980;
    display:grid;
    gap:8px;
}

.pfi-theme-tools__button {
    display:grid;
    width:44px;
    height:44px;
    padding:0;
    
    
    border-radius:13px;
    
    
    backdrop-filter:blur(12px);
    place-items:center;
}



.pfi-theme-tools__button:hover {
    
    
    
    transform:translateY(-2px);
}

.pfi-theme-tools__button svg {
    width:19px;
}

html[data-pfi-theme="dark"] [data-pfi-theme-icon-light],
html[data-pfi-theme="light"] [data-pfi-theme-icon-dark] {
    display:none;
}

.pfi-toast-region {
    position:fixed;
    right:18px;
    bottom:76px;
    z-index:10000;
    display:grid;
    gap:8px;
    width:min(calc(100% - 36px), 340px);
    pointer-events:none;
}

.pfi-toast {
    display:grid;
    grid-template-columns:9px minmax(0, 1fr);
    gap:10px;
    align-items:center;
    padding:12px 14px;
    
    font-size:.73rem;
    
    border-radius:12px;
    
    
    animation:pfi-toast-in 180ms ease-out;
}

.pfi-toast::before {
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    
    
}

@keyframes pfi-toast-in{
    from { opacity:0; transform:translateY(8px); }
    to { opacity:1; transform:translateY(0); }
}

/* Blocos */
.wp-block-image img,
.wp-block-cover,
.wp-block-media-text,
.wp-block-group.has-background {
    border-radius:var(--pfi-radius-sm);
}

.wp-block-table {
    overflow-x:auto;
}









/* Utilitários */
.pfi-empty-state {
    padding:clamp(24px, 5vw, 54px);
    text-align:center;
    
    border-radius:var(--pfi-radius);
    
}

.pfi-empty-state svg {
    width:42px;
    margin:0 auto 13px;
    
}

.pfi-empty-state h2 {
    font-size:1.2rem;
}

.pfi-empty-state p {
    max-width:560px;
    margin-right:auto;
    margin-left:auto;
    
}

.pfi-lock-scroll {
    overflow:hidden!important;
}

[hidden] {
    display:none!important;
}

@media (prefers-reduced-motion: reduce){
    html { scroll-behavior:auto; }
    *,
*::before,
*::after {
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}

/* Central operacional renderizada pelo tema */
.pfi-portal-hero {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(270px, .75fr);
    min-height:350px;
    overflow:hidden;
    
    border-radius:clamp(22px, 3vw, 34px);
    
    
}

.pfi-portal-hero__grid {
    position:absolute;
    inset:0;
    opacity:.28;
    
    background-size:48px 48px;
    mask-image:linear-gradient(90deg, #000, transparent 80%);
}

.pfi-portal-hero::after {
    content:"";
    position:absolute;
    top:-160px;
    right:-120px;
    width:520px;
    height:520px;
    
    border-radius:50%;
    
}

.pfi-portal-hero__copy {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(28px, 5vw, 62px);
}

.pfi-portal-hero__copy h1 {
    margin:10px 0 13px;
    font-size:clamp(2.25rem, 4.5vw, 4.8rem);
    line-height:.98;
}

.pfi-portal-hero__copy > p {
    max-width:650px;
    margin:0;
    
    font-size:clamp(.88rem, 1.15vw, 1.02rem);
}

.pfi-portal-hero__identity {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}

.pfi-portal-hero__identity span {
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:31px;
    padding:5px 10px;
    
    font-size:.66rem;
    font-weight:680;
    
    border-radius:99px;
    
    backdrop-filter:blur(8px);
}

.pfi-portal-hero__identity svg {
    width:14px;
    
}

.pfi-portal-hero__machine {
    position:relative;
    z-index:2;
    display:grid;
    align-content:center;
    justify-items:center;
    min-height:320px;
    
}

.pfi-machine-ring {
    position:absolute;
    
    border-radius:50%;
}

.pfi-machine-ring--one {
    width:240px;
    height:240px;
    border-width:20px;
    
    
    animation:pfi-machine-spin 24s linear infinite;
}

.pfi-machine-ring--one::before,
.pfi-machine-ring--one::after {
    content:"";
    position:absolute;
    width:24px;
    height:24px;
    border-radius:6px;
    
    
}

.pfi-machine-ring--one::before { top:-21px; left:88px; }
.pfi-machine-ring--one::after { right:-21px; bottom:88px;   }

.pfi-machine-ring--two {
    width:164px;
    height:164px;
    border-width:8px;
    
    border-style:dashed;
    animation:pfi-machine-spin-reverse 18s linear infinite;
}

.pfi-machine-core {
    position:relative;
    z-index:3;
    display:grid;
    width:92px;
    height:92px;
    
    
    border-radius:28px;
    
    
    place-items:center;
}

.pfi-machine-core svg {
    width:44px;
    animation:pfi-machine-spin 12s linear infinite;
}

.pfi-portal-hero__machine > span,
.pfi-portal-hero__machine > strong {
    position:absolute;
    z-index:4;
    bottom:37px;
    letter-spacing:.16em;
}

.pfi-portal-hero__machine > span {
    bottom:56px;
    
    font-size:.58rem;
    font-weight:820;
}

.pfi-portal-hero__machine > strong {
    
    font-size:.78rem;
}

@keyframes pfi-machine-spin{ to { transform:rotate(360deg); } }
@keyframes pfi-machine-spin-reverse{ to { transform:rotate(-360deg); } }

.pfi-section-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
}

.pfi-section-heading h2 {
    margin:5px 0 3px;
    font-size:clamp(1.35rem, 2.1vw, 2rem);
}

.pfi-section-heading p {
    margin:0;
    
    font-size:.76rem;
}

.pfi-section-heading > a {
    display:inline-flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
    font-size:.7rem;
    font-weight:750;
    text-decoration:none;
}

.pfi-section-heading > a svg {
    width:16px;
}

.pfi-section-heading--compact {
    align-items:flex-start;
    margin-bottom:17px;
}

.pfi-module-card > div {
    position:relative;
    z-index:1;
    align-self:end;
}

.pfi-module-card__eyebrow {
    
    font-size:.58rem;
    font-weight:820;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.pfi-module-card__arrow {
    position:absolute;
    right:17px;
    bottom:17px;
    display:grid;
    width:30px;
    height:30px;
    
    
    border-radius:9px;
    place-items:center;
}

.pfi-module-card__arrow svg {
    width:15px;
}

.pfi-module-card:hover .pfi-module-card__arrow {
    
    
    
    transform:translateX(2px);
}





.pfi-dashboard-columns {
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(300px, .85fr);
    gap:15px;
}

.pfi-communication-list {
    display:grid;
    gap:9px;
}

.pfi-communication-list > a {
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 18px;
    align-items:center;
    gap:11px;
    min-height:70px;
    padding:11px;
    
    
    border-radius:12px;
    text-decoration:none;
}



.pfi-communication-list > a > span {
    display:grid;
    width:40px;
    height:40px;
    
    
    border-radius:11px;
    
    place-items:center;
}

.pfi-communication-list > a > span svg,
.pfi-communication-list > a > svg {
    width:17px;
}

.pfi-communication-list > a > div {
    min-width:0;
}

.pfi-communication-list small {
    
    font-size:.59rem;
}

.pfi-communication-list h3 {
    margin:2px 0 2px;
    overflow:hidden;
    font-size:.78rem;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.pfi-communication-list p {
    margin:0;
    overflow:hidden;
    
    font-size:.64rem;
    white-space:nowrap;
    text-overflow:ellipsis;
}



.pfi-training-feature {
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:14px;
    align-items:start;
    padding:16px;
    
    border-radius:14px;
    
}

.pfi-training-feature__icon {
    display:grid;
    width:58px;
    height:58px;
    
    
    border-radius:16px;
    
    place-items:center;
}

.pfi-training-feature__icon svg {
    width:29px;
}

.pfi-training-feature h3 {
    margin:1px 0 5px;
    font-size:.92rem;
}

.pfi-training-feature p {
    margin:0 0 9px;
    
    font-size:.68rem;
}

.pfi-training-feature a {
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:.65rem;
    font-weight:750;
    text-decoration:none;
}

.pfi-training-feature a svg {
    width:15px;
}

.pfi-operational-principles {
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:8px;
    margin-top:11px;
}

.pfi-operational-principles > div {
    display:grid;
    min-height:92px;
    padding:11px;
    
    border-radius:12px;
    
}

.pfi-operational-principles span {
    
    font-size:.58rem;
    font-weight:850;
}

.pfi-operational-principles strong {
    align-self:end;
    
    font-size:.72rem;
}

.pfi-operational-principles small {
    
    font-size:.57rem;
}

.pfi-empty-inline {
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:18px;
    
    border-radius:13px;
}

.pfi-empty-inline > span {
    display:grid;
    width:42px;
    height:42px;
    
    
    border-radius:12px;
    place-items:center;
}

.pfi-empty-inline svg { width:20px; }
.pfi-empty-inline strong {  font-size:.76rem; }
.pfi-empty-inline p { margin:3px 0 0;  font-size:.65rem; }

/* Cartões de publicações e páginas conforme os templates do tema */
.pfi-post-card {
    display:flex;
    flex-direction:column;
    min-width:0;
}

.pfi-post-card__image {
    display:block;
    aspect-ratio:16 / 9;
    overflow:hidden;
    
}

.pfi-post-card__image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 420ms cubic-bezier(.2,.7,.2,1);
}

.pfi-post-card:hover .pfi-post-card__image img {
    transform:scale(1.04);
}

.pfi-post-card__body {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:clamp(17px, 2.4vw, 26px);
}

.pfi-post-card__meta,
.pfi-single__meta {
    display:flex;
    flex-wrap:wrap;
    gap:8px 13px;
    margin-bottom:9px;
    
    font-size:.65rem;
}

.pfi-post-card__meta span + span::before,
.pfi-single__meta span + span::before {
    content:"•";
    margin-right:13px;
    
}

.pfi-post-card__title {
    margin:0 0 9px;
    font-size:1.16rem;
}

.pfi-post-card__title a {
    
    text-decoration:none;
}



.pfi-post-card__excerpt {
    
    font-size:.76rem;
}

.pfi-post-card__excerpt p {
    margin:0;
}

.pfi-text-link {
    display:inline-flex;
    align-items:center;
    gap:7px;
    align-self:flex-start;
    margin-top:auto;
    padding-top:15px;
    font-size:.69rem;
    font-weight:750;
    text-decoration:none;
}

.pfi-text-link svg {
    width:15px;
}

.pfi-page.pfi-content-card > .pfi-page-heading {
    margin:0;
    
    
    border-radius:0;
    
}

.pfi-page.pfi-content-card > .pfi-entry-content {
    padding:clamp(20px, 3.5vw, 38px);
}

.pfi-module-host,
.pfi-page--module {
    min-width:0;
}

.pfi-module-host > .pfi-entry-content,
.pfi-page--module > .pfi-entry-content {
    min-width:0;
}

.pfi-single {
    display:block;
}

.pfi-single__header {
    padding:clamp(22px, 4vw, 44px);
    
    
}

.pfi-single__header h1 {
    max-width:900px;
    margin:8px 0 13px;
    font-size:clamp(2rem, 4vw, 4rem);
}

.pfi-single__image {
    margin:0;
    max-height:600px;
    overflow:hidden;
}

.pfi-single__image img {
    display:block;
    width:100%;
    height:100%;
    max-height:600px;
    object-fit:cover;
}

.pfi-single > .pfi-entry-content {
    padding:clamp(22px, 4vw, 48px);
}

.pfi-tags {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
    padding:0 clamp(22px, 4vw, 48px) clamp(22px, 4vw, 42px);
    
    font-size:.69rem;
}

.pfi-tags a {
    padding:4px 8px;
    
    border-radius:99px;
    text-decoration:none;
}

/* =====================================================================
   3.10.31 — SISTEMA CLARO: FECHAMENTO DO TEMA BASE
   Mantém o arquivo-base coerente mesmo sem a camada visual final.
   ===================================================================== */








.pfi-dashboard-hero::before,.pfi-portal-hero::before{opacity:.22;}







/* ========================================================================
   PROENÇA 3.11.25 — Menu lateral elegante vermelho e azul
   ======================================================================== */
.pfi-mobile-drawer{
  z-index:9999;
}
.pfi-mobile-drawer__backdrop{
  background:rgba(23, 33, 43, 0.24);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
}
.pfi-mobile-drawer__panel{
  position:relative;
  width:min(88vw, 398px);
  padding:16px 14px 18px;
  border-right:1px solid rgba(54, 95, 125, 0.12);
  background:var(--pf-palette-surface, #ffffff);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:18px;
  background:var(--pf-palette-primary, #365f7d);
}
.pfi-mobile-drawer__panel::after{
  content:"";
  position:absolute;
  right:-80px;
  top:-20px;
  width:300px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,rgba(54, 95, 125, 0.14) 0%,rgba(54, 95, 125, 0.08) 32%,rgba(54, 95, 125, 0) 68%),radial-gradient(circle at 68% 62%,rgba(54, 95, 125, 0.14) 0%,rgba(54, 95, 125, 0.08) 30%,rgba(54, 95, 125, 0) 68%);
  pointer-events:none;
}
.pfi-mobile-drawer__panel > header,
.pfi-mobile-drawer__user,
.pfi-mobile-drawer__panel .pfi-rail-nav,
.pfi-mobile-drawer__panel > footer,
.pfi-mobile-drawer__guest{
  position:relative;
  z-index:1;
}
.pfi-mobile-drawer__panel > header{
  position:sticky;
  top:-2px;
  margin:-2px 0 14px;
  padding:8px 2px 10px;
  background:linear-gradient(180deg,rgba(255, 255, 255, 0.96) 0%,rgba(255, 255, 255, 0.82) 100%);
  backdrop-filter:blur(10px);
}
.pfi-mobile-drawer__panel > header .pfi-brand{
  gap:14px;
}
.pfi-mobile-drawer__panel > header .pfi-brand__mark{
  width:56px;height:56px;border-radius:17px;
  background:var(--pf-palette-surface, #ffffff);
  border:1px solid rgba(54, 95, 125, 0.1);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__panel > header .pfi-brand__mark img{padding:5px;}
.pfi-mobile-drawer__panel > header .pfi-brand__text strong{
  color:var(--pf-palette-text, #243241);
  font-size:1rem;
  font-weight:900;
}
.pfi-mobile-drawer__panel > header .pfi-brand__text span{
  color:var(--pf-palette-muted, #596879);
  font-size:.7rem;
  letter-spacing:.04em;
}
.pfi-mobile-drawer__panel > header .pfi-icon-button{
  width:44px;height:44px;border-radius:14px;
  border:1px solid rgba(54, 95, 125, 0.1);
  background:var(--pf-palette-surface, #ffffff);
  color:var(--pf-palette-primary, #365f7d);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__panel > header .pfi-icon-button:hover,
.pfi-mobile-drawer__panel > header .pfi-icon-button:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(36, 50, 65, 0.12);
}
.pfi-mobile-drawer__user,
.pfi-mobile-drawer__guest{
  position:relative;
  overflow:hidden;
  margin-bottom:14px;
  padding:14px;
  border:1px solid rgba(54, 95, 125, 0.1);
  border-radius:20px;
  background:var(--pf-palette-surface, #ffffff);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__user::before,
.pfi-mobile-drawer__guest::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:7px;
  background:var(--pf-palette-primary, #365f7d);
}
.pfi-mobile-drawer__user img{
  width:56px;height:56px;border-radius:16px;
  border:2px solid var(--pf-palette-surface, #ffffff);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__user strong,
.pfi-mobile-drawer__guest p{
  color:var(--pf-palette-text, #243241);
}
.pfi-mobile-drawer__user span{
  color:var(--pf-palette-muted, #596879);
}
.pfi-mobile-drawer__panel .pfi-rail-nav{
  display:grid;
  gap:8px;
}
.pfi-mobile-drawer__panel .pfi-rail-nav__section{
  margin:8px 2px 0;
  padding:12px 4px 4px;
  color:var(--pf-palette-primary, #365f7d);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item{
  position:relative;
  overflow:hidden;
  min-height:54px;
  padding:12px 14px 12px 12px;
  border:1px solid rgba(54, 95, 125, 0.1);
  border-radius:18px;
  background:var(--pf-palette-surface, #ffffff);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
  color:var(--pf-palette-primary, #365f7d);
  font-size:.88rem;
  font-weight:800;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:6px;
  background:var(--pf-palette-primary, #365f7d);
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item > svg{
  width:19px;height:19px;
  color:var(--pf-palette-primary, #365f7d);fill:currentColor;
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item > span{
  color:var(--pf-palette-text, #243241);
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item .pfi-rail-nav__arrow{
  width:14px!important;height:14px!important;
  color:var(--pf-palette-muted, #596879);fill:currentColor;opacity:.92;
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item:hover,
.pfi-mobile-drawer__panel .pfi-rail-nav__item:focus-visible{
  transform:translateX(4px) translateY(-1px);
  border-color:rgba(54, 95, 125, 0.18);
  box-shadow:0 18px 30px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item.is-active,
.pfi-mobile-drawer__panel .pfi-rail-nav__item[aria-current="page"]{
  border-color:transparent;
  background:var(--pf-palette-primary, #365f7d);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item.is-active::before,
.pfi-mobile-drawer__panel .pfi-rail-nav__item[aria-current="page"]::before{
  background:rgba(255, 255, 255, 0.22);
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item.is-active :is(span,svg),
.pfi-mobile-drawer__panel .pfi-rail-nav__item[aria-current="page"] :is(span,svg){
  color:var(--pf-palette-surface, #ffffff)!important;fill:currentColor!important;
}
.pfi-mobile-drawer__panel > footer{
  margin-top:16px;
}
.pfi-mobile-drawer__panel > footer .pfi-button,
.pfi-mobile-drawer__guest .pfi-button{
  min-height:48px;
  border-radius:16px;
  border:0;
  background:var(--pf-palette-primary, #365f7d);
  color:var(--pf-palette-surface, #ffffff);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__panel > footer .pfi-button:hover,
.pfi-mobile-drawer__guest .pfi-button:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1);
}
.pfi-mobile-drawer__guest .pfi-rail-nav{
  margin:14px 0 0;
}
@media (max-width:480px){
  .pfi-mobile-drawer__panel{width:min(92vw,390px);padding:14px 12px 18px;}
  .pfi-mobile-drawer__panel .pfi-rail-nav__item{min-height:50px;padding:11px 13px 11px 12px;font-size:.84rem;}
}


/* ========================================================================
   PROENÇA 3.11.26 — correção do item ativo no menu lateral
   ======================================================================== */
.pfi-mobile-drawer__user{
  min-height:86px!important;
}
.pfi-mobile-drawer__user strong,
.pfi-mobile-drawer__user span{
  display:block!important;
  opacity:1!important;
}
.pfi-mobile-drawer__user strong{color:var(--pf-palette-text, #243241)!important;}
.pfi-mobile-drawer__user span{color:var(--pf-palette-muted, #596879)!important;}

.pfi-mobile-drawer__panel .pfi-rail-nav__item.is-active,
.pfi-mobile-drawer__panel .pfi-rail-nav__item[aria-current="page"]{
  background:var(--pf-palette-primary, #365f7d)!important;
  border-color:transparent!important;
  box-shadow:0 8px 28px rgba(36, 50, 65, 0.1)!important;
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item.is-active > span,
.pfi-mobile-drawer__panel .pfi-rail-nav__item[aria-current="page"] > span,
.pfi-mobile-drawer__panel .pfi-rail-nav__item.is-active > svg,
.pfi-mobile-drawer__panel .pfi-rail-nav__item[aria-current="page"] > svg,
.pfi-mobile-drawer__panel .pfi-rail-nav__item.is-active .pfi-rail-nav__arrow,
.pfi-mobile-drawer__panel .pfi-rail-nav__item[aria-current="page"] .pfi-rail-nav__arrow{
  color:var(--pf-palette-surface, #ffffff)!important;
  fill:currentColor!important;
  opacity:1!important;
}
.pfi-mobile-drawer__panel .pfi-rail-nav__item.is-active::before,
.pfi-mobile-drawer__panel .pfi-rail-nav__item[aria-current="page"]::before{
  background:rgba(255, 255, 255, 0.22)!important;
}


/* PROENÇA 3.12.62 — RODAPÉ INSTITUCIONAL PADRÃO DO APP */
.pfi-app-portal-footer {
    display:block;
    width:100%;
    margin:22px 0 0;
    padding:0;
    background:var(--pf-palette-canvas, #f5f6f7);
    border:0;
    border-bottom:2px solid var(--pf-palette-text, #243241);
    box-shadow:none;
    color:var(--pf-palette-text, #243241);
}
.pfi-app-portal-footer__inner {
    display:grid;
    justify-items:center;
    gap:10px;
    width:100%;
    max-width:760px;
    margin:0 auto;
    padding:22px 18px 24px;
}
.pfi-app-portal-footer__inner img {
    display:block;
    width:92px;
    height:auto;
    max-height:24px;
    object-fit:contain;
}
.pfi-app-portal-footer__inner p {
    margin:0;
    color:var(--pf-palette-muted, #596879);
    font-size:10px;
    font-weight:800;
    line-height:1.55;
    letter-spacing:.17em;
    text-align:center;
    text-transform:uppercase;
}
body.ppa-app-enabled .pfi-app-portal-footer,
body.ppa-standalone .pfi-app-portal-footer,
body.pfo-native-app .pfi-app-portal-footer {
    margin-top:18px;
    padding-bottom:max(0px, env(safe-area-inset-bottom));
}
@media (max-width:640px) {
    .pfi-app-portal-footer__inner {
        padding:20px 14px 22px;
    }
    .pfi-app-portal-footer__inner img {
        width:86px;
        max-height:22px;
    }
    .pfi-app-portal-footer__inner p {
        font-size:9px;
        letter-spacing:.15em;
    }
}
