/* responsive-sidebar-v3: force refresh of the mobile navigation asset */
:root {
  --cor-principal: #123D63;
  --cor-secundaria: #0F766E;
  --cor-terciaria: #D97706;
  color-scheme: light;
  --ink: #17253a;
  --ink-soft: #506176;
  --brand: var(--cor-principal);
  --brand-deep: #0d2b46;
  --teal: var(--cor-secundaria);
  --teal-soft: #e4f6f3;
  --blue-soft: #e8f0f9;
  --canvas: #f4f7fb;
  --surface: #ffffff;
  --line: #dce4ee;
  --line-strong: #c5d1df;
  --warning: var(--cor-terciaria);
  --warning-soft: #fff6df;
  --danger: #b42318;
  --danger-soft: #fff0ef;
  --success: var(--cor-secundaria);
  --success-soft: #e7f7f0;
  --shadow: 0 12px 30px rgba(23, 45, 75, .08);
  --radius: 16px;
  --radius-sm: 10px;
}

/* Avaliação individual e retenção documental */
.evaluation-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: start; }
.evaluation-detail-main, .evaluation-detail-sidebar { display: grid; gap: 18px; }
.evaluation-detail-sidebar { position: sticky; top: 22px; }
.evaluation-documents { display: grid; gap: 16px; padding: 18px; }
.evaluation-document-card { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--surface); }
.evaluation-document-card__head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.evaluation-document-card > header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.evaluation-document-card > header small { display: block; margin-top: 4px; color: var(--ink-soft); }
.evaluation-document-card > .actions { display: flex; gap: 8px; flex-wrap: wrap; padding: 14px 17px; }
.evaluation-document-card__head h3 { margin: 0 0 4px; }
.evaluation-document-card__head p { margin: 0; color: var(--ink-soft); }
.evaluation-document-preview { min-height: 280px; background: #eef3f7; }
.evaluation-document-preview iframe, .evaluation-document-preview img { display: block; width: 100%; height: 420px; border: 0; object-fit: contain; }
.evaluation-document-actions, .evaluation-document-decision { padding: 14px 17px; }
.evaluation-document-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.evaluation-document-decision { border-top: 1px solid var(--line); }
.evaluation-inline-notes { display: grid; min-width: 210px; gap: 8px; }
.evaluation-existing-notes { display: grid; gap: 10px; }
.evaluation-existing-notes article { padding: 12px; border: 1px solid var(--line); border-radius: 10px; }

.button--danger { background: #a62b2b; border-color: #a62b2b; color: #fff; }
.button--danger:hover { background: #842121; border-color: #842121; }
.retention-metrics { margin: 18px 0; }
.retention-metrics .metric-card { display: grid; gap: 5px; min-height: 92px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 5px 18px rgba(23, 45, 75, .05); }
.retention-metrics .metric-card span { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.retention-metrics .metric-card strong { color: var(--brand-deep); font-size: 1.8rem; line-height: 1; }
.retention-page, .official-retention-page { width: min(100% - 40px, 1120px); margin: 0 auto; }
.retention-page > .alert, .official-retention-page > .alert { margin: 0 0 18px; padding: 14px 18px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: var(--ink); line-height: 1.5; }
.retention-page > .alert--warning, .official-retention-page > .alert--warning { border-color: #e8ca84; background: var(--warning-soft); color: #725116; }
.retention-page > .panel, .official-retention-page > .panel { overflow: hidden; }
.retention-page .page-heading, .official-retention-page .page-heading { align-items: flex-start; margin-bottom: 22px; }
.retention-page .page-heading .actions, .official-retention-page .page-heading .actions { padding-top: 4px; }
.retention-page .page-heading h1, .official-retention-page .page-heading h1 { margin-bottom: 7px; }
.retention-page .page-heading p, .official-retention-page .page-heading p { max-width: 720px; }
.retention-list { display: grid; gap: 18px; padding: 18px; }
.retention-item { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); overflow: hidden; }
.retention-item__summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 18px; }
.retention-item__summary h3 { margin: 7px 0 4px; }
.retention-item__summary p { margin: 0; color: var(--ink-soft); }
.retention-item__summary dl { display: grid; grid-template-columns: repeat(3, auto); gap: 22px; margin: 0; }
.retention-item__summary dt { color: var(--ink-soft); font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; }
.retention-item__summary dd { margin: 4px 0 0; }
.retention-item__actions { display: flex; gap: 8px; padding: 0 18px 16px; }
.retention-decision-form { display: grid; grid-template-columns: minmax(240px, 1fr) auto; gap: 12px 18px; align-items: end; padding: 16px 18px; border-top: 1px solid var(--line); background: #f7f9fb; }
.retention-decision-form .form-actions { grid-column: 1 / -1; margin: 0; }
.retention-confirm { padding-bottom: 10px; max-width: 390px; }
.official-retention-page .alert--danger { padding: 16px 18px; border: 1px solid #efb4af; border-radius: 12px; background: var(--danger-soft); color: #7d2018; }
.official-policy-form { padding: 22px; }
.official-policy-scope { display: grid; gap: 10px; margin: 0 22px 22px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.official-policy-scope legend { padding: 0 7px; color: var(--brand); font-weight: 800; }
.official-retention-tabs { display: flex; gap: 6px; margin: 18px 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.official-retention-tabs a { padding: 8px 13px; border-radius: 8px; color: var(--ink-soft); font-weight: 700; text-decoration: none; }
.official-retention-tabs a.is-active { background: var(--brand); color: #fff; }
.official-retention-item { border-left: 4px solid var(--danger); }
.official-retention-decision { grid-template-columns: minmax(260px, 1fr) minmax(260px, .8fr); }
.retention-decision-record { padding: 16px 18px; border-top: 1px solid var(--line); background: #f7f9fb; }
.retention-decision-record p { margin: 7px 0 0; color: var(--ink-soft); }
.participation-page { width: min(100% - 40px, 1040px); }
.participation-heading { align-items: flex-start; }
.participation-heading p { max-width: 720px; }
.participation-draft { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; align-items: center; margin: 0 0 18px; padding: 14px 17px; border: 1px solid #d8c37e; border-radius: 12px; background: var(--warning-soft); color: #705117; }
.participation-draft__icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #f3d992; color: #6d4a0d; font-size: .74rem; font-weight: 900; }
.participation-draft p { margin: 2px 0 0; font-size: .8rem; }
.participation-card { overflow: hidden; }
.participation-card__head { align-items: center; padding: 22px 26px; background: linear-gradient(120deg, #f2fbfa, #fff); }
.participation-card__head h2 { margin: 4px 0; font-size: 1.15rem; }
.participation-step { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #cde1e3; border-radius: 999px; background: #fff; color: var(--teal); font-size: .7rem; font-weight: 850; }
.participation-form { padding: 25px 26px 0; }
.participation-form__errors { margin-bottom: 18px; }
.participation-fields { gap: 18px; padding: 0; }
.participation-fields .field { min-width: 0; }
.participation-fields .field label { margin-bottom: 6px; }
.participation-fields .field input:not([type="checkbox"]), .participation-fields .field select, .participation-fields .field textarea { width: 100%; }
.participation-choice { padding: 17px 18px; border: 1px solid #d6e4eb; border-radius: 12px; background: #f8fbfd; }
.participation-choice label { color: var(--brand-deep); font-size: .82rem; }
.participation-choice select { min-height: 44px; background: #fff; }
.participation-notice { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 11px; align-items: start; margin: 23px 0 0; padding: 14px 16px; border: 1px solid #dce8ef; border-radius: 11px; background: #f7fafc; color: var(--ink-soft); }
.participation-notice > span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--brand); font-size: .75rem; font-weight: 900; }
.participation-notice p { margin: 0; font-size: .78rem; line-height: 1.5; }
.participation-notice strong { display: block; color: var(--ink); }
.participation-actions { justify-content: flex-end; margin: 24px -26px 0; padding: 18px 26px; border-top: 1px solid var(--line); background: #fbfcfe; }
.locate-page { width: min(100% - 40px, 1120px); }
.locate-card, .locate-results { overflow: hidden; }
.locate-card .panel__head, .locate-results .panel__head { padding: 22px 26px; background: linear-gradient(120deg, #f2fbfa, #fff); }
.locate-card .panel__head h2, .locate-results .panel__head h2 { margin: 4px 0; }
.locate-form { padding: 24px 26px 26px; }
.locate-form .field { margin: 0; }
.locate-form__control { display: flex; gap: 10px; align-items: stretch; }
.locate-form__control input { flex: 1 1 auto; min-width: 0; min-height: 44px; }
.locate-form__control .button { flex: 0 0 auto; min-width: 108px; }
.locate-message { margin: 18px 0; }
.locate-results { margin-top: 18px; }
.locate-results .table-wrap { padding: 0 18px 18px; }
.locate-results td:first-child { white-space: nowrap; }
.locate-empty { display: grid; justify-items: center; gap: 7px; margin-top: 18px; padding: 34px 24px; text-align: center; }
.locate-empty h2 { margin: 0; font-size: 1.05rem; }
.locate-empty p { max-width: 520px; margin: 0; color: var(--ink-soft); }
.locate-empty__icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--brand); font-weight: 900; }
.inscription-config-page { width: min(100% - 40px, 1120px); }
.inscription-config-notice { display: grid; gap: 3px; margin: 0 0 20px; }
.inscription-config-notice span { font-weight: 500; }
.inscription-config-grid { align-items: start; gap: 18px; }
.inscription-config-card { overflow: hidden; }
.inscription-config-card .panel__head { align-items: center; min-height: 112px; padding: 21px 22px; background: linear-gradient(120deg, #f2fbfa, #fff); }
.inscription-config-card .panel__head h2 { margin: 4px 0; }
.inscription-config-card .panel__head p { margin: 0; }
.inscription-config-count { display: grid; min-width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--teal-soft); color: var(--teal); font-size: .78rem; font-weight: 850; }
.inscription-config-card .panel__body { padding: 22px; }
.inscription-config-card .compact-form { gap: 0 12px; }
.inscription-config-card .compact-form button { min-height: 42px; margin-top: 5px; }
.inscription-config-card .access-list { margin-top: 22px; padding-top: 18px; }
.access-list__item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; align-items: center; padding: 12px 0 !important; }
.access-list__item strong { grid-column: 1 / -1; }
.access-list__item code { width: fit-content; padding: 2px 6px; border-radius: 5px; background: #eef4f8; color: var(--brand); font-size: .68rem; }
.access-list__item span { color: var(--ink-soft); font-size: .72rem; }
.access-list__item .table-action { grid-column: 2; grid-row: 2 / span 2; }
.access-list__empty { margin: 0; padding: 10px 0; color: var(--ink-soft); font-size: .8rem; }
.error-detail-page { width: min(100% - 40px, 1180px); }
.error-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 18px; margin-bottom: 18px; }
.error-detail-summary, .error-detail-state { margin: 0; }
.error-progress { display: grid; gap: 18px; margin: 0; padding: 22px; list-style: none; }
.error-progress li { position: relative; padding-left: 28px; color: var(--ink-soft); }
.error-progress li::before { position: absolute; top: 4px; left: 0; width: 13px; height: 13px; border: 2px solid var(--line-strong); border-radius: 50%; background: #fff; content: ""; }
.error-progress li:not(:last-child)::after { position: absolute; top: 19px; bottom: -18px; left: 7px; width: 1px; background: var(--line); content: ""; }
.error-progress li.is-complete::before { border-color: var(--success); background: var(--success); box-shadow: inset 0 0 0 3px #fff; }
.error-progress strong, .error-progress small { display: block; }
.error-trace { max-height: 520px; margin: 0; padding: 22px; overflow: auto; border-top: 1px solid var(--line); background: #102235; color: #dbeaf4; font-size: .8rem; line-height: 1.6; white-space: pre-wrap; word-break: break-word; }
.error-correction-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 18px 0; }
.error-correction-grid .panel { display: flex; flex-direction: column; min-width: 0; margin: 0; overflow: hidden; }
.error-correction-grid .form-fields { flex: 1; align-content: start; gap: 16px; padding: 20px 22px 22px; }
.error-correction-grid > .panel:first-child .form-fields { grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); }
.error-correction-grid .field { min-width: 0; }
.error-correction-grid .field label { display: block; margin-bottom: 6px; line-height: 1.3; }
.error-correction-grid .field textarea { min-height: 122px; resize: vertical; }
.error-correction-grid .field--toggle { grid-column: 1 / -1; display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 10px; margin: 0; padding: 13px 14px; border: 1px solid #d7e4ea; border-radius: 10px; background: #f8fbfc; }
.error-correction-grid .field--toggle input { margin-top: 3px; }
.error-correction-grid .field--toggle label { margin: 0; color: var(--brand-deep); font-size: .78rem; font-weight: 750; line-height: 1.4; }
.error-correction-grid .field--toggle small { grid-column: 2; margin-top: -4px; }
.error-correction-grid .form-actions { grid-column: 1 / -1; align-self: end; margin: 2px 0 0; padding-top: 18px; }
.error-correction-grid .form-actions button { width: 100%; min-height: 48px; }
.error-correction-grid > .panel:first-child .field, .error-correction-grid > .panel:nth-child(2) .field:first-of-type { grid-column: 1 / -1; }
.error-correction-grid > .panel:first-child .field textarea { min-height: 138px; }
.error-approved-record { display: grid; gap: 7px; padding: 22px; }
.error-approved-record p { margin: 6px 0 0; color: var(--ink-soft); white-space: pre-wrap; }
.error-correction-grid > .panel:nth-child(2) > .empty-state { display: grid; flex: 1; align-content: center; min-height: 180px; margin: 18px; }

@media (max-width: 900px) {
  .evaluation-detail-grid { grid-template-columns: 1fr; }
  .evaluation-detail-sidebar { position: static; }
  .retention-item__summary, .retention-decision-form { grid-template-columns: 1fr; }
  .retention-item__summary dl { grid-template-columns: 1fr; gap: 10px; }
  .error-detail-grid, .error-correction-grid { grid-template-columns: 1fr; }
  .error-correction-grid > .panel:first-child .form-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .retention-page, .official-retention-page { width: min(100% - 24px, 1120px); }
  .retention-page .page-heading, .official-retention-page .page-heading { margin-bottom: 18px; }
  .retention-page .page-heading .actions, .official-retention-page .page-heading .actions { width: 100%; padding-top: 0; }
  .retention-page .page-heading .button, .official-retention-page .page-heading .button { width: 100%; }
  .retention-page .retention-list, .official-retention-page .retention-list { padding: 12px; }
  .participation-page { width: min(100% - 24px, 1040px); }
  .participation-card__head { align-items: flex-start; }
  .participation-step { display: none; }
  .participation-form { padding: 20px 18px 0; }
  .participation-actions { margin: 20px -18px 0; padding: 15px 18px; }
  .participation-actions .button { width: 100%; }
  .locate-page { width: min(100% - 24px, 1120px); }
  .locate-form { padding: 20px 18px; }
  .locate-form__control { flex-direction: column; }
  .locate-form__control .button { width: 100%; }
  .locate-results .table-wrap { padding: 0 12px 12px; }
  .inscription-config-page { width: min(100% - 24px, 1120px); }
  .inscription-config-card .panel__head { min-height: 0; }
  .inscription-config-card .panel__body { padding: 18px; }
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); }
body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font: 400 15px/1.55 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--brand); text-underline-offset: 3px; }
a:hover { color: var(--teal); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(1.7rem, 3vw, 2.25rem); line-height: 1.15; letter-spacing: -.035em; }
h2 { font-size: 1.15rem; line-height: 1.25; letter-spacing: -.015em; }
h3 { font-size: 1rem; }

.site-shell { min-height: 100vh; display: flex; flex-direction: column; }
.workspace { display: grid; min-height: 100vh; grid-template-columns: 268px minmax(0, 1fr); background: var(--canvas); }
.workspace__main { display: flex; min-width: 0; min-height: 100vh; flex-direction: column; }
.sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; overflow-y: auto; border-right: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, #102f4b, #0c2842); color: #fff; }
.sidebar__brand { padding: 21px 20px 19px; border-bottom: 1px solid rgba(255,255,255,.1); }
.sidebar__menu-toggle { display:none; }
.sidebar__nav { flex: 1; padding: 16px 12px 24px; }
.nav-section { margin: 0 0 22px; }
.nav-section--mobile-profile { display:none; }
.nav-section__title { display: block; padding: 0 10px; margin: 0 0 7px; color: #8fa8bd; font-size: .66rem; font-weight: 800; letter-spacing: .085em; text-transform: uppercase; }
.nav-link { display: flex; min-height: 39px; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 9px; color: #d4e2ec; font-size: .84rem; font-weight: 620; text-decoration: none; transition: background .16s ease, color .16s ease; }
.nav-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav-link--active { background: rgba(116, 209, 195, .16); color: #baf0e6; box-shadow: inset 3px 0 0 #6ed5c3; }
.nav-icon { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 6px; background: rgba(255,255,255,.11); color: #d7f2ef; font-size: .67rem; font-weight: 850; }
.nav-link--active .nav-icon { background: rgba(112, 222, 204, .21); color: #d8fff8; }
.nav-section--management { padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.1); }
.nav-section--context { padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.1); }
.nav-section--context .nav-section__title { color: #91d7cc; }
.nav-section--system { padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.1); }
.nav-submenu { display: grid; gap: 2px; margin: 8px 0 0 20px; padding: 10px 0 0 11px; border-left: 1px solid rgba(171,213,224,.25); }
.nav-submenu__label { margin-bottom: 3px; color: #8fa8bd; font-size: .65rem; font-weight: 750; text-transform: uppercase; }
.nav-submenu a { overflow: hidden; padding: 3px 0; color: #b9cfdd; font-size: .72rem; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.nav-submenu a:hover { color: #c4f5ed; }
.nav-submenu .nav-submenu__all { margin-top: 5px; color: #a7e4da; font-weight: 750; }
.nav-submenu .nav-submenu__all:hover { color: #e2fff9; }
.sidebar__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 12px; padding: 14px 8px 17px; border-top: 1px solid rgba(255,255,255,.1); }
.sidebar__foot .user-chip { color: #e4f0f7; }
.sidebar__logout { color: #bad0df; font-size: .77rem; font-weight: 700; text-decoration: none; }
.sidebar__logout:hover { color: #fff; }
.workspace-topbar { display: flex; min-height: 65px; align-items: center; justify-content: space-between; gap: 15px; padding: 10px max(22px, calc((100% - 1180px) / 2)); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); }
.workspace-topbar__label { display: block; margin-bottom: 1px; color: #7c8c9e; font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.workspace-topbar strong { color: #3d5369; font-size: .86rem; }
.workspace-topbar__actions { display: flex; align-items: center; gap: 16px; }
.workspace-topbar__actions > a { color: #567086; font-size: .79rem; font-weight: 700; text-decoration: none; }
.workspace-topbar__actions > a:hover { color: var(--teal); }
.workspace-topbar__actions > a:nth-child(2) { display:none; }
.workspace-topbar__actions .user-chip { padding:5px 8px; border:1px solid transparent; border-radius:999px; color:var(--brand-deep); }
.workspace-topbar__actions .user-chip:hover, .workspace-topbar__actions .profile-menu[open] .user-chip { border-color:var(--line); background:#f7fbfc; }
.workspace-topbar__actions .user-chip__name { display:none; }
.topbar { background: linear-gradient(112deg, var(--brand-deep), var(--brand) 66%, #1a5673); color: #fff; box-shadow: 0 2px 10px rgba(6, 23, 40, .2); }
.topbar__content { width: min(1280px, calc(100% - 40px)); min-height: 76px; margin: auto; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: #fff; text-decoration: none; white-space: nowrap; }
.brand:hover { color: #fff; }
.brand__mark { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 11px; background: rgba(255,255,255,.13); font-weight: 800; font-size: .79rem; letter-spacing: -.06em; }
.brand__logo { display:block; width:38px; height:38px; padding:2px; border-radius:11px; background:#fff; object-fit:contain; }
.brand__text { display: grid; line-height: 1.1; }
.brand__text strong { font-size: .95rem; font-weight: 750; }
.brand__text small { margin-top: 4px; color: #cfe1ee; font-size: .7rem; font-weight: 500; }
.main-nav { display: flex; align-items: center; gap: 4px; margin-right: auto; }
.main-nav a { padding: 8px 10px; border-radius: 8px; color: #dceaf4; font-size: .875rem; font-weight: 600; text-decoration: none; }
.main-nav a:hover { background: rgba(255,255,255,.1); color: #fff; }
.topbar__menu-toggle { display:none; }
.topbar__account { display: flex; align-items: center; gap: 10px; }
.user-chip { display: inline-flex; align-items: center; gap: 8px; max-width: 205px; color: #ecf5fa; }
.user-chip__avatar { display: grid; flex: 0 0 auto; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: #d8f0ed; color: #0d5c57; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.user-chip__name { overflow: hidden; font-size: .83rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.user-chip__chevron { color:var(--ink-soft); font-size:.9rem; transition:transform .15s ease; }
.profile-menu[open] .user-chip__chevron { transform:rotate(180deg); }

.page-content { width: min(1180px, calc(100% - 40px)); flex: 1; margin: 0 auto; padding: 38px 0 56px; }
.footer { display: flex; width: min(1180px, calc(100% - 40px)); justify-content: space-between; gap: 18px; margin: 0 auto; padding: 18px 0 26px; border-top: 1px solid var(--line); color: #758397; font-size: .78rem; }
.footer strong { color: #4b5f76; }
.footer span { padding: 0 4px; }
.skip-link { position: fixed; z-index: 10; top: -50px; left: 16px; padding: 8px 13px; border-radius: 8px; background: #fff; color: var(--brand); box-shadow: var(--shadow); }
.skip-link:focus { top: 12px; }

.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.page-heading h1 { margin-bottom: 7px; }
.page-heading p { margin-bottom: 0; color: var(--ink-soft); }
.page-shell { width: min(100% - 32px, 960px); margin: 0 auto; }
.error-audit-page { width: min(100% - 40px, 1180px); }
.error-audit-page .page-heading { align-items: flex-start; }
.error-audit-page .page-heading .button { margin-top: 4px; }
.error-audit-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.error-audit-stats article { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 2px 5px rgba(27,52,79,.025); }
.error-audit-stats span { color: var(--ink-soft); font-size: .82rem; font-weight: 650; }
.error-audit-stats strong { color: var(--brand); font-size: 1.55rem; }
.error-audit-form { padding: 22px; }
.error-audit-form .form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 2px; padding-top: 18px; border-top: 1px solid var(--line); }
@media (max-width: 760px) { .error-audit-stats { grid-template-columns: 1fr; } .error-audit-page .page-heading { flex-direction: column; } }
.content-card { margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(18,45,70,.07); }
.content-card > form { padding: 0 22px 22px; }
.content-card .panel__head { border-bottom: 1px solid var(--line); }
.profile-flow-notice { padding:20px 22px; border-color:#b9ddd7; background:linear-gradient(115deg,#f3fbfa,#fff); }
.report-config-card { overflow:hidden; border-top:3px solid var(--teal); }
.report-config-card > form { padding:22px; }
.report-config-options { display:grid; align-content:start; gap:9px; padding:13px 15px; border:1px solid var(--line); border-radius:10px; background:#f8fbfc; }
.report-config-options label { display:flex; align-items:center; gap:8px; margin:0; color:var(--ink); font-size:.84rem; font-weight:650; }
.report-config-options input { width:auto; margin:0; }
.report-logo-source { display:grid; gap:7px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#f8fbfc; }
.report-logo-source > div { display:grid; gap:8px; }
.report-logo-source label { display:flex; align-items:center; gap:8px; margin:0; color:var(--ink); font-size:.86rem; font-weight:650; }
.report-logo-source input { width:auto; margin:0; }
.report-logo-field { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:18px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:12px; background:#f8fbfc; }
.report-logo-preview { display:grid; gap:7px; justify-items:center; padding:10px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.report-logo-preview span { color:var(--ink-soft); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.report-logo-preview img { display:block; width:96px; height:56px; object-fit:contain; }
@media (max-width:650px) { .report-logo-field { grid-template-columns:1fr; }.report-logo-preview { justify-items:start; } }
.document-check-page { max-width:1080px; padding-top:38px; }
.document-check-card { overflow:hidden; border:1px solid var(--line); border-top:4px solid #7a8b9a; border-radius:18px; background:#fff; box-shadow:0 18px 48px rgba(18,45,70,.08); }
.document-check-card--valid { border-top-color:var(--teal); }
.document-check-card--warning { border-top-color:var(--warning); }
.document-check-card--invalid { border-top-color:#b54c4c; }
.document-check-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; padding:28px 30px; border-bottom:1px solid var(--line); background:linear-gradient(120deg,#f7fbfc,#fff); }
.document-check-icon { display:grid; width:54px; height:54px; place-items:center; border-radius:16px; background:#e8f5f2; color:var(--teal); font-size:1.6rem; font-weight:900; }
.document-check-card--warning .document-check-icon { background:var(--warning-soft); color:var(--warning); }
.document-check-card--invalid .document-check-icon { background:#fbeaea; color:#a53d3d; }
.document-check-hero h1 { margin:5px 0 5px; color:var(--brand-deep); font-size:clamp(1.65rem,3vw,2.25rem); }
.document-check-hero p { margin:0; color:var(--ink-soft); }
.document-check-status { padding:7px 11px; border-radius:999px; background:var(--success-soft); color:var(--success); font-size:.72rem; font-weight:850; white-space:nowrap; }
.document-check-card--warning .document-check-status { background:var(--warning-soft); color:var(--warning); }
.document-check-card--invalid .document-check-status { background:#fbeaea; color:#a53d3d; }
.document-check-body { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); }
.document-check-summary, .document-check-proof { padding:26px 30px; }
.document-check-proof { border-left:1px solid var(--line); background:#fbfdfe; }
.document-check-section-title { margin-bottom:17px; }
.document-check-section-title h2 { margin:4px 0 0; color:var(--brand-deep); font-size:1rem; }
.document-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.document-check-grid > div { padding:13px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.document-check-grid__wide { grid-column:1/-1; }
.document-check-grid dt, .document-check-code > span, .document-check-not-found > span { margin-bottom:4px; color:#718397; font-size:.65rem; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
.document-check-grid dd { margin:0; color:#30495e; font-size:.82rem; font-weight:700; line-height:1.45; }
.document-check-code { display:grid; gap:5px; margin-bottom:11px; }
.document-check-code code { display:block; overflow-wrap:anywhere; padding:10px 11px; border:1px solid #d8e3e9; background:#fff; font-size:.7rem; word-break:break-all; }
.document-check-proof > p { margin:14px 0 0; color:var(--ink-soft); font-size:.74rem; line-height:1.5; }
.document-check-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 30px; border-top:1px solid var(--line); background:#fff; }
.document-check-actions p { max-width:640px; margin:0; color:var(--ink-soft); font-size:.78rem; }
.document-check-form { padding:26px 30px 22px; border-bottom:1px solid var(--line); }
.document-check-form .form-actions { margin-top:20px; }
.document-check-result { display:grid; gap:10px; margin:22px 30px 28px; padding:20px; border:1px solid #e2c47b; border-radius:12px; background:#fffaf0; color:#604b1d; }
.document-check-result--success { border-color:#b8ded3; background:#f2fbf8; color:#245d55; }
.document-check-result h2 { margin:0; color:var(--brand-deep); font-size:1rem; }
.document-check-result p { margin:0; line-height:1.5; }
.document-check-result .document-check-grid { margin-top:4px; }
.document-check-result .alert { margin:0; }
.document-check-not-found { display:grid; justify-items:start; gap:9px; padding:30px; }
.document-check-not-found code { max-width:100%; overflow-wrap:anywhere; word-break:break-all; }
.document-check-not-found p { max-width:700px; margin:5px 0 0; color:var(--ink-soft); line-height:1.55; }
.profile-flow-notice h2 { margin:0 0 6px; }
.profile-flow-notice p { color:var(--ink-soft); }
.profile-flow-notice ol { margin:10px 0 0 20px; color:var(--ink-soft); }
.mfa-card, .mfa-secret-card { padding:24px; }
.mfa-card__intro { display:flex; gap:16px; align-items:flex-start; }
.mfa-card__intro h2, .mfa-secret-card h2 { margin:0 0 6px; }
.mfa-card__intro p, .mfa-secret-card header p { color:var(--ink-soft); }
.mfa-icon { display:grid; width:58px; height:58px; flex:0 0 auto; place-items:center; border-radius:14px; background:var(--blue-soft); color:var(--brand); font-size:.8rem; font-weight:850; }
.mfa-icon--active { background:var(--success-soft); color:#16705c; font-size:1.2rem; }
.mfa-card--active .mfa-card__intro h2 { margin-top:9px; }
.mfa-account-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:23px; padding-top:20px; border-top:1px solid var(--line); }
.mfa-account-actions strong { display:block; color:var(--brand-deep); font-size:.86rem; }
.mfa-account-actions p { margin:3px 0 0; color:var(--ink-soft); font-size:.8rem; }
.mfa-account-actions .button { flex:0 0 auto; }
.mfa-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0; padding-top:18px; border-top:1px solid var(--line); }
.mfa-steps div { display:flex; align-items:center; gap:9px; color:var(--ink-soft); font-size:.82rem; }
.mfa-steps strong { display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#d8f0ed; color:#0d5c57; }
.mfa-secret-card header { padding-bottom:16px; border-bottom:1px solid var(--line); }
.mfa-secret-grid { display:grid; gap:14px; margin-top:18px; }
.mfa-secret-grid label { display:block; margin-bottom:6px; color:var(--ink-soft); font-size:.75rem; font-weight:750; }
.mfa-qrcode { display:grid; justify-items:center; gap:10px; margin:0; padding:18px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--brand-deep); }
.mfa-qrcode svg { display:block; width:min(100%, 230px); height:auto; }
.mfa-qrcode figcaption { color:var(--ink-soft); font-size:.82rem; text-align:center; }
.mfa-code { display:block; overflow:auto; padding:12px; border:1px solid var(--line); border-radius:8px; background:#f7fafc; color:var(--brand-deep); font-size:.78rem; white-space:pre-wrap; word-break:break-all; }
@media (max-width:760px) { .mfa-steps { grid-template-columns:1fr; } .mfa-account-actions { align-items:stretch; flex-direction:column; } .mfa-account-actions .button { width:100%; } }
.eyebrow { display: block; margin-bottom: 8px; color: var(--teal); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.muted { color: var(--ink-soft); }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.actions--end { justify-content: flex-end; }

.button, button[type="submit"] { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; padding: 9px 14px; border: 1px solid var(--brand); border-radius: 9px; background: var(--brand); color: #fff; font-size: .86rem; font-weight: 700; line-height: 1; text-decoration: none; transition: transform .18s ease, background .18s ease, border .18s ease, box-shadow .18s ease; }
.button:hover, button[type="submit"]:hover { transform: translateY(-1px); background: #0d3353; border-color: #0d3353; color: #fff; box-shadow: 0 6px 14px rgba(18, 61, 99, .17); }
.button--success, .button.success { border-color: var(--teal); background: var(--teal); }
.button--success:hover, .button.success:hover { background: #0d625c; border-color: #0d625c; }
.button--outline { border-color: var(--line-strong); background: #fff; color: var(--brand); }
.button--outline:hover { background: var(--blue-soft); border-color: #b7cde1; color: var(--brand); }
.button--ghost { border-color: transparent; background: transparent; color: #deebf3; }
.button--ghost:hover { background: rgba(255,255,255,.1); border-color: transparent; box-shadow: none; }
.button--light { border-color: #fff; background: #fff; color: var(--brand); }
.button--light:hover { background: #eaf4f8; border-color: #eaf4f8; color: var(--brand); }
.button--small { min-height: 34px; padding: 7px 10px; font-size: .78rem; }

.card, .panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 2px 5px rgba(27, 52, 79, .025); }
.card { padding: 23px; }
.card + .card, .panel + .panel { margin-top: 18px; }
.panel { overflow: hidden; }
.panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 19px 22px; border-bottom: 1px solid var(--line); }
.panel__head h2 { margin: 0; }
.panel__head p { margin: 4px 0 0; color: var(--ink-soft); font-size: .88rem; }
.export-context-panel { border-color: #b9ddd7; background: linear-gradient(115deg, #f3fbfa, #fff); }
.context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.context-grid > div { display: flex; flex-direction: column; gap: 4px; padding: 16px 22px; background: #fff; }
.context-label { color: var(--ink-soft); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.context-grid small { color: var(--ink-soft); }
.help-text { display: block; margin-top: 5px; color: var(--ink-soft); font-size: .82rem; }
.upload-line { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfe; color: var(--ink-soft); font-size: .82rem; }
.upload-line input { max-width: 280px; }
.sidebar .nav-section__title { display: flex; align-items: center; justify-content: space-between; cursor: pointer; user-select: none; }
.sidebar .nav-section__title::after { content: "⌃"; color: #8da6b8; font-size: .72rem; transition: transform .16s ease; }
.sidebar .nav-section--collapsed .nav-section__title::after { transform: rotate(180deg); }
.sidebar .nav-section--collapsed > .nav-link, .sidebar .nav-section--collapsed > .nav-submenu { display: none; }
.sidebar .nav-section--audit-shortcut { display: none; }
.sidebar .nav-section__title:focus-visible { outline: 2px solid #8ee5d6; outline-offset: 3px; border-radius: 4px; }
.profile-menu { position: relative; }
.profile-menu > summary { list-style: none; cursor: pointer; }
.profile-menu > summary::-webkit-details-marker { display: none; }
.profile-menu__dropdown { position: absolute; z-index: 30; top: calc(100% + 10px); right: 0; display: grid; min-width: 230px; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 14px 30px rgba(18, 45, 70, .16); }
.profile-menu__dropdown strong { color: var(--brand-deep); font-size: .84rem; }
.profile-menu__dropdown small { margin-bottom: 7px; color: var(--ink-soft); overflow: hidden; text-overflow: ellipsis; }
.profile-menu__dropdown a { padding: 8px 9px; border-radius: 7px; color: var(--ink); font-size: .82rem; text-decoration: none; }
.profile-menu__dropdown a:hover { background: var(--blue-soft); color: var(--brand); }
.profile-menu--sidebar { width:100%; }
.profile-menu--sidebar .user-chip { width:100%; justify-content:flex-start; cursor:pointer; }
.profile-menu--sidebar .user-chip__chevron { font-size:0; margin-left:auto; }
.profile-menu--sidebar .user-chip__chevron::after { content:"⌄"; font-size:.9rem; color:#a9c1d0; }
.profile-menu--sidebar .profile-menu__dropdown { right:auto; bottom:calc(100% + 8px); left:0; width:min(250px, calc(100vw - 24px)); }
/* O menu do perfil fica dentro da barra lateral para nao ser recortado pelo
   scroll do painel, especialmente para o usuario root no rodape. */
.sidebar__foot:has(.profile-menu--sidebar) { display:block; }
.profile-menu--sidebar[open] .profile-menu__dropdown {
  position:static;
  width:100%;
  min-width:0;
  margin-top:9px;
  border-color:rgba(190,220,232,.25);
  background:rgba(7,30,52,.72);
  box-shadow:none;
}
.profile-menu--sidebar .profile-menu__dropdown strong { color:#fff; }
.profile-menu--sidebar .profile-menu__dropdown small { color:#a9c1d0; }
.profile-menu--sidebar .profile-menu__dropdown a { color:#d6e6ef; }
.profile-menu--sidebar .profile-menu__dropdown a:hover { background:rgba(116,209,195,.16); color:#fff; }
.quick-shortcuts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 18px 22px; }
.quick-shortcuts__grid a { display: flex; min-height: 66px; flex-direction: column; justify-content: space-between; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fbfdfe; color: var(--ink); text-decoration: none; }
.quick-shortcuts__grid a:hover { border-color: #9bcfc8; background: #f1faf8; color: var(--teal); }
/* Atalhos ficam disponíveis somente no item próprio do menu lateral. */
.quick-shortcuts { display:none !important; }
kbd { padding: 2px 6px; border: 1px solid #cbd8e2; border-bottom-width: 2px; border-radius: 5px; background: #fff; color: #607588; font-size: .68rem; font-family: inherit; }
@media (max-width: 760px) { .quick-shortcuts__grid { grid-template-columns: repeat(2, 1fr); } }
.report-document { max-width: 1040px; margin: 0 auto; padding: 34px 38px; border-top: 7px solid var(--report-color); background: #fff; color: #21384b; box-shadow: 0 14px 32px rgba(18, 45, 70, .09); }
.report-document__header, .report-document__title, .report-document__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.report-document__header { padding-bottom: 18px; border-bottom: 1px solid #dbe5ec; }
.report-document__brand { display: flex; align-items: center; gap: 12px; color: var(--report-color); }
.report-document__brand img { width: 58px; height: 58px; object-fit: contain; }
.report-document__mark { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 10px; background: var(--report-color); color: #fff; font-size: 1.2rem; font-weight: 850; }
.report-document__brand strong, .report-document__brand small { display: block; }.report-document__brand strong { font-size: 1rem; }.report-document__brand small { margin-top: 3px; color: #6c8191; font-size: .75rem; }
.report-document__meta { display: grid; gap: 4px; color: #6d8291; font-size: .7rem; text-align: right; }.report-document__title { padding: 26px 0 20px; }.report-document__title h1 { margin: 0 0 6px; color: var(--report-color); font-size: 1.55rem; }.report-document__title p { margin: 0; color: #687f90; }
.report-document__qr { display:grid; flex:0 0 92px; width:92px; height:92px; box-sizing:border-box; place-items:center; padding:7px; border:1px solid #d7e2e8; border-radius:7px; background:#fff; color:#000; aspect-ratio:1/1; }.report-document__qr svg { display:block; width:100% !important; height:100% !important; max-width:none; aspect-ratio:1/1; }
.report-document__summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 22px; border: 1px solid #dbe5ec; border-radius: 8px; overflow: hidden; }.report-document__summary > div { padding: 11px 14px; border-right: 1px solid #dbe5ec; }.report-document__summary > div:last-child { border-right: 0; }.report-document__summary small, .report-document__summary strong { display: block; }.report-document__summary small { color: #718696; font-size: .64rem; font-weight: 800; text-transform: uppercase; }.report-document__summary strong { margin-top: 4px; color: var(--report-color); font-size: .86rem; }
.report-table { width: 100%; border-collapse: collapse; font-size: .8rem; }.report-table th { padding: 10px 12px; background: var(--report-color); color: #fff; font-size: .68rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }.report-table td { padding: 10px 12px; border-bottom: 1px solid #e1e9ef; vertical-align: top; }.report-table tbody tr:nth-child(even) { background: #f7fafc; }.report-table__empty { padding: 26px !important; color: #718696; text-align: center; }
.report-document__note { margin-top: 20px; padding: 12px 14px; border-left: 3px solid var(--report-color); background: #f5f8fa; font-size: .78rem; }.report-document__note p { margin: 4px 0 0; }.report-document__footer { margin-top: 28px; padding-top: 12px; border-top: 1px solid #dbe5ec; color: #8294a1; font-size: .68rem; }
@media (max-width: 700px) { .report-document { padding: 22px 18px; }.report-document__header, .report-document__title { align-items: flex-start; flex-direction: column; }.report-document__meta { text-align: left; }.report-document__summary { grid-template-columns: repeat(2, 1fr); }.report-document__summary > div:nth-child(2) { border-right: 0; }.report-document__footer { align-items: flex-start; flex-direction: column; gap: 5px; }.report-table { display: block; overflow-x: auto; white-space: nowrap; } }
.document-review-list { display: grid; gap: 10px; padding: 18px 22px; }
.document-review-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fbfdfe; }
.document-review-item strong, .document-review-item small { display: block; }
.document-review-item small { margin-top: 4px; color: var(--ink-soft); }
.document-review-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.document-decision-form { display: flex; flex-wrap: wrap; gap: 6px; }
.document-decision-form select, .document-decision-form input { min-height: 32px; padding: 5px 7px; border: 1px solid var(--line-strong); border-radius: 6px; font-size: .75rem; }
@media (max-width: 760px) { .document-review-item { align-items: flex-start; flex-direction: column; } .document-review-actions { justify-content: flex-start; } }
@media (max-width: 760px) { .context-grid { grid-template-columns: 1fr; } }
.panel__body { padding: 22px; }

.hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr); gap: 30px; min-height: 268px; padding: clamp(28px, 5vw, 54px); border-radius: 20px; background: linear-gradient(120deg, #0d314e, #15566e); color: #fff; box-shadow: var(--shadow); }
.hero::before, .hero::after { position: absolute; border-radius: 50%; content: ""; pointer-events: none; }
.hero::before { right: -84px; bottom: -128px; width: 355px; height: 355px; border: 46px solid rgba(123, 216, 201, .11); }
.hero::after { top: -90px; right: 26%; width: 186px; height: 186px; background: rgba(255,255,255,.035); }
.hero__content, .hero__aside { position: relative; z-index: 1; }
.hero .eyebrow { color: #9ee6d9; }
.hero h1 { max-width: 650px; margin-bottom: 14px; font-size: clamp(2rem, 4vw, 3rem); }
.hero p { max-width: 650px; margin-bottom: 25px; color: #dceaf2; font-size: 1rem; }
.hero__aside { display: flex; align-items: center; }
.hero-note { width: 100%; padding: 19px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(255,255,255,.095); backdrop-filter: blur(5px); }
.hero-note strong { display: block; margin: 4px 0 7px; font-size: 1.02rem; }
.hero-note span { color: #d5eaf0; font-size: .84rem; }
.hero .button--light { box-shadow: none; }
.hero .button--ghost { border-color: rgba(255,255,255,.28); }
.hero--public { min-height: 230px; }
.public-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 22px 0; }
.public-info article { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.public-info__number { display: inline-block; margin-bottom: 14px; color: var(--teal); font-size: .72rem; font-weight: 850; letter-spacing: .08em; }
.public-info h2 { margin-bottom: 7px; color: var(--brand-deep); }
.public-info p { margin: 0; color: var(--ink-soft); font-size: .86rem; }
.public-notices .panel__head .eyebrow { margin-bottom: 5px; }
.dashboard-kpis { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:15px; margin:22px 0; }
.dashboard-kpis article { display:flex; min-height:142px; flex-direction:column; justify-content:space-between; padding:20px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(135deg,#fff,#f5fbfa); box-shadow:0 8px 22px rgba(18,45,70,.045); }
.dashboard-kpis__label { color:var(--ink-soft); font-size:.78rem; font-weight:750; }
.dashboard-kpis strong { color:var(--brand); font-size:2rem; line-height:1; }
.dashboard-kpis small { color:var(--ink-soft); font-size:.76rem; }
.analytics-panel { margin:22px 0; }
.analytics-filter { display:flex; align-items:end; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line); background:#fbfdfe; }
.analytics-filter label { display:grid; flex:1; gap:6px; color:var(--ink-soft); font-size:.76rem; font-weight:750; }
.analytics-filter select { width:100%; }
.analytics-status { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border-bottom:1px solid var(--line); }
.analytics-status span { padding:14px 20px; background:#fff; color:var(--ink-soft); font-size:.81rem; }
.analytics-status strong { margin-right:4px; color:var(--brand); font-size:1.1rem; }
.analytics-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:22px; }
.analytics-chart { min-width:0; padding:18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.analytics-chart header { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:18px; }
.analytics-chart h3 { margin:0; color:var(--brand-deep); font-size:1rem; }
.analytics-chart p { margin:0; color:var(--ink-soft); font-size:.74rem; }
.bar-chart { display:flex; height:190px; align-items:flex-end; gap:5px; padding:12px 4px 0; border-bottom:1px solid #cbd8d2; background:repeating-linear-gradient(to bottom,transparent 0,transparent 46px,#edf2ef 47px); }
.bar-chart__item { display:grid; flex:1; min-width:0; height:100%; grid-template-rows:18px 1fr 19px; align-items:end; text-align:center; }
.bar-chart__item i { display:block; width:100%; max-width:28px; height:var(--bar); justify-self:center; border-radius:5px 5px 1px 1px; background:linear-gradient(180deg,#159082,#0f766e); }
.bar-chart__value { align-self:start; color:var(--ink-soft); font-size:.67rem; }
.bar-chart__item small { overflow:hidden; color:var(--ink-soft); font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
.bar-chart--hours { gap:2px; }
.bar-chart--hours .bar-chart__item small { font-size:.55rem; transform:rotate(-50deg); transform-origin:center; }
.analytics-panel__head { align-items:center; gap:32px; padding-top:20px; padding-bottom:20px; }
.analytics-panel__head > div:first-child { flex:1; min-width:260px; }
.analytics-toolbar { display:flex; align-items:stretch; justify-content:flex-end; gap:10px; min-width:min(100%,570px); }
.analytics-scope-filter { display:grid; flex:1; min-width:310px; gap:3px; padding:8px 12px 7px; border:1px solid var(--line); border-radius:11px; background:#f8fbfc; transition:border-color .15s ease,box-shadow .15s ease; }
.analytics-scope-filter:focus-within { border-color:var(--teal); box-shadow:0 0 0 3px rgba(15,118,110,.1); }
.analytics-scope-filter label { color:var(--teal); font-size:.62rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.analytics-scope-filter select { width:100%; min-height:28px; padding:1px 30px 1px 0; border:0; border-radius:0; outline:0; background:transparent; color:var(--brand-deep); font-size:.82rem; font-weight:700; }
.analytics-config-link { display:inline-grid; flex:0 0 auto; width:42px; height:42px; place-items:center; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--brand-deep); font-size:1rem; font-weight:900; letter-spacing:1px; line-height:1; text-decoration:none; }
.analytics-config-link:hover, .analytics-config-link:focus-visible { border-color:#8fc7c0; background:var(--teal-soft); color:var(--teal); outline:0; }
@media (max-width: 920px) {
  .analytics-panel__head { align-items:flex-start; flex-direction:column; gap:16px; }
  .analytics-panel__head > div:first-child { min-width:0; }
  .analytics-toolbar { width:100%; min-width:0; }
  .analytics-scope-filter { min-width:0; }
  .analytics-config-link { width:42px; height:42px; }
}
.analytics-charts--configurable { grid-template-columns:repeat(6,minmax(0,1fr)); align-items:start; }
.analytics-charts--configurable .analytics-chart { grid-column:span 3; }
.analytics-charts--configurable .analytics-chart--indicador, .analytics-charts--configurable .analytics-chart--contador { grid-column:span 2; }
.analytics-chart { box-shadow:0 7px 18px rgba(18,45,70,.035); }
.analytics-chart header { align-items:flex-start; margin-bottom:6px; }
.analytics-chart__group { display:block; margin-bottom:3px; color:var(--teal); font-size:.62rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.analytics-chart__total { color:var(--brand); font-size:1.25rem; }
.analytics-chart__tools { display:flex; align-items:center; gap:9px; }
.analytics-chart__detail-link { display:grid; width:30px; height:30px; place-items:center; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--brand-deep); font-size:1rem; font-weight:850; line-height:1; text-decoration:none; }
.analytics-chart__detail-link:hover, .analytics-chart__detail-link:focus-visible { border-color:#8fc7c0; background:var(--teal-soft); color:var(--teal); outline:0; }
.chart-view-menu { position:relative; }
.chart-view-menu > summary { display:grid; width:32px; height:32px; place-items:center; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--brand-deep); cursor:pointer; font-size:1rem; font-weight:900; letter-spacing:1px; line-height:1; list-style:none; }
.chart-view-menu > summary::-webkit-details-marker { display:none; }
.chart-view-menu > summary:hover, .chart-view-menu[open] > summary { border-color:#8fc7c0; background:var(--teal-soft); color:var(--teal); }
.chart-view-menu__options { position:absolute; z-index:12; top:calc(100% + 6px); right:0; display:grid; min-width:128px; padding:5px; border:1px solid var(--line); border-radius:9px; background:#fff; box-shadow:0 10px 24px rgba(18,45,70,.14); }
.chart-view-menu__options button { width:100%; min-height:31px; padding:6px 8px; border:0; border-radius:6px; background:transparent; color:var(--ink); font-size:.74rem; font-weight:700; text-align:left; cursor:pointer; }
.chart-view-menu__options button:hover, .chart-view-menu__options button[aria-pressed="true"] { background:var(--teal-soft); color:var(--teal); }
.chart-view[hidden] { display:none !important; }
.analytics-chart__description { min-height:32px; margin-bottom:15px !important; line-height:1.45; }
.analytics-chart--indicador { display:grid; min-height:190px; grid-template-rows:auto auto 1fr; background:linear-gradient(145deg,#fff,#f5fbfa); }
.analytics-chart--indicador .analytics-chart__description { min-height:0; }
.analytics-indicator { display:flex; align-self:end; align-items:flex-end; justify-content:space-between; gap:14px; padding-top:18px; border-top:1px solid var(--line); }
.analytics-indicator strong { color:var(--brand); font-size:2.15rem; line-height:1; }
.analytics-indicator span { max-width:65%; overflow:hidden; color:var(--ink-soft); font-size:.72rem; font-weight:750; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.horizontal-chart { display:grid; gap:10px; margin-top:15px; }
.horizontal-chart__item { display:grid; grid-template-columns:minmax(90px,140px) minmax(80px,1fr) 28px; align-items:center; gap:9px; }
.horizontal-chart__item > span { overflow:hidden; color:#526a7c; font-size:.72rem; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.horizontal-chart__item > div { height:8px; overflow:hidden; border-radius:999px; background:#edf2f4; }
.horizontal-chart__item i { display:block; width:var(--bar); height:100%; border-radius:999px; background:linear-gradient(90deg,var(--teal),#39a89b); }
.horizontal-chart__item strong { color:var(--brand-deep); font-size:.76rem; text-align:right; }
.pie-chart-layout { display:grid; grid-template-columns:150px minmax(0,1fr); gap:20px; align-items:center; min-height:180px; margin-top:10px; }
.pie-chart { width:145px; aspect-ratio:1; border:8px solid #fff; border-radius:50%; box-shadow:0 0 0 1px var(--line),0 8px 22px rgba(18,61,99,.1); }
.pie-chart-legend { display:grid; gap:8px; }
.pie-chart-legend > div { display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:7px; align-items:center; color:var(--ink-soft); font-size:.72rem; }
.pie-chart-legend i { width:9px; height:9px; border-radius:3px; background:var(--legend-color); }
.pie-chart-legend strong { color:var(--brand-deep); }
.pie-chart-legend small { color:var(--ink-soft); font-size:.64rem; font-weight:600; }
.dashboard-data-list { display:grid; margin-top:10px; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.dashboard-data-list > div { display:flex; justify-content:space-between; gap:16px; padding:10px 12px; border-top:1px solid var(--line); }
.dashboard-data-list > div:first-child { border-top:0; }
.dashboard-data-list span { color:var(--ink-soft); font-size:.76rem; }
.dashboard-data-list strong { color:var(--brand-deep); font-size:.8rem; }
.analytics-chart__empty { display:flex; min-height:142px; align-items:center; justify-content:center; gap:9px; border:1px dashed #ccdbe3; border-radius:10px; background:#fbfdfe; }
.analytics-chart__empty span { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:var(--blue-soft); color:var(--brand); font-weight:800; }
.analytics-empty-config { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:25px 22px; }
.analytics-empty-config p { margin:0; color:var(--ink-soft); }
.dashboard-settings-page { max-width:1120px; }
.dashboard-module-picker { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(18,45,70,.05); }
.selection-counter { padding:7px 11px; border-radius:999px; background:var(--teal-soft); color:var(--teal); font-size:.72rem; font-weight:800; white-space:nowrap; }
.dashboard-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:22px; background:#f8fafc; }
.dashboard-module-option { position:relative; display:flex; min-height:118px; gap:12px; padding:17px; border:1px solid var(--line); border-radius:12px; background:#fff; cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.dashboard-module-option:hover { transform:translateY(-1px); border-color:#acd3ce; box-shadow:0 8px 18px rgba(21,79,83,.06); }
.dashboard-module-option input { position:absolute; opacity:0; pointer-events:none; }
.dashboard-module-option__check { display:grid; flex:0 0 25px; width:25px; height:25px; place-items:center; border:1px solid #bdcbd5; border-radius:7px; color:transparent; font-size:.75rem; }
.dashboard-module-option:has(input:checked) { border-color:var(--teal); box-shadow:inset 0 0 0 1px var(--teal); }
.dashboard-module-option input:focus-visible + .dashboard-module-option__check { outline:3px solid rgba(15,118,110,.2); outline-offset:2px; }
.dashboard-module-option input:checked + .dashboard-module-option__check { border-color:var(--teal); background:var(--teal); color:#fff; }
.dashboard-module-option__body { display:grid; align-content:start; gap:4px; }
.dashboard-module-option__body small { color:var(--teal); font-size:.62rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.dashboard-module-option__body strong { color:var(--brand-deep); font-size:.9rem; }
.dashboard-module-option__body > span { color:var(--ink-soft); font-size:.76rem; line-height:1.45; }
.dashboard-module-option__body { min-width:0; }
.dashboard-module-option__view { display:grid; flex:0 0 148px; align-content:start; gap:6px; margin-left:auto; padding:9px; border:1px solid #d5e3e8; border-radius:9px; background:#f8fbfc; }
.dashboard-module-option__view > span { color:#486579; font-size:.66rem; font-weight:800; letter-spacing:.01em; }
.dashboard-module-option__select { min-height:36px; padding:7px 30px 7px 10px; border:1px solid #aebfc9; border-radius:7px; appearance:none; background-color:#fff; background-image:linear-gradient(45deg,transparent 50%,#245c68 50%),linear-gradient(135deg,#245c68 50%,transparent 50%); background-position:calc(100% - 13px) 14px,calc(100% - 8px) 14px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; color:var(--ink); font-size:.76rem; font-weight:700; cursor:pointer; }
.dashboard-module-option__select:hover { border-color:#57969a; }
.dashboard-module-option__select:focus { border-color:#2c8582; outline:0; box-shadow:0 0 0 3px rgba(15,118,110,.14); }
.audit-user-search { position:relative; }
.audit-user-search__control { display:flex; gap:8px; align-items:center; }
.audit-user-search__control input { min-width:0; flex:1; }
.audit-user-search__results { position:absolute; z-index:5; top:calc(100% + 4px); right:0; left:0; padding:4px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 10px 24px rgba(15,40,70,.14); }
.audit-user-search__results[hidden] { display:none; }
.audit-user-search__results button { display:block; width:100%; padding:9px 10px; border:0; border-radius:5px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.audit-user-search__results button:hover,.audit-user-search__results button:focus { background:var(--surface-muted); outline:0; }
.audit-user-search__hint { display:block; margin-top:5px; color:var(--muted); font-size:.78rem; }
.signatarios-busca { position:relative; }
.signatarios-busca__resultados { position:absolute; z-index:6; top:44px; right:0; left:0; padding:4px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 10px 24px rgba(15,40,70,.14); }
.signatarios-busca__resultados[hidden] { display:none; }
.signatarios-busca__resultados button { display:block; width:100%; padding:9px 10px; border:0; border-radius:5px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.signatarios-busca__resultados button:hover,.signatarios-busca__resultados button:focus { background:var(--surface-muted); outline:0; }
.signatarios-busca__selecionados { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.dashboard-settings-actions { margin:0; padding:18px 22px; }

.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 22px 0; }
.metric { padding: 17px 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.metric__label { display: block; margin-bottom: 6px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.metric__value { color: var(--brand); font-size: 1.55rem; font-weight: 800; letter-spacing: -.04em; }
.metric__hint { margin-top: 3px; color: #78879a; font-size: .77rem; }
.quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 14px; }
.quick-link { display: block; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: inherit; text-decoration: none; transition: border .18s ease, transform .18s ease, box-shadow .18s ease; }
.quick-link:hover { transform: translateY(-2px); border-color: #b5d3d9; color: inherit; box-shadow: 0 9px 20px rgba(20, 70, 91, .08); }
.quick-link__icon { display: grid; width: 31px; height: 31px; place-items: center; margin-bottom: 12px; border-radius: 9px; background: var(--teal-soft); color: var(--teal); font-weight: 800; }
.quick-link strong { display: block; margin-bottom: 4px; font-size: .91rem; }
.quick-link span { color: var(--ink-soft); font-size: .8rem; }

.edital-grid { display: grid; gap: 14px; }
.edital-card { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 20px 22px 20px 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; overflow: hidden; transition: transform .18s ease, border .18s ease, box-shadow .18s ease; }
.edital-card::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--teal), var(--brand)); content: ""; }
.edital-card--clickable { cursor: pointer; }
.edital-card--clickable:focus-visible { outline: 3px solid rgba(15,118,110,.28); outline-offset: 3px; }
.edital-card:hover { transform: translateY(-2px); border-color: #b9d3df; box-shadow: 0 10px 22px rgba(31, 72, 97, .07); }
.edital-card__type { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 12px; background: var(--blue-soft); color: var(--brand); font-size: .72rem; font-weight: 850; letter-spacing: .03em; }
.edital-card__main { min-width: 0; }
.edital-card__main h2 { margin: 0 0 5px; font-size: 1.05rem; }
.edital-card__main h2 a { color: var(--ink); text-decoration: none; }
.edital-card__main h2 a:hover { color: var(--teal); }
.edital-card__main p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--ink-soft); font-size: .87rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.edital-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; color: #708094; font-size: .78rem; }
.edital-card__actions { justify-content: flex-end; }
.edital-card__action { color: var(--brand); font-size: .82rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.edital-card__action.button { display: inline-flex; min-width: 126px; justify-content: center; align-items: center; gap: 6px; border-radius: 9px; font-size: .78rem; font-weight: 800; letter-spacing: .01em; }
.edital-card__action.button--success { color: #fff; box-shadow: 0 4px 10px rgba(15,118,110,.18); }
.edital-card__action.button.button--success:hover { color: #fff; box-shadow: 0 6px 14px rgba(15,118,110,.25); }
.edital-card__action:hover { color: var(--teal); }

.status { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border-radius: 999px; background: #edf1f5; color: #536477; font-size: .7rem; font-weight: 800; letter-spacing: .01em; }
.status--publicado, .status--homologado, .status--concluido, .status--publicada { background: var(--success-soft); color: var(--success); }
.status--inscricoes_abertas, .status--aberta, .status--agendada { background: #e3f1fb; color: #176691; }
.status--em_avaliacao, .status--planejada { background: var(--warning-soft); color: var(--warning); }
.status--encerrado, .status--cancelado, .status--cancelada { background: #f2f4f6; color: #68788b; }

.breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; color: #77889a; font-size: .81rem; }
.breadcrumb a { color: #60758b; text-decoration: none; }
.detail-hero { position: relative; padding: 29px 28px 24px; border: 1px solid #cbdce6; border-top: 4px solid var(--teal); border-radius: 17px; background: linear-gradient(130deg, #fff, #f0f7fa); box-shadow: 0 12px 28px rgba(26, 65, 91, .06); }
.detail-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.detail-hero h1 { margin: 7px 0 9px; color: var(--brand-deep); }
.detail-hero p { max-width: 770px; margin-bottom: 0; color: var(--ink-soft); }
.detail-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 13px; margin-top: 22px; }
.detail-meta__item { padding: 12px 14px; border: 1px solid #d8e5ec; border-radius: 10px; background: rgba(255,255,255,.75); }
.detail-meta__item span { display: block; margin-bottom: 3px; color: #718398; font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.detail-meta__item strong { color: #30495e; font-size: .86rem; }
.detail-hero .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 24px 0 0; padding-top: 20px; border-top: 1px solid rgba(197, 214, 224, .9); }
.edital-signup-cta { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 10px; padding: 11px 20px; border-color: var(--teal); border-radius: 10px; background: linear-gradient(135deg, var(--teal), #09685f); color: #fff; font-size: .88rem; font-weight: 850; box-shadow: 0 8px 18px rgba(15,118,110,.24); }
.edital-signup-cta:hover { border-color: #075d55; background: linear-gradient(135deg, #0d8278, #075d55); color: #fff; box-shadow: 0 10px 22px rgba(15,118,110,.3); transform: translateY(-1px); }
.edital-signup-cta span:last-child { font-size: 1.15rem; line-height: 1; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 11px 14px; border-bottom: 1px solid var(--line); background: #f7f9fb; color: #617389; font-size: .7rem; font-weight: 800; letter-spacing: .035em; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { padding: 14px; border-bottom: 1px solid #e9eef3; color: #3a4d60; font-size: .87rem; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fbfdfe; }
.table-primary { color: var(--ink); font-weight: 700; }
.vacancy-count { display: inline-grid; min-width: 33px; place-items: center; padding: 3px 7px; border-radius: 7px; background: var(--teal-soft); color: var(--teal); font-weight: 800; }
.vacancy-panel { margin-top:18px; border-color:#ccdfe6; box-shadow:0 10px 26px rgba(22,53,78,.055); }.vacancy-panel__head { align-items:center; background:linear-gradient(115deg,#f3fbfa,#fff); }.vacancy-panel__head .eyebrow { margin-bottom:6px; }.vacancy-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; border-bottom:1px solid var(--line); background:var(--line); }.vacancy-summary>div { display:grid; gap:4px; min-height:104px; padding:16px 21px; background:#fff; }.vacancy-summary span { color:#70879a; font-size:.68rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }.vacancy-summary strong { color:var(--brand-deep); font-size:1.45rem; line-height:1; }.vacancy-summary small { color:#708397; font-size:.72rem; line-height:1.35; }.vacancy-table-wrap { border:0; }.vacancy-table th { background:#f7fafc; }.vacancy-table td { vertical-align:middle; }.vacancy-table .table-primary strong { display:block; color:var(--brand-deep); }.vacancy-code { display:block; margin-top:4px; color:#7890a1; font-size:.68rem; font-weight:700; }.vacancy-allocation { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:4px 7px; min-width:112px; }.vacancy-allocation>span:not(.vacancy-count) { color:#637b8d; font-size:.72rem; font-weight:700; }.vacancy-allocation small { grid-column:1/-1; color:#8a6c2e; font-size:.68rem; font-weight:750; }.vacancy-details { display:grid; gap:3px; min-width:150px; color:#405d70; font-size:.79rem; }.vacancy-details small { color:#7a8f9e; font-size:.7rem; }.vacancy-empty { display:flex; align-items:center; gap:14px; padding:27px 22px; background:#fbfdfe; }.vacancy-empty__icon { display:grid; flex:0 0 auto; width:38px; height:38px; place-items:center; border-radius:11px; background:var(--teal-soft); color:var(--teal); font-size:1.2rem; font-weight:800; }.vacancy-empty strong { color:var(--brand-deep); }.vacancy-empty p { margin:4px 0 0; color:#748899; font-size:.82rem; }.vacancy-empty .button { margin-left:auto; }
.item-form-layout { max-width:1080px; }.form-card--item { padding:0; overflow:hidden; }.form-card--item .form-card__header { padding:27px 30px 23px; border-bottom:1px solid #dbe8ed; background:linear-gradient(120deg,#f2fbfa,#fff); }.form-card--item form { padding:0 30px; }.item-form-section { padding:25px 0; border-bottom:1px solid #e2ebef; }.item-form-section--last { border-bottom:0; }.item-form-section>header { display:grid; grid-template-columns:29px minmax(0,1fr); gap:10px; align-items:start; margin-bottom:18px; }.item-form-section>header>span { display:grid; width:29px; height:29px; place-items:center; border-radius:50%; background:#e8f5f3; color:var(--teal); font-size:.72rem; font-weight:850; }.item-form-section h2 { margin:1px 0 4px; color:#2c4d60; font-size:1rem; }.item-form-section header p { margin:0; color:#728797; font-size:.79rem; }.item-form-vacancies { grid-template-columns:repeat(5,minmax(0,1fr)); }.item-form-section--amendment { border-top:1px solid #e6c56f; background:#fffdf7; }.form-card--item .form-actions { margin:0; padding:22px 0 26px; border-top:1px solid #e2ebef; }
@media (max-width:820px) { .vacancy-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.item-form-vacancies { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .vacancy-panel__head, .vacancy-empty { align-items:flex-start; flex-direction:column; }.vacancy-empty .button { margin-left:0; }.form-card--item .form-card__header, .form-card--item form { padding-right:18px; padding-left:18px; }.vacancy-summary { grid-template-columns:1fr; }.item-form-vacancies { grid-template-columns:1fr; } }
.table-label { display: block; margin-bottom: 3px; color: #7b8b9c; font-size: .66rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
code { display: inline-block; padding: 2px 6px; border-radius: 5px; background: #edf3f7; color: #24516e; font: 700 .78rem/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.table-action { color: var(--brand); font-size: .78rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.table-action:hover { color: var(--teal); }
.row-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.row-actions a, .table-action { display:inline-flex; min-height:31px; align-items:center; justify-content:center; padding:6px 9px; border:1px solid #c5d6e2; border-radius:7px; background:#fff; color:var(--brand); font-size:.72rem; font-weight:800; line-height:1; text-decoration:none; white-space:nowrap; transition:transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease; }
.row-actions a:hover, .table-action:hover { border-color:#8ab9c4; background:#edf8f7; color:#126b64; transform:translateY(-1px); }
.row-actions a:focus-visible, .table-action:focus-visible, a:focus-visible, button:focus-visible { outline:3px solid rgba(33,139,151,.28); outline-offset:2px; }
.panel__body > main, .page-content > main:not(#conteudo-principal) { max-width:960px; margin:0 auto; }
.panel__body > main > form, .page-content > main:not(#conteudo-principal) > form { margin-top:18px; padding:20px; border:1px solid #dce7ed; border-radius:12px; background:#fff; box-shadow:0 8px 20px rgba(23,59,83,.05); }
.page-content > main:not(#conteudo-principal) > h1 { margin-bottom:7px; color:var(--brand-deep); }.page-content > main:not(#conteudo-principal) > h1 + p { color:var(--ink-soft); }
.admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.admin-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 21px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); text-decoration: none; transition: transform .18s ease, border .18s ease, box-shadow .18s ease; }
.admin-card:hover { border-color: #a9cdd4; color: var(--ink); box-shadow: 0 10px 22px rgba(31,72,97,.07); transform: translateY(-2px); }
.admin-card__icon { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 10px; background: var(--teal-soft); color: var(--teal); font-size: .82rem; font-weight: 850; }
.admin-card strong { display: block; color: var(--brand-deep); font-size: .95rem; }
.admin-card p { margin: 3px 0; color: var(--ink-soft); font-size: .8rem; }
.admin-card small { color: #75889a; font-size: .71rem; font-weight: 700; }
.admin-card__arrow { color: var(--teal); font-size: 1.1rem; font-weight: 800; }
.metric-grid--compact { margin: 0; }
.permissions-form .form-actions { margin: 0 22px; }
.permission-cell { width: 72px; text-align: center; }
.permission-cell input { width: auto; min-height: auto; margin: 0; accent-color: var(--teal); }
.permission-cell label { display: block; margin-top: 2px; color: #718397; font-size: .67rem; }
.search-bar { display: flex; align-items: end; gap: 10px; margin-bottom: 18px; }
.search-bar label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.search-bar input { flex: 1; min-height: 41px; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: #fff; color: var(--ink); outline: none; }
.search-bar input:focus { border-color: #5b9dbf; box-shadow: 0 0 0 3px rgba(72,145,181,.14); }
.search-bar button { min-height: 41px; }
.access-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.compact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.compact-form .field { margin-bottom: 13px; }
.compact-form .field:has(select), .compact-form .field:has(input[type="datetime-local"]) { grid-column: 1 / -1; }
.compact-form button { grid-column: 1 / -1; width: 100%; margin-top: 2px; }
.access-list { display: grid; gap: 8px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.access-list > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 9px 0; border-bottom: 1px solid #edf1f5; color: #708195; font-size: .76rem; }
.access-list > div:last-child { border-bottom: 0; }
.access-list strong { flex: 1 0 100%; color: #3d5369; font-size: .82rem; }
.access-list .status { margin-left: auto; }
.mapping-summary { display: flex; align-items: center; gap: 15px; margin: 0 0 20px; padding: 14px 16px; border: 1px solid #e0c47e; border-radius: 11px; background: var(--warning-soft); color: #76510b; }
.mapping-summary > div { display: grid; flex: 0 0 auto; padding-right: 14px; border-right: 1px solid rgba(146,99,9,.18); }
.mapping-summary strong { font-size: 1.12rem; letter-spacing: -.025em; }
.mapping-summary span { font-size: .74rem; font-weight: 700; }
.mapping-summary p { flex: 1; margin: 0; font-size: .82rem; }
.mapping-summary--ready { border-color: #aad9ca; background: var(--success-soft); color: #166450; }
.mapping-summary--pending .button--outline { border-color: #d9b55a; background: #fffaf0; color: #80580b; }
.ipm-create-panel { margin: 0 0 20px; border-color: #b9dcd7; box-shadow: 0 7px 20px rgba(15, 118, 110, .07); }
.ipm-create-panel .panel__head { border-bottom: 1px solid #d9ebe8; background: linear-gradient(110deg, #f4fcfa, #fff); }
.ipm-create-panel .eyebrow { color: var(--teal); }
.ipm-inline-form .field { margin-bottom: 13px; }
.ipm-inline-form .field label[for$="confirmar_validacao"] { display: inline; margin-left: 6px; }
.mapping-local { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -4px 0 23px; padding: 12px 14px; border: 1px solid #d4e2e9; border-radius: 10px; background: #f5fafb; color: #476174; font-size: .84rem; }
.mapping-local > span:first-child { color: #6d8393; font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.mapping-local strong { color: var(--ink); }
button:disabled, button:disabled:hover { border-color: #aab6c1; background: #aab6c1; color: #eef2f5; cursor: not-allowed; box-shadow: none; transform: none; }

.timeline { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.timeline::before { position: absolute; top: 15px; bottom: 15px; left: 7px; width: 2px; background: #d9e5e9; content: ""; }
.timeline__item { position: relative; display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 0 0 18px; }
.timeline__item:last-child { padding-bottom: 0; }
.timeline__dot { position: relative; z-index: 1; width: 16px; height: 16px; margin-top: 3px; border: 4px solid #fff; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 1px #a9d8d3; }
.timeline__title { color: var(--ink); font-size: .9rem; font-weight: 750; }
.timeline__date { color: var(--ink-soft); font-size: .78rem; white-space: nowrap; }
.timeline__empty, .empty-state { padding: 28px 20px; border: 1px dashed #cbd7e2; border-radius: 12px; background: #fbfcfe; color: var(--ink-soft); text-align: center; }
.schedule-switch { display: inline-flex; gap: 4px; margin: 0 0 18px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.schedule-switch__button { min-height: 34px; padding: 6px 12px; border: 0; border-radius: 7px; background: transparent; color: #60758b; font-size: .8rem; font-weight: 750; }
.schedule-switch__button.is-active { background: var(--brand); color: #fff; }
[data-schedule-panel][hidden] { display: none !important; }
.calendar-explorer { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:18px; }
.calendar-explorer__content { min-width:0; }
.calendar-explorer__month { min-width:0; }
.calendar-detail { position:sticky; top:22px; min-height:290px; padding:20px; border:1px solid #c9e0dc; border-left:5px solid var(--activity-color,var(--teal)); border-radius:15px; background:linear-gradient(145deg,#f4fbfa,#fff); box-shadow:0 10px 24px rgba(16,84,78,.08); }
.calendar-detail h2 { margin:4px 0 10px; color:var(--brand-deep); font-size:1.08rem; }
.calendar-detail__hint { margin:0; color:var(--ink-soft); font-size:.83rem; line-height:1.5; }
.calendar-detail__data { display:grid; gap:0; margin:16px 0; border-top:1px solid #d9e9e5; }
.calendar-detail__data div { display:grid; grid-template-columns:84px minmax(0,1fr); gap:8px; padding:9px 0; border-bottom:1px solid #d9e9e5; }
.calendar-detail__data dt { color:#698091; font-size:.69rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.calendar-detail__data dd { margin:0; color:#28475a; font-size:.78rem; font-weight:650; }
.calendar-detail__description { margin:14px 0 16px; padding:11px; border-radius:8px; background:#fff; color:#50677b; font-size:.8rem; line-height:1.48; white-space:pre-line; }
.calendar-grid { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; gap:18px; }
.calendar-month { overflow: hidden; border: 1px solid #d7e2ec; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(21, 52, 82, .08); }
.calendar-month h2 { margin: 0; padding: 15px 16px; border-bottom: 1px solid var(--line); color: var(--brand-deep); font-size: 1rem; }
.calendar-month h2.calendar-month__head { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; align-items: center; gap: 12px; min-height: 62px; padding: 12px 14px; text-align: center; }
.calendar-month h2.calendar-month__head > span { min-width: 0; color: var(--brand-deep); font-weight: 800; line-height: 1.25; }
.calendar-month h2.calendar-month__head > .calendar-month__arrow:first-child { justify-self: start; }
.calendar-month h2.calendar-month__head > .calendar-month__arrow:last-child { justify-self: end; }
.calendar-month__arrow { position: relative; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #c7d7e5; border-radius: 50%; background: #fff; color: var(--brand); text-decoration: none; box-shadow: 0 2px 7px rgba(23, 45, 75, .06); transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease; }
.calendar-month__arrow::before { width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; content: ""; }
.calendar-month__arrow--previous::before { margin-left: 3px; transform: rotate(-135deg); }
.calendar-month__arrow--next::before { margin-right: 3px; transform: rotate(45deg); }
.calendar-month__arrow:hover { border-color: var(--teal); background: var(--teal); color: #fff; transform: translateY(-1px); }
.calendar-month__arrow:focus-visible { outline: 3px solid color-mix(in srgb, var(--teal) 28%, transparent); outline-offset: 2px; }
.layout-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0 0 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }.layout-summary > div { display: grid; gap: 4px; padding: 14px 16px; background: #fff; }.layout-summary small { color: #7890a4; font-size: .65rem; font-weight: 800; letter-spacing: .08em; }.layout-summary strong { color: var(--brand-deep); font-size: .9rem; }.layout-builder { display: grid; gap: 18px; }.layout-order { display: inline-grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: var(--teal-soft); color: var(--teal); font-weight: 800; }.empty-table { padding: 28px !important; color: #73889b; text-align: center; }.layout-notice { border-left: 4px solid var(--teal); background: #f4fbfa; color: #365368; }.layout-field-form { border-top: 3px solid var(--teal); }
.export-setup { display:grid; grid-template-columns:minmax(245px,.38fr) minmax(0,1fr); overflow:hidden; border:1px solid #d4e0e8; border-radius:18px; background:#fff; box-shadow:0 14px 34px rgba(23,59,83,.08); }.export-setup__steps { padding:31px 27px; background:linear-gradient(155deg,var(--brand-deep),#135f6b); color:#fff; }.export-setup__steps .eyebrow { color:#9ee0d8; }.export-setup__steps h1 { margin:8px 0 10px; color:#fff; font-size:1.55rem; }.export-setup__steps>p { color:#d0e6eb; font-size:.87rem; line-height:1.55; }.setup-steps { display:grid; gap:19px; margin:31px 0; padding:0; list-style:none; }.setup-steps li { display:grid; grid-template-columns:29px minmax(0,1fr); gap:11px; align-items:center; color:#bcd6dd; }.setup-steps li>span { display:grid; width:29px; height:29px; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; font-size:.76rem; font-weight:850; }.setup-steps strong { display:block; color:inherit; font-size:.82rem; }.setup-steps small { display:block; margin-top:2px; font-size:.69rem; }.setup-steps .is-current { color:#fff; }.setup-steps .is-current>span { border-color:#8ee5d6; background:#8ee5d6; color:#105661; }.export-setup__note { display:grid; grid-template-columns:21px minmax(0,1fr); gap:9px; padding-top:17px; border-top:1px solid rgba(255,255,255,.18); }.export-setup__note span { display:grid; width:21px; height:21px; place-items:center; border-radius:50%; background:rgba(158,224,216,.2); color:#a9ece2; font-size:.7rem; }.export-setup__note p { margin:0; color:#c9e1e6; font-size:.74rem; line-height:1.45; }.export-setup__form { padding:30px; }.setup-section { margin:0; padding:0 0 25px; border-bottom:1px solid #e3ebf0; }.setup-section+.setup-section { padding-top:25px; }.setup-section__head { display:grid; grid-template-columns:29px minmax(0,1fr); gap:11px; align-items:start; margin-bottom:19px; }.setup-section__number { display:grid; width:29px; height:29px; place-items:center; border-radius:8px; background:var(--teal-soft); color:var(--teal); font-size:.71rem; font-weight:850; }.setup-section__head h2 { margin:1px 0 4px; color:var(--brand-deep); font-size:1rem; }.setup-section__head p { margin:0; color:#718397; font-size:.8rem; }.setup-section__head em { color:#8093a4; font-size:.68rem; font-style:normal; font-weight:700; }.export-format-guide { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin:-2px 0 17px 40px; }.export-format-guide div { padding:10px 12px; border:1px solid #d8e7e9; border-radius:9px; background:#f7fbfb; }.export-format-guide strong { display:block; color:#25606a; font-size:.76rem; }.export-format-guide span { display:block; margin-top:3px; color:#698190; font-size:.71rem; line-height:1.35; }.field--toggle { display:flex; grid-column:auto; align-items:flex-start; gap:9px; padding:12px; border:1px solid #d9e5eb; border-radius:9px; background:#fbfdfe; }.field--toggle input { flex:0 0 auto; margin-top:3px; }.field--toggle label { margin:0; }.field--toggle .helptext { margin-bottom:0; }.setup-section--security { border-bottom:0; padding-bottom:0; }.setup-actions { margin-top:26px; }.setup-actions .button span { margin-left:5px; font-size:1.1em; }
.layout-record { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:999px; background:#eef3f7; color:#546c80; font-size:.68rem; font-style:normal; font-weight:800; white-space:nowrap; }.layout-record--cabecalho { background:#e5f2fa; color:#1e698f; }.layout-record--detalhe { background:#e6f5ef; color:#17735c; }.layout-record--trailer { background:#fbefdf; color:#976018; }.layout-source { display:block; max-width:310px; margin-top:4px; overflow:hidden; color:#71869a; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }.field-rule-card { overflow:hidden; border:1px solid #c8dfe1; border-radius:16px; background:#fff; box-shadow:0 10px 25px rgba(13,92,105,.07); }.field-rule-card__header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:23px 25px; border-bottom:1px solid #d8e9e8; background:linear-gradient(110deg,#f2fbfa,#fff); }.field-rule-card__header h2 { margin:5px 0 5px; color:var(--brand-deep); font-size:1.1rem; }.field-rule-card__header p { max-width:620px; margin:0; color:#698091; font-size:.84rem; }.field-rule-card__legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px 11px; max-width:275px; color:#6d8494; font-size:.69rem; font-weight:700; }.field-rule-card__legend span { display:inline-flex; align-items:center; gap:4px; }.field-rule-card__legend i { min-height:20px; padding:1px 6px; }.field-rule-form { padding:0 25px; }.field-rule-section { padding:22px 0; border-bottom:1px solid #e5edf1; }.field-rule-section--last { border-bottom:0; }.field-rule-section__title { display:grid; grid-template-columns:27px minmax(0,1fr); gap:9px; align-items:center; margin-bottom:16px; }.field-rule-section__title>span { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:#eaf5f4; color:var(--teal); font-size:.72rem; font-weight:850; }.field-rule-section__title strong { display:block; color:#324e62; font-size:.87rem; }.field-rule-section__title small { display:block; margin-top:2px; color:#788d9d; font-size:.73rem; }.field-rule-form .form-actions { margin-top:0; padding:21px 0; }
@media (max-width: 760px) { .layout-summary { grid-template-columns: repeat(2, 1fr); } }
@media print { .sidebar, .topbar, .breadcrumb, .schedule-switch, .print-actions, .sidebar__foot { display: none !important; } .main-content { margin: 0 !important; padding: 0 !important; } .calendar-grid { grid-template-columns: 1fr; } .calendar-month { box-shadow: none; } [data-schedule-panel][hidden] { display: none !important; } }
.print-document { display: none; }
@media print { @page { size: A4 landscape; margin: 12mm; } body { background: #fff !important; color: #172b3a !important; } .print-document { display: block; margin: 0 0 12px; padding: 0 0 10px; border-bottom: 2px solid #0f766e; } .print-document span { color: #0f766e; font-size: 9pt; font-weight: 800; letter-spacing: .12em; } .print-document h1 { margin: 4px 0; font-size: 18pt; } .print-document p, .print-document small { display: block; margin: 2px 0; color: #4b6375; font-size: 9pt; } .calendar-day { min-height: 82px; overflow: visible; } .calendar-event { display:block !important; box-sizing:border-box; width:100% !important; min-height:20px; overflow:visible; background-color:var(--calendar-color,#0f766e) !important; color:#fff !important; font-size:7pt; white-space:normal; overflow-wrap:anywhere; text-overflow:clip; -webkit-print-color-adjust:exact; print-color-adjust:exact; } .schedule-list__item { break-inside: avoid; } }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-weekdays { border-bottom: 1px solid #e9eef3; background: #f8fafc; color: #718397; font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-align: center; text-transform: uppercase; }
.calendar-weekdays span { padding: 8px 1px; }
.calendar-day { display: grid; align-content: start; min-height: 108px; gap: 5px; padding: 8px; border-right: 1px solid #edf1f5; border-bottom: 1px solid #edf1f5; background: #fff; overflow: hidden; transition: background .15s ease; }
.calendar-day:hover { background: #f7fbff; }.calendar-day--today { background: #eef9f7; box-shadow: inset 0 0 0 2px var(--teal); }
.calendar-day:nth-child(7n) { border-right: 0; }.calendar-day time { color: #52697e; font-size: .7rem; font-weight: 800; }.calendar-day--outside { background: #fafbfd; }.calendar-day--outside time { color: #b2bfcb; }
.calendar-event { display:block; width:100%; min-height:18px; padding:3px 6px; border:0; appearance:none; background:var(--calendar-color,#0f766e); color:#fff; cursor:pointer; font:inherit; font-size:.68rem; font-weight:750; line-height:1.2; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:filter .15s ease,transform .15s ease,outline .15s ease; }
.calendar-event:hover { filter:brightness(.92); transform:translateY(-1px); }.calendar-event:focus-visible { outline:3px solid #8ad9d0; outline-offset:2px; }.calendar-event.is-selected { outline:3px solid var(--brand); outline-offset:1px; filter:brightness(.88); }
.calendar-event--inicio { border-radius:5px 1px 1px 5px; }.calendar-event--meio { border-radius:1px; opacity:.76; }.calendar-event--fim { border-radius:1px 5px 5px 1px; }.calendar-event--unico { border-radius:5px; }
@media (max-width: 980px) { .calendar-explorer { grid-template-columns:1fr; } .calendar-detail { position:static; } }
@media print { .calendar-detail { display:none !important; } }
.schedule-list { display: grid; gap: 12px; }.schedule-list__item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 17px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #fff; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }.schedule-list__item:hover { border-color:#9ecbc6; transform:translateY(-1px); }.schedule-list__item:focus-visible { outline:3px solid rgba(33,139,151,.28); outline-offset:2px; }.schedule-list__item.is-selected { border-color:var(--activity-color,var(--teal)); box-shadow:inset 4px 0 0 var(--activity-color,var(--teal)),0 8px 20px rgba(18,61,78,.07); }.schedule-list__date { display: grid; align-content: center; height: 62px; border:1px solid var(--activity-color,var(--teal)); border-radius: 10px; background:#f3faf9; color:var(--activity-color,var(--teal)); text-align: center; }.schedule-list__date strong { font-size: 1.55rem; line-height: 1; }.schedule-list__date span { font-size: .67rem; font-weight: 800; }.schedule-list__item h2 { margin: 8px 0 5px; }.schedule-list__item p { margin-bottom: 7px; font-size: .87rem; }
.empty-state__icon { display: grid; width: 38px; height: 38px; place-items: center; margin: 0 auto 10px; border-radius: 50%; background: var(--blue-soft); color: var(--brand); font-weight: 800; }
.empty-state h2 { margin-bottom: 6px; color: var(--ink); }
.empty-state p { margin-bottom: 0; font-size: .88rem; }
.pagination { display:flex; width:max-content; max-width:calc(100% - 32px); align-items:center; justify-content:center; gap:7px; margin:20px auto; padding:6px; border:1px solid var(--line); border-radius:11px; background:#f8fbfc; color:#64778a; font-size:.78rem; font-weight:750; box-shadow:0 5px 14px rgba(18,45,70,.04); }
.pagination a { display:inline-flex; min-height:32px; align-items:center; justify-content:center; padding:6px 10px; border:1px solid #cbdce5; border-radius:7px; background:#fff; color:var(--brand-deep); font-size:.75rem; font-weight:800; text-decoration:none; }
.pagination a:hover, .pagination a:focus-visible { border-color:#8fc7c0; background:var(--teal-soft); color:var(--teal); outline:0; }
.pagination span { min-width:112px; padding:0 5px; color:#60778a; text-align:center; white-space:nowrap; }
.dashboard-detail-table { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(18,45,70,.045); }
.dashboard-detail-table__summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 18px; border-bottom:1px solid var(--line); background:linear-gradient(110deg,#f4fbfa,#fff); }
.dashboard-detail-table__summary strong { color:var(--brand-deep); font-size:.84rem; }
.dashboard-detail-table__summary span { color:var(--ink-soft); font-size:.76rem; }
.publication-list { display: grid; gap: 15px; }
.publication-card { display: grid; grid-template-columns: 76px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.publication-card__date { display: flex; min-height: 100%; flex-direction: column; align-items: center; justify-content: center; padding: 18px 8px; background: #edf5f7; color: var(--brand); text-align: center; }
.publication-card__date span { font-size: 1.65rem; font-weight: 800; letter-spacing: -.06em; line-height: 1; }
.publication-card__date small { margin-top: 4px; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.publication-card__date em { margin-top: 2px; color: #6b8496; font-size: .68rem; font-style: normal; }
.publication-card__content { padding: 21px; }
.publication-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 9px; color: #718397; font-size: .77rem; }
.publication-card h2 { margin-bottom: 8px; color: var(--brand-deep); }
.publication-card__text { color: #4d6174; font-size: .88rem; }
.publication-card__no-file { margin: 13px 0 0; font-size: .79rem; }
.attachment-list { display: grid; gap: 8px; margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--line); }
.attachment-list__title { color: #64788b; font-size: .7rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.attachment { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 9px 10px; border: 1px solid #d8e4eb; border-radius: 8px; background: #f9fbfc; color: #2b536c; font-size: .82rem; font-weight: 700; text-decoration: none; }
.attachment:hover { border-color: #a9ccd4; background: #f1faf9; color: var(--teal); }
.attachment__icon { padding: 2px 5px; border-radius: 4px; background: #fbe7e4; color: #a53d31; font-size: .61rem; font-weight: 850; }
.attachment small { color: #718397; font-size: .7rem; font-weight: 600; }

.form-layout { max-width: 900px; margin: 0 auto; }
.form-card { padding: clamp(22px, 4vw, 34px); }
.form-card__header { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.form-card__header h1 { margin-bottom: 7px; }
.form-card__header p { margin-bottom: 0; color: var(--ink-soft); }
.candidate-form-section { padding: 23px 0; border-bottom: 1px solid var(--line); }
.candidate-form-section:first-of-type { padding-top: 0; }
.candidate-form-section--last { border-bottom: 0; }
.candidate-form-section > header { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; align-items: start; margin-bottom: 19px; }
.candidate-form-section > header > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--teal-soft); color: var(--teal); font-size: .75rem; font-weight: 850; }
.candidate-form-section h2 { margin: 1px 0 4px; color: var(--brand-deep); font-size: 1rem; }
.candidate-form-section header p { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.field { min-width: 0; margin-bottom: 16px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.form-grid > .field { min-width: 0; }
.form-grid > .field--wide { grid-column: 1 / -1; }
.form-section { margin:0; padding:22px 0; border:0; border-bottom:1px solid var(--line); }
.form-section legend { width:100%; margin:0 0 15px; padding:0; color:var(--brand-deep); font-size:1rem; font-weight:850; }
.form-section .alert { margin:15px 0 0; }
.field-rule-section .form-grid { align-items: start; }
.field-rule-section .field { margin-bottom: 12px; }
.field-rule-section .field label { margin-bottom: 5px; }
.field-rule-section .field input, .field-rule-section .field select { min-height: 40px; }
.layout-action-col { min-width: 150px; text-align: right; }
.layout-fields-list .table-wrap { overflow-x: auto; }
.layout-fields-list .layout-action-col { position: sticky; right: 0; z-index: 1; background: #fff; box-shadow: -8px 0 12px rgba(28, 62, 83, .05); }
.layout-fields-list thead .layout-action-col { background: #f6fafc; }
.field--wide { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 6px; color: #354b60; font-size: .82rem; font-weight: 750; }
.field input, .field select, .field textarea, form p input, form p select, form p textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: 8px; outline: none; background: #fff; color: var(--ink); transition: border .16s ease, box-shadow .16s ease; }
.field textarea, form p textarea { min-height: 104px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, form p input:focus, form p select:focus, form p textarea:focus { border-color: #5b9dbf; box-shadow: 0 0 0 3px rgba(72, 145, 181, .14); }
.field .helptext, form .helptext { display: block; margin-top: 5px; color: #718397; font-size: .75rem; }
.field input[type="checkbox"], .field input[type="radio"], form p input[type="checkbox"], form p input[type="radio"] { width: auto; min-height: auto; accent-color: var(--teal); }
.field ul, .field div > div { margin: 8px 0 0; }
.field div > div label { display: inline; margin-left: 6px; font-weight: 500; }
.errorlist { margin: 5px 0 0; padding: 0; color: var(--danger); font-size: .77rem; list-style: none; }
.nonfield { margin: 0 0 18px; padding: 10px 12px; border-radius: 8px; background: var(--danger-soft); color: var(--danger); }
.form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 10px; padding-top: 21px; border-top: 1px solid var(--line); }
.mapping-form-section { margin: 0 0 24px; padding: 19px; border: 1px solid #d9e5eb; border-radius: 12px; background: #fbfdfe; }
.mapping-form-section h2 { margin: 0 0 5px; color: var(--brand-deep); font-size: 1rem; }
.mapping-form-section > p { margin: 0 0 17px; color: var(--ink-soft); font-size: .83rem; }
.form-divider { display: flex; align-items: center; gap: 10px; margin: 4px 0 17px; color: #708397; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.form-divider::before, .form-divider::after { flex: 1; height: 1px; background: #dce6eb; content: ""; }

.auth-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); max-width: 1000px; min-height: 540px; margin: 20px auto; border-radius: 19px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.auth-intro { position: relative; overflow: hidden; padding: clamp(32px, 6vw, 60px); background: linear-gradient(145deg, var(--brand-deep), #16606c); color: #fff; }
.auth-intro::after { position: absolute; right: -90px; bottom: -100px; width: 300px; height: 300px; border: 38px solid rgba(190,244,233,.13); border-radius: 50%; content: ""; }
.auth-intro > * { position: relative; z-index: 1; }
.auth-intro .eyebrow { color: #a9eadf; }
.auth-intro h1 { font-size: clamp(2rem, 4vw, 2.8rem); }
.auth-intro p { max-width: 380px; color: #d9ebef; }
.auth-points { display: grid; gap: 12px; margin-top: 30px; }
.auth-point { display: flex; gap: 9px; align-items: center; color: #e4f2f5; font-size: .86rem; }
.auth-point::before { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); content: "✓"; font-size: .73rem; }
.auth-card { align-self: center; padding: clamp(26px, 5vw, 45px); }
.auth-card h2 { margin-bottom: 7px; color: var(--brand-deep); font-size: 1.55rem; }
.auth-card > p { margin-bottom: 25px; color: var(--ink-soft); }
.auth-card form p { margin: 0 0 16px; }
.auth-card form label { display: block; margin-bottom: 6px; color: #354b60; font-size: .82rem; font-weight: 750; }
.auth-card button { width: 100%; margin-top: 5px; }
.auth-help { margin-top: 18px; color: var(--ink-soft); font-size: .83rem; text-align: center; }
.mfa-challenge-card .eyebrow { margin-bottom: 6px; }
.mfa-challenge-card .message { margin: 18px 0; }
.mfa-challenge-card input[name="codigo"] { display:block; width:100%; margin:8px 0 6px; padding:14px; border:1px solid var(--line); border-radius:10px; background:#f7fafc; color:var(--brand-deep); font-size:1.5rem; font-weight:800; letter-spacing:.38em; text-align:center; }
.mfa-challenge-card input[name="codigo"]:focus { border-color:var(--teal); outline:3px solid color-mix(in srgb, var(--teal) 20%, transparent); }

.message { margin-bottom: 14px; padding: 12px 14px; border: 1px solid #b6ddcf; border-radius: 10px; background: var(--success-soft); color: #135d4d; font-size: .86rem; font-weight: 600; }
.messages { display:grid; gap:10px; margin:0 0 18px; }
.messages .message { margin:0; padding:15px 17px; border-width:1px 1px 1px 5px; border-radius:12px; box-shadow:0 7px 20px rgba(23,45,75,.08); }
.message--error { border-color:#b42318; background:#fff1f0; color:#8f1d16; }
.message--warning { border-color: #f0d291; background: var(--warning-soft); color: #875000; }
.message--info { border-color: #c5d9ec; background: #edf6fd; color: #245b80; }
.form-error-summary { margin:0 0 22px; padding:17px 19px; border:2px solid #b42318; border-left-width:7px; border-radius:13px; background:#fff1f0; color:#7f1d1d; box-shadow:0 8px 24px rgba(180,35,24,.13); }
.form-error-summary h2 { margin:0 0 5px; color:#991b1b; font-size:1.05rem; }
.form-error-summary p { margin:0 0 9px; }
.form-error-summary ul { display:grid; gap:5px; margin:0; padding-left:20px; }
.form-error-summary a { color:#8f1d16; text-decoration:underline; text-underline-offset:2px; }
.field:has(.errorlist) input, .field:has(.errorlist) select, .field:has(.errorlist) textarea { border-color:#b42318; background:#fffafa; box-shadow:0 0 0 2px rgba(180,35,24,.08); }

/* Escolha visual do formato na identificação de exportação. */
.format-choice { display:grid; grid-template-columns:minmax(190px,.42fr) minmax(0,1fr); gap:15px; align-items:start; margin:0 0 18px 40px; }
.format-choice__select { padding:15px; border:1px solid #abd9d3; border-radius:12px; background:#f2fbfa; }
.format-choice__select .field { margin:0; }
.format-choice__eyebrow { display:block; margin-bottom:8px; color:#23796f; font-size:.67rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.format-choice__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.format-option { display:grid; grid-template-columns:34px minmax(0,1fr); gap:9px; min-height:127px; padding:13px; border:1px solid #d7e5eb; border-radius:12px; background:#fff; }
.format-option--positional { border-color:#b7dfe0; background:linear-gradient(145deg,#f3fbfb,#fff); }
.format-option--tabular { background:#fbfcfe; }
.format-option__badge { display:grid; width:34px; height:28px; place-items:center; border-radius:7px; background:#d9f0ed; color:#176a65; font-size:.63rem; font-weight:850; }
.format-option--tabular .format-option__badge { background:#e8eef8; color:#385c90; }
.format-option strong { display:block; margin:1px 0 4px; color:#284c60; font-size:.8rem; }
.format-option p { margin:0; color:#6d8392; font-size:.7rem; line-height:1.35; }
.format-option ul { margin:7px 0 0; padding-left:14px; color:#4d7180; font-size:.66rem; line-height:1.5; }
.format-settings { margin-left:40px; padding:15px 16px 1px; border:1px solid #e1eaf0; border-radius:12px; background:#fbfdfe; }
.format-settings__head { margin-bottom:13px; padding-bottom:11px; border-bottom:1px solid #e5edf1; }
.format-settings__head span { display:block; color:#385c70; font-size:.76rem; font-weight:800; }
.format-settings__head p { margin:3px 0 0; color:#738999; font-size:.72rem; }

.rule-source-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:0 0 14px; }
.rule-source-guide__item { display:grid; grid-template-columns:23px minmax(0,1fr); gap:8px; padding:10px; border:1px solid #dce9ed; border-radius:9px; background:#fbfefd; }
.rule-source-guide__item>span { display:grid; width:23px; height:23px; place-items:center; border-radius:50%; background:#e4f4f2; color:#17746c; font-size:.66rem; font-weight:850; }
.rule-source-guide__item strong { display:block; color:#3a596a; font-size:.71rem; }
.rule-source-guide__item p { margin:2px 0 0; color:#728795; font-size:.66rem; line-height:1.35; }
.rule-source-fields { padding:14px 15px 0; border:1px solid #d6e8e6; border-radius:11px; background:linear-gradient(130deg,#f4fbfa,#fff); }
.rule-source-fields__fixed { margin-bottom:14px; padding:11px 12px 1px; border:1px dashed #b7d8d3; border-radius:8px; background:rgba(255,255,255,.72); }
.error-page { display:grid; min-height:100vh; place-items:center; margin:0; padding:24px; background:radial-gradient(circle at 15% 18%,#dff4f0 0,transparent 34%),linear-gradient(145deg,#edf4f7,#f8fbfc); }
.error-card { width:min(100%,590px); padding:clamp(30px,6vw,58px); border:1px solid #d4e2e9; border-radius:20px; background:#fff; box-shadow:0 20px 52px rgba(23,59,83,.13); text-align:center; }
.error-card__mark { display:grid; width:48px; height:48px; place-items:center; margin:0 auto 24px; border-radius:13px; background:linear-gradient(145deg,var(--brand-deep),#176470); color:#fff; font-size:.76rem; font-weight:850; letter-spacing:.04em; }
.error-card__code { margin:0 0 8px; color:#19766f; font-size:.72rem; font-weight:850; letter-spacing:.1em; }
.error-card h1 { margin:0 0 11px; color:var(--brand-deep); font-size:clamp(1.5rem,4vw,2.05rem); }
.error-card>p:not(.error-card__code) { max-width:440px; margin:0 auto; color:#657d8d; line-height:1.6; }
.error-card__reference { margin-top:17px !important; padding:9px 12px; border:1px dashed #b7ccd8; border-radius:8px; background:#f7fafc; color:#426073 !important; font-size:.78rem; }
.error-card__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:26px; }
.stage-workflow { overflow:hidden; border:1px solid #d3e2e8; border-radius:17px; background:#fff; box-shadow:0 12px 30px rgba(23,59,83,.07); }
.stage-workflow__head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:25px 27px; border-bottom:1px solid #dce8ee; background:linear-gradient(115deg,#f4fbfa,#fff); }
.stage-workflow__head h2 { margin:5px 0; color:var(--brand-deep); font-size:1.16rem; }.stage-workflow__head p { margin:0; color:#718696; font-size:.81rem; }
.stage-workflow__legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; padding-top:6px; color:#718494; font-size:.69rem; font-weight:750; white-space:nowrap; }.stage-dot { display:inline-block; width:8px; height:8px; margin-right:4px; border-radius:50%; background:#a9bac5; }.stage-dot--configured { background:#307f98; }.stage-dot--approved { background:#16856e; }
.stage-workflow__list { display:grid; gap:0; }.stage-card { display:grid; grid-template-columns:57px minmax(0,1fr); border-bottom:1px solid #e4edf1; }.stage-card:last-child { border-bottom:0; }.stage-card__order { display:grid; place-items:start center; padding-top:24px; color:#6d8494; font-size:1rem; font-weight:850; }.stage-card__order::after { width:2px; height:calc(100% - 52px); margin-top:9px; border-radius:3px; background:#dbe7ec; content:""; }.stage-card--configured .stage-card__order { color:#1f748e; }.stage-card--configured .stage-card__order::after { background:#b9dce5; }.stage-card--approved .stage-card__order { color:#177961; }.stage-card--approved .stage-card__order::after { background:#b7ddd3; }
.stage-card__body { padding:20px 25px 20px 0; }.stage-card__title { display:flex; justify-content:space-between; gap:12px; }.stage-card__type { display:block; margin-bottom:3px; color:#758b99; font-size:.67rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }.stage-card h3 { margin:0; color:#2c4c60; font-size:1rem; }.stage-card__period { margin:7px 0 13px; color:#637b8b; font-size:.77rem; }.stage-card__period span { margin:0 4px; color:#98a9b3; }.stage-badge { display:inline-flex; align-items:center; height:24px; padding:0 8px; border-radius:999px; background:#eef2f5; color:#647b8a; font-size:.66rem; font-weight:800; white-space:nowrap; }.stage-badge--configured { background:#e7f3f8; color:#226d86; }.stage-badge--approved { background:#e3f4ee; color:#146f58; }
.stage-card__rules { display:flex; flex-wrap:wrap; gap:8px; margin:0; }.stage-card__rules div { min-width:130px; padding:7px 9px; border:1px solid #e1eaee; border-radius:7px; background:#fbfdfe; }.stage-card__rules dt { color:#7b8e9b; font-size:.61rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.stage-card__rules dd { margin:2px 0 0; color:#456273; font-size:.71rem; font-weight:700; }.stage-card__empty { margin:0; color:#8193a0; font-size:.77rem; font-style:italic; }.stage-card__actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }.stage-card__actions form { margin:0; }.stage-empty { padding:28px; color:#718696; text-align:center; }.stage-empty p { margin:5px 0 0; font-size:.82rem; }
.stage-config-card { max-width:890px; overflow:hidden; border:1px solid #cddfe4; border-radius:16px; background:#fff; box-shadow:0 12px 30px rgba(23,59,83,.07); }.stage-config-card__head { padding:25px 27px; border-bottom:1px solid #dce9eb; background:linear-gradient(115deg,#f4fbfa,#fff); }.stage-config-card__head h2 { margin:5px 0; color:var(--brand-deep); font-size:1.12rem; }.stage-config-card__head p { margin:0; color:#718696; font-size:.82rem; }.stage-config-form { padding:0 27px; }.stage-config-section { padding:22px 0; border-bottom:1px solid #e5edf1; }.stage-config-section--last { border-bottom:0; }.stage-config-section__title { display:grid; grid-template-columns:27px minmax(0,1fr); gap:9px; align-items:center; margin-bottom:16px; }.stage-config-section__title>span { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:#e8f5f3; color:#13776d; font-size:.71rem; font-weight:850; }.stage-config-section__title strong { display:block; color:#385567; font-size:.87rem; }.stage-config-section__title small { display:block; margin-top:2px; color:#788d9c; font-size:.73rem; }.stage-config-form .form-actions { margin-top:0; padding:21px 0; }.stage-locked { max-width:890px; border-color:#b8ded3; background:#f2fbf8; }.stage-locked p { margin:5px 0 0; color:#547a70; font-size:.83rem; }

.layout-fields-list { overflow:hidden; }.layout-fields-list__count { display:inline-flex; align-items:center; min-height:27px; padding:4px 9px; border-radius:999px; background:#edf7f5; color:#167469; font-size:.71rem; font-weight:850; white-space:nowrap; }.layout-fields-list__empty-action { padding:18px; border-top:1px solid #e1eaef; text-align:center; }
.cronograma-calendar { overflow:hidden; margin-bottom:18px; border:1px solid #d7e2ec; border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(21,52,82,.08); }.cronograma-calendar .calendar-month { border:0; border-radius:0; box-shadow:none; }.cronograma-calendar__head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 19px; border-bottom:1px solid #dfe9ee; background:linear-gradient(115deg,#f3fbfa,#fff); }.cronograma-calendar__head h2 { margin:4px 0 0; color:var(--brand-deep); font-size:1rem; }.cronograma-calendar__head>span { color:#748897; font-size:.74rem; }

@media (max-width: 820px) {
  .workspace { display: block; }
  .sidebar { position: sticky; top:0; z-index:30; width:100%; height:auto; max-height:100vh; overflow:visible; }
  .sidebar__brand { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; }
  .sidebar__menu-toggle { display:inline-flex; min-height:38px; align-items:center; gap:7px; padding:7px 10px; border:1px solid rgba(255,255,255,.28); border-radius:9px; background:rgba(255,255,255,.08); color:#fff; font-size:.78rem; font-weight:800; cursor:pointer; }
  .sidebar__menu-toggle span:first-child { font-size:1rem; }
  .sidebar__nav { display:none; max-height:calc(100vh - 68px); overflow-x:hidden; overflow-y:auto; padding:10px 14px 18px; border-top:1px solid rgba(255,255,255,.1); background:#102f4b; }
  .sidebar--open .sidebar__nav { display:grid; grid-template-columns:minmax(0,1fr); }
  .nav-section { width:100%; min-width:0; margin:0; padding:13px 0; border:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .nav-section:last-child { border-bottom:0; }
  .nav-section--management, .nav-section--context, .nav-section--system { padding:13px 0; border-top:0; }
  .nav-section__title { padding:0 3px; }
  .nav-link { min-height:40px; padding:9px 8px; }
  .nav-submenu { display:block; }
  .sidebar__foot { display:none !important; }
  .nav-section--mobile-profile { display:block; }
  .workspace-topbar { padding: 10px 14px; }
  .topbar { position:relative; }
  .topbar__content { width: min(100% - 28px, 1180px); min-height:64px; gap:8px; flex-wrap:wrap; }
  .brand { margin-right:auto; min-width:0; }
  .brand__text small, .user-chip__name { display: none; }
  .brand__text strong { font-size:.9rem; }
  .topbar__menu-toggle { display:inline-flex; align-items:center; gap:6px; min-height:37px; padding:7px 9px; border:1px solid rgba(255,255,255,.35); border-radius:9px; background:rgba(255,255,255,.08); color:#fff; font-size:.75rem; font-weight:800; cursor:pointer; }
  .topbar__menu-toggle span:first-child { font-size:1rem; }
  .main-nav { display:none; flex:0 0 100%; order:4; gap:4px; margin:0 0 9px; padding:8px; border-top:1px solid rgba(255,255,255,.18); }
  .topbar--menu-open .main-nav { display:grid; grid-template-columns:1fr; }
  .main-nav a { padding:10px; white-space:normal; }
  .topbar__account { gap:3px; }
  .topbar__account .button--ghost { display: none; }
  .page-content { width: min(100% - 28px, 1180px); padding-top: 26px; }
  .hero, .auth-layout { grid-template-columns: 1fr; }
  .hero__aside { display: none; }
  .metric-grid { grid-template-columns: 1fr; }
  .public-info, .dashboard-kpis, .analytics-charts { grid-template-columns: 1fr; }
  .analytics-charts--configurable .analytics-chart, .analytics-charts--configurable .analytics-chart--indicador, .analytics-charts--configurable .analytics-chart--contador { grid-column:auto; }
  .analytics-filter { align-items:stretch; flex-direction:column; }
  .analytics-status { grid-template-columns:repeat(2,1fr); }
  .admin-grid, .access-grid { grid-template-columns: 1fr; }
  .detail-meta { grid-template-columns: 1fr; }
  .footer { width: min(100% - 28px, 1180px); flex-direction: column; }
  .export-setup { grid-template-columns:1fr; }
  .format-choice, .format-settings { margin-left:0; }
}

@media (max-width: 600px) {
  body { font-size: 14px; }
  .page-heading, .detail-hero__top { align-items: flex-start; flex-direction: column; }
  .page-heading .actions { width: 100%; }
  .page-heading .button { flex: 1; }
  .detail-hero { padding: 23px 18px 18px; }
  .detail-hero .actions { align-items: stretch; }
  .detail-hero .actions .button { flex: 1 1 100%; justify-content: center; }
  .edital-card { grid-template-columns: 1fr; gap:13px; padding:18px; }
  .edital-card__type { width:38px; height:38px; border-radius:10px; }
  .edital-card__action { grid-column:auto; width:100%; min-width:0 !important; }
  .edital-card__action.button { width:100%; }
  .form-fields { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid > .field--wide { grid-column: auto; }
  .field--wide { grid-column: auto; }
  .auth-layout { margin: 0; border-radius: 14px; }
  .auth-intro { display: none; }
  .timeline__item { grid-template-columns: 16px minmax(0, 1fr); }
  .timeline__date { grid-column: 2; }
  .publication-card { grid-template-columns: 1fr; }
  .publication-card__date { min-height: auto; flex-direction: row; justify-content: flex-start; gap: 7px; padding: 9px 16px; }
  .publication-card__date span { font-size: 1rem; }
  .publication-card__date small, .publication-card__date em { margin: 0; }
  .format-choice__cards { grid-template-columns:1fr; }
  .rule-source-guide { grid-template-columns:1fr; }
  .error-card__actions .button { flex:1; }
  .stage-workflow__head { display:block; }.stage-workflow__legend { justify-content:flex-start; margin-top:14px; }
  .cronograma-calendar__head { display:block; }.cronograma-calendar__head>span { display:block; margin-top:7px; }
}

.drag-handle { width: 34px; color: var(--ink-soft); cursor: grab; font-size: 1.2rem; text-align: center; user-select: none; }
#lista-atalhos tr[draggable] { cursor: grab; }
#lista-atalhos tr.is-dragging { opacity: .5; background: var(--teal-soft); }
.export-reference-callout { margin-bottom: 20px; border-left: 4px solid var(--teal); background: linear-gradient(100deg, #effaf8, #fff); }
.export-reference-callout h2 { margin: 8px 0; color: var(--brand-deep); font-size: 1.1rem; }
.export-reference-callout p { max-width: 860px; margin: 0; color: var(--ink-soft); line-height: 1.6; }
.export-reference-callout__badge, .reference-category { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: var(--teal-soft); color: var(--teal); font-size: .68rem; font-weight: 800; letter-spacing: .04em; }
.reference-table code { font-weight: 700; color: var(--brand-deep); }
.filter-card { margin-bottom: 20px; }
.table-path { color: var(--ink-soft); font-size: .78rem; word-break: break-word; }
.stage-config-section--retificacao { border: 1px solid #f0d49a; border-radius: 12px; background: #fffaf0; padding: 18px; }
.info-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; padding:20px 24px 24px; }
.info-card { min-height:132px; padding:17px; border:1px solid #d9e7eb; border-radius:12px; background:linear-gradient(145deg, #fbfefd, #f4faf9); }
.info-card strong { display:block; margin-bottom:8px; color:var(--brand-deep); font-size:.9rem; }
.info-card p { margin:0; color:var(--ink-soft); font-size:.81rem; line-height:1.52; }
.order-badge, .status-badge { display:inline-flex; align-items:center; justify-content:center; min-width:28px; min-height:28px; padding:3px 8px; border-radius:999px; background:#edf2f5; color:#547083; font-size:.72rem; font-weight:800; }
.order-badge { background:var(--teal-soft); color:var(--teal); }
.status-badge--success { background:#e7f6ed; color:#147348; }
.data-table td small { display:block; margin-top:4px; color:var(--ink-soft); font-size:.73rem; }
.table-actions { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.table-actions form { margin:0; }
@media (max-width: 760px) { .info-grid { grid-template-columns:1fr; padding:16px; } .table-actions { flex-wrap:wrap; } }
.process-summary__grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; padding:20px 24px; }
.process-summary__grid > div { padding:16px; border:1px solid #dce8ed; border-radius:12px; background:#fbfdfd; }
.process-summary__grid > div > strong { color:var(--brand-deep); }
.compact-list { margin:10px 0 0; padding:0; list-style:none; }
.compact-list li { padding:8px 0; border-top:1px solid #e6eef1; font-size:.84rem; }
.compact-list li:first-child { border-top:0; }
.compact-list b, .compact-list small { display:block; }
.compact-list small { margin-top:3px; color:var(--ink-soft); font-size:.75rem; }
.process-summary__notice { margin:0 24px 24px; padding:13px 15px; border-left:4px solid var(--teal); border-radius:8px; background:var(--teal-soft); color:var(--ink-soft); font-size:.84rem; line-height:1.5; }
@media (max-width: 760px) { .process-summary__grid { grid-template-columns:1fr; padding:16px; } .process-summary__notice { margin:0 16px 16px; } }
.cookie-notice { position:fixed; z-index:100; right:22px; bottom:22px; display:flex; align-items:center; gap:22px; width:min(720px, calc(100vw - 32px)); padding:18px 20px; border:1px solid #bcd6d9; border-radius:14px; background:#fff; box-shadow:0 16px 45px rgba(18,45,70,.22); }
.cookie-notice[hidden] { display:none; }
.email-models-page { max-width:1200px; }
.publication-register { overflow:hidden; margin-bottom:22px; }.publication-register .panel__head { align-items:center; padding:20px 23px; background:linear-gradient(120deg,#f6fbfb,#fff); }.publication-register__count { display:inline-flex; align-items:center; min-height:29px; padding:4px 10px; border-radius:999px; background:#e7f4f2; color:#176f66; font-size:.72rem; font-weight:850; white-space:nowrap; }
.publication-transitions { overflow:hidden; border:1px solid #ccdfe5; border-radius:17px; background:#fff; box-shadow:0 12px 32px rgba(21,52,82,.07); }.publication-transitions__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:23px 25px 20px; border-bottom:1px solid #dbe8ed; background:linear-gradient(120deg,#f1faf8,#fff); }.publication-transitions__head h2 { margin:5px 0; color:var(--brand-deep); font-size:1.15rem; }.publication-transitions__head p { max-width:690px; margin:0; color:#708696; font-size:.8rem; line-height:1.5; }.publication-transitions__rule { display:inline-flex; align-items:center; min-height:28px; padding:3px 9px; border:1px solid #bcded8; border-radius:999px; background:#f4fbfa; color:#23776e; font-size:.67rem; font-weight:850; white-space:nowrap; }
.publication-transitions__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:20px 23px 23px; }.publication-transition-card { display:flex; flex-direction:column; min-height:235px; padding:16px; border:1px solid #d8e5eb; border-radius:13px; background:linear-gradient(145deg,#fff,#fbfdfd); transition:.16s ease; }.publication-transition-card:hover { border-color:#91c7c0; box-shadow:0 9px 20px rgba(20,91,100,.08); transform:translateY(-2px); }.publication-transition-card__top { display:flex; align-items:center; justify-content:space-between; gap:8px; }.publication-transition-card__type { color:#5f7b8c; font-size:.67rem; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }.publication-transition-card h3 { margin:15px 0 14px; color:#244b64; font-size:.91rem; line-height:1.38; }.publication-transition-card dl { display:grid; gap:8px; margin:0; }.publication-transition-card dl div { display:grid; grid-template-columns:92px minmax(0,1fr); gap:7px; }.publication-transition-card dt { color:#7a8f9d; font-size:.66rem; font-weight:800; }.publication-transition-card dd { margin:0; color:#496678; font-size:.7rem; line-height:1.35; }.publication-transition-card form { margin-top:auto; padding-top:15px; }.publication-transition-card .button { width:100%; justify-content:center; }.publication-transition-card .button span { margin-left:5px; font-size:1rem; }
.email-models-hero { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:0 0 24px; padding:6px 2px; }
.email-models-hero h1 { margin:5px 0 7px; color:var(--brand-deep); font-size:clamp(2rem,3.5vw,2.65rem); line-height:1.06; }
.email-models-hero p { max-width:680px; margin:0; color:var(--ink-soft); line-height:1.55; }
.email-models-hero__note { display:flex; flex:0 0 275px; gap:10px; align-items:center; padding:13px 15px; border:1px solid #cce3e2; border-radius:12px; background:linear-gradient(135deg,#effaf8,#fff); }
.email-models-hero__note>span { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; background:var(--teal); color:#fff; font-size:.9rem; }.email-models-hero__note p { color:#48717a; font-size:.75rem; line-height:1.4; }
.email-models-workspace { display:grid; grid-template-columns:minmax(265px,.38fr) minmax(0,1fr); overflow:hidden; border:1px solid #cfdee6; border-radius:17px; background:#fff; box-shadow:0 12px 34px rgba(21,52,82,.08); }
.email-models-catalog { padding:21px 16px; border-right:1px solid #dbe8ed; background:linear-gradient(165deg,#f5fbfc,#fbfdfd 55%,#f2f8f8); }.email-models-catalog header { padding:0 8px 15px; }.email-models-catalog h2 { margin:5px 0; color:var(--brand-deep); font-size:1rem; }.email-models-catalog p { margin:0; color:#718795; font-size:.75rem; line-height:1.45; }
.email-models-list { display:grid; gap:7px; }.email-models-list__item { display:block; padding:12px 13px; border:1px solid #d4e2e9; border-radius:10px; background:#fff; color:var(--ink); text-decoration:none; transition:.16s ease; }.email-models-list__item:hover { border-color:#91c8c2; background:#f8fcfb; transform:translateX(2px); }.email-models-list__item.is-active { border-color:var(--teal); background:linear-gradient(125deg,#e9f8f5,#fff); box-shadow:0 6px 15px rgba(15,118,110,.1); }.email-models-list__item strong { display:block; margin-bottom:7px; color:#17476b; font-size:.8rem; line-height:1.3; }.email-models-list__item span { display:flex; gap:6px; align-items:center; }.email-models-list__item em, .email-models-list__item b, .email-models-mode { display:inline-flex; align-items:center; min-height:20px; padding:2px 7px; border-radius:999px; font-size:.62rem; font-style:normal; font-weight:800; }.email-models-list__item em { background:#edf2f6; color:#667f90; }.email-models-list__item b { background:#e6f5ef; color:#15715e; }
.email-models-editor { min-height:570px; }.email-models-editor__head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 27px 19px; border-bottom:1px solid #dce8ee; background:linear-gradient(115deg,#f4fbfa,#fff); }.email-models-editor__head h2 { margin:5px 0 0; color:var(--brand-deep); font-size:1.3rem; }.email-models-mode { background:#e1f3f1; color:#116f68; white-space:nowrap; }
.email-models-variables { display:flex; flex-wrap:wrap; gap:9px 14px; align-items:center; margin:20px 27px 0; padding:12px 14px; border:1px solid #d9e8ec; border-radius:10px; background:#fbfdfd; }.email-models-variables strong { color:#4a6677; font-size:.73rem; }.email-models-variables div { display:flex; flex-wrap:wrap; gap:6px; }.email-models-variables code { padding:4px 7px; border-radius:6px; background:#edf4f6; color:#245876; font-size:.72rem; font-weight:750; }
.email-models-form { padding:21px 27px 27px; }.email-models-form .field { margin-bottom:18px; }.email-models-form__body textarea { min-height:280px; line-height:1.55; }.email-models-form .form-actions { align-items:center; justify-content:space-between; }.email-models-form .form-actions>span { color:#748a98; font-size:.74rem; }.email-models-empty { display:grid; place-items:center; align-content:center; min-height:570px; padding:35px; color:#718896; text-align:center; }.email-models-empty>span { display:grid; width:45px; height:45px; place-items:center; margin-bottom:14px; border-radius:13px; background:#e5f5f2; color:#16766d; font-size:1.15rem; }.email-models-empty h2 { margin:0 0 6px; color:var(--brand-deep); }.email-models-empty p { max-width:350px; margin:0; font-size:.82rem; line-height:1.5; }
@media (max-width:820px) { .email-models-hero { align-items:flex-start; flex-direction:column; }.email-models-hero__note { flex-basis:auto; width:min(100%,480px); }.email-models-workspace { grid-template-columns:1fr; }.email-models-catalog { border-right:0; border-bottom:1px solid #dbe8ed; }.email-models-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.email-models-editor { min-height:0; } }
@media (max-width:920px) { .publication-transitions__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .email-models-hero h1 { font-size:2rem; }.email-models-list { grid-template-columns:1fr; }.email-models-editor__head { align-items:flex-start; flex-direction:column; padding:20px; }.email-models-variables, .email-models-form { margin-right:18px; margin-left:18px; }.email-models-form { padding:20px 0 22px; }.email-models-form__body textarea { min-height:220px; }.email-models-form .form-actions { align-items:stretch; flex-direction:column; }.email-models-form .form-actions .button { width:100%; }.email-models-empty { min-height:340px; } }
@media (max-width:620px) { .publication-register .panel__head, .publication-transitions__head { align-items:flex-start; flex-direction:column; }.publication-transitions__grid { grid-template-columns:1fr; padding:16px; }.publication-transition-card { min-height:0; }.publication-register .table-wrap { border-radius:0; }.publication-transition-card dl div { grid-template-columns:92px minmax(0,1fr); } }
.cookie-notice strong { color:var(--brand-deep); }.cookie-notice p { margin:5px 0 7px; color:var(--ink-soft); font-size:.83rem; line-height:1.45; }.cookie-notice a { color:var(--teal); font-size:.8rem; font-weight:750; }.cookie-notice__actions { display:flex; flex:0 0 auto; gap:8px; }.cookie-notice__actions .button { white-space:nowrap; }
@media (max-width: 650px) { .cookie-notice { right:16px; bottom:16px; align-items:stretch; flex-direction:column; }.cookie-notice__actions .button { flex:1; } }

/* Avaliações: preparação antecipada, efetivação apenas na janela da etapa. */
.evaluation-heading { margin-bottom:18px; }.evaluation-stage-tabs { display:flex; gap:9px; margin:0 0 16px; overflow-x:auto; padding:2px; }.evaluation-stage-tab { display:grid; grid-template-columns:30px minmax(120px,1fr); gap:3px 9px; min-width:230px; padding:11px 13px; border:1px solid #d7e3e9; border-radius:11px; background:#fff; color:var(--ink); text-decoration:none; transition:.16s ease; }.evaluation-stage-tab>span { grid-row:1/3; display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:#edf5f7; color:#527284; font-size:.72rem; font-weight:850; }.evaluation-stage-tab strong { align-self:end; color:var(--brand-deep); font-size:.8rem; }.evaluation-stage-tab small { color:#748998; font-size:.68rem; white-space:nowrap; }.evaluation-stage-tab:hover { border-color:#8cc4c0; background:#f7fcfb; transform:translateY(-1px); }.evaluation-stage-tab--active { border-color:var(--teal); background:linear-gradient(120deg,#eefaf8,#fff); box-shadow:0 7px 18px rgba(19,119,109,.11); }.evaluation-stage-tab--active>span { background:var(--teal); color:#fff; }
.evaluation-status { display:flex; align-items:center; gap:15px; margin-bottom:18px; padding:16px 20px; border-color:#efcf8d; background:#fffaf0; }.evaluation-status--open { border-color:#aad8ca; background:#f2fbf8; }.evaluation-status__icon { display:grid; flex:0 0 auto; width:35px; height:35px; place-items:center; border-radius:50%; background:#fff0cf; color:#926312; font-size:1rem; font-weight:850; }.evaluation-status--open .evaluation-status__icon { background:#dff3eb; color:#13745d; }.evaluation-status strong { display:block; color:var(--brand-deep); font-size:.88rem; }.evaluation-status p { margin:4px 0 0; color:#607b8b; font-size:.79rem; line-height:1.45; }
.evaluation-worklist { overflow:hidden; }.evaluation-worklist .panel__head { align-items:center; }.evaluation-worklist .panel__head p { margin-bottom:0; }.evaluation-table td { vertical-align:middle; }.evaluation-table td>strong { color:var(--brand-deep); }.evaluation-progress { display:flex; flex-wrap:wrap; gap:5px; }.evaluation-note-state { display:inline-flex; align-items:center; min-height:23px; padding:3px 7px; border-radius:999px; font-size:.66rem; font-weight:800; white-space:nowrap; }.evaluation-note-state--draft { background:#fff2d4; color:#94600c; }.evaluation-note-state--done { background:#e5f5ee; color:#167053; }.evaluation-note-form { overflow:hidden; padding:0; }.evaluation-note-form .form-card__header { margin:0; padding:26px 30px 20px; background:linear-gradient(120deg,#f3fbfa,#fff); }.evaluation-note-form form { padding:24px 30px 30px; }.evaluation-note-form__status { display:grid; gap:3px; padding:12px 30px; border-bottom:1px solid #efd58d; background:#fff8e8; color:#80520c; }.evaluation-note-form__status--open { border-color:#b8dfd1; background:#effaf6; color:#166c59; }.evaluation-note-form__status small { font-size:.73rem; opacity:.85; }
.evaluation-setup { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }.evaluation-setup__form { overflow:hidden; }.evaluation-setup__form .panel__head { min-height:115px; padding:19px 21px; background:linear-gradient(125deg,#f5fbfa,#fff); }.evaluation-setup__form .panel__head h2 { margin:4px 0; font-size:1rem; }.evaluation-setup__form .panel__head p { margin:0; color:#748997; font-size:.76rem; line-height:1.45; }.evaluation-setup__form .panel-form { padding:19px 21px 8px; }.evaluation-setup__form .form-fields { gap:13px 15px; }.evaluation-setup__form .field label { font-size:.74rem; }.evaluation-setup__form .field input, .evaluation-setup__form .field select, .evaluation-setup__form .field textarea { min-height:38px; padding:8px 10px; }.evaluation-setup__form .form-actions { margin-top:17px; padding-top:15px; border-top:1px solid #e3edf1; }.evaluation-setup__form .form-actions button { width:100%; }.evaluation-setup__records { margin-top:20px; overflow:hidden; }.evaluation-records { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border-top:1px solid #e0ebef; background:#e0ebef; }.evaluation-records>div { padding:18px 21px; background:#fff; }.evaluation-records h3 { margin:0 0 10px; color:#31536a; font-size:.84rem; }.evaluation-records ul { margin:0; padding:0; list-style:none; }.evaluation-records li { padding:9px 0; border-top:1px solid #e8eff2; font-size:.78rem; }.evaluation-records li:first-child { border-top:0; }.evaluation-records strong, .evaluation-records small { display:block; }.evaluation-records strong { color:#38566b; }.evaluation-records small, .muted { margin-top:3px; color:#788d9b; font-size:.71rem; }
.evaluation-wizard-page { max-width:1120px; }
.evaluation-wizard { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0 0 18px; padding:7px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(18,45,70,.045); }
.evaluation-wizard button { position:relative; display:grid; min-height:70px; grid-template-columns:34px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 12px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--ink-soft); text-align:left; box-shadow:none; }
.evaluation-wizard button:hover { border-color:#c8dfdc; background:#f7fbfa; color:var(--brand-deep); transform:none; }
.evaluation-wizard button.is-active { border-color:var(--teal); background:linear-gradient(135deg,#eef9f7,#fff); color:var(--brand-deep); box-shadow:0 5px 14px rgba(15,118,110,.1); }
.evaluation-wizard button > span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#edf3f6; color:#547083; font-size:.75rem; font-weight:850; }
.evaluation-wizard button.is-active > span { background:var(--teal); color:#fff; }
.evaluation-wizard button div { display:grid; gap:2px; min-width:0; }
.evaluation-wizard button small { color:#7a8e9c; font-size:.61rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.evaluation-wizard button strong { overflow:hidden; color:inherit; font-size:.79rem; text-overflow:ellipsis; white-space:nowrap; }
.evaluation-wizard button i { display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:#dff4ec; color:#13735e; font-size:.65rem; font-style:normal; }
.evaluation-wizard__panels { width:min(100%,820px); margin:0 auto; }
.evaluation-step { overflow:hidden; border-top:3px solid var(--teal); }
.evaluation-step[hidden] { display:none !important; }
.evaluation-step__intro { display:grid; grid-template-columns:52px minmax(0,1fr); gap:16px; align-items:start; padding:23px 26px; border-bottom:1px solid var(--line); background:linear-gradient(125deg,#f3fbfa,#fff); }
.evaluation-step__number { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; background:var(--brand); color:#fff; font-size:.84rem; font-weight:850; }
.evaluation-step__intro h2 { margin:4px 0; font-size:1.13rem; }
.evaluation-step__intro p { margin:0; color:var(--ink-soft); font-size:.79rem; line-height:1.5; }
.evaluation-step .panel-form { padding:24px 26px 26px; }
.evaluation-step .message { margin:20px 26px 0; }
.evaluation-step__actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:21px; padding-top:18px; border-top:1px solid var(--line); }
.evaluation-step__actions button { min-width:155px; }
button:disabled, .button:disabled { cursor:not-allowed; opacity:.48; transform:none !important; }
@media (max-width:760px) { .evaluation-setup { grid-template-columns:1fr; }.evaluation-records { grid-template-columns:1fr; }.evaluation-note-form .form-card__header, .evaluation-note-form form { padding-right:19px; padding-left:19px; }.evaluation-note-form__status { padding-right:19px; padding-left:19px; }.evaluation-wizard { grid-template-columns:repeat(4,170px); overflow-x:auto; }.evaluation-step__intro { padding:20px; }.evaluation-step .panel-form { padding:20px; }.evaluation-step .message { margin-right:20px; margin-left:20px; } }
@media (max-width:520px) { .evaluation-step__intro { grid-template-columns:42px minmax(0,1fr); gap:12px; }.evaluation-step__number { width:40px; height:40px; }.evaluation-step__actions { align-items:stretch; flex-direction:column-reverse; }.evaluation-step__actions button { width:100%; }.evaluation-step__actions > span:empty { display:none; } }
@media (max-width:760px) {
  .analytics-panel__head { align-items:flex-start; }
  .analytics-toolbar { width:100%; min-width:0; justify-content:stretch; }
  .analytics-scope-filter { min-width:0; }
  .dashboard-module-grid { grid-template-columns:1fr; padding:16px; }
  .dashboard-settings-actions, .document-check-actions { align-items:stretch; flex-direction:column; }
  .document-check-hero { grid-template-columns:auto minmax(0,1fr); padding:22px 19px; }
  .document-check-status { grid-column:2; justify-self:start; }
  .document-check-body { grid-template-columns:1fr; }
  .document-check-summary, .document-check-proof { padding:22px 19px; }
  .document-check-proof { border-top:1px solid var(--line); border-left:0; }
  .document-check-actions, .document-check-not-found { padding:18px 19px; }
}
@media (max-width:520px) {
  .analytics-panel__head { display:grid; grid-template-columns:1fr; }
  .analytics-panel__head > div:first-child { grid-column:auto; }
  .analytics-toolbar { align-items:stretch; flex-direction:column; }
  .analytics-config-link { align-self:flex-end; }
  .analytics-status { grid-template-columns:1fr 1fr; }
  .horizontal-chart__item { grid-template-columns:minmax(82px,110px) minmax(55px,1fr) 25px; }
  .analytics-chart__tools { align-items:flex-end; flex-direction:column; }
  .pie-chart-layout { grid-template-columns:1fr; justify-items:center; }
  .pie-chart-legend { width:100%; }
  .dashboard-module-option { flex-wrap:wrap; }
  .dashboard-module-option__view { flex:1 0 100%; margin-left:37px; }
  .document-check-grid { grid-template-columns:1fr; }
  .document-check-grid__wide { grid-column:auto; }
}

/* Acompanhamento da participação e comprovante. */
.participation-detail-page,.receipt-page{max-width:1120px}.participation-detail-page>section+section,.receipt-page>section+section{margin-top:18px}.participation-detail-hero{overflow:hidden}.protocol-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:20px 0;padding:18px 20px;border:1px solid #c9dedf;border-radius:13px;background:linear-gradient(120deg,#eef9f7,#fff)}.protocol-card>div{display:grid;min-width:0;gap:4px}.protocol-card span,.receipt-grid span,.receipt-codes span,.tracking-card>span:first-child,.document-source{color:#6d8494;font-size:.66rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.protocol-card strong{overflow-wrap:anywhere;color:var(--brand-deep);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem}.protocol-card small{color:#718797;font-size:.72rem}.participation-actions-card{overflow:hidden}.participation-actions-card .panel__body{padding:20px 24px}.participation-actions-card .actions{margin:0}.channel-notice{margin:15px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.76rem}.tracking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 24px 24px}.tracking-card{display:flex;flex-direction:column;align-items:flex-start;min-height:145px;padding:15px;border:1px solid #d8e5eb;border-radius:12px;background:#fff}.tracking-card strong{margin:8px 0 5px;overflow-wrap:anywhere;color:var(--brand-deep);font-size:.82rem;line-height:1.4}.tracking-card small{margin-bottom:13px;color:#768b9a;font-size:.69rem}.tracking-card>.status,.tracking-card>div{margin-top:auto}.document-review-card{margin-top:18px;overflow:hidden}.document-review-list{padding:0 24px 22px}.document-review-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.document-review-item:last-child{border-bottom:0}.document-review-item>div:first-child{display:grid;gap:4px}.document-review-item strong{color:var(--brand-deep)}.document-review-item small{color:var(--ink-soft)}.document-source{color:var(--teal)}.document-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.compact-empty{min-height:160px}.follow-up-panel{overflow:hidden}.follow-up-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.follow-up-card{display:grid;gap:7px;padding:16px;border:1px solid #d5e4ea;border-radius:12px;background:linear-gradient(135deg,#fff,#f8fbfc);color:inherit;text-decoration:none;transition:.16s ease}.follow-up-card:hover{border-color:#83bdb8;box-shadow:0 8px 20px rgba(17,83,96,.08);transform:translateY(-1px)}.follow-up-card>span{color:var(--teal);font-size:.66rem;font-weight:850;text-transform:uppercase}.follow-up-card strong{color:var(--brand-deep);font-size:.84rem;line-height:1.4}.follow-up-card small{color:#637f90;font-weight:750}.request-details{margin-top:8px}.request-details summary{cursor:pointer;color:var(--teal);font-size:.72rem;font-weight:800}.request-details p{max-width:430px;margin:8px 0 0;color:var(--ink-soft);font-size:.75rem;line-height:1.5}.receipt-hero{overflow:hidden}.receipt-content,.receipt-validation{overflow:hidden}.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.receipt-grid>div{display:grid;gap:5px;padding:14px;border:1px solid #dbe7ec;border-radius:10px;background:#fbfdfe}.receipt-grid strong{color:#284b62;font-size:.8rem;line-height:1.45}.receipt-validation__body{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;align-items:center;padding:23px 26px}.receipt-codes{display:grid;gap:12px}.receipt-codes>div{display:grid;gap:6px}.receipt-codes code{display:block;overflow-wrap:anywhere;padding:10px 12px;border:1px solid #d7e4e9;border-radius:8px;background:#f7fafc;color:#244b65;font-size:.72rem;word-break:break-all}.receipt-qr{display:grid;justify-items:center;margin:0;padding:14px;border:1px solid #d5e4e7;border-radius:12px;background:#fff}.receipt-qr svg{width:160px;max-width:100%;height:auto}.receipt-qr figcaption{margin-top:8px;color:#708696;font-size:.67rem;text-align:center}.receipt-empty{max-width:780px;margin:40px auto}.message+.message{margin-top:10px}
@media(max-width:800px){.tracking-grid{grid-template-columns:1fr 1fr}.receipt-validation__body{grid-template-columns:1fr}.receipt-qr{width:min(100%,230px);justify-self:center}.document-review-item{align-items:flex-start;flex-direction:column}.document-review-actions{justify-content:flex-start}.protocol-card{align-items:flex-start;flex-direction:column}.protocol-card .button{width:100%}}
@media(max-width:560px){.tracking-grid,.follow-up-grid,.receipt-grid{grid-template-columns:1fr}.tracking-grid,.document-review-list{padding-right:17px;padding-left:17px}.protocol-card{padding:15px}.protocol-card strong{font-size:.78rem}.participation-actions-card .actions .button{width:100%}}
