/*
 * PROENÇA & FERRAZ – Relatórios Técnicos de Manutenção
 * Interface industrial escura, integralmente escopada ao módulo.
 */
.pfrtm-shell,
.pfrtm-acceptance-shell,
.pfrtm-profile-segment {
    --pfrtm-bg: var(--pfi-bg, #030a10);
    --pfrtm-bg-deep: var(--pfi-bg-deep, #010509);
    --pfrtm-surface: var(--pfi-surface, #091722);
    --pfrtm-surface-2: var(--pfi-surface-2, #0d202d);
    --pfrtm-surface-3: #122a38;
    --pfrtm-line: var(--pfi-line, rgba(139, 187, 214, .17));
    --pfrtm-line-strong: rgba(139, 187, 214, .3);
    --pfrtm-text: var(--pfi-text, #eef7fb);
    --pfrtm-muted: var(--pfi-muted, #9fb3c0);
    --pfrtm-primary: var(--pfi-primary, #20a8e0);
    --pfrtm-primary-strong: #0f80b5;
    --pfrtm-red: var(--pfi-red, #ef3340);
    --pfrtm-green: var(--pfi-green, #25c07a);
    --pfrtm-amber: var(--pfi-amber, #f0b94c);
    --pfrtm-radius: var(--pfi-radius, 18px);
    --pfrtm-shadow: 0 22px 60px rgba(0, 0, 0, .28);
    color: var(--pfrtm-text);
    font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    width: 100%;
}

.pfrtm-shell *,
.pfrtm-acceptance-shell *,
.pfrtm-profile-segment * {
    box-sizing: border-box;
}

.pfrtm-shell {
    position: relative;
    isolation: isolate;
    max-width: 1540px;
    margin: 0 auto;
    padding: clamp(10px, 1.4vw, 24px);
}

.pfrtm-shell::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(circle at 8% 6%, rgba(32, 168, 224, .09), transparent 26rem),
        radial-gradient(circle at 94% 16%, rgba(239, 51, 64, .07), transparent 25rem),
        linear-gradient(180deg, rgba(3, 10, 16, .35), rgba(3, 10, 16, .04));
}

.pfrtm-shell a,
.pfrtm-acceptance-shell a {
    color: var(--pfrtm-primary);
    text-decoration: none;
}

.pfrtm-shell h1,
.pfrtm-shell h2,
.pfrtm-shell h3,
.pfrtm-shell h4,
.pfrtm-acceptance-shell h1,
.pfrtm-acceptance-shell h2,
.pfrtm-acceptance-shell h3 {
    color: var(--pfrtm-text);
    font-weight: 760;
    letter-spacing: -.025em;
    line-height: 1.18;
    margin: 0;
}

.pfrtm-kicker {
    display: block;
    color: var(--pfrtm-primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.pfrtm-hero {
    align-items: stretch;
    background:
        linear-gradient(118deg, rgba(11, 32, 45, .98), rgba(5, 15, 23, .96) 58%, rgba(34, 12, 18, .86)),
        repeating-linear-gradient(90deg, transparent 0 46px, rgba(255,255,255,.02) 47px 48px);
    border: 1px solid var(--pfrtm-line);
    border-radius: calc(var(--pfrtm-radius) + 6px);
    box-shadow: var(--pfrtm-shadow);
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) minmax(245px, .34fr);
    margin-bottom: 16px;
    min-height: 190px;
    overflow: hidden;
    padding: clamp(24px, 4vw, 54px);
    position: relative;
}

.pfrtm-hero::after {
    background: linear-gradient(90deg, var(--pfrtm-primary), var(--pfrtm-red));
    bottom: 0;
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
}

.pfrtm-hero__identity {
    align-self: center;
    max-width: 860px;
}

.pfrtm-hero__identity h2 {
    font-size: clamp(1.85rem, 3vw, 3rem);
    margin: 8px 0 12px;
}

.pfrtm-hero__identity p {
    color: var(--pfrtm-muted);
    font-size: clamp(.98rem, 1.25vw, 1.12rem);
    margin: 0;
    max-width: 780px;
}

.pfrtm-hero__supervisor {
    align-self: center;
    background: rgba(4, 14, 21, .67);
    border: 1px solid var(--pfrtm-line);
    border-radius: var(--pfrtm-radius);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 120px;
    padding: 22px;
}

.pfrtm-hero__supervisor span,
.pfrtm-hero__supervisor small {
    color: var(--pfrtm-muted);
}

.pfrtm-hero__supervisor strong {
    font-size: 1.12rem;
    margin: 4px 0;
}

.pfrtm-nav {
    align-items: center;
    background: rgba(7, 21, 31, .93);
    border: 1px solid var(--pfrtm-line);
    border-radius: 15px;
    display: flex;
    gap: 4px;
    margin: 0 0 16px;
    overflow-x: auto;
    padding: 6px;
    scrollbar-width: thin;
}

.pfrtm-nav a {
    border-radius: 10px;
    color: var(--pfrtm-muted);
    flex: 0 0 auto;
    font-size: .88rem;
    font-weight: 700;
    padding: 10px 15px;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.pfrtm-nav a:hover,
.pfrtm-nav a.is-active {
    background: linear-gradient(135deg, rgba(32, 168, 224, .18), rgba(32, 168, 224, .08));
    color: #fff;
}

.pfrtm-nav a:hover { transform: translateY(-1px); }

.pfrtm-card,
.pfrtm-tag-block,
.pfrtm-acceptance-card {
    background: linear-gradient(145deg, rgba(12, 31, 43, .97), rgba(6, 17, 26, .98));
    border: 1px solid var(--pfrtm-line);
    border-radius: var(--pfrtm-radius);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .18);
}

.pfrtm-card { padding: clamp(18px, 2.2vw, 30px); }

.pfrtm-grid {
    display: grid;
    gap: 16px;
}

.pfrtm-grid--dashboard { grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr); }
.pfrtm-grid--projects { grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr); }

.pfrtm-section-title,
.pfrtm-subhead,
.pfrtm-document-actions,
.pfrtm-editor-section__head {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.pfrtm-section-title { margin-bottom: 20px; }
.pfrtm-section-title h3 { font-size: clamp(1.18rem, 1.8vw, 1.55rem); margin-top: 3px; }
.pfrtm-section-title > a { font-weight: 750; }

.pfrtm-chip,
.pfrtm-status,
.pfrtm-profile-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 800;
    gap: 6px;
    letter-spacing: .03em;
    padding: 6px 10px;
    white-space: nowrap;
}

.pfrtm-chip {
    background: rgba(32, 168, 224, .11);
    border: 1px solid rgba(32, 168, 224, .25);
    color: #9ce4ff;
}

.pfrtm-metrics {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 16px;
}

.pfrtm-metric {
    background: linear-gradient(145deg, rgba(12, 31, 43, .98), rgba(5, 16, 24, .98));
    border: 1px solid var(--pfrtm-line);
    border-radius: 16px;
    min-height: 142px;
    padding: 20px;
    position: relative;
}

.pfrtm-metric::before {
    background: var(--pfrtm-primary);
    border-radius: 99px;
    content: "";
    height: 4px;
    left: 20px;
    position: absolute;
    top: 0;
    width: 42px;
}

.pfrtm-metric--warning::before { background: var(--pfrtm-amber); }
.pfrtm-metric--success::before { background: var(--pfrtm-green); }
.pfrtm-metric span,
.pfrtm-metric small { color: var(--pfrtm-muted); display: block; }
.pfrtm-metric strong { display: block; font-size: 2.1rem; line-height: 1; margin: 14px 0 10px; }

.pfrtm-card--command {
    background:
        radial-gradient(circle at 90% 5%, rgba(239, 51, 64, .12), transparent 15rem),
        linear-gradient(145deg, rgba(12, 31, 43, .97), rgba(6, 17, 26, .98));
}

.pfrtm-card--command h3 { font-size: 1.45rem; margin: 7px 0 14px; }
.pfrtm-card--command ol { color: var(--pfrtm-muted); margin: 0 0 20px; padding-left: 1.25rem; }
.pfrtm-card--command li { margin: 8px 0; padding-left: 4px; }

.pfrtm-project-strip {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.pfrtm-project-strip article,
.pfrtm-project-card {
    background: rgba(3, 13, 20, .62);
    border: 1px solid var(--pfrtm-line);
    border-radius: 14px;
    padding: 16px;
}

.pfrtm-project-strip span,
.pfrtm-project-strip small,
.pfrtm-project-card small { color: var(--pfrtm-muted); display: block; }
.pfrtm-project-strip strong { display: block; margin: 5px 0 7px; }
.pfrtm-project-strip span { color: var(--pfrtm-primary); font-size: .72rem; font-weight: 800; }

.pfrtm-project-list { display: grid; gap: 12px; }
.pfrtm-project-card { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) auto; }
.pfrtm-project-card h4 { margin: 4px 0; }
.pfrtm-project-card__status { color: var(--pfrtm-green); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.pfrtm-project-card__actions { align-items: center; display: flex; gap: 8px; }

.pfrtm-btn,
.pfrtm-icon-btn {
    align-items: center;
    appearance: none;
    background: rgba(15, 42, 56, .82);
    border: 1px solid var(--pfrtm-line-strong);
    border-radius: 11px;
    color: var(--pfrtm-text) !important;
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: .86rem;
    font-weight: 760;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px 15px;
    text-decoration: none !important;
    transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.pfrtm-btn:hover,
.pfrtm-icon-btn:hover {
    background: rgba(24, 61, 78, .98);
    border-color: rgba(112, 209, 247, .45);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
    transform: translateY(-1px);
}

.pfrtm-btn:disabled { cursor: progress; opacity: .62; transform: none; }
.pfrtm-btn--primary { background: linear-gradient(135deg, var(--pfrtm-primary), var(--pfrtm-primary-strong)); border-color: transparent; color: #00111b !important; }
.pfrtm-btn--success { background: linear-gradient(135deg, #2bd18a, #13965e); border-color: transparent; color: #02150d !important; }
.pfrtm-btn--danger { background: rgba(239, 51, 64, .12); border-color: rgba(239, 51, 64, .35); color: #ff9da5 !important; }
.pfrtm-btn--small { font-size: .78rem; min-height: 34px; padding: 7px 11px; }
.pfrtm-icon-btn { border-radius: 10px; height: 38px; min-height: 38px; min-width: 38px; padding: 0; width: 38px; }
.pfrtm-icon-btn--danger { background: rgba(239, 51, 64, .08); border-color: rgba(239, 51, 64, .24); color: #ff98a0 !important; font-size: 1.35rem; }
.pfrtm-link-danger { color: #ff8c95 !important; }

.pfrtm-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; }
.pfrtm-actions--center { justify-content: center; }

.pfrtm-form { width: 100%; }
.pfrtm-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pfrtm-form-grid--technical { margin-top: 16px; }
.pfrtm-field--full { grid-column: 1 / -1; }

.pfrtm-field,
.pfrtm-check {
    color: var(--pfrtm-muted);
    display: flex;
    flex-direction: column;
    font-size: .8rem;
    font-weight: 700;
    gap: 7px;
    min-width: 0;
}

.pfrtm-field > span { color: #d4e5ed; }
.pfrtm-field small { color: var(--pfrtm-muted); font-size: .73rem; font-weight: 500; }

.pfrtm-shell input[type="text"],
.pfrtm-shell input[type="email"],
.pfrtm-shell input[type="search"],
.pfrtm-shell input[type="date"],
.pfrtm-shell input[type="time"],
.pfrtm-shell input[type="number"],
.pfrtm-shell select,
.pfrtm-shell textarea,
.pfrtm-acceptance-shell input[type="text"],
.pfrtm-acceptance-shell select,
.pfrtm-acceptance-shell textarea {
    appearance: none;
    background: rgba(2, 11, 17, .82);
    border: 1px solid var(--pfrtm-line-strong);
    border-radius: 11px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    color: var(--pfrtm-text);
    font: inherit;
    font-size: .9rem;
    min-height: 45px;
    outline: none;
    padding: 10px 12px;
    width: 100%;
}

.pfrtm-shell select,
.pfrtm-acceptance-shell select {
    background-image: linear-gradient(45deg, transparent 50%, #80a8ba 50%), linear-gradient(135deg, #80a8ba 50%, transparent 50%);
    background-position: calc(100% - 17px) 19px, calc(100% - 12px) 19px;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    padding-right: 34px;
}

.pfrtm-shell textarea,
.pfrtm-acceptance-shell textarea { min-height: 105px; resize: vertical; }
.pfrtm-shell input:focus,
.pfrtm-shell select:focus,
.pfrtm-shell textarea:focus,
.pfrtm-acceptance-shell input:focus,
.pfrtm-acceptance-shell select:focus,
.pfrtm-acceptance-shell textarea:focus {
    border-color: rgba(32, 168, 224, .72);
    box-shadow: 0 0 0 3px rgba(32, 168, 224, .11);
}

.pfrtm-check {
    align-items: center;
    background: rgba(2, 11, 17, .5);
    border: 1px solid var(--pfrtm-line);
    border-radius: 11px;
    flex-direction: row;
    min-height: 45px;
    padding: 10px 12px;
}

.pfrtm-check input { accent-color: var(--pfrtm-primary); flex: 0 0 auto; height: 18px; width: 18px; }

.pfrtm-editor-section {
    border-top: 1px solid var(--pfrtm-line);
    margin-top: 26px;
    padding-top: 26px;
}
.pfrtm-editor-section:first-of-type { border-top: 0; margin-top: 0; padding-top: 0; }
.pfrtm-editor-section__head { margin-bottom: 20px; }
.pfrtm-editor-section__head > span {
    align-items: center;
    background: rgba(32, 168, 224, .12);
    border: 1px solid rgba(32, 168, 224, .25);
    border-radius: 12px;
    color: #8ee0ff;
    display: inline-flex;
    flex: 0 0 46px;
    font-size: 1rem;
    font-weight: 850;
    height: 46px;
    justify-content: center;
}
.pfrtm-editor-section__head > div { flex: 1; }
.pfrtm-editor-section__head h4 { font-size: 1.25rem; }
.pfrtm-editor-section__head p { color: var(--pfrtm-muted); margin: 3px 0 0; }

.pfrtm-tags { display: grid; gap: 20px; }
.pfrtm-tag-block { overflow: hidden; padding: clamp(16px, 2vw, 26px); position: relative; }
.pfrtm-tag-block::before { background: linear-gradient(90deg, var(--pfrtm-primary), transparent); content: ""; height: 2px; left: 0; position: absolute; right: 40%; top: 0; }
.pfrtm-tag-block.pfrtm-template-applied { animation: pfrtm-template-pulse .9s ease; }
@keyframes pfrtm-template-pulse { 0%,100% { box-shadow: 0 16px 38px rgba(0,0,0,.18); } 50% { box-shadow: 0 0 0 3px rgba(32,168,224,.2), 0 20px 45px rgba(0,0,0,.25); } }
.pfrtm-tag-block__head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 19px; }
.pfrtm-tag-block__head > div { display: flex; flex-direction: column; }
.pfrtm-tag-block__head strong { font-size: 1.2rem; }
.pfrtm-tag-index { color: var(--pfrtm-primary); font-size: .68rem; font-weight: 850; letter-spacing: .1em; }

.pfrtm-technical-helper {
    align-items: center;
    background: linear-gradient(90deg, rgba(32, 168, 224, .08), rgba(32, 168, 224, .02));
    border: 1px dashed rgba(32, 168, 224, .3);
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: auto auto minmax(150px, 1fr);
    margin: 18px 0 0;
    padding: 12px;
}
.pfrtm-technical-helper > span { color: #a6e7ff; font-size: .78rem; font-weight: 850; text-transform: uppercase; }
.pfrtm-technical-helper small { color: var(--pfrtm-muted); }

.pfrtm-workers,
.pfrtm-photo-columns {
    border-top: 1px solid var(--pfrtm-line);
    margin-top: 22px;
    padding-top: 22px;
}
.pfrtm-subhead { margin-bottom: 12px; }
.pfrtm-subhead strong { display: block; }
.pfrtm-subhead span { color: var(--pfrtm-muted); display: block; font-size: .76rem; }
.pfrtm-worker-row { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(240px, 1.25fr) minmax(170px, .85fr) minmax(100px, .35fr) 40px; margin-bottom: 10px; }
.pfrtm-worker-row.is-template,
.pfrtm-tag-block.is-template { display: none !important; }

.pfrtm-photo-columns { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pfrtm-photo-box { background: rgba(2, 11, 17, .45); border: 1px solid var(--pfrtm-line); border-radius: 14px; padding: 15px; }
.pfrtm-file-input { align-items: center; background: rgba(32,168,224,.06); border: 1px dashed rgba(32,168,224,.35); border-radius: 12px; cursor: pointer; display: grid; gap: 3px; min-height: 92px; padding: 18px; text-align: center; }
.pfrtm-file-input input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.pfrtm-file-input > span { color: #9de5ff; font-weight: 800; }
.pfrtm-file-input output { color: var(--pfrtm-muted); font-size: .75rem; }
.pfrtm-photo-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); margin-top: 14px; }
.pfrtm-photo-grid article { background: rgba(1, 7, 11, .65); border: 1px solid var(--pfrtm-line); border-radius: 11px; overflow: hidden; padding: 8px; }
.pfrtm-photo-grid img { aspect-ratio: 4 / 3; border-radius: 8px; display: block; object-fit: cover; width: 100%; }
.pfrtm-photo-grid .pfrtm-field,
.pfrtm-photo-grid label { margin-top: 8px; }
.pfrtm-photo-grid input[type="text"] { font-size: .76rem; min-height: 36px; padding: 7px 9px; }

.pfrtm-sticky-actions {
    align-items: center;
    background: rgba(3, 12, 18, .94);
    border: 1px solid var(--pfrtm-line);
    border-radius: 14px;
    bottom: 12px;
    box-shadow: 0 20px 44px rgba(0,0,0,.38);
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 28px;
    padding: 10px;
    position: sticky;
    z-index: 12;
}

.pfrtm-filters { display: grid; gap: 10px; grid-template-columns: 1.1fr .85fr .85fr 1fr auto; margin-bottom: 18px; }
.pfrtm-table-wrap { overflow-x: auto; }
.pfrtm-table { border-collapse: collapse; min-width: 820px; width: 100%; }
.pfrtm-table th { color: var(--pfrtm-muted); font-size: .7rem; font-weight: 800; letter-spacing: .06em; padding: 11px; text-align: left; text-transform: uppercase; }
.pfrtm-table td { border-top: 1px solid var(--pfrtm-line); color: #dceaf0; padding: 13px 11px; vertical-align: middle; }
.pfrtm-table td strong,
.pfrtm-table td small { display: block; }
.pfrtm-table td small { color: var(--pfrtm-muted); font-size: .72rem; margin-top: 3px; }
.pfrtm-table tbody tr { transition: background .2s ease; }
.pfrtm-table tbody tr:hover { background: rgba(32,168,224,.035); }

.pfrtm-status { background: rgba(135, 156, 168, .1); border: 1px solid rgba(135,156,168,.2); color: #d3e1e8; }
.pfrtm-status--draft { background: rgba(240,185,76,.09); border-color: rgba(240,185,76,.25); color: #ffd78a; }
.pfrtm-status--submitted { background: rgba(32,168,224,.09); border-color: rgba(32,168,224,.24); color: #93e3ff; }
.pfrtm-status--awaiting_acceptance,
.pfrtm-status--pending { background: rgba(240,185,76,.1); border-color: rgba(240,185,76,.3); color: #ffdc94; }
.pfrtm-status--accepted,
.pfrtm-status--closed { background: rgba(37,192,122,.1); border-color: rgba(37,192,122,.28); color: #91efbe; }
.pfrtm-status--rejected,
.pfrtm-status--expired { background: rgba(239,51,64,.1); border-color: rgba(239,51,64,.3); color: #ff9ca4; }

.pfrtm-notice { border: 1px solid var(--pfrtm-line); border-left-width: 4px; border-radius: 12px; margin-bottom: 16px; padding: 13px 15px; }
.pfrtm-notice--success { background: rgba(37,192,122,.09); border-left-color: var(--pfrtm-green); }
.pfrtm-notice--warning { background: rgba(240,185,76,.09); border-left-color: var(--pfrtm-amber); }
.pfrtm-notice--error { background: rgba(239,51,64,.09); border-left-color: var(--pfrtm-red); }
.pfrtm-notice--info { background: rgba(32,168,224,.09); border-left-color: var(--pfrtm-primary); }

.pfrtm-empty { align-items: center; background: rgba(5,17,25,.72); border: 1px dashed var(--pfrtm-line-strong); border-radius: 15px; color: var(--pfrtm-muted); display: flex; flex-direction: column; gap: 6px; justify-content: center; min-height: 150px; padding: 26px; text-align: center; }
.pfrtm-empty h3,
.pfrtm-empty strong { color: var(--pfrtm-text); }
.pfrtm-lead { color: var(--pfrtm-muted); font-size: 1rem; max-width: 900px; }

/* Visualização documental no portal. */
.pfrtm-document-actions { margin-bottom: 14px; }
.pfrtm-document {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 24px 65px rgba(0,0,0,.34);
    color: #15232b;
    margin: 0 auto 18px;
    max-width: 1120px;
    padding: clamp(25px, 4vw, 55px);
}
.pfrtm-document h1,
.pfrtm-document h2,
.pfrtm-document h3,
.pfrtm-document h4 { color: #102a39; }
.pfrtm-document p { color: #304955; }
.pfrtm-document__header { align-items: flex-start; border-bottom: 4px solid #ef3340; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 24px; padding-bottom: 18px; }
.pfrtm-document__header h1 { font-size: clamp(1.7rem, 3vw, 2.65rem); }
.pfrtm-document__header p { margin: 4px 0; }
.pfrtm-document__header code { background: #edf4f7; border-radius: 6px; color: #17485f; display: block; font-size: .68rem; margin-top: 8px; max-width: 420px; overflow-wrap: anywhere; padding: 7px; }
.pfrtm-doc-grid { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; }
.pfrtm-doc-grid > div { background: #edf4f7; border-left: 3px solid #168fbd; border-radius: 5px; min-height: 70px; padding: 10px; }
.pfrtm-doc-grid span { color: #617984; display: block; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.pfrtm-doc-grid strong { color: #172d38; display: block; font-size: .86rem; margin-top: 4px; }
.pfrtm-doc-section { border-top: 1px solid #dbe4e8; margin-top: 22px; padding-top: 18px; }
.pfrtm-doc-section h3 { border-left: 4px solid #168fbd; font-size: 1.15rem; margin-bottom: 10px; padding-left: 10px; }
.pfrtm-doc-tag { border: 1px solid #cad9df; border-radius: 8px; margin-top: 18px; overflow: hidden; padding: 18px; }
.pfrtm-doc-tag > header { align-items: center; background: #112f40; color: #fff; display: flex; justify-content: space-between; margin: -18px -18px 16px; padding: 13px 18px; }
.pfrtm-doc-tag > header strong { color: #fff; }
.pfrtm-doc-tag > header span { color: #a8dff5; }
.pfrtm-doc-block { margin: 12px 0; }
.pfrtm-doc-block h3 { color: #17485f; font-size: .9rem; margin-bottom: 4px; }
.pfrtm-doc-block p { margin: 0; }
.pfrtm-worker-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.pfrtm-worker-chips span { background: #eaf2f5; border-radius: 99px; color: #243f4b; font-size: .72rem; padding: 6px 9px; }
.pfrtm-worker-chips strong { color: #173747; margin-right: 4px; }
.pfrtm-doc-photos { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.pfrtm-doc-photos h4 { color: #17485f; font-size: .75rem; letter-spacing: .08em; margin-bottom: 8px; }
.pfrtm-doc-photos > div > div { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.pfrtm-doc-photos figure { margin: 0; }
.pfrtm-doc-photos img { aspect-ratio: 4/3; border: 1px solid #cad9df; border-radius: 5px; display: block; object-fit: cover; width: 100%; }
.pfrtm-doc-photos figcaption { color: #607581; font-size: .65rem; margin-top: 3px; }
.pfrtm-acceptance-list { display: grid; gap: 8px; }
.pfrtm-acceptance-list article { align-items: center; background: #edf4f7; border-radius: 7px; display: grid; gap: 8px; grid-template-columns: 1fr 1fr auto; padding: 10px; }
.pfrtm-document .pfrtm-status { color: #173747; }

.pfrtm-email-card { align-items: center; display: grid; gap: 20px; grid-template-columns: minmax(250px,.45fr) minmax(0,1fr); }
.pfrtm-email-card form { display: grid; gap: 10px; grid-template-columns: 1fr auto; }

/* Aceite externo. */
.pfrtm-acceptance-shell {
    align-items: center;
    background:
        radial-gradient(circle at 10% 10%, rgba(32,168,224,.12), transparent 28rem),
        radial-gradient(circle at 95% 8%, rgba(239,51,64,.1), transparent 24rem),
        var(--pfrtm-bg);
    display: flex;
    justify-content: center;
    min-height: min(900px, calc(100vh - 120px));
    padding: clamp(18px, 4vw, 60px);
}
.pfrtm-acceptance-card { max-width: 960px; overflow: hidden; padding: clamp(22px, 4vw, 42px); width: 100%; }
.pfrtm-acceptance-card--error { max-width: 620px; text-align: center; }
.pfrtm-acceptance-header { border-bottom: 1px solid var(--pfrtm-line); margin-bottom: 20px; padding-bottom: 18px; text-align: center; }
.pfrtm-acceptance-header h1 { font-size: clamp(2rem, 4vw, 3.2rem); margin: 7px 0; }
.pfrtm-acceptance-header p { color: var(--pfrtm-muted); margin: 0; }
.pfrtm-acceptance-summary { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 18px; }
.pfrtm-acceptance-summary > div { background: rgba(2,11,17,.55); border: 1px solid var(--pfrtm-line); border-radius: 11px; padding: 12px; }
.pfrtm-acceptance-summary span { color: var(--pfrtm-muted); display: block; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.pfrtm-acceptance-summary strong { display: block; margin-top: 3px; }
.pfrtm-acceptance-form { border-top: 1px solid var(--pfrtm-line); margin-top: 24px; padding-top: 22px; }
.pfrtm-decision-buttons { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 16px; }
.pfrtm-decision { border-radius: 12px; margin-top: 16px; padding: 15px; }
.pfrtm-decision--accepted { background: rgba(37,192,122,.1); border: 1px solid rgba(37,192,122,.3); }
.pfrtm-decision--rejected { background: rgba(239,51,64,.1); border: 1px solid rgba(239,51,64,.3); }

.pfrtm-profile-badge {
    background: rgba(32,168,224,.13);
    border: 1px solid rgba(32,168,224,.28);
    color: #9be4ff;
    margin: 7px 6px 0 0;
}
.pfrtm-profile-segment { width: 100%; }
.pfrtm-profile-segment .pfrtm-shell { padding-left: 0; padding-right: 0; }

@media (max-width: 1180px) {
    .pfrtm-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pfrtm-grid--dashboard,
    .pfrtm-grid--projects { grid-template-columns: 1fr; }
    .pfrtm-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pfrtm-filters .pfrtm-btn { width: 100%; }
    .pfrtm-doc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
    .pfrtm-shell { padding: 9px; }
    .pfrtm-hero { grid-template-columns: 1fr; min-height: 0; padding: 24px; }
    .pfrtm-hero__supervisor { min-height: 0; }
    .pfrtm-form-grid,
    .pfrtm-photo-columns,
    .pfrtm-email-card,
    .pfrtm-email-card form { grid-template-columns: 1fr; }
    .pfrtm-worker-row { align-items: stretch; grid-template-columns: 1fr 1fr; }
    .pfrtm-worker-row .pfrtm-icon-btn { align-self: end; }
    .pfrtm-technical-helper { align-items: start; grid-template-columns: 1fr; }
    .pfrtm-sticky-actions { bottom: 6px; flex-wrap: wrap; }
    .pfrtm-sticky-actions .pfrtm-btn { flex: 1 1 150px; }
    .pfrtm-document-actions { align-items: flex-start; flex-direction: column; }
    .pfrtm-document { border-radius: 0; padding: 22px; }
    .pfrtm-document__header { grid-template-columns: 1fr; }
    .pfrtm-doc-photos { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .pfrtm-metrics,
    .pfrtm-filters,
    .pfrtm-acceptance-summary,
    .pfrtm-decision-buttons,
    .pfrtm-doc-grid { grid-template-columns: 1fr; }
    .pfrtm-metric { min-height: 112px; }
    .pfrtm-worker-row { grid-template-columns: 1fr; }
    .pfrtm-worker-row .pfrtm-icon-btn { justify-self: end; }
    .pfrtm-editor-section__head { align-items: flex-start; flex-wrap: wrap; }
    .pfrtm-section-title { align-items: flex-start; flex-direction: column; }
    .pfrtm-section-title .pfrtm-btn { width: 100%; }
    .pfrtm-table { min-width: 0; }
    .pfrtm-table thead { display: none; }
    .pfrtm-table,
    .pfrtm-table tbody,
    .pfrtm-table tr,
    .pfrtm-table td { display: block; width: 100%; }
    .pfrtm-table tr { background: rgba(2,11,17,.48); border: 1px solid var(--pfrtm-line); border-radius: 12px; margin-bottom: 12px; overflow: hidden; padding: 5px 11px; }
    .pfrtm-table td { border: 0; border-bottom: 1px solid var(--pfrtm-line); min-height: 42px; padding: 9px 0 9px 42%; position: relative; }
    .pfrtm-table td:last-child { border-bottom: 0; }
    .pfrtm-table td::before { color: var(--pfrtm-muted); content: attr(data-label); font-size: .66rem; font-weight: 800; left: 0; max-width: 38%; position: absolute; text-transform: uppercase; top: 12px; }
    .pfrtm-doc-photos > div > div { grid-template-columns: 1fr; }
    .pfrtm-acceptance-list article { grid-template-columns: 1fr; }
}

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

@media print {
    body.pfrtm-surface * { visibility: hidden !important; }
    body.pfrtm-surface .pfrtm-document,
    body.pfrtm-surface .pfrtm-document * { visibility: visible !important; }
    body.pfrtm-surface .pfrtm-document { box-shadow: none; left: 0; margin: 0; max-width: none; padding: 12mm; position: absolute; top: 0; width: 100%; }
    .pfrtm-document-actions,
    .pfrtm-email-card,
    .pfrtm-nav,
    .pfrtm-hero { display: none !important; }
    .pfrtm-doc-tag { break-inside: avoid; }
    .pfrtm-doc-photos figure { break-inside: avoid; }
}
.pfrtm-acceptance-stack { max-width: 960px; width: 100%; }
.pfrtm-acceptance-stack > .pfrtm-notice { margin-left: auto; margin-right: auto; }

/* ==============================================================
 * v1.1.0 — Documento técnico escuro no portal / impressão A4 clara
 * ============================================================== */
@page { size: A4 portrait; margin: 10mm; }

.pfrtm-hours-option { align-items: center; display: grid; gap: 3px 10px; grid-template-columns: auto minmax(0,1fr) auto; }
.pfrtm-hours-option input { grid-row: 1 / span 2; }
.pfrtm-hours-option small { color: var(--pfrtm-muted); grid-column: 2 / -1; }
.pfrtm-hours-option small strong { color: #fff; }
[data-pfrtm-equipment-catalog].is-applied { box-shadow: 0 0 0 3px rgba(37,192,122,.22); }

.pfrtm-alert-panel {
    align-items: center;
    background: linear-gradient(135deg, rgba(6,23,34,.98), rgba(10,41,57,.96));
    border: 1px solid rgba(103,183,215,.26);
    border-left: 5px solid #25c07a;
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(0,0,0,.28);
    display: grid;
    gap: 16px;
    grid-template-columns: auto minmax(0,1fr) auto;
    margin: 0 0 20px;
    overflow: hidden;
    padding: 18px 20px;
    position: relative;
}
.pfrtm-alert-panel.is-overdue { border-color: rgba(239,51,64,.56); border-left-color: #ef3340; box-shadow: 0 0 0 1px rgba(239,51,64,.1), 0 18px 45px rgba(0,0,0,.32); }
.pfrtm-alert-beacon { align-items: center; background: rgba(37,192,122,.12); border: 1px solid rgba(37,192,122,.35); border-radius: 50%; display: flex; height: 46px; justify-content: center; width: 46px; }
.pfrtm-alert-beacon span { background: #25c07a; border-radius: 50%; box-shadow: 0 0 18px rgba(37,192,122,.8); display: block; height: 13px; width: 13px; }
.pfrtm-alert-panel.is-overdue .pfrtm-alert-beacon { background: rgba(239,51,64,.14); border-color: rgba(239,51,64,.52); animation: pfrtm-alert-shell 1.15s ease-in-out infinite; }
.pfrtm-alert-panel.is-overdue .pfrtm-alert-beacon span { background: #ff5d68; box-shadow: 0 0 24px rgba(255,93,104,.95); animation: pfrtm-alert-beacon .72s ease-in-out infinite alternate; }
.pfrtm-alert-copy h3 { color: #fff; font-size: 1.15rem; margin: 3px 0 5px; }
.pfrtm-alert-copy p { color: #c4d4dc; margin: 0; }
.pfrtm-alert-list { border-top: 1px solid rgba(255,255,255,.12); display: grid; gap: 8px; grid-column: 1 / -1; padding-top: 12px; }
.pfrtm-alert-list a { align-items: center; background: rgba(2,11,17,.45); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; color: #fff; display: grid; gap: 4px 14px; grid-template-columns: minmax(120px,.25fr) minmax(220px,.75fr); padding: 10px 12px; text-decoration: none; }
.pfrtm-alert-list a:hover { background: rgba(239,51,64,.09); border-color: rgba(239,51,64,.35); }
.pfrtm-alert-list span, .pfrtm-alert-list small { color: #b9cbd4; }
.pfrtm-alert-list small { grid-column: 2; }
[data-pfrtm-enable-sound].is-active { background: rgba(37,192,122,.17); border-color: rgba(37,192,122,.55); color: #a9f4ce; }
@keyframes pfrtm-alert-beacon { from { opacity: .52; transform: scale(.72); } to { opacity: 1; transform: scale(1.18); } }
@keyframes pfrtm-alert-shell { 0%,100% { box-shadow: 0 0 0 0 rgba(239,51,64,.12); } 50% { box-shadow: 0 0 0 10px rgba(239,51,64,0); } }

.pfrtm-directorate-list { display: grid; gap: 10px; }
.pfrtm-directorate-list article { align-items: center; background: rgba(2,11,17,.5); border: 1px solid var(--pfrtm-line); border-radius: 12px; display: grid; gap: 10px 16px; grid-template-columns: minmax(150px,.3fr) minmax(220px,.6fr) auto; padding: 13px 15px; }
.pfrtm-directorate-list article strong { color: #fff; }
.pfrtm-directorate-list article span, .pfrtm-directorate-list article small { color: var(--pfrtm-muted); }

.pfrtm-ai-section { background: linear-gradient(135deg, rgba(10,48,67,.44), rgba(4,19,28,.72)); border-color: rgba(32,168,224,.3); }
.pfrtm-ai-empty { background: rgba(2,11,17,.5); border: 1px dashed rgba(147,227,255,.28); border-radius: 12px; color: #bcd0d9; padding: 16px; }
.pfrtm-ai-result { align-items: start; background: rgba(2,11,17,.55); border: 1px solid rgba(147,227,255,.22); border-left: 5px solid #20a8e0; border-radius: 13px; display: grid; gap: 18px; grid-template-columns: 130px minmax(0,1fr); padding: 17px; }
.pfrtm-ai-result--good { border-left-color: #25c07a; }
.pfrtm-ai-result--attention { border-left-color: #f0b94c; }
.pfrtm-ai-result--critical { border-left-color: #ef3340; }
.pfrtm-ai-score { align-items: center; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; display: flex; flex-direction: column; justify-content: center; min-height: 105px; padding: 10px; text-align: center; }
.pfrtm-ai-score strong { color: #fff; font-size: 2rem; line-height: 1; }
.pfrtm-ai-score span { color: #a9c0cb; font-size: .68rem; margin-top: 5px; text-transform: uppercase; }
.pfrtm-ai-result h4 { color: #fff; margin: 0 0 8px; }
.pfrtm-ai-findings { color: #d8e5ea; margin: 0; padding-left: 20px; }
.pfrtm-ai-findings li { margin: 6px 0; }
.pfrtm-ai-tags { display: grid; gap: 6px; margin-top: 12px; }
.pfrtm-ai-tags article { background: rgba(255,255,255,.04); border-radius: 8px; padding: 8px 10px; }
.pfrtm-ai-disclaimer { border-top: 1px solid rgba(255,255,255,.1); color: #91a9b4 !important; font-size: .75rem; margin: 13px 0 0 !important; padding-top: 10px; }

.pfrtm-photo-stages { border-top: 1px solid var(--pfrtm-line); margin-top: 20px; padding-top: 18px; }
.pfrtm-photo-stage { background: rgba(2,11,17,.45); border: 1px solid var(--pfrtm-line); border-radius: 11px; margin: 9px 0; overflow: hidden; }
.pfrtm-photo-stage summary { align-items: center; color: #eaf4f7; cursor: pointer; display: flex; font-weight: 800; justify-content: space-between; list-style: none; padding: 12px 14px; }
.pfrtm-photo-stage summary::-webkit-details-marker { display: none; }
.pfrtm-photo-stage summary::before { color: #5bc9f4; content: '▸'; margin-right: 9px; transition: transform .18s ease; }
.pfrtm-photo-stage[open] summary::before { transform: rotate(90deg); }
.pfrtm-photo-stage summary span { flex: 1; }
.pfrtm-photo-stage summary b { align-items: center; background: rgba(32,168,224,.14); border: 1px solid rgba(32,168,224,.28); border-radius: 99px; color: #9be4ff; display: inline-flex; font-size: .72rem; height: 25px; justify-content: center; min-width: 25px; padding: 0 7px; }
.pfrtm-photo-stage .pfrtm-photo-box { border-top: 1px solid var(--pfrtm-line); padding: 14px; }
.pfrtm-photo-grid article { background: rgba(7,28,39,.94); border: 1px solid rgba(154,196,214,.22); }
.pfrtm-photo-grid article small { color: #9eb6c1; }

.pfrtm-company-archive { overflow: hidden; }
.pfrtm-company-folder { background: rgba(2,11,17,.46); border: 1px solid var(--pfrtm-line); border-radius: 12px; margin-top: 10px; overflow: hidden; }
.pfrtm-company-folder > summary { align-items: center; cursor: pointer; display: grid; gap: 12px; grid-template-columns: auto minmax(0,1fr) auto; list-style: none; padding: 13px 15px; }
.pfrtm-company-folder > summary::-webkit-details-marker { display: none; }
.pfrtm-company-folder > summary > span { color: #f0b94c; font-size: 1.2rem; }
.pfrtm-company-folder > summary strong { color: #fff; display: block; }
.pfrtm-company-folder > summary small { color: var(--pfrtm-muted); display: block; }
.pfrtm-company-folder > summary b { background: rgba(32,168,224,.13); border-radius: 99px; color: #9be4ff; padding: 4px 9px; }
.pfrtm-history-table { border-top: 1px solid var(--pfrtm-line); overflow-x: auto; }
.pfrtm-history-table code { color: #9be4ff; }

/* Documento emitido: leitura escura no portal. */
.pfrtm-document.pfrtm-document--technical {
    background:
        linear-gradient(180deg, rgba(6,23,34,.985), rgba(4,16,24,.99)),
        #061722;
    border: 1px solid rgba(151,198,218,.22);
    box-shadow: 0 28px 78px rgba(0,0,0,.5);
    color: #e5eef2;
    max-width: 1040px;
}
.pfrtm-document--technical h1,
.pfrtm-document--technical h2,
.pfrtm-document--technical h3,
.pfrtm-document--technical h4,
.pfrtm-document--technical strong { color: #fff; }
.pfrtm-document--technical p,
.pfrtm-document--technical li { color: #c9d8df; }
.pfrtm-document-cover { background: linear-gradient(135deg, #08283a, #04131d 70%); border: 1px solid rgba(147,227,255,.2); border-left: 7px solid #ef3340; border-radius: 10px; display: grid; gap: 22px; grid-template-columns: minmax(170px,.24fr) minmax(0,.58fr) minmax(150px,.18fr); margin-bottom: 25px; min-height: 310px; overflow: hidden; padding: 30px; position: relative; }
.pfrtm-document-cover::after { background: linear-gradient(90deg, transparent, rgba(32,168,224,.16)); bottom: 0; content: ''; height: 6px; left: 0; position: absolute; right: 0; }
.pfrtm-document-cover__brand img { background: #fff; border-radius: 6px; display: block; max-width: 190px; padding: 5px; width: 100%; }
.pfrtm-document-cover__brand span { color: #9ccfe2; display: block; font-size: .7rem; font-weight: 900; letter-spacing: .18em; margin-top: 11px; }
.pfrtm-document-cover__title { align-self: center; }
.pfrtm-document-cover__title > span { color: #91aebb; display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.pfrtm-document-cover__title h1 { font-size: clamp(1.75rem, 4vw, 3rem); line-height: 1.02; margin: 12px 0 7px; }
.pfrtm-document-cover__title h2 { color: #95dffc; font-size: 1rem; letter-spacing: .11em; margin: 0 0 18px; }
.pfrtm-document-cover__title strong { color: #fff; display: block; font-size: 1.05rem; }
.pfrtm-document-cover__control { align-self: start; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.15); border-radius: 8px; display: grid; gap: 8px; padding: 12px; text-align: right; }
.pfrtm-document-cover__control span { color: #b8d1dc; font-size: .68rem; overflow-wrap: anywhere; }
.pfrtm-document-cover__control b { color: #fff; font-size: 1.15rem; }
.pfrtm-document-cover__control em { color: #ffbdc2; font-size: .7rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.pfrtm-document--technical .pfrtm-doc-section { border-top: 1px solid rgba(154,196,214,.2); margin-top: 25px; padding-top: 20px; }
.pfrtm-document--technical .pfrtm-doc-section > h3 { background: #0a3b55; border: 0; border-left: 5px solid #20a8e0; border-radius: 4px; color: #fff; font-size: 1rem; letter-spacing: .03em; margin: 0 0 14px; padding: 10px 12px; }
.pfrtm-document--technical .pfrtm-doc-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pfrtm-document--technical .pfrtm-doc-grid > div { background: rgba(9,45,62,.68); border: 1px solid rgba(147,227,255,.15); border-left: 3px solid #20a8e0; min-height: 72px; }
.pfrtm-document--technical .pfrtm-doc-grid span { color: #8eb1c0; }
.pfrtm-document--technical .pfrtm-doc-grid strong { color: #f5fbfd; }
.pfrtm-responsibility-grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.pfrtm-responsibility-grid article { background: rgba(9,45,62,.55); border: 1px solid rgba(147,227,255,.15); border-radius: 7px; display: grid; gap: 6px; padding: 13px; }
.pfrtm-responsibility-grid span { color: #bed1da; }
.pfrtm-report-kpis { display: grid; gap: 8px; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0 0 16px; }
.pfrtm-report-kpis article { background: rgba(9,45,62,.72); border: 1px solid rgba(147,227,255,.16); border-bottom: 3px solid #20a8e0; border-radius: 6px; min-height: 82px; padding: 12px; text-align: center; }
.pfrtm-report-kpis strong { display: block; font-size: 1.25rem; }
.pfrtm-report-kpis span { color: #9eb7c2; font-size: .67rem; text-transform: uppercase; }
.pfrtm-document--technical .pfrtm-table-wrap { border: 1px solid rgba(151,198,218,.2); border-radius: 6px; overflow-x: auto; }
.pfrtm-document--technical .pfrtm-table { background: #071d29; color: #dbe8ed; }
.pfrtm-document--technical .pfrtm-table th { background: #0a3b55; border-color: rgba(255,255,255,.12); color: #fff; }
.pfrtm-document--technical .pfrtm-table td { border-color: rgba(151,198,218,.15); color: #d4e1e6; }
.pfrtm-document--technical .pfrtm-table tbody tr:hover { background: rgba(32,168,224,.08); }
.pfrtm-document--technical .pfrtm-doc-tag { background: rgba(5,24,35,.9); border: 1px solid rgba(151,198,218,.22); border-radius: 8px; box-shadow: 0 12px 30px rgba(0,0,0,.19); color: #dce8ed; margin-top: 24px; padding: 20px; }
.pfrtm-document--technical .pfrtm-doc-tag > header { align-items: start; background: linear-gradient(90deg, #0a3b55, #071f2d); display: grid; gap: 4px 12px; grid-template-columns: auto minmax(0,1fr); margin: -20px -20px 18px; padding: 14px 18px; }
.pfrtm-document--technical .pfrtm-doc-tag > header > span { color: #8edfff; font-size: .72rem; font-weight: 900; grid-row: 1 / span 2; padding-top: 3px; }
.pfrtm-document--technical .pfrtm-doc-tag > header h3 { color: #fff; font-size: 1.12rem; margin: 0; }
.pfrtm-document--technical .pfrtm-doc-tag > header p { color: #9ebcca; font-size: .75rem; margin: 0; }
.pfrtm-document--technical .pfrtm-doc-block { background: rgba(255,255,255,.025); border-left: 3px solid rgba(32,168,224,.55); margin: 11px 0; padding: 9px 11px; }
.pfrtm-document--technical .pfrtm-doc-block h3 { color: #8edfff; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.pfrtm-document--technical .pfrtm-worker-chips span { background: rgba(32,168,224,.1); border: 1px solid rgba(32,168,224,.18); color: #d6e7ed; }
.pfrtm-document--technical .pfrtm-worker-chips strong { color: #fff; }
.pfrtm-doc-photo-stages { display: grid; gap: 14px; margin-top: 18px; }
.pfrtm-doc-photo-stages > section { background: rgba(9,45,62,.38); border: 1px solid rgba(151,198,218,.18); border-radius: 7px; padding: 12px; }
.pfrtm-doc-photo-stages h4 { background: rgba(32,168,224,.1); border-left: 4px solid #20a8e0; color: #fff !important; font-size: .78rem; letter-spacing: .05em; margin: 0 0 10px; padding: 7px 9px; text-transform: uppercase; }
.pfrtm-doc-photo-stages > section > div { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.pfrtm-doc-photo-stages figure { background: #04131c; border: 1px solid rgba(151,198,218,.2); border-radius: 6px; margin: 0; overflow: hidden; }
.pfrtm-doc-photo-stages img { aspect-ratio: 4/3; display: block; object-fit: cover; width: 100%; }
.pfrtm-doc-photo-stages figcaption { color: #d6e4e9; font-size: .69rem; min-height: 36px; padding: 7px 8px; }
.pfrtm-document--technical .pfrtm-acceptance-list article { background: rgba(9,45,62,.55); }
.pfrtm-document--technical .pfrtm-acceptance-list article span { color: #bdced6; }
.pfrtm-document--technical .pfrtm-doc-note { background: rgba(240,185,76,.08); border-left: 4px solid #f0b94c; color: #e4d6b7; padding: 10px 12px; }
.pfrtm-document--technical .pfrtm-doc-section code { background: #020b11; border: 1px solid rgba(151,198,218,.2); border-radius: 5px; color: #9be4ff; display: block; font-size: .66rem; overflow-wrap: anywhere; padding: 8px; }

@media (max-width: 900px) {
    .pfrtm-alert-panel { grid-template-columns: auto minmax(0,1fr); }
    .pfrtm-alert-panel > .pfrtm-btn { grid-column: 1 / -1; width: 100%; }
    .pfrtm-directorate-list article { grid-template-columns: 1fr; }
    .pfrtm-document-cover { grid-template-columns: 1fr; min-height: 0; }
    .pfrtm-document-cover__control { text-align: left; }
    .pfrtm-report-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pfrtm-document--technical .pfrtm-doc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .pfrtm-hours-option { grid-template-columns: auto 1fr; }
    .pfrtm-alert-list a { grid-template-columns: 1fr; }
    .pfrtm-alert-list small { grid-column: auto; }
    .pfrtm-ai-result { grid-template-columns: 1fr; }
    .pfrtm-responsibility-grid,
    .pfrtm-doc-photo-stages > section > div,
    .pfrtm-document--technical .pfrtm-doc-grid,
    .pfrtm-report-kpis { grid-template-columns: 1fr; }
}

/* Impressão: A4 retrato, fundo branco e contraste técnico convencional. */
@media print {
    html, body { background: #fff !important; color: #111 !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
    body.pfrtm-surface * { visibility: hidden !important; }
    body.pfrtm-surface .pfrtm-document,
    body.pfrtm-surface .pfrtm-document * { visibility: visible !important; }
    body.pfrtm-surface .pfrtm-document.pfrtm-document--technical {
        background: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #15191c !important;
        left: 0 !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        position: absolute !important;
        top: 0 !important;
        width: 100% !important;
    }
    .pfrtm-document-actions,
    .pfrtm-email-card,
    .pfrtm-nav,
    .pfrtm-hero,
    .pfrtm-alert-panel,
    [data-pfrtm-enable-sound] { display: none !important; }
    .pfrtm-document-cover {
        background: #fff !important;
        border: 1px solid #59646b !important;
        border-left: 6px solid #b50012 !important;
        break-after: page;
        color: #111 !important;
        min-height: 245mm !important;
        padding: 14mm !important;
    }
    .pfrtm-document-cover::after { background: #0a4c70 !important; }
    .pfrtm-document-cover__brand span,
    .pfrtm-document-cover__title > span,
    .pfrtm-document-cover__title h2,
    .pfrtm-document-cover__title strong,
    .pfrtm-document-cover__control span,
    .pfrtm-document-cover__control b,
    .pfrtm-document-cover__control em,
    .pfrtm-document--technical h1,
    .pfrtm-document--technical h2,
    .pfrtm-document--technical h3,
    .pfrtm-document--technical h4,
    .pfrtm-document--technical strong,
    .pfrtm-document--technical p,
    .pfrtm-document--technical li { color: #111 !important; }
    .pfrtm-document-cover__control { background: #f1f4f5 !important; border-color: #a9b2b7 !important; }
    .pfrtm-document--technical .pfrtm-doc-section { border-color: #b9c1c5 !important; }
    .pfrtm-document--technical .pfrtm-doc-section > h3 { background: #0a4c70 !important; border-left-color: #b50012 !important; color: #fff !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .pfrtm-document--technical .pfrtm-doc-grid > div,
    .pfrtm-responsibility-grid article,
    .pfrtm-report-kpis article,
    .pfrtm-document--technical .pfrtm-doc-block,
    .pfrtm-document--technical .pfrtm-doc-tag,
    .pfrtm-doc-photo-stages > section,
    .pfrtm-document--technical .pfrtm-acceptance-list article { background: #fff !important; border-color: #aab4b9 !important; box-shadow: none !important; color: #111 !important; }
    .pfrtm-document--technical .pfrtm-doc-grid span,
    .pfrtm-report-kpis span,
    .pfrtm-responsibility-grid span,
    .pfrtm-document--technical .pfrtm-doc-tag > header p,
    .pfrtm-document--technical .pfrtm-acceptance-list article span { color: #37444a !important; }
    .pfrtm-document--technical .pfrtm-doc-tag > header { background: #0a4c70 !important; color: #fff !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .pfrtm-document--technical .pfrtm-doc-tag > header h3,
    .pfrtm-document--technical .pfrtm-doc-tag > header > span,
    .pfrtm-document--technical .pfrtm-doc-tag > header p { color: #fff !important; }
    .pfrtm-document--technical .pfrtm-doc-block h3 { color: #0a4c70 !important; }
    .pfrtm-document--technical .pfrtm-worker-chips span { background: #f2f5f6 !important; border-color: #bec7cb !important; color: #111 !important; }
    .pfrtm-document--technical .pfrtm-worker-chips strong { color: #111 !important; }
    .pfrtm-doc-photo-stages > section { break-inside: auto; }
    .pfrtm-doc-photo-stages h4 { background: #e8eef1 !important; border-left-color: #0a4c70 !important; color: #111 !important; }
    .pfrtm-doc-photo-stages figure { background: #fff !important; border-color: #88959b !important; break-inside: avoid; }
    .pfrtm-doc-photo-stages figcaption { color: #111 !important; }
    .pfrtm-document--technical .pfrtm-table { background: #fff !important; color: #111 !important; }
    .pfrtm-document--technical .pfrtm-table th { background: #dfe8ec !important; border-color: #87949a !important; color: #111 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .pfrtm-document--technical .pfrtm-table td { border-color: #a7b1b6 !important; color: #111 !important; }
    .pfrtm-document--technical .pfrtm-doc-note { background: #fff8e7 !important; border-left-color: #8c5b00 !important; color: #111 !important; }
    .pfrtm-document--technical .pfrtm-doc-section code { background: #fff !important; border-color: #8c969b !important; color: #111 !important; }
    .pfrtm-doc-tag { break-inside: auto !important; }
    .pfrtm-doc-tag > header,
    .pfrtm-doc-grid > div,
    .pfrtm-report-kpis article,
    .pfrtm-responsibility-grid article,
    .pfrtm-table tr,
    .pfrtm-doc-photo-stages figure { break-inside: avoid; }
    a { color: #111 !important; text-decoration: none !important; }
}
