/* ===========================================================
   portal-colaborador.css
   Portal EPI do colaborador — alinhado à linguagem visual do
   AMBIENTE ADMINISTRATIVO (front.css / dashboard.css):
   Open Sans, fundo claro, faixa de cabeçalho teal (bg-linte),
   cards brancos com sombra suave, botões teal/verde/âmbar.
   Reaproveita as classes .pc-* do markup, agora com cara de admin.
   Carregar APÓS front.css.
   =========================================================== */

:root {
    /* paleta do admin (front.css / dashboard.css) */
    --pc-linte: #0A3543;        /* faixa de cabeçalho / navbar */
    --pc-linte-2: #144B60;      /* primary teal */
    --pc-navy-900: #0a1e31;
    --pc-navy-800: #144B60;
    --pc-navy-700: #0f5f9e;

    --pc-success: #05A677;
    --pc-info: #1E90FF;
    --pc-amber-600: #d68910;
    --pc-amber-500: #f5b759;
    --pc-danger: #FA5252;

    --pc-ink: #172a42;          /* títulos */
    --pc-ink-soft: #66799e;     /* texto secundário */
    --pc-body: #525f7f;         /* corpo */
    --pc-lede: #4A5563;
    --pc-line: #e6edf5;
    --pc-bg: #f4f6fc;
    --pc-card: #ffffff;

    --pc-radius: .75rem;
    --pc-radius-sm: .5rem;

    --pc-shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);
    --pc-shadow-md: 0 2px 12px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);
    --pc-shadow-lg: 0 10px 30px -12px rgba(10, 30, 49, .18), 0 4px 10px -6px rgba(10, 30, 49, .08);

    --pc-font: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* -----------------------------------------------------------
   Tela / wrapper
----------------------------------------------------------- */
body.bg-secondary.pc-portal,
.pc-portal {
    background: var(--pc-bg) !important;
    font-family: var(--pc-font);
    color: var(--pc-body);
}

[data-bs-theme="dark"] {
    color-scheme: dark;
    --pc-ink: #e6edf3;
    --pc-ink-soft: #b9c6d2;
    --pc-body: #c5d0da;
    --pc-lede: #a8b7c7;
    --pc-line: #263846;
    --pc-bg: #0d1821;
    --pc-card: #10212c;
    --pc-shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);
    --pc-shadow-md: 0 2px 14px rgba(0, 0, 0, .48);
    --pc-shadow-lg: 0 18px 44px -18px rgba(0, 0, 0, .82);
}

[data-bs-theme="dark"] body.bg-secondary.pc-portal,
[data-bs-theme="dark"] .pc-portal {
    background: var(--pc-bg) !important;
    color: var(--pc-body);
}

[data-bs-theme="dark"] .pc-portal .dropdown-menu {
    background: #10212c;
    border: 1px solid var(--pc-line) !important;
}

[data-bs-theme="dark"] .pc-portal .dropdown-menu .dropdown-item {
    color: var(--pc-ink);
}

[data-bs-theme="dark"] .pc-portal .dropdown-menu .dropdown-item i {
    color: currentColor !important;
}

[data-bs-theme="dark"] .pc-portal .dropdown-menu .dropdown-item:hover,
[data-bs-theme="dark"] .pc-portal .dropdown-menu .dropdown-item:focus {
    background: #173244;
    color: #fff;
}

[data-bs-theme="dark"] .pc-portal .dropdown-divider {
    border-color: var(--pc-line);
}

.pc-portal main { padding-block: 0 56px; }
.pc-portal .pc-shell { max-width: 1140px; margin-inline: auto; padding-inline: 8px; }

.pc-portal h1, .pc-portal h2, .pc-portal h3, .pc-portal h4 {
    font-family: var(--pc-font);
    font-weight: 700;
    color: var(--pc-ink);
    letter-spacing: 0;
}
.pc-portal .pc-italic { font-style: normal; }

/* rótulo pequeno (eyebrow) — caixa-alta como nos headers do admin */
.pc-portal .pc-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    text-transform: uppercase;
    font-size: 11px; font-weight: 700; letter-spacing: .12em;
    color: var(--pc-navy-700);
}

/* -----------------------------------------------------------
   HERO → faixa de cabeçalho teal (igual .header.bg-linte do admin)
----------------------------------------------------------- */
.pc-hero {
    position: relative;
    margin-top: 18px;
    padding: 28px 30px;
    border-radius: var(--pc-radius);
    background: var(--pc-linte);
    color: #fff;
    box-shadow: var(--pc-shadow-md);
}
.pc-hero::before, .pc-hero::after { content: none; }

.pc-hero .pc-eyebrow { color: rgba(255, 255, 255, .7); }
.pc-hero h1 {
    color: #fff;
    font-size: 1.9rem;
    font-weight: 700;
    margin: 6px 0 0;
}
.pc-hero h1 .pc-italic { color: #7fd1b9; }

.pc-hero__row { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; }

/* Tablet/laptop estreito: as ações não cabem confortavelmente ao lado do texto,
   então descem para uma faixa própria abaixo da identidade (linha que quebra). */
@media (max-width: 992px) {
    .pc-hero__row { grid-template-columns: auto 1fr; }
    .pc-hero__actions { grid-column: 1 / -1; justify-content: flex-start; }
}

/* Mobile: card centrado — eyebrow, avatar, nome, chips e ações empilhados ao centro.
   O bloco de identidade vira display:contents pra achatar seus filhos no fluxo do row,
   permitindo reordenar o eyebrow ACIMA do avatar (que no DOM vem depois). */
@media (max-width: 768px) {
    .pc-hero { padding: 26px 20px; }
    .pc-hero__row {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 14px;
    }
    .pc-hero__identity { display: contents; }
    .pc-hero .pc-eyebrow { order: -2; }
    .pc-hero__avatar    { order: -1; }
    .pc-hero__actions   { order: 1; }

    .pc-hero h1 { margin: 0; }
    .pc-hero__meta { margin-top: 0; justify-content: center; }

    .pc-hero__actions {
        align-self: stretch;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .pc-hero__actions .pc-btn { width: 100%; justify-content: center; padding: 11px 18px; }
}

.pc-hero__avatar {
    width: 76px; height: 76px; border-radius: 50%;
    overflow: hidden; flex: none;
    background: rgba(255, 255, 255, .12);
    border: 2px solid rgba(255, 255, 255, .35);
    display: grid; place-items: center;
}
.pc-hero__avatar img { width: 100%; height: 100%; object-fit: cover; }
.pc-hero__avatar .pc-initials { font-size: 24px; font-weight: 700; color: #fff; }

.pc-hero__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pc-hero__chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 12px; border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    font-size: 12.5px; color: rgba(255, 255, 255, .92);
}
.pc-hero__chip i { font-size: 14px; opacity: .85; }
.pc-hero__chip b { font-weight: 700; }

/* Grupo de ações do hero: linha à direita que respira (gap) e quebra sem grudar. */
.pc-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: flex-start;
    gap: 10px;
}

/* -----------------------------------------------------------
   Botões (mapeados para os botões do admin)
----------------------------------------------------------- */
.pc-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 18px; border-radius: var(--pc-radius-sm);
    font-family: var(--pc-font); font-size: 14px; font-weight: 600;
    border: 1px solid transparent; cursor: pointer;
    text-decoration: none; transition: all .18s ease;
    white-space: nowrap;
}
.pc-btn i { font-size: 16px; }
.pc-btn--sm { padding: 7px 12px; font-size: 13px; }

.pc-btn--cream { background: #fff; color: var(--pc-linte-2); }
.pc-btn--cream:hover { background: #eef2f7; color: var(--pc-linte-2); }

.pc-btn--navy { background: var(--pc-linte-2); color: #fff; }
.pc-btn--navy:hover { background: #0d3a4c; color: #fff; }

.pc-btn--dark { background: var(--pc-linte); color: #fff; }
.pc-btn--dark:hover { background: #06222c; color: #fff; }

.pc-btn--amber { background: var(--pc-amber-500); color: #3d2c08; }
.pc-btn--amber:hover { background: #efa838; color: #3d2c08; }

.pc-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .4); color: #fff; }
.pc-btn.pc-disabled, .pc-btn:disabled { opacity: .55; cursor: not-allowed; }

/* -----------------------------------------------------------
   Métricas → stat cards do admin
----------------------------------------------------------- */
.pc-metrics {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
    margin-top: 18px;
}
@media (max-width: 900px) { .pc-metrics { grid-template-columns: repeat(2, 1fr); } }

.pc-metric {
    position: relative; overflow: hidden;
    background: var(--pc-card);
    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius);
    box-shadow: var(--pc-shadow-md);
    padding: 18px 20px;
}
.pc-metric__rail { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--pc-linte-2); }
.pc-metric--navy .pc-metric__rail { background: var(--pc-linte-2); }
.pc-metric--amber .pc-metric__rail { background: var(--pc-amber-500); }

.pc-metric__icon {
    width: 42px; height: 42px; border-radius: 11px;
    display: grid; place-items: center; font-size: 20px;
    background: rgba(20, 75, 96, .1); color: var(--pc-linte-2);
    margin-bottom: 12px;
}
.pc-metric--amber .pc-metric__icon { background: rgba(245, 183, 89, .18); color: var(--pc-amber-600); }

.pc-metric__value { font-size: 30px; font-weight: 700; color: var(--pc-ink); line-height: 1.1; }
.pc-metric__label { font-size: 12.5px; color: var(--pc-ink-soft); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; margin-top: 4px; }
.pc-metric__value--data { font-size: 22px; padding-top: 6px; }

/* -----------------------------------------------------------
   Seção
----------------------------------------------------------- */
.pc-section { margin-top: 32px; }
.pc-section__head { margin-bottom: 18px; }
/* empilha eyebrow / título / subtítulo (sem colapsar o espaço do <span> interno) */
.pc-section__title { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.pc-section__title .pc-eyebrow { margin: 0; }
.pc-section__title h2 {
    font-size: 1.5rem; font-weight: 700; color: var(--pc-ink);
    margin: 0; display: block;
}
/* barrinha de acento à esquerda do título (igual .form-page-title do admin) */
.pc-section__title h2::before {
    content: ""; display: inline-block; vertical-align: -2px;
    width: .28rem; height: 1.15rem; margin-right: .6rem;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--pc-navy-700) 0%, var(--pc-navy-900) 100%);
}
.pc-section__sub { font-size: .9rem; color: var(--pc-lede); margin: 4px 0 0; max-width: 72ch; }

/* -----------------------------------------------------------
   Cards de ficha → cards brancos do admin
----------------------------------------------------------- */
.pc-fichas { display: flex; flex-direction: column; gap: 14px; }

.pc-ficha {
    background: var(--pc-card);
    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius);
    box-shadow: var(--pc-shadow-md);
    overflow: hidden;
    transition: box-shadow .18s ease, border-color .18s ease;
}
.pc-ficha:hover { box-shadow: var(--pc-shadow-lg); border-color: rgba(20, 75, 96, .25); }
.pc-ficha.is-open { border-color: rgba(20, 75, 96, .35); }

.pc-ficha__header {
    display: grid; grid-template-columns: auto 1fr auto;
    gap: 18px; align-items: center; padding: 16px 20px; cursor: pointer;
}
.pc-ficha--static .pc-ficha__header { cursor: default; }
.pc-ficha--static:hover { box-shadow: var(--pc-shadow-md); border-color: rgba(0, 0, 0, .06); }
@media (max-width: 767.98px) {
    .pc-ficha__header { grid-template-columns: auto 1fr; gap: 12px; padding: 14px; }
    .pc-ficha__media { grid-column: 1 / -1; }
    .pc-ficha__media .pc-slot { flex: 1 1 0; }
}
@media (max-width: 575.98px) {
    .pc-portal .container-fluid { padding-inline: 0; }
    .pc-portal .pc-shell { padding-inline: 4px; }
    .pc-portal .pc-ficha__caret { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; align-self: center; }
}

.pc-ficha__index {
    width: 44px; height: 44px; border-radius: 10px;
    display: grid; place-items: center;
    background: var(--pc-linte); color: #fff;
    font-weight: 700; font-size: 15px;
}

.pc-ficha__title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pc-ficha__title h3 { font-size: 1.05rem; font-weight: 700; color: var(--pc-ink); margin: 0; }

.pc-ficha__sub { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; font-size: 12.5px; color: var(--pc-ink-soft); }
.pc-ficha__sub i { color: var(--pc-linte-2); margin-right: 3px; }
.pc-ficha__sub b { color: var(--pc-ink); font-weight: 700; }

.pc-ficha__media { display: flex; align-items: stretch; gap: 12px; }
.pc-ficha__caret { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #f1f4f8; color: var(--pc-ink-soft); transition: transform .2s ease; align-self: flex-start; }
.pc-ficha.is-open .pc-ficha__caret { transform: rotate(180deg); }

/* slots de foto / assinatura */
.pc-slot {
    width: 128px; border: 1px dashed var(--pc-line); border-radius: var(--pc-radius-sm);
    padding: 8px; display: flex; flex-direction: column; gap: 8px;
    background: #fbfcfe;
}
.pc-slot--filled { border-style: solid; border-color: rgba(5, 166, 119, .4); background: rgba(5, 166, 119, .05); }
.pc-slot--warning { border-style: solid; border-color: rgba(245, 183, 89, .55); background: rgba(245, 183, 89, .1); }
.pc-slot__label { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; color: var(--pc-ink-soft); display: flex; align-items: center; gap: 4px; }
.pc-slot__body {
    height: 66px; display: grid; place-items: center; overflow: hidden; border-radius: 6px;
    background: #fff; border: 1px solid var(--pc-line);
}
.pc-slot__body img { max-width: 100%; max-height: 100%; object-fit: contain; cursor: pointer; }
.pc-slot__body > i { font-size: 26px; color: var(--pc-ink-soft); opacity: .55; line-height: 1; }

/* status / badges */
.pc-status {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 10px; border-radius: 999px;
    font-size: 11.5px; font-weight: 700;
}
.pc-status i { font-size: 12px; }
.pc-status--ok { background: rgba(5, 166, 119, .12); color: var(--pc-success); }
.pc-status--pending { background: rgba(245, 183, 89, .18); color: var(--pc-amber-600); }

/* fila offline (assinatura-offline.js): foto/assinatura guardada no aparelho, aguardando envio,
   ou recusada pelo servidor */
.pc-status--sync { background: rgba(20, 75, 96, .12); color: #144B60; }
.pc-slot--pendente { border-style: dashed; border-color: rgba(20, 75, 96, .45); background: rgba(20, 75, 96, .05); }
.pc-slot--recusado { border-style: solid; border-color: rgba(220, 53, 69, .5); background: rgba(220, 53, 69, .05); }
.pc-slot__fila {
    display: inline-flex; align-items: center; gap: 4px; align-self: flex-start;
    padding: 2px 8px; border: 0; border-radius: 999px;
    font-size: 10.5px; font-weight: 700; line-height: 1.5;
    background: rgba(20, 75, 96, .12); color: #144B60;
}
.pc-slot__fila i { font-size: 12px; }
/* recusado é botão (abre o detalhe da fila) */
button.pc-slot__fila { cursor: pointer; background: rgba(220, 53, 69, .12); color: #b02a37; }

/* corpo expansível: tabela */
.pc-ficha__body { border-top: 1px solid var(--pc-line); padding: 4px 20px 16px; background: #fbfcfe; }
.pc-ficha__body .table { margin-bottom: 0; }
.pc-ficha__body .table thead th {
    font-size: .65rem; text-transform: uppercase; letter-spacing: 1px;
    color: var(--pc-ink-soft); border-bottom: 1px solid var(--pc-line);
}
.pc-ficha__body .table td { font-size: .82rem; vertical-align: middle; color: var(--pc-body); }
.pc-ficha__body .table td img { height: 34px; border-radius: 6px; }
.pc-ficha__body .badge.badge-warning,
.pc-ficha__body .badge.bg-warning { background: rgba(245, 183, 89, .18) !important; color: var(--pc-amber-600); font-weight: 700; }

/* DataTables (busca / info / paginação) — alinhado ao admin */
.pc-ficha__body .dataTables_wrapper { padding-top: 4px; }
.pc-ficha__body .dataTables_filter { text-align: right; margin-bottom: 10px; }
.pc-ficha__body .dataTables_filter label { font-size: .8rem; color: var(--pc-ink-soft); font-weight: 600; }
.pc-ficha__body .dataTables_filter input {
    border: 1px solid var(--pc-line); border-radius: var(--pc-radius-sm);
    padding: 6px 14px 6px 40px !important; margin-left: 10px; font-size: .85rem; min-width: 240px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='%2393a5be' viewBox='0 0 256 256'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 14px center;
}
.pc-ficha__body .dataTables_filter input:focus { outline: none; border-color: var(--pc-linte-2); box-shadow: 0 0 0 .2rem rgba(20, 75, 96, .1); }
.pc-ficha__body .dataTables_info { font-size: .78rem; color: var(--pc-ink-soft); padding-top: 10px; }
.pc-ficha__body .dataTables_paginate { padding-top: 8px; }
.pc-ficha__body .dataTables_paginate .paginate_button {
    padding: 4px 10px !important; margin-left: 4px; border-radius: 6px !important;
    border: 1px solid var(--pc-line) !important; font-size: .8rem; color: var(--pc-ink-soft) !important; background: #fff !important;
}
.pc-ficha__body .dataTables_paginate .paginate_button.current { background: var(--pc-linte-2) !important; border-color: var(--pc-linte-2) !important; color: #fff !important; }
.pc-ficha__body .dataTables_paginate .paginate_button:hover { background: #eef2f7 !important; color: var(--pc-linte-2) !important; border-color: var(--pc-linte-2) !important; }

/* -----------------------------------------------------------
   Estado vazio
----------------------------------------------------------- */
.pc-empty {
    text-align: center; padding: 48px 24px;
    background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-md);
}
.pc-empty__art { font-size: 56px; color: var(--pc-linte-2); opacity: .55; margin-bottom: 10px; }
.pc-empty h3 { font-size: 1.2rem; color: var(--pc-ink); }
.pc-empty p { color: var(--pc-ink-soft); max-width: 52ch; margin: 8px auto 18px; font-size: .92rem; }
.pc-empty .pc-btn { justify-content: center; }

/* -----------------------------------------------------------
   Modais (alinhados ao header teal)
----------------------------------------------------------- */
.pc-portal .modal-content { border: none; border-radius: var(--pc-radius); overflow: hidden; box-shadow: var(--pc-shadow-lg); }
.pc-portal .modal-header { background: var(--pc-linte); color: #fff; border: none; padding: 16px 20px; }
.pc-portal .modal-header .modal-title { color: #fff; font-weight: 600; font-size: 1rem; }
.pc-portal .modal-header .modal-title i { margin-right: 7px; opacity: .9; vertical-align: -2px; }
.pc-portal .modal-header .close,
.pc-portal .modal-header .btn-close { filter: invert(1) grayscale(1); opacity: .85; }
.pc-portal .modal-body { padding: 20px; background: #fff; }
.pc-portal .modal-footer { background: #fbfcfe; border-top: 1px solid var(--pc-line); padding: 14px 20px; }

/* ════════════════════════════════════════════════════════════
   TOPBAR do colaborador — mesmo padrão do participante (.pf-topbar),
   na paleta navy/musgo do portal EPI.
   ════════════════════════════════════════════════════════════ */
.pc-topbar {
    background:
        radial-gradient(circle 320px at 88% 10%, rgba(127, 209, 185, .22) 0 60%, transparent 65%),
        linear-gradient(180deg, var(--pc-linte-2) 0%, var(--pc-linte) 60%, var(--pc-navy-900) 100%);
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 1030;
    box-shadow: 0 2px 16px -4px rgba(10, 30, 49, .45);
}
.pc-topbar-inner { display: flex; align-items: center; gap: 1.25rem; padding: .9rem clamp(1rem, 4vw, 2.25rem); }
.pc-brand {
    display: inline-flex; align-items: center; gap: .65rem;
    color: #fff; text-decoration: none; font-weight: 600; letter-spacing: -.01em;
}
.pc-brand img { height: 50px; width: auto; }
@media (min-width: 576px) and (max-width: 991.98px) {
    .pc-brand img { height: 68px; }
}
.pc-brand-text { font-size: 1.15rem; line-height: 1; letter-spacing: -.015em; }
.pc-brand-text small {
    display: block; font-size: .62rem; font-weight: 700; letter-spacing: .18em;
    text-transform: uppercase; color: rgba(127, 209, 185, .8); margin-top: .15rem;
}
.pc-topbar-spacer { flex: 1; }
.pc-topbar a { color: rgba(255,255,255,.85); }
.pc-topbar a:hover { color: #fff; }

.pc-account-btn {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .55rem 1.05rem; border-radius: 999px;
    background: rgba(127, 209, 185, .12); border: 1px solid rgba(127, 209, 185, .28);
    color: rgba(255,255,255,.92); font-size: .9rem; font-weight: 600; text-decoration: none;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.pc-topbar .dropdown > .pc-account-btn .ph-user-circle { font-size: 1.5rem; }
.pc-account-btn:hover {
    background: rgba(127, 209, 185, .2); border-color: rgba(127, 209, 185, .5); color: #fff;
}

/* Dropdown "Minha conta": menu claro → itens com texto escuro */
.pc-topbar .dropdown-menu .dropdown-item { color: var(--pc-ink); }
.pc-topbar .dropdown-menu .dropdown-item:hover,
.pc-topbar .dropdown-menu .dropdown-item:focus {
    color: var(--pc-navy-900); background-color: var(--pc-bg);
}
.pc-topbar .dropdown-menu .dropdown-item.text-danger { color: #d6455d; }
.pc-topbar .dropdown-menu .dropdown-item.text-danger:hover,
.pc-topbar .dropdown-menu .dropdown-item.text-danger:focus {
    color: #b91e3e; background-color: #fdeaee;
}
.pc-topbar .dropdown-menu { z-index: 1040; }

/* -----------------------------------------------------------
   Upload de foto (modal Enviar foto) — dropzone + preview
----------------------------------------------------------- */
.pc-upload {
    display: block; cursor: pointer; margin: 0;
    border: 2px dashed var(--pc-line); border-radius: var(--pc-radius);
    padding: 26px 20px; text-align: center; background: #fbfcfe;
    transition: border-color .18s ease, background .18s ease;
}
.pc-upload:hover, .pc-upload.is-dragover { border-color: var(--pc-linte-2); background: rgba(20, 75, 96, .04); }

.pc-upload__placeholder { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pc-upload__placeholder > i { font-size: 42px; color: var(--pc-linte-2); opacity: .7; }
.pc-upload__title { font-weight: 600; color: var(--pc-ink); font-size: .95rem; }
.pc-upload__title u { color: var(--pc-linte-2); text-decoration: none; border-bottom: 1px solid currentColor; }
.pc-upload__hint { font-size: .8rem; color: var(--pc-ink-soft); }

.pc-upload__preview { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pc-upload__preview img { max-height: 200px; max-width: 100%; border-radius: var(--pc-radius-sm); box-shadow: var(--pc-shadow-md); }
.pc-upload__file {
    display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
    background: #fff; border: 1px solid var(--pc-line); border-radius: 999px;
    padding: 5px 6px 5px 14px; font-size: .82rem; color: var(--pc-body);
}
.pc-upload__file > i { color: var(--pc-linte-2); flex: none; }
.pc-upload__file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-upload__remove {
    border: none; background: #f1f4f8; color: var(--pc-ink-soft); flex: none;
    width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
}
.pc-upload__remove:hover { background: rgba(250, 82, 82, .12); color: var(--pc-danger); }

/* -----------------------------------------------------------
   Quadro de assinatura (modal Assinar)
----------------------------------------------------------- */
.pc-sign { border: 1px solid var(--pc-line); border-radius: var(--pc-radius); overflow: hidden; background: #fff; }
.pc-sign__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 12px; background: #fbfcfe; border-bottom: 1px solid var(--pc-line);
}
.pc-sign__hint { font-size: .82rem; color: var(--pc-ink-soft); display: inline-flex; align-items: center; gap: 6px; }
.pc-sign__clear {
    border: none; background: none; color: var(--pc-ink-soft); font-size: .82rem; font-weight: 600;
    display: inline-flex; align-items: center; gap: 5px; cursor: pointer; padding: 4px 9px; border-radius: 6px;
}
.pc-sign__clear:hover { background: rgba(250, 82, 82, .1); color: var(--pc-danger); }
.pc-sign__canvas { display: block; width: 100%; height: 210px; touch-action: none; cursor: crosshair; }

/* -----------------------------------------------------------
   Conta (Manage) — banner + card título + 2 colunas (modelo FrontSipat)
----------------------------------------------------------- */
.pc-account-banner {
    position: relative; margin-top: 18px; min-height: 138px; overflow: hidden;
    display: grid; place-items: center; border-radius: var(--pc-radius);
    background: linear-gradient(135deg, var(--pc-linte) 0%, #07262f 55%, var(--pc-linte-2) 140%);
    box-shadow: var(--pc-shadow-md);
}
.pc-account-banner__logo { height: 86px; width: auto; }

.pc-account-card {
    margin-top: 18px; background: var(--pc-card); overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .06); border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-md);
}
.pc-account-card__head { padding: 18px 24px; background: #f7fafc; border-bottom: 1px solid var(--pc-line); }
.pc-account-card__head h1 { margin: 0; text-align: center; font-size: 1.4rem; font-weight: 700; color: var(--pc-ink); }
.pc-account-card__body { padding: 26px 24px; }

.pc-account { display: grid; grid-template-columns: 260px 1fr; align-items: start; }
.pc-account__aside { padding-right: 22px; }
.pc-account__main { padding-left: 30px; border-left: 1px solid var(--pc-line); }
@media (max-width: 820px) {
    .pc-account { grid-template-columns: 1fr; }
    .pc-account__aside { padding-right: 0; }
    .pc-account__main { padding-left: 0; border-left: none; border-top: 1px solid var(--pc-line); padding-top: 22px; margin-top: 22px; }
}

.pc-account__nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.pc-account__nav a {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px; border-radius: var(--pc-radius-sm);
    color: var(--pc-ink-soft); font-weight: 600; font-size: .9rem;
    text-decoration: none; transition: all .15s ease; border-left: 3px solid transparent;
}
.pc-account__nav a i { font-size: 18px; }
.pc-account__nav a:hover { background: #eef2f7; color: var(--pc-linte-2); }
.pc-account__nav a.active {
    background: rgba(20, 75, 96, .08); color: var(--pc-linte-2);
    border-left-color: var(--pc-linte-2);
}
@media (max-width: 820px) { .pc-account__nav { flex-direction: row; flex-wrap: wrap; } }

.pc-account__title { font-size: 1.25rem; font-weight: 700; color: var(--pc-ink); margin: 0 0 2px; }
.pc-account__lead { color: var(--pc-lede); font-size: .9rem; margin: 0 0 18px; }
.pc-account__actions { margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; }

/* bloco do avatar: círculo + ações, centralizado e separado da navegação */
#pc-avatar-form {
    display: flex; flex-direction: column; align-items: center; gap: 16px;
    margin-bottom: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--pc-line);
}
.pc-account__avatar { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.pc-account__avatar img, .pc-account__avatar .avatar { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 3px solid var(--pc-line); background: #fff; }
.pc-account__avatar > i {
    width: 120px; height: 120px; border-radius: 50%; display: grid; place-items: center;
    font-size: 52px; background: #eef2f7; color: var(--pc-ink-soft); border: 1px solid var(--pc-line);
}
.pc-account__avatar-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

/* grade de seleção de avatar (modal Escolha o seu avatar) */
.avatar-group { margin-bottom: 6px; }
.avatar-group-header {
    display: inline-flex; align-items: center; cursor: pointer; user-select: none;
    font-weight: 700; color: var(--pc-ink); padding: 6px 0 12px;
}
.avatar-group-header i { color: var(--pc-ink-soft); }
.avatar-group-body {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 12px;
}
.avatar-group-body.is-collapsed { display: none; }
.avatar-option {
    border: 1px solid var(--pc-line); border-radius: var(--pc-radius-sm); padding: 6px;
    background: #fff; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    display: grid; place-items: center;
}
.avatar-option:hover { border-color: var(--pc-linte-2); box-shadow: var(--pc-shadow-md); transform: translateY(-2px); }
.avatar-option img { width: 100%; height: auto; aspect-ratio: 1 / 1; display: block; }

/* campos */
.pc-field { margin-bottom: 16px; }
/* .form-group perdeu a margem no BS5 — restaura o respiro entre campos (e separa o botão) */
.pc-account .form-group { margin-bottom: 1.25rem; }
.pc-account form .btn { margin-top: 4px; }
.pc-field > label, .pc-account label, .pc-account .form-control-label { display: block; font-weight: 600; color: var(--pc-ink); font-size: .85rem; margin-bottom: 6px; }
.pc-account .form-control:focus, .pc-portal .form-control:focus, .pc-portal .form-select:focus { border-color: var(--pc-linte-2); box-shadow: 0 0 0 .2rem rgba(20, 75, 96, .12); }
.pc-portal select.form-select:not(.tom-select), .pc-account select.form-select:not(.tom-select) {
    border: 1px solid var(--pc-line); border-radius: var(--pc-radius-sm); color: var(--pc-ink);
    padding: .5rem 2.25rem .5rem .85rem; cursor: pointer;
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'><path fill='%23144B60' d='M3.2 5.5 8 10.3l4.8-4.8 1 1L8 12.3 2.2 6.5z'/></svg>");
    background-position: right .8rem center; background-size: 14px 14px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.pc-portal select.form-select:not(.tom-select):hover, .pc-account select.form-select:not(.tom-select):hover { border-color: var(--pc-linte-2); }
.pc-portal select.form-select:not(.tom-select) option:checked, .pc-account select.form-select:not(.tom-select) option:checked { background: rgba(20, 75, 96, .08); color: var(--pc-ink); font-weight: 600; }
.pc-portal select.form-select-sm:not(.tom-select) { padding: .3rem 2rem .3rem .7rem; background-position: right .6rem center; }
.pc-field__ok { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; font-size: .82rem; font-weight: 600; color: var(--pc-success); }
.pc-link-verify { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; padding: 0; background: none; border: none; color: var(--pc-linte-2); font-weight: 600; font-size: .82rem; cursor: pointer; }
.pc-link-verify:hover { text-decoration: underline; }
/* Campo só leitura (e-mail em Minha conta): mesma cara do campo desabilitado, sem cursor de edição. */
.pc-account .form-control[readonly] { background-color: var(--bs-secondary-bg, #e9ecef); color: var(--pc-ink-soft); cursor: default; }
.pc-account .form-control[readonly]:focus { box-shadow: none; border-color: var(--pc-line); }

/* Card de formulário (Solicitar EPI etc.) — largura de leitura confortável e centrada. */
.pc-formcard { max-width: 720px; margin-inline: auto; }
.pc-account-card__head--left { text-align: left; }
.pc-account-card__head--left h1 { text-align: left; display: flex; align-items: center; gap: 10px; font-size: 1.15rem; }
.pc-account-card__head--left h1 i { color: var(--pc-linte-2); font-size: 1.25em; }

.pc-field__hint { display: block; margin-top: 6px; font-size: .8rem; color: var(--pc-lede); }
.pc-field--narrow .form-control { max-width: 160px; }

.pc-formcard__actions {
    display: flex; gap: 10px; flex-wrap: wrap;
    margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--pc-line);
}
@media (max-width: 560px) {
    .pc-formcard__actions { flex-direction: column; }
    .pc-formcard__actions .pc-btn { width: 100%; justify-content: center; }
    .pc-field--narrow .form-control { max-width: none; }
}

.pc-btn--danger { background: #e8384f; color: #fff; }
.pc-btn--danger:hover { background: #cf2740; color: #fff; }

/* -----------------------------------------------------------
   Tom Select — combobox com busca, tingido pro portal (navy/musgo)
----------------------------------------------------------- */
.pc-portal .ts-wrapper { width: 100%; }
.pc-portal .ts-control {
    border-radius: var(--pc-radius-sm);
    border: 1px solid var(--pc-line);
    color: var(--pc-ink);
    min-height: 42px;
    padding: 6px 12px;
    background: #fff;
}
.pc-portal .ts-wrapper.focus .ts-control {
    border-color: var(--pc-linte-2);
    box-shadow: 0 0 0 .2rem rgba(20, 75, 96, .12);
}
.pc-portal .ts-control input::placeholder { color: var(--pc-lede); opacity: 1; }

.pc-portal .ts-dropdown {
    border-radius: var(--pc-radius-sm);
    border: 1px solid var(--pc-line);
    box-shadow: var(--pc-shadow-md);
    margin-top: 4px;
    overflow: hidden;
}
.pc-portal .ts-dropdown .option { color: var(--pc-ink); padding: 9px 12px; }
.pc-portal .ts-dropdown .option.active,
.pc-portal .ts-dropdown .option:hover {
    background: rgba(20, 75, 96, .10);
    color: var(--pc-linte-2);
}
.pc-portal .ts-dropdown .selected,
.pc-portal .ts-dropdown .option[aria-selected="true"] { background: rgba(20, 75, 96, .06); font-weight: 600; }
.pc-portal .ts-dropdown .no-results { color: var(--pc-lede); padding: 9px 12px; }

/* botões extras */
.pc-btn--musgo { background: var(--pc-success); color: #fff; }
.pc-btn--musgo:hover { background: #048a63; color: #fff; }
.pc-btn--outline { background: transparent; border-color: var(--pc-line); color: var(--pc-ink); }
.pc-btn--outline:hover { background: #eef2f7; color: var(--pc-linte-2); border-color: var(--pc-linte-2); }

/* containers neutros (sem estilo próprio, garantem layout) */
.pc-ficha__meta { min-width: 0; }
.pc-slot__action { margin-top: auto; }

/* -----------------------------------------------------------
   Reveal animado (mantido)
----------------------------------------------------------- */
@keyframes pcRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.pc-rise { animation: pcRise .5s both; }
.pc-rise-1 { animation-delay: .02s; }
.pc-rise-2 { animation-delay: .08s; }
.pc-rise-3 { animation-delay: .14s; }
.pc-rise-4 { animation-delay: .20s; }
.pc-rise-5 { animation-delay: .26s; }
@media (prefers-reduced-motion: reduce) { .pc-rise { animation: none; } }

/* -----------------------------------------------------------
   Meus DDS: hero com CTA, cards "para assinar" com bloco de data
   e histórico em linha do tempo agrupada por mês
----------------------------------------------------------- */
.pc-dds-hero__cta { box-shadow: 0 8px 20px -10px rgba(245, 183, 89, .9); }
.pc-dds-hero__count {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
    background: #3d2c08; color: var(--pc-amber-500); font-size: 12px; font-weight: 700;
}
@media (max-width: 575.98px) { .pc-dds-hero__cta { width: 100%; justify-content: center; } }

.pc-dds-metric__unit { font-size: 14px; font-weight: 600; color: var(--pc-ink-soft); margin-left: 2px; }
@media (max-width: 520px) {
    .pc-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .pc-metric { padding: 14px; }
    .pc-metric__icon { width: 34px; height: 34px; margin-bottom: 8px; }
    .pc-metric__value { font-size: 24px; }
    .pc-metric__label { font-size: 11px; }
}
.pc-dds-pontos { margin-top: 16px; padding: 14px 16px; background: var(--pc-card); border: 1px dashed var(--pc-line); border-radius: var(--pc-radius); }
.pc-dds-pontos__titulo { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-navy-700); }
.pc-dds-pontos__titulo i { color: var(--pc-amber-600); font-size: 16px; }
.pc-dds-pontos__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 10px 0 0; padding: 0; list-style: none; }
@media (max-width: 767.98px) { .pc-dds-pontos__lista { grid-template-columns: 1fr; gap: 10px; } }
.pc-dds-pontos__lista li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.pc-dds-pontos__valor { flex: 0 0 auto; min-width: 58px; padding: 3px 8px; border-radius: 999px; background: rgba(245, 183, 89, .18); color: var(--pc-amber-600); font-size: 12px; font-weight: 800; text-align: center; font-variant-numeric: tabular-nums; }
.pc-dds-pontos__lista b { display: block; font-size: 13.5px; color: var(--pc-ink); }
.pc-dds-pontos__lista span:not(.pc-dds-pontos__valor) { display: block; font-size: 12.5px; line-height: 1.4; color: var(--pc-ink-soft); }
.pc-dds-pontos__lista span b { display: inline; font-size: inherit; }

.pc-dds-pendentes { display: grid; gap: 12px; }
.pc-dds-card {
    position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px 18px;
    padding: 16px 18px; background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-md);
    transition: transform .18s ease, box-shadow .18s ease;
}
.pc-dds-card:hover { transform: translateY(-2px); box-shadow: var(--pc-shadow-lg); }
.pc-dds-card.is-antigo { box-shadow: inset 4px 0 0 var(--pc-amber-500), var(--pc-shadow-md); }
@media (max-width: 767.98px) {
    .pc-dds-card { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
    .pc-dds-card__acoes { grid-column: 1 / -1; }
    .pc-dds-card__acoes .pc-btn { flex: 1 1 0; justify-content: center; }
}

.pc-dds-data {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    width: 58px; height: 62px; border-radius: 12px; overflow: hidden;
    background: linear-gradient(160deg, var(--pc-linte-2) 0%, var(--pc-linte) 100%); color: #fff;
}
.pc-dds-data__dia { font-size: 24px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.pc-dds-data__mes { margin-top: 4px; font-size: 10.5px; font-weight: 700; letter-spacing: .12em; color: #7fd1b9; }

.pc-dds-card__corpo { min-width: 0; }
.pc-dds-card__titulo { margin: 0 0 6px; font-size: 1.02rem; font-weight: 700; color: var(--pc-ink); overflow-wrap: anywhere; }
.pc-dds-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; padding: 0; list-style: none; }
.pc-dds-chips li {
    display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px;
    background: var(--pc-bg); border: 1px solid var(--pc-line); font-size: 12px; color: var(--pc-body);
}
.pc-dds-chips i { color: var(--pc-linte-2); }
.pc-dds-card__espera { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600; color: var(--pc-ink-soft); }
.pc-dds-card.is-antigo .pc-dds-card__espera { color: var(--pc-amber-600); }
.pc-dds-card__acoes { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }

.pc-dds-timeline { display: grid; gap: 22px; }
.pc-dds-mes__titulo {
    display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px;
    font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-navy-700);
}
.pc-dds-mes__titulo span { font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--pc-ink-soft); }
.pc-dds-lista {
    position: relative; margin: 0; padding: 4px 0 4px 26px; list-style: none;
    background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06); border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-sm);
}
.pc-dds-lista::before { content: ""; position: absolute; left: 19px; top: 18px; bottom: 18px; width: 2px; border-radius: 2px; background: var(--pc-line); }
.pc-dds-item {
    position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 8px 16px;
    padding: 14px 18px 14px 16px; border-top: 1px solid var(--pc-line);
}
.pc-dds-item:first-child { border-top: 0; }
.pc-dds-item__ponto {
    position: absolute; left: -12px; top: 19px; width: 12px; height: 12px; border-radius: 50%;
    background: var(--pc-card); border: 3px solid var(--pc-success);
}
.pc-dds-item.is-ausente .pc-dds-item__ponto { border-color: #b6c2d1; }
.pc-dds-item__corpo { flex: 1 1 18rem; min-width: 0; }
.pc-dds-item__topo { display: flex; align-items: baseline; gap: 10px; }
.pc-dds-item__dia { flex: 0 0 auto; font-size: 12px; font-weight: 700; color: var(--pc-navy-700); font-variant-numeric: tabular-nums; }
.pc-dds-item__titulo { margin: 0; font-size: .95rem; font-weight: 600; color: var(--pc-ink); overflow-wrap: anywhere; }
.pc-dds-item.is-ausente .pc-dds-item__titulo { color: var(--pc-ink-soft); }
.pc-dds-item__meta { margin-top: 2px; font-size: 12.5px; color: var(--pc-ink-soft); }
.pc-dds-item__comentario {
    display: flex; gap: 6px; margin: 8px 0 0; padding: 7px 10px; border-left: 3px solid var(--pc-success);
    border-radius: 0 8px 8px 0; background: rgba(5, 166, 119, .07); font-size: 13px; font-style: italic; color: var(--pc-body);
}
.pc-dds-item__comentario i { flex: 0 0 auto; margin-top: 2px; font-style: normal; color: var(--pc-success); }
.pc-dds-item__lado { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pc-dds-status--ausente { background: rgba(102, 121, 158, .12); color: var(--pc-ink-soft); }

/* -----------------------------------------------------------
   Home do portal: um card por área, destaque âmbar quando há
   algo esperando o colaborador
----------------------------------------------------------- */
.pc-shell { padding-bottom: 56px; }
.pc-home-pendencias {
    display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px; border-radius: var(--pc-radius);
    background: rgba(245, 183, 89, .14); border: 1px solid rgba(245, 183, 89, .45); color: #fff;
}
.pc-home-pendencias__num { font-size: 30px; font-weight: 800; line-height: 1; color: var(--pc-amber-500); font-variant-numeric: tabular-nums; }
.pc-home-pendencias__txt { font-size: 12.5px; font-weight: 600; line-height: 1.25; color: rgba(255, 255, 255, .85); }
.pc-home-pendencias.is-ok { background: rgba(5, 166, 119, .16); border-color: rgba(127, 209, 185, .45); }
.pc-home-pendencias.is-ok i { font-size: 26px; color: #7fd1b9; }
@media (max-width: 768px) {
    .pc-home-pendencias { display: flex; width: 100%; justify-content: center; }
    .pc-home-pendencias__txt br { display: none; }
}

.pc-home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 991.98px) { .pc-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) {
    .pc-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .pc-home-card { padding: 14px 14px 12px; gap: 4px; }
    .pc-home-card__icone { width: 38px; height: 38px; font-size: 20px; margin-bottom: 4px; }
    .pc-home-card__titulo { font-size: .95rem; }
    .pc-home-card__texto { display: none; }
    .pc-home-card__rodape { flex: 1 1 auto; align-items: flex-end; margin-top: 6px; padding-top: 8px; font-size: 11.5px; }
    .pc-home-card__seta { display: none; }
}

.pc-home-card {
    --tom: var(--pc-linte-2); --tom-suave: rgba(20, 75, 96, .1);
    position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0;
    padding: 20px 20px 16px; background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-md); color: var(--pc-body); text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pc-home-card--musgo { --tom: var(--pc-success); --tom-suave: rgba(5, 166, 119, .12); }
.pc-home-card--alerta { --tom: #c2410c; --tom-suave: rgba(234, 88, 12, .1); }
.pc-home-card:hover { transform: translateY(-3px); box-shadow: var(--pc-shadow-lg); border-color: var(--tom); color: var(--pc-body); }
.pc-home-card:focus-visible { outline: 3px solid var(--tom); outline-offset: 2px; }
.pc-home-card.is-pendente { box-shadow: inset 0 3px 0 var(--pc-amber-500), var(--pc-shadow-md); }

.pc-home-card__icone {
    display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 6px; border-radius: 12px;
    background: var(--tom-suave); color: var(--tom); font-size: 24px;
}
.pc-home-card__titulo { font-size: 1.05rem; font-weight: 700; color: var(--pc-ink); }
.pc-home-card__texto { flex: 1 1 auto; font-size: 13px; line-height: 1.45; color: var(--pc-ink-soft); }
.pc-home-card__rodape {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--pc-line); font-size: 12.5px;
}
.pc-home-card__pendente { display: inline-flex; align-items: baseline; gap: 5px; font-weight: 700; color: var(--pc-amber-600); }
.pc-home-card__pendente b { font-size: 17px; }
.pc-home-card__resumo { font-weight: 600; color: var(--pc-ink-soft); }
.pc-home-card__seta { font-size: 18px; color: var(--tom); transition: transform .18s ease; }
.pc-home-card:hover .pc-home-card__seta { transform: translateX(3px); }

/* volta para o início, no topo do hero das páginas de área */
.pc-voltar { display: flex; width: fit-content; align-items: center; gap: 6px; margin-bottom: 10px; font-size: 12.5px; font-weight: 600; color: rgba(255, 255, 255, .78); text-decoration: none; }
.pc-voltar:hover { color: #fff; }

/* banner de permissão de notificação (home) */
.pc-notif-banner {
    display: none; position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); z-index: 1040;
    width: min(560px, calc(100% - 2rem)); padding: 1rem 1.25rem;
    background: var(--pc-card); border: 1px solid var(--pc-line); border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-md);
}
.pc-notif-banner.is-open { display: block; }
.pc-notif-banner__row { display: flex; align-items: center; gap: .85rem; flex-wrap: wrap; }
.pc-notif-banner__icon {
    display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 12px;
    background: var(--pc-amber-500); color: #fff; font-size: 1.15rem;
}
.pc-notif-banner p { flex: 1; min-width: 200px; margin: 0; font-size: .82rem; color: var(--pc-body); }
.pc-home-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Tabela dos itens da ficha de EPI: Tipo e EPI largos, Qtde e Operação estreitos */
.pc-ficha-tabela { width: 100% !important; }
.pc-ficha-col--tipo { width: 22%; }
.pc-ficha-col--epi { width: 28%; }
.pc-ficha-col--ca { width: 13%; }
.pc-ficha-col--img { width: 10%; }
.pc-ficha-col--qtde { width: 6%; }
.pc-ficha-col--op { width: 9%; }
.pc-ficha-col--assin { width: 12%; }
@media (max-width: 1199.98px) {
    .js-tabela-ficha th { white-space: nowrap; }
    .pc-ficha-col--tipo { min-width: 170px; }
    .pc-ficha-col--epi { min-width: 190px; }
    .pc-ficha-col--op { min-width: 100px; }
}
.pc-ficha-ca { padding: 2px 8px; font-size: 10.5px; white-space: nowrap; }
.pc-ficha-foto { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; overflow: hidden; background: var(--pc-bg); border: 1px solid var(--pc-line); color: var(--pc-ink-soft); font-size: 20px; }
.pc-ficha-foto img { width: 100%; height: 100%; object-fit: cover; }
.pc-ficha-foto img + i { display: none; }
.pc-slot__aguardando { display: block; font-size: 11px; font-weight: 600; line-height: 1.3; text-align: center; color: var(--pc-ink-soft); }

/* -----------------------------------------------------------
   Minhas APRs: selo do risco mais grave, progresso da equipe
   e detalhe dos riscos com medidas no modal de assinatura
----------------------------------------------------------- */
.pc-apr-nivel--baixo { --pc-nivel: #15803d; --pc-nivel-bg: rgba(21, 128, 61, .10); }
.pc-apr-nivel--moderado { --pc-nivel: #b07a03; --pc-nivel-bg: rgba(202, 138, 4, .13); }
.pc-apr-nivel--alto { --pc-nivel: #ea580c; --pc-nivel-bg: rgba(234, 88, 12, .11); }
.pc-apr-nivel--critico { --pc-nivel: #b91c1c; --pc-nivel-bg: rgba(185, 28, 28, .10); }

.pc-dds-pontos__lista span.pc-apr-passo {
    flex: 0 0 auto; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
    background: var(--pc-linte-2); color: #fff; font-size: 12.5px; font-weight: 800; line-height: 1;
}

.pc-apr-pendentes { display: grid; gap: 12px; }
.pc-apr-card {
    position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px 18px;
    padding: 16px 18px 16px 22px; background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius); box-shadow: inset 4px 0 0 var(--pc-nivel), var(--pc-shadow-md);
    transition: transform .18s ease, box-shadow .18s ease;
}
.pc-apr-card:hover { transform: translateY(-2px); box-shadow: inset 4px 0 0 var(--pc-nivel), var(--pc-shadow-lg); }
.pc-apr-card.is-antigo .pc-dds-card__espera { color: var(--pc-amber-600); }
@media (max-width: 767.98px) {
    .pc-apr-card { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
    .pc-apr-card .pc-dds-card__acoes { grid-column: 1 / -1; }
    .pc-apr-card .pc-dds-card__acoes .pc-btn { flex: 1 1 0; justify-content: center; }
}

.pc-apr-selo {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    width: 72px; height: 72px; border-radius: 14px; background: var(--pc-nivel-bg); color: var(--pc-nivel);
}
.pc-apr-selo i { font-size: 28px; line-height: 1; }
.pc-apr-selo span { font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.pc-apr-card__corpo { min-width: 0; }
.pc-apr-card__titulo { margin: 0 0 6px; font-size: 1.02rem; font-weight: 700; color: var(--pc-ink); overflow-wrap: anywhere; }

.pc-apr-riscos-mini { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 10px; padding: 0; list-style: none; font-size: 12.5px; color: var(--pc-body); }
.pc-apr-riscos-mini li { display: inline-flex; align-items: center; gap: 6px; }
.pc-apr-ponto { width: 9px; height: 9px; border-radius: 50%; background: var(--pc-nivel); box-shadow: 0 0 0 3px var(--pc-nivel-bg); }

.pc-apr-equipe { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-bottom: 6px; font-size: 12.5px; color: var(--pc-ink-soft); }
.pc-apr-equipe i { color: var(--pc-linte-2); }
.pc-apr-equipe b { color: var(--pc-ink); }
.pc-apr-equipe__progresso { display: inline-flex; align-items: center; gap: 8px; }
.pc-apr-barra { width: 90px; height: 6px; border: 0; border-radius: 999px; overflow: hidden; background: var(--pc-line); appearance: none; }
.pc-apr-barra::-webkit-progress-bar { background: var(--pc-line); border-radius: 999px; }
.pc-apr-barra::-webkit-progress-value { background: var(--pc-success); border-radius: 999px; }
.pc-apr-barra::-moz-progress-bar { background: var(--pc-success); border-radius: 999px; }

.pc-apr-modal .modal-header { align-items: flex-start; }
.pc-apr-modal__cabecalho { min-width: 0; }
.pc-apr-modal__cabecalho .modal-title { margin-top: 2px; font-weight: 700; color: var(--pc-ink); overflow-wrap: anywhere; }

.pc-apr-resumo { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.pc-apr-resumo li {
    display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px;
    background: var(--pc-bg); border: 1px solid var(--pc-line); font-size: 12.5px; color: var(--pc-body);
}
.pc-apr-resumo i { color: var(--pc-linte-2); }

.pc-apr-obs {
    display: flex; gap: 8px; margin-bottom: 14px; padding: 10px 12px; border-radius: var(--pc-radius-sm);
    background: rgba(30, 144, 255, .08); border: 1px solid rgba(30, 144, 255, .22); font-size: 13px; color: var(--pc-body);
}
.pc-apr-obs i { flex: 0 0 auto; margin-top: 2px; color: var(--pc-info); }

.pc-apr-riscos__titulo { margin: 0 0 8px; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-navy-700); }
.pc-apr-riscos { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pc-apr-risco {
    padding: 12px 14px 12px 16px; border: 1px solid var(--pc-line); border-radius: var(--pc-radius-sm);
    background: var(--pc-card); box-shadow: inset 4px 0 0 var(--pc-nivel);
}
.pc-apr-risco__topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; }
.pc-apr-risco__topo strong { font-size: .95rem; color: var(--pc-ink); }
.pc-apr-nivel {
    display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: 999px;
    background: var(--pc-nivel-bg); color: var(--pc-nivel); font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
}
.pc-apr-risco__escala { margin-top: 2px; font-size: 12px; color: var(--pc-ink-soft); }
.pc-apr-risco__escala b { font-weight: 600; color: var(--pc-body); }
.pc-apr-risco__consequencia { margin: 8px 0 0; font-size: 13px; color: var(--pc-body); }
.pc-apr-risco__rotulo { display: block; margin-top: 10px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-ink-soft); }
.pc-apr-medidas { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 14px; margin: 4px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--pc-ink); }
.pc-apr-medidas li { display: flex; align-items: flex-start; gap: 6px; }
.pc-apr-medidas i { flex: 0 0 auto; margin-top: 2px; color: var(--pc-success); }

.pc-apr-assinar { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--pc-line); }
.pc-apr-ciente {
    display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; padding: 10px 12px; cursor: pointer;
    border-radius: var(--pc-radius-sm); background: rgba(245, 183, 89, .12); border: 1px solid rgba(245, 183, 89, .45);
    font-size: 13px; font-weight: 600; color: var(--pc-ink);
}
.pc-apr-ciente input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--pc-linte-2); }
@media (max-width: 575.98px) {
    .pc-apr-card { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px 14px 14px 18px; }
    .pc-apr-selo { flex-direction: row; justify-self: start; width: auto; height: auto; gap: 6px; padding: 4px 12px 4px 8px; border-radius: 999px; }
    .pc-apr-selo i { font-size: 18px; }
    .pc-apr-equipe { flex-direction: column; align-items: flex-start; }
}

/* -----------------------------------------------------------
   Meus simulados: destaque "acontecendo agora", agenda com
   presença da equipe e etapas em formato de passo a passo
----------------------------------------------------------- */
@keyframes pcPulso { 0% { box-shadow: 0 0 0 0 rgba(250, 82, 82, .6); } 70% { box-shadow: 0 0 0 8px rgba(250, 82, 82, 0); } 100% { box-shadow: 0 0 0 0 rgba(250, 82, 82, 0); } }
.pc-sim-pulso { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--pc-danger); animation: pcPulso 1.6s infinite; }
@media (prefers-reduced-motion: reduce) { .pc-sim-pulso { animation: none; } }
.pc-sim-tipo { color: var(--pc-linte-2); }

.pc-sim-agora {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px 20px;
    margin-top: 18px; padding: 18px 20px; border-radius: var(--pc-radius); color: #fff;
    background: linear-gradient(135deg, var(--pc-linte) 0%, var(--pc-linte-2) 100%); box-shadow: var(--pc-shadow-lg);
}
.pc-sim-agora__icone { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 16px; background: rgba(255, 255, 255, .1); font-size: 30px; color: var(--pc-amber-500); }
.pc-sim-agora__ao-vivo { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #ffb4b4; }
.pc-sim-agora h2 { margin: 4px 0 2px; font-size: 1.25rem; font-weight: 700; color: #fff; }
.pc-sim-agora p { margin: 0 0 10px; font-size: 13px; color: rgba(255, 255, 255, .78); }
.pc-sim-agora p b { color: #fff; }
.pc-sim-agora__progresso { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 12.5px; color: rgba(255, 255, 255, .78); }
.pc-sim-agora__progresso b { color: #fff; }
.pc-sim-agora progress { width: 160px; height: 7px; border: 0; border-radius: 999px; overflow: hidden; background: rgba(255, 255, 255, .18); appearance: none; }
.pc-sim-agora progress::-webkit-progress-bar { background: rgba(255, 255, 255, .18); }
.pc-sim-agora progress::-webkit-progress-value { background: #7fd1b9; border-radius: 999px; }
.pc-sim-agora progress::-moz-progress-bar { background: #7fd1b9; border-radius: 999px; }
.pc-sim-agora__acoes { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 767.98px) {
    .pc-sim-agora { grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: 16px; }
    .pc-sim-agora__icone { width: 44px; height: 44px; border-radius: 12px; font-size: 22px; }
    .pc-sim-agora progress { width: 100%; }
    .pc-sim-agora__acoes { grid-column: 1 / -1; }
    .pc-sim-agora__acoes .pc-btn { justify-content: center; }
}

.pc-sim-card {
    position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px 18px;
    padding: 16px 18px; background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius); box-shadow: inset 4px 0 0 var(--pc-amber-500), var(--pc-shadow-md);
    transition: transform .18s ease, box-shadow .18s ease;
}
.pc-sim-card.is-confirmado { box-shadow: inset 4px 0 0 var(--pc-success), var(--pc-shadow-md); }
.pc-sim-card:hover { transform: translateY(-2px); }
.pc-sim-card .pc-dds-data { height: auto; padding: 8px 0; }
.pc-sim-data__hora { margin-top: 5px; padding-top: 4px; border-top: 1px solid rgba(255, 255, 255, .18); font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 767.98px) {
    .pc-sim-card { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
    .pc-sim-card .pc-dds-card__acoes { grid-column: 1 / -1; }
    .pc-sim-card .pc-dds-card__acoes .pc-btn { flex: 1 1 0; justify-content: center; }
}

.pc-sim-detalhe { margin-top: 8px; font-size: 13px; color: var(--pc-body); }
.pc-sim-detalhe summary { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; list-style: none; font-size: 12.5px; font-weight: 700; color: var(--pc-linte-2); }
.pc-sim-detalhe summary::-webkit-details-marker { display: none; }
.pc-sim-detalhe summary i { transition: transform .15s ease; }
.pc-sim-detalhe[open] summary i { transform: rotate(90deg); }
.pc-sim-detalhe p { margin: 8px 0 0; padding: 8px 12px; border-radius: var(--pc-radius-sm); background: var(--pc-bg); }
.pc-sim-motivo { background: var(--pc-bg); border-left-color: #b6c2d1; font-style: normal; color: var(--pc-ink-soft); }
.pc-sim-motivo i { color: var(--pc-ink-soft); }

.pc-sim-placar {
    display: flex; align-items: center; gap: 18px; margin-top: 18px; padding: 16px 20px;
    background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06); border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-md);
}
.pc-sim-placar__numero { display: flex; flex-direction: column; align-items: center; min-width: 64px; }
.pc-sim-placar__numero b { font-size: 34px; line-height: 1; font-weight: 800; color: var(--pc-linte-2); font-variant-numeric: tabular-nums; }
.pc-sim-placar__numero span { font-size: 12px; color: var(--pc-ink-soft); }
.pc-sim-placar__corpo { display: grid; flex: 1 1 auto; gap: 6px; min-width: 0; }
.pc-sim-placar__titulo { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-navy-700); }
.pc-sim-placar progress { width: 100%; height: 8px; border: 0; border-radius: 999px; overflow: hidden; background: var(--pc-line); appearance: none; }
.pc-sim-placar progress::-webkit-progress-bar { background: var(--pc-line); }
.pc-sim-placar progress::-webkit-progress-value { background: var(--pc-success); border-radius: 999px; }
.pc-sim-placar progress::-moz-progress-bar { background: var(--pc-success); border-radius: 999px; }
.pc-sim-placar__sub { font-size: 12.5px; color: var(--pc-ink-soft); }
.pc-sim-placar__sub i { color: var(--pc-success); }
.pc-sim-aviso { margin-top: 14px; }

.pc-sim-etapas { position: relative; display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.pc-sim-etapas::before { content: ""; position: absolute; left: 33px; top: 24px; bottom: 24px; width: 2px; background: var(--pc-line); }
.pc-sim-etapa {
    position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px 14px;
    padding: 14px 16px; background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06); border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-sm);
}
.pc-sim-etapa.is-proxima { border-color: var(--pc-amber-500); box-shadow: 0 0 0 3px rgba(245, 183, 89, .25), var(--pc-shadow-md); }
.pc-sim-etapa__num {
    position: relative; z-index: 1; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
    background: var(--pc-card); border: 2px solid var(--pc-line); font-size: 14px; font-weight: 800; color: var(--pc-ink-soft);
}
.pc-sim-etapa.is-proxima .pc-sim-etapa__num { border-color: var(--pc-amber-500); color: var(--pc-amber-600); }
.pc-sim-etapa.is-andamento .pc-sim-etapa__num { border-color: var(--pc-amber-500); background: var(--pc-amber-500); color: #fff; }
.pc-sim-etapa.is-concluida .pc-sim-etapa__num { border-color: var(--pc-success); background: var(--pc-success); color: #fff; font-size: 16px; }
.pc-sim-etapa__corpo { min-width: 0; }
.pc-sim-etapa__titulo { font-size: .95rem; font-weight: 600; color: var(--pc-ink); overflow-wrap: anywhere; }
.pc-sim-etapa.is-concluida .pc-sim-etapa__titulo { color: var(--pc-body); }
.pc-sim-tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: rgba(245, 183, 89, .18); color: var(--pc-amber-600); font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; vertical-align: 2px; }
.pc-sim-etapa__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 3px; font-size: 12.5px; color: var(--pc-ink-soft); }
.pc-sim-etapa__andamento { font-weight: 700; color: var(--pc-amber-600); }
.pc-sim-etapa__acoes { display: flex; gap: 8px; }
@media (max-width: 575.98px) {
    .pc-sim-etapa { grid-template-columns: auto minmax(0, 1fr); }
    .pc-sim-etapa__acoes { grid-column: 1 / -1; }
    .pc-sim-etapa__acoes .pc-btn { flex: 1 1 0; justify-content: center; }
}

/* -----------------------------------------------------------
   Relatar perigo: formulário com foto em destaque e
   acompanhamento dos relatos com trilha de andamento
----------------------------------------------------------- */
.pc-btn--outline-light { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .28); color: #fff; }
.pc-btn--outline-light:hover { background: rgba(255, 255, 255, .16); color: #fff; }

.pc-rel-grav--1 { --pc-grav: #15803d; --pc-grav-bg: rgba(21, 128, 61, .10); }
.pc-rel-grav--2 { --pc-grav: #b07a03; --pc-grav-bg: rgba(202, 138, 4, .13); }
.pc-rel-grav--3 { --pc-grav: #b91c1c; --pc-grav-bg: rgba(185, 28, 28, .10); }

.pc-rel-form {
    padding: 20px; background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-md);
}
.pc-rel-form__grade { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 20px; }
@media (max-width: 767.98px) { .pc-rel-form__grade { grid-template-columns: 1fr; } .pc-rel-form { padding: 16px; } }
.pc-rel-campos { display: grid; gap: 16px; align-content: start; }
.pc-rel-bloco { position: relative; display: flex; flex-direction: column; }
.pc-rel-bloco__titulo { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 7px; font-size: 13.5px; font-weight: 700; color: var(--pc-ink); }
.pc-rel-bloco__titulo b { color: var(--pc-danger); }
.pc-rel-bloco__titulo .pc-apr-passo,
.pc-rel-form .pc-apr-passo {
    display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%;
    background: var(--pc-linte-2); color: #fff; font-size: 11.5px; font-weight: 800; line-height: 1;
}

.pc-rel-foto {
    position: relative; display: grid; place-items: center; flex: 1 1 auto; min-height: 230px; overflow: hidden; cursor: pointer;
    border: 2px dashed var(--pc-line); border-radius: var(--pc-radius); background: var(--pc-bg);
    transition: border-color .15s ease, background .15s ease;
}
.pc-rel-foto:hover { border-color: var(--pc-linte-2); background: rgba(20, 75, 96, .04); }
.pc-rel-foto input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pc-rel-foto__vazio { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 16px; text-align: center; color: var(--pc-ink-soft); font-size: 12.5px; }
.pc-rel-foto__vazio i { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 6px; border-radius: 50%; background: var(--pc-linte-2); color: #fff; font-size: 28px; }
.pc-rel-foto__vazio b { font-size: 14px; color: var(--pc-ink); }
.pc-rel-foto.tem-foto { border-style: solid; border-color: var(--pc-success); }
.pc-rel-foto.tem-foto .pc-rel-foto__vazio { display: none; }
.pc-rel-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pc-rel-foto__trocar {
    position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px;
    border-radius: 999px; background: rgba(10, 30, 49, .78); color: #fff; font-size: 12px; font-weight: 700;
}
@media (max-width: 767.98px) { .pc-rel-foto { min-height: 190px; } }

.pc-rel-contador { align-self: flex-end; margin-top: 4px; font-size: 11.5px; color: var(--pc-ink-soft); font-variant-numeric: tabular-nums; }
.pc-rel-prioridade {
    display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; margin-top: 8px; padding: 4px 11px;
    border-radius: 999px; background: var(--pc-grav-bg); color: var(--pc-grav); font-size: 12.5px;
}

.pc-rel-form__rodape {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px;
    margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--pc-line);
}
.pc-rel-anonimo { display: flex; align-items: flex-start; gap: 10px; flex: 1 1 22rem; margin: 0; cursor: pointer; }
.pc-rel-anonimo .form-check-input { width: 2.4em; height: 1.3em; margin: 2px 0 0; cursor: pointer; }
.pc-rel-anonimo b { display: block; font-size: 13.5px; color: var(--pc-ink); }
.pc-rel-anonimo > span:last-child > span { display: block; font-size: 12.5px; line-height: 1.4; color: var(--pc-ink-soft); }
.pc-rel-form__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.pc-rel-geo {
    display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border: 1px solid var(--pc-line); border-radius: 999px;
    background: var(--pc-bg); font-size: 12px; font-weight: 600; color: var(--pc-ink-soft);
}
.pc-rel-geo.is-ok { border-color: rgba(5, 166, 119, .35); background: rgba(5, 166, 119, .08); color: var(--pc-success); }
.pc-rel-geo.is-falha { cursor: pointer; color: var(--pc-amber-600); }
@media (max-width: 575.98px) {
    .pc-rel-form__acoes { width: 100%; }
    .pc-rel-form__acoes .pc-btn { flex: 1 1 100%; justify-content: center; padding: 12px 18px; }
}

.pc-rel-lista { display: grid; gap: 12px; }
.pc-rel-card {
    padding: 16px 18px; background: var(--pc-card); border: 1px solid rgba(0, 0, 0, .06);
    border-radius: var(--pc-radius); box-shadow: var(--pc-shadow-md);
}
.pc-rel-card__topo { display: flex; gap: 14px; }
.pc-rel-thumb { flex: 0 0 auto; display: block; width: 72px; height: 72px; overflow: hidden; border-radius: 12px; background: var(--pc-bg); }
.pc-rel-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pc-rel-thumb--vazio { display: grid; place-items: center; border: 1px solid var(--pc-line); color: var(--pc-ink-soft); font-size: 26px; }
.pc-rel-card__corpo { min-width: 0; flex: 1 1 auto; }
.pc-rel-card__linha { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.pc-rel-card__titulo {
    margin: 0 0 6px; font-size: .98rem; font-weight: 700; line-height: 1.35; color: var(--pc-ink); overflow-wrap: anywhere;
}
.pc-rel-grav {
    flex: 0 0 auto; padding: 2px 10px; border-radius: 999px; background: var(--pc-grav-bg); color: var(--pc-grav);
    font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
}
.pc-rel-card .pc-dds-chips { margin-bottom: 0; }

.pc-rel-trilha { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 16px 0 0; padding: 0; list-style: none; }
.pc-rel-trilha li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; text-align: center; }
.pc-rel-trilha li::before { content: ""; position: absolute; top: 14px; right: 50%; width: 100%; height: 3px; background: var(--pc-line); }
.pc-rel-trilha li:first-child::before { display: none; }
.pc-rel-trilha li.is-feito::before,
.pc-rel-trilha li.is-atual::before { background: var(--pc-success); }
.pc-rel-trilha__ponto {
    position: relative; z-index: 1; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
    background: var(--pc-card); border: 2px solid var(--pc-line); color: var(--pc-ink-soft); font-size: 14px;
}
.pc-rel-trilha li.is-feito .pc-rel-trilha__ponto { border-color: var(--pc-success); background: var(--pc-success); color: #fff; }
.pc-rel-trilha li.is-atual .pc-rel-trilha__ponto { border-color: var(--pc-amber-500); background: var(--pc-amber-500); color: #3d2c08; box-shadow: 0 0 0 4px rgba(245, 183, 89, .25); }
.pc-rel-card.is-resolvido .pc-rel-trilha li.is-atual .pc-rel-trilha__ponto { border-color: var(--pc-success); background: var(--pc-success); color: #fff; box-shadow: 0 0 0 4px rgba(5, 166, 119, .18); }
.pc-rel-trilha__nome { font-size: 11.5px; font-weight: 600; color: var(--pc-ink-soft); }
.pc-rel-trilha li.is-feito .pc-rel-trilha__nome,
.pc-rel-trilha li.is-atual .pc-rel-trilha__nome { color: var(--pc-ink); }
.pc-rel-trilha li.is-atual .pc-rel-trilha__nome { font-weight: 800; }
.pc-rel-trilha__data { font-size: 11px; color: var(--pc-ink-soft); font-variant-numeric: tabular-nums; }

.pc-rel-tratativa {
    display: flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 12px; border-radius: var(--pc-radius-sm);
    background: var(--pc-bg); font-size: 12.5px; color: var(--pc-body);
}
.pc-rel-tratativa i { color: var(--pc-linte-2); font-size: 16px; }
.pc-rel-tratativa b { color: var(--pc-ink); }
.pc-rel-tratativa.is-atrasado { background: rgba(250, 82, 82, .08); color: #b42318; }
.pc-rel-tratativa.is-atrasado i { color: var(--pc-danger); }

.pc-rel-resolucao {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; margin-top: 14px; padding: 12px 14px;
    border-radius: var(--pc-radius-sm); background: rgba(5, 166, 119, .07); border: 1px solid rgba(5, 166, 119, .22);
}
.pc-rel-resolucao__texto { flex: 1 1 16rem; min-width: 0; font-size: 13px; color: var(--pc-body); }
.pc-rel-resolucao__texto b { display: inline-flex; align-items: center; gap: 6px; color: var(--pc-success); }
.pc-rel-resolucao__texto p { margin: 4px 0; color: var(--pc-ink); }
.pc-rel-resolucao__texto span { display: block; font-size: 12px; color: var(--pc-ink-soft); }
.pc-rel-antes-depois { display: flex; gap: 8px; }
.pc-rel-antes-depois a { position: relative; display: block; width: 92px; height: 72px; overflow: hidden; border-radius: 10px; }
.pc-rel-antes-depois img { width: 100%; height: 100%; object-fit: cover; }
.pc-rel-antes-depois span {
    position: absolute; left: 6px; bottom: 6px; padding: 1px 7px; border-radius: 999px;
    background: rgba(10, 30, 49, .75); color: #fff; font-size: 10.5px; font-weight: 700;
}
@media (max-width: 575.98px) {
    .pc-rel-card { padding: 14px; }
    .pc-rel-card__topo { gap: 12px; }
    .pc-rel-thumb { width: 52px; height: 52px; border-radius: 10px; }
    .pc-rel-card__titulo { font-size: .94rem; }
    .pc-rel-card__linha { flex-direction: column-reverse; gap: 6px; }
    .pc-rel-trilha__nome { font-size: 10.5px; }
}

/* -----------------------------------------------------------
   Comunicar acidente: telefones de emergência, gravidade com
   explicação, vítima e acompanhamento da investigação
----------------------------------------------------------- */
.pc-ac-grav--1 { --pc-acg: #15803d; --pc-acg-bg: rgba(21, 128, 61, .10); }
.pc-ac-grav--2 { --pc-acg: #b07a03; --pc-acg-bg: rgba(202, 138, 4, .13); }
.pc-ac-grav--3 { --pc-acg: #b91c1c; --pc-acg-bg: rgba(185, 28, 28, .10); }
.pc-ac-grav--4 { --pc-acg: #7f1d1d; --pc-acg-bg: rgba(127, 29, 29, .14); }

.pc-ac-emergencia {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
    margin-top: 18px; padding: 14px 18px; border-radius: var(--pc-radius);
    background: rgba(232, 56, 79, .07); border: 1px solid rgba(232, 56, 79, .28);
}
.pc-ac-emergencia__texto { flex: 1 1 20rem; min-width: 0; }
.pc-ac-emergencia__texto b { display: flex; align-items: center; gap: 7px; font-size: 14.5px; color: #b42318; }
.pc-ac-emergencia__texto span { display: block; margin-top: 2px; font-size: 12.5px; color: var(--pc-body); }
.pc-ac-emergencia__numeros { display: flex; gap: 10px; }
.pc-ac-tel {
    display: flex; flex-direction: column; align-items: center; min-width: 92px; padding: 6px 14px;
    border-radius: 12px; background: #e8384f; color: #fff; text-decoration: none; box-shadow: 0 8px 18px -10px rgba(232, 56, 79, .9);
}
.pc-ac-tel:hover { background: #cf2740; color: #fff; }
.pc-ac-tel b { font-size: 20px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.pc-ac-tel span { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .9; }
@media (max-width: 575.98px) { .pc-ac-emergencia__numeros { width: 100%; } .pc-ac-tel { flex: 1 1 0; } }

.pc-ac-bloco { margin-top: 18px; }
.pc-ac-grav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 767.98px) { .pc-ac-grav { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pc-ac-grav__opt {
    display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 12px 12px 12px 14px; text-align: left;
    border: 1.5px solid var(--pc-line); border-radius: 14px; background: var(--pc-card); color: var(--pc-ink); cursor: pointer;
    box-shadow: inset 4px 0 0 var(--pc-acg); transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.pc-ac-grav__opt:hover { transform: translateY(-1px); border-color: var(--pc-acg); }
.pc-ac-grav__opt i { font-size: 22px; color: var(--pc-acg); }
.pc-ac-grav__opt b { font-size: 14px; }
.pc-ac-grav__opt span { font-size: 12px; line-height: 1.35; color: var(--pc-ink-soft); }
.pc-ac-grav__opt.is-active { border-color: var(--pc-acg); background: var(--pc-acg-bg); box-shadow: inset 4px 0 0 var(--pc-acg), 0 0 0 3px var(--pc-acg-bg); }
.pc-ac-dica { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-size: 12.5px; color: var(--pc-ink-soft); }

.pc-ac-vitima { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-ac-vitima__opt { position: relative; margin: 0; }
.pc-ac-vitima__opt input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pc-ac-vitima__opt span {
    display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border: 1.5px solid var(--pc-line); border-radius: 999px;
    background: var(--pc-card); color: var(--pc-ink); font-size: 13.5px; font-weight: 600; transition: border-color .15s ease, background .15s ease;
}
.pc-ac-vitima__opt span i { font-size: 17px; color: var(--pc-linte-2); }
.pc-ac-vitima__opt:hover span { border-color: var(--pc-linte-2); }
.pc-ac-vitima__opt input:checked + span { border-color: var(--pc-linte-2); background: rgba(20, 75, 96, .08); color: var(--pc-linte-2); }
.pc-ac-vitima__opt input:focus-visible + span { box-shadow: 0 0 0 3px rgba(20, 75, 96, .18); }
.pc-ac-vitima__extra { max-width: 420px; margin-top: 10px; }
@media (max-width: 575.98px) { .pc-ac-vitima__opt { flex: 1 1 100%; } .pc-ac-vitima__opt span { width: 100%; } }

.pc-ac-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, 280px); gap: 18px; margin-top: 18px; }
@media (max-width: 767.98px) { .pc-ac-grade { grid-template-columns: 1fr; } }
.pc-ac-geo { align-self: flex-start; margin-top: 8px; }
.pc-rel-bloco__titulo small { font-weight: 500; color: var(--pc-ink-soft); }
.pc-ac-foto { min-height: 150px; }

.pc-ac-enviar { margin-top: 20px; padding-top: 16px; border-top: 1px dashed var(--pc-line); }
.pc-ac-enviar .pc-btn { width: 100%; justify-content: center; padding: 14px 20px; font-size: 1.02rem; box-shadow: 0 10px 22px -12px rgba(232, 56, 79, .9); }

.pc-ac-selo {
    flex: 0 0 auto; padding: 2px 10px; border-radius: 999px; background: var(--pc-acg-bg); color: var(--pc-acg);
    font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
}
.pc-ac-trilha { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pc-rel-card.is-cancelado { opacity: .78; }
.pc-ac-causa { display: flex; gap: 6px; padding: 7px 10px; border-radius: 8px; background: rgba(245, 183, 89, .14); }
.pc-ac-causa i { flex: 0 0 auto; margin-top: 2px; color: var(--pc-amber-600); }
.pc-ac-causa span { display: inline; font-size: inherit; color: var(--pc-ink); }


/* ── Ficha única: categoria, filtro e itens (Minhas fichas / Meus equipamentos) ───────────────── */
.pc-cat { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .02em; line-height: 1.5; white-space: nowrap; }
.pc-cat--epi { background: #fff3e0; color: #b45309; }
.pc-cat--epc { background: #e8eefc; color: #1d4ed8; }
.pc-cat--ferramenta { background: #e2f4f8; color: #0e7490; }
.pc-cats { display: inline-flex; flex-wrap: wrap; gap: 4px; }

.pc-filtro { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 16px; }
.pc-filtro__opcao { border: 1px solid var(--pc-line); background: #fff; color: var(--pc-body); border-radius: 999px; padding: 5px 14px; font-size: .8rem; font-weight: 600; cursor: pointer; }
.pc-filtro__opcao.is-ativo { background: #0A3543; border-color: #0A3543; color: #fff; }

.pc-itens { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.pc-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: #fff; border: 1px solid var(--pc-line); border-radius: 12px; }
.pc-item__foto { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 10px; background: #f1f5f9; display: flex; align-items: center; justify-content: center; overflow: hidden; color: #94a3b8; font-size: 1.3rem; }
.pc-item__foto img { width: 100%; height: 100%; object-fit: contain; }
.pc-item__corpo { flex: 1 1 auto; min-width: 0; }
.pc-item__nome { font-weight: 700; color: var(--pc-ink, #0f172a); font-size: .88rem; overflow-wrap: anywhere; }
.pc-item__meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .75rem; color: var(--pc-ink-soft, #64748b); margin-top: 2px; }
.pc-item__qtde { flex: 0 0 auto; font-weight: 700; font-size: .85rem; color: #0A3543; text-align: right; white-space: nowrap; }
.pc-item--volta .pc-item__qtde { color: #b45309; }
.pc-item--vencido { border-color: rgba(220, 38, 38, .35); background: #fff7f7; }

.pc-declaracao { margin-top: 12px; padding: 12px 14px; border: 1px dashed #cbd5e1; border-radius: 12px; background: #fff; font-size: .82rem; color: #475569; white-space: pre-line; line-height: 1.55; }
.pc-ficha__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

.pc-assinantes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pc-assinante { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid var(--pc-line); border-radius: 12px; background: #fff; font-size: .84rem; }
.pc-assinante__nome { font-weight: 700; }
.pc-assinante__papel { font-size: .72rem; color: var(--pc-ink-soft, #64748b); }

@media (max-width: 575.98px) {
    .pc-item { align-items: flex-start; }
    .pc-item__qtde { font-size: .8rem; }
}
