:root {
  --bg: #eef4f8;
  --surface: #ffffff;
  --surface-2: #f7fafc;
  --text: #18212f;
  --muted: #667085;
  --line: #d7e2ea;
  --primary: #0b5fa5;
  --primary-strong: #084a80;
  --secondary: #178a61;
  --radius: 8px;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background: var(--bg);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
}

a {
  color: inherit;
  text-decoration: none;
}

.app-shell {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  padding: 18px 14px;
  color: #ffffff;
  background: var(--primary-strong);
}

.brand {
  display: grid;
  gap: 3px;
  padding: 10px;
  margin-bottom: 14px;
}

.brand strong {
  font-size: 16px;
}

.brand span {
  opacity: .8;
}

.nav-list {
  display: grid;
  gap: 8px;
}

.nav-list a {
  padding: 10px 12px;
  border-radius: 6px;
}

.nav-list a:hover {
  background: rgba(255, 255, 255, .16);
}

.main {
  min-width: 0;
  padding: 20px 24px 34px;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.eyebrow {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

h1,
h2,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 0;
  font-size: 26px;
}

h2 {
  font-size: 18px;
}

p {
  color: var(--muted);
  line-height: 1.45;
}

.hero,
.panel,
.module-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px;
  margin-bottom: 14px;
  border-left: 4px solid var(--primary);
}

.panel {
  padding: 16px;
  margin-bottom: 14px;
}

.steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.steps span {
  padding: 7px 9px;
  color: var(--muted);
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 6px;
}

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

.module-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  padding: 14px;
  border-top: 3px solid var(--primary);
}

.module-card strong {
  font-size: 17px;
}

.module-card small {
  color: var(--muted);
  line-height: 1.35;
}

.module-card button,
.primary-button,
.ghost-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 6px;
}

.module-card button,
.ghost-button {
  color: var(--primary);
  background: #ffffff;
  border: 1px solid var(--primary);
}

.primary-button {
  color: #ffffff;
  background: var(--primary);
  border: 1px solid var(--primary);
}

.small-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 9px;
  color: var(--primary);
  background: #ffffff;
  border: 1px solid var(--primary);
  border-radius: 6px;
}

label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
}

input {
  width: 100%;
  min-height: 38px;
  padding: 9px 10px;
  color: var(--text);
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 6px;
}

textarea {
  width: 100%;
  min-height: 88px;
  padding: 9px 10px;
  color: var(--text);
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 6px;
  resize: vertical;
}

select {
  width: 100%;
  min-height: 38px;
  padding: 9px 10px;
  color: var(--text);
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 6px;
}

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

th,
td {
  padding: 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.panel-header span {
  color: var(--muted);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 14px;
}

.filter-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 220px auto;
  gap: 12px;
  align-items: end;
}

.simple-filter {
  grid-template-columns: minmax(220px, 1fr) auto;
}

.form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  grid-column: 1 / -1;
}

.wide-field {
  grid-column: 1 / -1;
}

.compact-actions {
  grid-column: auto;
}

td small {
  color: var(--muted);
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  color: #075e44;
  background: #ecfdf3;
  border: 1px solid #abefc6;
  border-radius: 999px;
  font-size: 12px;
}

.login-wrap {
  display: grid;
  place-items: center;
  min-height: calc(100vh - 110px);
}

.login-card {
  display: grid;
  gap: 14px;
  width: min(420px, 100%);
  padding: 22px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 18px 40px rgba(8, 74, 128, .12);
}

.login-card small {
  color: var(--muted);
}

.alert {
  padding: 10px 12px;
  margin-bottom: 12px;
  color: #7a271a;
  background: #fff4ed;
  border: 1px solid #ffd6ae;
  border-radius: 6px;
}

.success-alert {
  color: #075e44;
  background: #ecfdf3;
  border-color: #abefc6;
}

.user-pill {
  padding: 8px 10px;
  color: var(--muted);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.page-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.document-sheet {
  width: min(820px, 100%);
  margin: 0 auto 16px;
  padding: 44px 56px;
  color: #111827;
  background: #ffffff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 44px rgba(24, 33, 47, .12);
}

.document-header {
  display: grid;
  gap: 4px;
  margin-bottom: 36px;
  text-align: center;
  font-size: 13px;
  line-height: 1.35;
}

.document-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 30px;
  color: #374151;
}

.document-sheet h2 {
  margin-bottom: 28px;
  text-align: center;
  text-transform: uppercase;
}

.document-sheet p {
  color: #111827;
  font-size: 16px;
  line-height: 1.75;
}

.document-body {
  text-align: justify;
  text-indent: 48px;
}

.document-lines {
  margin: 34px 0;
}

.signature-block {
  display: grid;
  justify-items: center;
  gap: 4px;
  margin-top: 44px;
  text-align: center;
  font-size: 16px;
}

.signature-line {
  width: 260px;
  height: 42px;
  border-bottom: 1px solid #111827;
}

@media print {
  body {
    background: #ffffff;
  }

  .sidebar,
  .topbar,
  .page-tools,
  .panel {
    display: none;
  }

  .app-shell {
    display: block;
  }

  .main {
    padding: 0;
  }

  .document-sheet {
    width: 100%;
    margin: 0;
    border: 0;
    box-shadow: none;
  }
}

@media (max-width: 900px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
  }

  .module-grid {
    grid-template-columns: 1fr;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .wide-field {
    grid-column: auto;
  }

  .filter-grid {
    grid-template-columns: 1fr;
  }

  .compact-actions {
    grid-column: 1 / -1;
  }

  .hero,
  .topbar {
    align-items: stretch;
    flex-direction: column;
  }
}


.inline-tools {
  margin-bottom: 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.stat-card {
  display: grid;
  gap: 6px;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  border-top: 3px solid var(--primary);
}

.stat-card span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.stat-card strong {
  font-size: 26px;
}

.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.info-note {
  padding: 10px 12px;
  color: #344054;
  background: #f2f4f7;
  border: 1px solid var(--line);
  border-radius: 6px;
  line-height: 1.45;
}

.inline-filter {
  display: flex;
  align-items: center;
  gap: 8px;
}

.inline-filter select {
  min-width: 110px;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.calendar-card {
  display: grid;
  align-content: start;
  gap: 5px;
  min-height: 100px;
  padding: 12px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.calendar-card.has-entry {
  background: #eff8ff;
  border-color: #84caff;
}

.calendar-card strong {
  font-size: 14px;
}

.calendar-card span {
  font-weight: 700;
}

.calendar-card small {
  color: var(--muted);
}

.detail-row td {
  padding-top: 0;
  background: var(--surface-2);
}

.report-sheet {
  padding: 28px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.report-header {
  display: grid;
  gap: 4px;
  margin-bottom: 22px;
  text-align: center;
}

.report-header h2 {
  margin: 14px 0 4px;
  text-transform: uppercase;
}

.report-header small,
.report-filters {
  color: var(--muted);
}

.report-table {
  font-size: 12px;
}

@media print {
  .report-sheet {
    padding: 0;
    border: 0;
  }
}

@media (max-width: 900px) {
  .stats-grid,
  .calendar-grid {
    grid-template-columns: 1fr;
  }
}

/* Ficha funcional consolidada */
.profile-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  margin-bottom: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--primary);
  border-radius: var(--radius);
}

.profile-heading h2 {
  margin-bottom: 4px;
  font-size: 24px;
}

.profile-heading p {
  margin-bottom: 0;
}

.profile-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  margin-bottom: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--secondary);
  border-radius: var(--radius);
}

.profile-status > div {
  display: grid;
  gap: 4px;
}

.profile-status span,
.profile-status small {
  color: var(--muted);
}

.profile-status strong {
  font-size: 20px;
}

.profile-status-warning {
  border-left-color: #f79009;
  background: #fffaeb;
}

.profile-status-danger {
  border-left-color: #d92d20;
  background: #fff4ed;
}

.profile-status-success {
  border-left-color: var(--secondary);
  background: #ecfdf3;
}

.profile-grid-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.profile-section {
  padding: 16px;
  margin-bottom: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.profile-grid-two .profile-section {
  margin-bottom: 0;
}

.profile-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
}

.profile-data-grid > div {
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
}

.profile-data-grid dt {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.profile-data-grid dd {
  margin: 0;
  font-weight: 600;
}

.next-event-card {
  display: grid;
  gap: 7px;
  padding: 14px;
  background: #eff8ff;
  border: 1px solid #84caff;
  border-radius: 7px;
}

.next-event-card > span {
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.next-event-card > strong {
  font-size: 24px;
}

.next-event-card > small {
  color: var(--muted);
}

.next-event-card .small-button {
  justify-self: start;
  margin-top: 4px;
}

.profile-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.empty-state {
  padding: 18px;
  color: var(--muted);
  background: var(--surface-2);
  border: 1px dashed var(--line);
  border-radius: 7px;
}

.primary-small {
  color: #ffffff;
  background: var(--primary);
}

.profile-footer {
  padding: 10px 0;
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}

@media print {
  .no-print {
    display: none !important;
  }

  .profile-heading,
  .profile-status,
  .profile-section,
  .stat-card {
    break-inside: avoid;
    box-shadow: none;
  }

  .profile-heading {
    padding: 12px 0;
    border: 0;
    border-bottom: 2px solid #111827;
  }

  .profile-status,
  .profile-section,
  .stat-card {
    background: #ffffff !important;
  }

  .profile-section {
    padding: 10px 0;
    border: 0;
    border-top: 1px solid #cbd5e1;
    border-radius: 0;
  }

  .profile-stats {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 900px) {
  .profile-heading,
  .profile-status {
    align-items: stretch;
    flex-direction: column;
  }

  .profile-grid-two,
  .profile-data-grid {
    grid-template-columns: 1fr;
  }
}


/* Documentos operacionais de viagens - estrutura prevista */
.trip-document-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.trip-document-grid-large {
  margin: 14px 0;
}

.trip-document-card {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 14px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.trip-document-card h3,
.trip-document-card p {
  margin: 0;
}

.trip-document-card .primary-button,
.trip-document-card .small-button {
  justify-self: start;
}

@media (max-width: 900px) {
  .trip-document-grid {
    grid-template-columns: 1fr;
  }
}


/* Fluxo administrativo de viagens, diárias e prestação de contas */
.workflow-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}

.workflow-step {
  display: grid;
  gap: 5px;
  padding: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.workflow-step > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #ffffff;
  background: var(--primary);
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
}

.workflow-step strong { font-size: 13px; }
.workflow-step small { color: var(--muted); }
.workflow-form-spaced { margin-top: 14px; }
.workflow-actions { flex-wrap: wrap; }
.wide-data { grid-column: 1 / -1; }

.check-field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
}
.check-field input { width: auto; }

.danger-outline {
  color: #b42318;
  border-color: #fda29b;
}

.upload-card {
  display: grid;
  grid-template-columns: 1fr minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  margin-top: 14px;
  background: var(--surface-2);
  border: 1px dashed var(--line);
  border-radius: var(--radius);
}
.upload-card > div { display: grid; gap: 4px; }
.upload-card small { color: var(--muted); }
.workflow-files { margin-top: 14px; }

.finalization-issues {
  padding: 14px 16px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: var(--radius);
}
.finalization-issues ul { margin: 8px 0 0; padding-left: 20px; }
.finalization-issues li { margin: 5px 0; }

.timeline-list { display: grid; gap: 8px; }
.timeline-item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.timeline-item > span { color: var(--muted); font-size: 12px; }
.timeline-item p { margin: 4px 0; }
.timeline-item small { color: var(--muted); }

@media (max-width: 1050px) {
  .workflow-steps { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 700px) {
  .workflow-steps { grid-template-columns: 1fr; }
  .upload-card { grid-template-columns: 1fr; }
  .timeline-item { grid-template-columns: 1fr; gap: 4px; }
}

/* Agenda da frota e disponibilidade operacional */
.agenda-stats-grid {
  grid-template-columns: repeat(7, minmax(120px, 1fr));
}

.agenda-filter-grid {
  grid-template-columns: repeat(5, minmax(150px, 1fr)) auto;
}

.agenda-period-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  text-align: center;
}

.agenda-period-nav h2 {
  margin-bottom: 0;
  font-size: 20px;
}

.agenda-alert-panel {
  border-left: 4px solid #d97706;
}

.agenda-alert-list {
  display: grid;
  gap: 8px;
}

.agenda-alert-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 6px;
}

.agenda-alert-item p {
  margin: 3px 0 0;
}

.fleet-availability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 10px;
}

.fleet-availability-card,
.driver-agenda-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.fleet-availability-card p {
  margin: 0;
}

.fleet-availability-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.fleet-availability-heading > div {
  display: grid;
  gap: 3px;
}

.fleet-availability-heading small {
  color: var(--muted);
}

.agenda-calendar {
  display: grid;
  gap: 8px;
}

.agenda-calendar-semana,
.agenda-calendar-mes {
  grid-template-columns: repeat(7, minmax(120px, 1fr));
}

.agenda-calendar-dia {
  grid-template-columns: minmax(0, 1fr);
}

.agenda-day {
  min-width: 0;
  min-height: 150px;
  padding: 8px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.agenda-calendar-mes .agenda-day {
  min-height: 180px;
}

.agenda-day.is-today {
  border: 2px solid var(--primary);
}

.agenda-day.outside-month {
  opacity: .55;
}

.agenda-day > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 7px;
  margin-bottom: 7px;
  border-bottom: 1px solid var(--line);
}

.agenda-day > header span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 50%;
  font-weight: 700;
}

.agenda-day-trips {
  display: grid;
  gap: 6px;
}

.agenda-trip {
  display: grid;
  gap: 3px;
  padding: 7px;
  background: #eff8ff;
  border: 1px solid #b2ddff;
  border-radius: 5px;
  font-size: 11px;
}

.agenda-trip:hover {
  border-color: var(--primary);
}

.agenda-trip.has-pending {
  background: #fff7ed;
  border-color: #fed7aa;
}

.agenda-trip strong,
.agenda-trip span,
.agenda-trip small {
  overflow-wrap: anywhere;
}

.agenda-empty,
.agenda-more {
  color: var(--muted);
  font-size: 11px;
}

.driver-agenda-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 10px;
}

.driver-trip-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  border-top: 1px solid var(--line);
}

.driver-trip-row span,
.driver-trip-row small {
  color: var(--muted);
  font-size: 11px;
}

@media (max-width: 1200px) {
  .agenda-stats-grid {
    grid-template-columns: repeat(4, minmax(120px, 1fr));
  }

  .agenda-filter-grid {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }

  .fleet-availability-grid,
  .driver-agenda-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

}

@media (max-width: 900px) {
  .agenda-stats-grid,
  .agenda-filter-grid,
  .fleet-availability-grid,
  .driver-agenda-grid,
  .agenda-calendar-semana,
  .agenda-calendar-mes {
    grid-template-columns: 1fr;
  }

  .agenda-period-nav,
  .agenda-alert-item {
    align-items: stretch;
    flex-direction: column;
    text-align: left;
  }

  .driver-trip-row {
    grid-template-columns: 1fr;
  }
}

/* Painel gerencial de viagens */
.dashboard-filter-grid {
  grid-template-columns: minmax(260px, 1fr) minmax(240px, 320px) auto;
}

.dashboard-stats-grid {
  grid-template-columns: repeat(7, minmax(120px, 1fr));
}

.dashboard-priority-panel {
  border-left: 4px solid var(--primary);
}

.priority-badge {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.priority-high {
  color: #b42318;
  background: #fef3f2;
  border: 1px solid #fecdca;
}

.priority-medium {
  color: #b54708;
  background: #fffaeb;
  border: 1px solid #fedf89;
}

.priority-low {
  color: #344054;
  background: #f2f4f7;
  border: 1px solid #d0d5dd;
}

.dashboard-pending-list {
  display: grid;
  gap: 5px;
}

.dashboard-pending-list span {
  padding-left: 10px;
  border-left: 2px solid #f79009;
  font-size: 12px;
}

.dashboard-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-column-panel {
  min-width: 0;
}

.dashboard-trip-list,
.dashboard-fleet-list {
  display: grid;
  gap: 7px;
}

.dashboard-trip-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.dashboard-trip-row:hover {
  border-color: var(--primary);
}

.dashboard-date-block,
.dashboard-trip-main {
  display: grid;
  gap: 2px;
}

.dashboard-date-block {
  place-items: center;
  padding: 6px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.dashboard-date-block strong {
  font-size: 20px;
}

.dashboard-date-block small,
.dashboard-trip-main small,
.dashboard-fleet-row small {
  color: var(--muted);
}

.dashboard-fleet-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.dashboard-fleet-summary > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.dashboard-fleet-summary span {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.dashboard-fleet-summary strong {
  font-size: 22px;
}

.dashboard-fleet-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.dashboard-fleet-row > div {
  display: grid;
  gap: 3px;
}

.dashboard-fleet-row > div:last-child {
  justify-items: end;
  text-align: right;
}

.dashboard-doc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.dashboard-doc-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.dashboard-doc-card .small-button {
  justify-self: start;
}

.dashboard-doc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.dashboard-doc-tags span {
  padding: 4px 7px;
  color: var(--muted);
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 11px;
}

@media (max-width: 1250px) {
  .dashboard-stats-grid {
    grid-template-columns: repeat(4, minmax(120px, 1fr));
  }

  .dashboard-doc-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 900px) {
  .dashboard-filter-grid,
  .dashboard-stats-grid,
  .dashboard-two-columns,
  .dashboard-fleet-summary,
  .dashboard-doc-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-trip-row {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .dashboard-trip-row > .badge {
    grid-column: 2;
    justify-self: start;
  }

  .dashboard-fleet-row {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-fleet-row > div:last-child {
    justify-items: start;
    text-align: left;
  }
}

.attention-text { font-weight: 700; text-decoration: underline; text-decoration-style: dotted; }

/* Abastecimento, quilometragem e custos da frota */
.fleet-cost-stats { grid-template-columns: repeat(6,minmax(130px,1fr)); }
.readonly-metric { min-height: 42px; display:flex; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--surface-2); font-weight:700; }
.checkbox-field { display:flex; flex-direction:row; align-items:center; gap:9px; min-height:42px; }
.checkbox-field input { width:auto; margin:0; }
.report-summary-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:16px 0; }
.report-summary-grid > div { padding:10px; border:1px solid var(--line); border-radius:6px; }
@media (max-width:1250px){ .fleet-cost-stats{grid-template-columns:repeat(3,minmax(130px,1fr));} .report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:800px){ .fleet-cost-stats,.report-summary-grid{grid-template-columns:1fr;} }

/* Ficha consolidada do veículo */
.vehicle-profile-heading { align-items:flex-start; }
.vehicle-profile-actions { justify-content:flex-end; }
.vehicle-profile-status { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px; padding:14px 16px; border:1px solid var(--line); border-left:5px solid var(--primary); border-radius:var(--radius); background:#fff; }
.vehicle-profile-status > div { display:grid; gap:3px; }
.vehicle-profile-status span { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.vehicle-profile-status strong { font-size:22px; }
.vehicle-profile-status p { margin:0; color:var(--muted); text-align:right; }
.vehicle-profile-status-warning { border-left-color:#f79009; background:#fffaeb; }
.vehicle-profile-status-danger { border-left-color:#d92d20; background:#fef3f2; }
.vehicle-profile-status-success { border-left-color:#039855; background:#ecfdf3; }
.vehicle-profile-status-info { border-left-color:#1570ef; background:#eff8ff; }
.vehicle-profile-stats { grid-template-columns:repeat(7,minmax(120px,1fr)); }
.vehicle-profile-stats .stat-card small { color:var(--muted); }
.vehicle-profile-total-cost { grid-column:auto; }
.vehicle-profile-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.vehicle-profile-section { min-width:0; }
.vehicle-profile-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.vehicle-profile-data-grid > div { display:grid; gap:3px; padding:10px; border:1px solid var(--line); border-radius:6px; background:var(--surface-2); }
.vehicle-profile-data-grid span,.vehicle-profile-observation span,.vehicle-profile-next-card > span { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.vehicle-profile-observation { margin-top:10px; padding:10px; border:1px solid var(--line); border-radius:6px; }
.vehicle-profile-observation p { margin:6px 0 0; }
.vehicle-profile-next-list { display:grid; gap:10px; }
.vehicle-profile-next-card { display:grid; gap:5px; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--surface-2); }
.vehicle-profile-next-card .small-button { justify-self:start; margin-top:4px; }
.vehicle-profile-shortcuts { display:grid; grid-template-columns:repeat(5,minmax(160px,1fr)); gap:9px; }
.vehicle-profile-shortcuts a { display:grid; gap:4px; padding:11px; border:1px solid var(--line); border-radius:6px; background:var(--surface-2); text-decoration:none; }
.vehicle-profile-shortcuts a:hover { border-color:var(--primary); }
.vehicle-profile-shortcuts span { color:var(--muted); font-size:12px; }
.vehicle-profile-file-count { align-self:center; color:var(--muted); font-size:11px; }
.vehicle-profile-history-columns { margin-top:14px; }
.vehicle-profile-compact-list { display:grid; gap:7px; }
.vehicle-profile-compact-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.vehicle-profile-compact-row > div { display:grid; gap:3px; }
.vehicle-profile-compact-row > div:last-child { justify-items:end; text-align:right; }
.vehicle-profile-compact-row small { color:var(--muted); }
.vehicle-profile-footer { margin:16px 0 6px; color:var(--muted); font-size:11px; text-align:center; }

@media (max-width:1250px) {
  .vehicle-profile-stats { grid-template-columns:repeat(4,minmax(120px,1fr)); }
  .vehicle-profile-shortcuts { grid-template-columns:repeat(3,minmax(160px,1fr)); }
}

@media (max-width:900px) {
  .vehicle-profile-status { align-items:flex-start; flex-direction:column; }
  .vehicle-profile-status p { text-align:left; }
  .vehicle-profile-stats,.vehicle-profile-two-columns,.vehicle-profile-data-grid,.vehicle-profile-shortcuts { grid-template-columns:1fr; }
  .vehicle-profile-compact-row { flex-direction:column; }
  .vehicle-profile-compact-row > div:last-child { justify-items:start; text-align:left; }
}

@media print {
  .vehicle-profile-actions,.vehicle-profile-shortcuts-section .row-actions,.sidebar,.topbar { display:none !important; }
  .app-shell,.main { display:block !important; width:100% !important; margin:0 !important; padding:0 !important; }
  .vehicle-profile-section,.vehicle-profile-status,.stat-card { break-inside:avoid; box-shadow:none !important; }
  .vehicle-profile-shortcuts-section { display:none !important; }
}

/* Central de documentos */
.document-stats { grid-template-columns:repeat(5,minmax(125px,1fr)); }
.document-filter-grid { grid-template-columns:minmax(220px,1fr) 240px 220px auto; }
.document-detail-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:14px; }
.document-detail-heading { align-items:flex-start; }
.success-alert { padding:10px 12px; margin-bottom:12px; color:#05603a; background:#ecfdf3; border:1px solid #abefc6; border-radius:6px; }

/* Relatórios gerais */
.report-filter-grid { grid-template-columns:220px 220px auto; }
.report-title-block { display:flex; justify-content:space-between; gap:14px; margin:0 0 14px; padding:10px 2px; color:var(--muted); }
.report-title-block small { color:var(--muted); }
.report-four-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.report-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.report-kpi-list { display:grid; gap:8px; }
.report-kpi-list > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.report-kpi-list span { color:var(--muted); }
.report-kpi-list strong { text-align:right; }

/* Painel executivo */
.executive-hero { border-left-color:var(--secondary); }
.executive-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(130px,1fr)); gap:10px; margin-bottom:14px; }
.executive-kpi { display:grid; gap:5px; padding:14px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
.executive-kpi span { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.executive-kpi strong { font-size:25px; }
.executive-kpi small { color:var(--muted); }
.executive-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.executive-alert-list,.executive-compact-list { display:grid; gap:7px; }
.executive-alert-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); border-radius:6px; background:var(--surface-2); }
.executive-alert-row > span:nth-child(2) { display:grid; gap:3px; }
.executive-alert-row small,.executive-compact-list small { color:var(--muted); }
.executive-operation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.executive-operation-grid > div,.executive-cost-box > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px; border:1px solid var(--line); border-radius:6px; background:var(--surface-2); }
.executive-operation-grid span,.executive-cost-box span { color:var(--muted); }
.executive-compact-list > div { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.executive-compact-list > div > span { display:grid; gap:3px; }
.executive-compact-list > div > span:last-child { text-align:right; }
.executive-cost-box { display:grid; gap:8px; }
.executive-cost-box .executive-total { border-color:var(--primary); background:#eff8ff; }
.executive-updated { text-align:right; font-size:11px; }

@media (max-width:1250px){
  .document-stats,.executive-kpi-grid { grid-template-columns:repeat(3,minmax(130px,1fr)); }
  .report-four-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .document-stats,.document-filter-grid,.document-detail-grid,.report-filter-grid,.report-four-columns,.report-two-columns,.executive-kpi-grid,.executive-two-columns,.executive-operation-grid { grid-template-columns:1fr; }
  .report-title-block,.executive-compact-list > div { flex-direction:column; }
  .executive-compact-list > div > span:last-child { text-align:left; }
}
@media print {
  .document-detail-grid,.report-four-columns,.report-two-columns,.executive-two-columns { display:block; }
  .document-detail-grid > *, .report-four-columns > *, .report-two-columns > *, .executive-two-columns > * { break-inside:avoid; }
}

/* Governança, perfis e segurança */
.permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; margin-top: 1rem; }
.permission-module { grid-column: 1 / -1; padding-top: .65rem; border-top: 1px solid var(--border, #dfe3e8); }
.permission-option { display: flex; gap: .7rem; align-items: flex-start; padding: .75rem; border: 1px solid var(--border, #dfe3e8); border-radius: .7rem; }
.permission-option input { margin-top: .2rem; }
.permission-option span { display: grid; gap: .15rem; }
.permission-option small, .muted { opacity: .72; }
.governance-profile-card { margin-top: 1rem; }
.access-denied-panel { max-width: 720px; margin: 3rem auto; }
.user-security-meta { display: flex; gap: .45rem; flex-wrap: wrap; align-items: center; }
@media (max-width: 900px) { .permission-grid { grid-template-columns: 1fr; } }

/* Homologação e fechamento técnico */
.homologation-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.homologation-score{min-width:160px;padding:18px;border:1px solid var(--border,#d8dee8);border-radius:16px;text-align:center;background:#fff}
.homologation-score strong{display:block;font-size:2rem;line-height:1.1}
.homologation-score span{display:block;margin-top:5px;font-size:.82rem;color:var(--muted,#64748b)}
.homologation-score.is-ok{border-color:#a7d7b5}
.homologation-score.has-warning{border-color:#e8c27c}
.homologation-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.homologation-check{display:flex;gap:12px;padding:14px;border:1px solid var(--border,#d8dee8);border-radius:14px;background:#fff;min-width:0;max-width:100%}
.homologation-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;font-weight:800}
.homologation-check.is-ok .homologation-icon{background:#e8f6ed;color:#217a3e}
.homologation-check.is-error .homologation-icon{background:#fff0ed;color:#b33325}
.homologation-check div{display:flex;flex-direction:column;gap:3px;min-width:0}
.homologation-check div>span{font-size:.9rem}
.homologation-check small{color:var(--muted,#64748b);overflow-wrap:anywhere}
.homologation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.acceptance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.acceptance-grid article{display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid var(--border,#d8dee8);border-radius:14px;background:#fff}
.acceptance-grid article span{font-size:.9rem;color:var(--muted,#64748b)}
.homologation-note{border-left:4px solid #64748b}
@media(max-width:1000px){.homologation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.homologation-hero{align-items:flex-start;flex-direction:column}.homologation-score{width:100%}.homologation-checks,.acceptance-grid,.homologation-metrics{grid-template-columns:1fr}}

/* Central de navegação clicável */
.navigation-guide {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--muted);
}
.navigation-guide strong { color: var(--text); white-space: nowrap; }
.module-grid-navigation .module-card {
  padding: 0;
  overflow: hidden;
  align-content: start;
}
.module-card-main-link {
  display: grid;
  gap: 10px;
  min-height: 112px;
  padding: 16px;
  color: inherit;
  text-decoration: none;
}
.module-card-active {
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.module-card-active:hover {
  transform: translateY(-2px);
  border-color: var(--primary);
  box-shadow: 0 8px 22px rgba(15, 76, 129, .10);
}
.module-card-active .module-card-main-link:hover strong { color: var(--primary); }
.module-card-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.module-card-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: var(--primary);
  background: var(--surface-2);
  font-size: 26px;
  line-height: 1;
}
.module-card-main-link small {
  color: var(--muted);
  line-height: 1.4;
}
.module-card-prepared {
  border-top-color: #9aa7b3;
  opacity: .82;
}
.module-card-main-static { cursor: default; }
.module-submenu {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 12px 14px 14px;
  border-top: 1px solid var(--line);
  background: var(--surface-2);
}
.module-submenu a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--primary);
  background: var(--surface);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.module-submenu a:hover {
  border-color: var(--primary);
  background: #f4f9fd;
}
.status-muted {
  color: #5f6b76;
  background: #eef1f4;
  border: 1px solid #d8dee4;
}
@media (max-width: 720px) {
  .navigation-guide { align-items: flex-start; flex-direction: column; }
  .module-card-main-link { min-height: auto; }
}
/* Processos e tramitação administrativa */
.process-profile-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}.data-list{display:grid;grid-template-columns:150px 1fr;gap:9px 14px}.data-list dt{font-weight:700;color:#475569}.data-list dd{margin:0}.timeline{display:grid;gap:12px}.timeline-item{border-left:3px solid #0f6fb5;padding:4px 0 4px 14px}.timeline-item p{margin:5px 0}.note-box{margin-top:14px;padding:12px;border-radius:10px;background:#f7fafc}.compact-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.compact-list{display:grid;gap:8px;margin-top:12px}.compact-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid #e5e7eb;padding-top:9px}@media(max-width:900px){.process-profile-grid{grid-template-columns:1fr}.data-list{grid-template-columns:120px 1fr}}

/* Governança compacta - perfil primeiro */
.governance-selector-panel {
  position: sticky;
  top: .75rem;
  z-index: 12;
  margin-bottom: 1rem;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}
.governance-selector-row { display: flex; align-items: end; gap: 1.25rem; }
.governance-profile-picker { min-width: 300px; }
.governance-profile-picker label { display: block; margin-bottom: .35rem; }
.governance-profile-select { width: 100%; min-height: 44px; font-size: 1rem; font-weight: 700; }
.governance-selector-help { display: flex; flex-direction: column; gap: .15rem; padding-bottom: .3rem; }
.governance-selector-help strong { font-size: 1.05rem; }
.governance-selector-help span { color: var(--muted, #64748b); font-size: .9rem; }
.governance-note { margin: .7rem 0 0; }
.governance-profile-stage { min-height: 300px; }
.governance-profile-card { display: none; margin-top: 0; }
.governance-profile-card.is-active { display: block; }
.governance-profile-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.governance-profile-toolbar h2 { margin: 0 0 .1rem; }
.governance-profile-toolbar span { color: var(--muted, #64748b); font-size: .88rem; }
.governance-toolbar-actions { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.permission-modules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; align-items: start; }
.permission-module-card { min-width: 0; margin: 0; border: 1px solid #dbe2ea; border-radius: 12px; padding: .7rem .8rem .75rem; background: #fff; }
.permission-module-card legend { padding: 0 .35rem; font-weight: 800; font-size: .86rem; color: #334155; }
.permission-module-options { display: grid; gap: .25rem; }
.permission-option.compact { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: .45rem; align-items: start; padding: .38rem .25rem; border-radius: 8px; cursor: pointer; }
.permission-option.compact:hover { background: #f8fafc; }
.permission-option.compact input { margin-top: .15rem; }
.permission-option.compact span { display: flex; flex-direction: column; min-width: 0; }
.permission-option.compact strong { font-size: .84rem; line-height: 1.2; }
.permission-option.compact small { color: #64748b; font-size: .7rem; overflow-wrap: anywhere; }
.governance-mobile-save { display: none; margin-top: 1rem; }
@media (max-width: 1200px) { .permission-modules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .governance-selector-panel { position: static; }
  .governance-selector-row, .governance-profile-toolbar { align-items: stretch; flex-direction: column; }
  .governance-profile-picker { min-width: 0; width: 100%; }
  .permission-modules-grid { grid-template-columns: 1fr; }
  .governance-toolbar-actions .primary-button { display: none; }
  .governance-mobile-save { display: block; }
  .governance-mobile-save .primary-button { width: 100%; }
}


/* Governança v3 — leitura orientada à ação */
.governance-capability-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.2rem 0 1rem}
.capability-pill{border:1px solid #dbe2ea;border-radius:10px;padding:.55rem .7rem;display:flex;flex-direction:column;gap:.1rem;background:#f8fafc}.capability-pill strong{font-size:.82rem}.capability-pill span{font-size:.76rem;color:#64748b}.capability-pill.is-off{opacity:.55}.capability-pill.is-on{border-color:#b9d6c3;background:#f6fbf7}
.governance-blocked{border:1px solid #ead9b8;background:#fffbf3;border-radius:10px;padding:.6rem .8rem;margin-bottom:1rem}.governance-blocked summary{font-weight:700;cursor:pointer}.governance-blocked ul{margin:.55rem 0 0 1.15rem;color:#5f5141}
.governance-section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:.4rem 0 .7rem}.governance-section-heading h3{margin:.1rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:800;color:#64748b}
.permission-modules-list{display:grid;gap:.6rem}.permission-module-row{display:grid;grid-template-columns:minmax(190px,260px) 1fr;gap:1rem;border:1px solid #dbe2ea;border-radius:12px;padding:.75rem .85rem;background:#fff}.permission-module-intro h4{margin:0 0 .2rem;font-size:.92rem}.permission-module-intro p{margin:0;color:#64748b;font-size:.78rem;line-height:1.35}.permission-module-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}
.permission-option.readable{display:flex;gap:.55rem;align-items:flex-start;padding:.48rem .55rem;border-radius:8px;border:1px solid transparent}.permission-option.readable:hover{background:#f8fafc;border-color:#e2e8f0}.permission-option.readable input{margin-top:.2rem}.permission-copy{min-width:0;flex:1}.permission-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.permission-title-line strong{font-size:.82rem;line-height:1.25}.permission-copy small{display:block;margin-top:.15rem;color:#94a3b8;font-size:.68rem}.permission-level{font-style:normal;font-size:.64rem;font-weight:800;border-radius:999px;padding:.13rem .4rem;white-space:nowrap;background:#eef2f7;color:#475569}.level-visualizar{background:#eef6ff;color:#315f91}.level-executar{background:#eef8f0;color:#356747}.level-autorizar{background:#fff6e8;color:#8a5b18}.level-administrar{background:#f7efff;color:#6f3c91}
.governance-sticky-save{position:sticky;bottom:.7rem;margin-top:1rem;border:1px solid #cad5e1;border-radius:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);padding:.65rem .8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 8px 28px rgba(15,23,42,.09)}.governance-sticky-save span{font-size:.78rem;color:#64748b}
@media(max-width:1100px){.permission-module-row{grid-template-columns:1fr}.permission-module-options{grid-template-columns:1fr}.governance-capability-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.governance-capability-summary{grid-template-columns:1fr 1fr}.governance-section-heading,.governance-sticky-save{align-items:stretch;flex-direction:column}.governance-sticky-save .primary-button{width:100%}}


/* Governança v4 — matriz estável e responsiva */
.governance-selector-panel {
  position: static;
  z-index: auto;
  margin-bottom: 1rem;
  box-shadow: none;
}
.governance-selector-row {
  display: grid;
  grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
  align-items: end;
  gap: 1.25rem;
}
.governance-profile-picker { min-width: 0; }
.governance-profile-select { width: 100%; }
.governance-profile-card { overflow: visible; }
.governance-profile-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.governance-profile-toolbar > div:first-child { min-width: 260px; flex: 1 1 420px; }
.governance-toolbar-actions { flex: 0 1 auto; }

.governance-capability-summary {
  grid-template-columns: repeat(4, minmax(135px, 1fr));
}

.permission-modules-list {
  display: grid;
  gap: .8rem;
}
.permission-module-row {
  display: grid;
  grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
  gap: 1.1rem;
  align-items: start;
  border: 1px solid #dbe2ea;
  border-radius: 14px;
  padding: .9rem 1rem;
  background: #fff;
  overflow: hidden;
}
.permission-module-intro { min-width: 0; }
.permission-module-intro h4 {
  margin: 0 0 .3rem;
  font-size: .98rem;
  line-height: 1.25;
  color: #172033;
}
.permission-module-intro p {
  margin: 0;
  color: #64748b;
  font-size: .8rem;
  line-height: 1.45;
}
.permission-module-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: .55rem;
  min-width: 0;
}

/* Neutraliza o estilo global de input aplicado aos checkboxes. */
.permission-option.readable {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: .65rem;
  min-width: 0;
  padding: .65rem .7rem;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  color: #334155;
  cursor: pointer;
}
.permission-option.readable:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}
.permission-option.readable input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  padding: 0 !important;
  margin: .15rem 0 0 !important;
  border: initial;
  border-radius: 3px;
  background: initial;
  box-sizing: border-box;
}
.permission-option.readable input[type="checkbox"]:disabled { cursor: not-allowed; }
.permission-copy {
  display: block !important;
  min-width: 0;
  width: 100%;
}
.permission-title-line {
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: .55rem;
  min-width: 0;
}
.permission-title-line strong {
  display: block;
  min-width: 0;
  font-size: .84rem;
  line-height: 1.35;
  color: #475569;
  overflow-wrap: break-word;
  word-break: normal;
}
.permission-level {
  flex: 0 0 auto;
  font-size: .64rem;
}
.governance-sticky-save {
  z-index: 8;
  bottom: .5rem;
}

@media (max-width: 1180px) {
  .permission-module-row { grid-template-columns: 1fr; }
  .permission-module-intro { padding-bottom: .15rem; }
}
@media (max-width: 900px) {
  .governance-selector-row { grid-template-columns: 1fr; align-items: stretch; }
  .governance-capability-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .permission-module-options { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .governance-profile-toolbar,
  .governance-section-heading,
  .governance-sticky-save { flex-direction: column; align-items: stretch; }
  .governance-toolbar-actions { width: 100%; }
  .governance-toolbar-actions button { flex: 1 1 auto; }
  .governance-capability-summary { grid-template-columns: 1fr 1fr; }
  .permission-module-row { padding: .8rem; }
  .permission-title-line { flex-direction: column; gap: .35rem; }
  .permission-level { align-self: flex-start; }
  .governance-sticky-save .primary-button { width: 100%; }
}
@media (max-width: 460px) {
  .governance-capability-summary { grid-template-columns: 1fr; }
}

/* =========================================================
   Refinamento global de interface e navegação — v5
   Hierarquia leve, módulos por cor e ícones sem dependências externas.
   ========================================================= */
:root {
  --bg: #f4f7fa;
  --surface: #ffffff;
  --surface-2: #f8fafc;
  --text: #1f2937;
  --muted: #667085;
  --line: #dde5ec;
  --primary: #1769a8;
  --primary-strong: #0e4e80;
  --secondary: #18865f;
  --radius: 12px;
  --module-accent: #1769a8;
  --module-soft: #edf6fd;
}

body.theme-green { --module-accent: #18865f; --module-soft: #edf8f3; }
body.theme-purple { --module-accent: #7654a5; --module-soft: #f5f0fb; }
body.theme-orange { --module-accent: #c86a1b; --module-soft: #fff4e9; }
body.theme-amber { --module-accent: #a86e12; --module-soft: #fff7df; }
body.theme-teal { --module-accent: #147d83; --module-soft: #edf8f8; }
body.theme-indigo { --module-accent: #4f61a8; --module-soft: #f0f2fb; }
body.theme-rose { --module-accent: #a84f67; --module-soft: #fbf0f3; }
body.theme-slate { --module-accent: #566273; --module-soft: #f1f4f7; }

.ui-icon {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
}

.app-shell {
  grid-template-columns: 252px minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 16px 12px 14px;
  overflow-y: auto;
  color: var(--text);
  background: #ffffff;
  border-right: 1px solid var(--line);
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 8px 16px;
  margin-bottom: 5px;
  border-bottom: 1px solid #edf1f5;
}

.brand-mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: #ffffff;
  background: #145e95;
  border-radius: 11px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}

.brand-copy {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.brand-copy strong {
  font-size: 14px;
  line-height: 1.2;
}

.brand-copy small {
  color: var(--muted);
  font-size: 11px;
}

.nav-list {
  display: grid;
  gap: 5px;
  padding-top: 6px;
}

.nav-home,
.nav-group summary,
.nav-logout {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 9px 10px;
  color: #344054;
  border-radius: 9px;
  cursor: pointer;
  font-weight: 700;
}

.nav-home:hover,
.nav-group summary:hover,
.nav-logout:hover {
  background: #f5f7fa;
}

.nav-home.is-active {
  color: #125d94;
  background: #edf6fd;
}

.nav-group {
  --nav-accent: #1769a8;
  --nav-soft: #edf6fd;
}
.nav-theme-green { --nav-accent: #18865f; --nav-soft: #edf8f3; }
.nav-theme-purple { --nav-accent: #7654a5; --nav-soft: #f5f0fb; }
.nav-theme-orange { --nav-accent: #c86a1b; --nav-soft: #fff4e9; }
.nav-theme-indigo { --nav-accent: #4f61a8; --nav-soft: #f0f2fb; }
.nav-theme-slate { --nav-accent: #566273; --nav-soft: #f1f4f7; }

.nav-group summary {
  justify-content: space-between;
  list-style: none;
}
.nav-group summary::-webkit-details-marker { display: none; }
.nav-summary-main { display: flex; align-items: center; gap: 10px; }
.nav-group summary > .nav-summary-main .ui-icon { color: var(--nav-accent); }
.nav-chevron { width: 15px; height: 15px; color: #98a2b3; transition: transform .18s ease; }
.nav-group[open] .nav-chevron { transform: rotate(90deg); }
.nav-group[open] > summary { color: var(--nav-accent); background: var(--nav-soft); }

.nav-group-links {
  display: grid;
  gap: 2px;
  padding: 4px 0 5px 38px;
}

.nav-group-links a {
  position: relative;
  padding: 7px 10px;
  color: #667085;
  border-radius: 7px;
  font-size: 12.5px;
  line-height: 1.25;
}

.nav-group-links a::before {
  content: '';
  position: absolute;
  left: -11px;
  top: 50%;
  width: 4px;
  height: 4px;
  background: #c7d0d9;
  border-radius: 50%;
  transform: translateY(-50%);
}

.nav-group-links a:hover {
  color: #344054;
  background: #f7f9fb;
}

.nav-group-links a.is-active {
  color: var(--nav-accent);
  background: var(--nav-soft);
  font-weight: 700;
}
.nav-group-links a.is-active::before { background: var(--nav-accent); }

.sidebar-footer {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #edf1f5;
}
.nav-logout { color: #667085; font-weight: 600; }

.main {
  padding: 18px 24px 36px;
}

.topbar {
  min-height: 62px;
  padding-bottom: 13px;
  margin-bottom: 18px;
  border-bottom: 1px solid #e4e9ef;
}

.page-context {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.page-context-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--module-accent);
  background: var(--module-soft);
  border-radius: 11px;
}
.page-context-icon .ui-icon { width: 21px; height: 21px; }

.page-context .eyebrow {
  margin-bottom: 1px;
  color: var(--module-accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.page-context h1 {
  overflow: hidden;
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.user-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  background: transparent;
  border-color: #e1e7ed;
}
.user-pill > .ui-icon { width: 17px; height: 17px; color: #667085; }
.user-pill > span { display: grid; gap: 0; }
.user-pill strong { color: #344054; font-size: 11px; font-weight: 700; }
.user-pill small { color: #98a2b3; font-size: 9.5px; }

.topbar-home {
  gap: 6px;
  min-height: 34px;
  padding: 7px 9px;
  color: #475467;
  border-color: #d8e0e7;
}
.topbar-home .ui-icon { width: 16px; height: 16px; }

.panel,
.hero,
.profile-heading,
.profile-status,
.profile-section,
.stat-card,
.report-sheet {
  border-color: #dfe6ec;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .025);
}

.panel { padding: 15px 16px; }
.panel h2 { margin-bottom: 6px; }
.panel p:last-child { margin-bottom: 0; }

.primary-button,
.ghost-button,
.small-button {
  gap: 6px;
  font-weight: 700;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.primary-button:hover,
.ghost-button:hover,
.small-button:hover { transform: translateY(-1px); }

/* Página inicial */
.home-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 6px 2px 16px;
}
.home-hero h2 { margin: 0; font-size: 23px; }
.home-hero .eyebrow { margin-bottom: 3px; }
.home-hero-action .ui-icon { width: 17px; height: 17px; }

.home-module-section { margin-bottom: 22px; }
.home-module-section-secondary { margin-top: 4px; }
.home-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}
.home-section-heading h3 { margin: 0; font-size: 14px; }
.home-section-heading span { color: #98a2b3; font-size: 11px; }

.module-grid { gap: 11px; }
.module-grid-home { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
.module-grid-management { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
.module-grid-navigation { grid-template-columns: repeat(3, minmax(220px, 1fr)); }

.module-card {
  --card-accent: #1769a8;
  --card-soft: #edf6fd;
  display: block;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-left: 3px solid var(--card-accent);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .035);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.module-card:hover {
  border-color: #cad5df;
  border-left-color: var(--card-accent);
  box-shadow: 0 7px 20px rgba(15, 23, 42, .075);
  transform: translateY(-1px);
}
.module-theme-green { --card-accent: #18865f; --card-soft: #edf8f3; }
.module-theme-purple { --card-accent: #7654a5; --card-soft: #f5f0fb; }
.module-theme-orange { --card-accent: #c86a1b; --card-soft: #fff4e9; }
.module-theme-amber { --card-accent: #a86e12; --card-soft: #fff7df; }
.module-theme-teal { --card-accent: #147d83; --card-soft: #edf8f8; }
.module-theme-indigo { --card-accent: #4f61a8; --card-soft: #f0f2fb; }
.module-theme-rose { --card-accent: #a84f67; --card-soft: #fbf0f3; }
.module-theme-slate { --card-accent: #566273; --card-soft: #f1f4f7; }
.module-theme-cyan { --card-accent: #16869a; --card-soft: #ebf8fb; }
.module-theme-gray { --card-accent: #7b8794; --card-soft: #f2f4f7; }

.module-card-main-link {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-height: 94px;
  padding: 14px;
  background: #ffffff;
}

.module-icon-wrap {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--card-accent);
  background: var(--card-soft);
  border-radius: 10px;
}
.module-icon-wrap .ui-icon { width: 20px; height: 20px; }
.module-card-copy { display: grid; gap: 5px; min-width: 0; flex: 1; }
.module-card-title-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.module-card strong { color: #243041; font-size: 15px; }
.module-card-main-link small { color: #7b8794; font-size: 11.5px; line-height: 1.35; }
.module-card-arrow { width: 17px; height: 17px; color: #a5afba; transition: transform .16s ease, color .16s ease; }
.module-card:hover .module-card-arrow { color: var(--card-accent); transform: translateX(2px); }

.module-submenu {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0 14px 13px 63px;
  background: #ffffff;
}
.module-submenu a {
  padding: 4px 7px;
  color: #667085;
  background: #f7f9fb;
  border: 1px solid #e9eef3;
  border-radius: 999px;
  font-size: 10.5px;
  line-height: 1.2;
}
.module-submenu a:hover { color: var(--card-accent); background: var(--card-soft); border-color: transparent; }

.compact-intro-panel { margin-bottom: 12px; }
.prepared-modules { margin-top: 20px; padding: 2px; }
.prepared-modules-list { display: flex; flex-wrap: wrap; gap: 8px; }
.prepared-modules-list > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  color: #7b8794;
  background: #f7f9fb;
  border: 1px dashed #d8e0e7;
  border-radius: 9px;
  font-size: 11px;
}
.prepared-modules-list .ui-icon { width: 15px; height: 15px; }

/* Tabelas e formulários: menos peso visual */
th { color: #667085; background: #f8fafc; font-size: 10.5px; letter-spacing: .03em; }
th, td { padding: 9px 10px; }
tr:last-child td { border-bottom: 0; }
input, textarea, select { border-color: #d8e0e7; }
input:focus, textarea:focus, select:focus { outline: 2px solid color-mix(in srgb, var(--module-accent) 18%, transparent); border-color: var(--module-accent); }

@media (max-width: 1180px) {
  .module-grid-home,
  .module-grid-management,
  .module-grid-navigation { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
}

@media (max-width: 900px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; padding-bottom: 10px; }
  .brand { margin-bottom: 2px; }
  .sidebar-footer { margin-top: 8px; }
  .main { padding: 16px; }
  .topbar { align-items: stretch; flex-direction: column; }
  .topbar-actions { justify-content: space-between; }
  .page-context h1 { white-space: normal; }
  .module-grid-home,
  .module-grid-management,
  .module-grid-navigation { grid-template-columns: 1fr; }
  .home-hero { align-items: stretch; flex-direction: column; }
  .home-hero-action { align-self: flex-start; }
}

@media (max-width: 560px) {
  .topbar-actions { align-items: stretch; flex-direction: column; }
  .user-pill { width: 100%; }
  .topbar-home { width: 100%; }
  .home-section-heading { align-items: flex-start; flex-direction: column; gap: 2px; }
  .module-submenu { padding-left: 14px; }
}

/* =========================================================
   Módulo Ações — registro rápido + indicadores
   ========================================================= */
body.theme-cyan { --module-accent: #16869a; --module-soft: #ebf8fb; }
.nav-theme-cyan { --nav-accent: #16869a; --nav-soft: #ebf8fb; }

.action-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
  padding: 18px 20px;
  background: linear-gradient(135deg, #f7fcfd, #fff);
  border: 1px solid #dcecef;
  border-left: 4px solid #16869a;
  border-radius: 14px;
}
.action-hero.compact { padding: 14px 16px; }
.action-hero h2 { margin: 2px 0 5px; font-size: 22px; }
.action-hero p { max-width: 760px; margin: 0; color: #667085; }
.action-hero-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.action-hero-buttons .ui-icon { width: 16px; height: 16px; }

.action-filter-panel { margin-bottom: 12px; padding: 11px 13px; }
.action-filter-grid {
  display: grid;
  grid-template-columns: 135px 135px minmax(120px, .8fr) minmax(220px, 1.5fr) minmax(160px, 1fr) auto;
  align-items: end;
  gap: 8px;
}
.action-filter-grid.records { grid-template-columns: minmax(160px,1fr) 135px 135px 130px minmax(220px,1.3fr) auto; }
.action-filter-grid label { display: grid; gap: 4px; color: #667085; font-size: 10.5px; font-weight: 700; }
.action-filter-grid input, .action-filter-grid select { min-height: 34px; padding: 6px 8px; font-size: 12px; }
.action-filter-actions { display: flex; gap: 5px; padding-bottom: 1px; }

.action-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px,1fr));
  gap: 9px;
  margin-bottom: 12px;
}
.action-kpi-grid article {
  display: grid;
  gap: 5px;
  min-height: 82px;
  padding: 12px 13px;
  background: #fff;
  border: 1px solid #e1e8ed;
  border-top: 3px solid #b8dfe5;
  border-radius: 11px;
}
.action-kpi-grid article.needs-attention { border-top-color: #d48a24; background: #fffaf2; }
.action-kpi-grid span { color: #7b8794; font-size: 10.5px; font-weight: 700; }
.action-kpi-grid strong { align-self: end; color: #253247; font-size: 25px; line-height: 1; }
.action-kpi-grid.balance { grid-template-columns: repeat(5,1fr); }

.action-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-bottom: 12px; }
.action-chart-panel { min-height: 260px; }
.action-bar-list { display: grid; gap: 8px; }
.action-bar-row { display: grid; grid-template-columns: 75px minmax(80px,1fr) 30px; align-items: center; gap: 8px; }
.action-bar-row > span { overflow: hidden; color: #4f5d70; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.product-bars .action-bar-row { grid-template-columns: minmax(130px,1.4fr) minmax(80px,1fr) 30px; }
.action-bar-track { height: 7px; overflow: hidden; background: #eef3f5; border-radius: 99px; }
.action-bar-track i { display: block; height: 100%; background: #50a9b6; border-radius: inherit; }
.action-bar-row strong { color: #475467; font-size: 11px; text-align: right; }

.action-month-bars { display: flex; align-items: flex-end; gap: 8px; min-height: 160px; padding-top: 14px; overflow-x: auto; }
.action-month-bars > div { display: grid; grid-template-rows: 22px 110px 22px; align-items: end; justify-items: center; min-width: 44px; flex: 1; }
.action-month-bars strong { color: #475467; font-size: 10px; }
.action-month-bars i { display: block; width: 18px; min-height: 8px; max-height: 100%; background: #78bdc7; border-radius: 6px 6px 2px 2px; }
.action-month-bars span { color: #98a2b3; font-size: 9px; }
.action-type-list { display: grid; gap: 6px; }
.action-type-list > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 9px; background: #f8fafb; border-radius: 8px; }
.action-type-list span { color: #5d6878; font-size: 11px; }
.action-type-list strong { color: #16869a; font-size: 12px; }

.action-inline-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.action-feed { display: grid; }
.action-feed-item { display: grid; grid-template-columns: 46px minmax(0,1fr) minmax(90px,180px) 18px; align-items: center; gap: 10px; padding: 10px 4px; border-bottom: 1px solid #edf1f4; color: inherit; }
.action-feed-item:last-child { border-bottom: 0; }
.action-feed-item:hover { background: #fbfdfd; }
.action-feed-date { color: #16869a; font-size: 11px; font-weight: 800; }
.action-feed-main { display: grid; gap: 2px; min-width: 0; }
.action-feed-main strong { color: #344054; font-size: 12px; }
.action-feed-main small { color: #7b8794; font-size: 10px; }
.action-feed-main em { overflow: hidden; color: #667085; font-size: 10.5px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.action-feed-place { overflow: hidden; color: #667085; font-size: 10.5px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.action-feed-item > .ui-icon { width: 15px; height: 15px; color: #b0bac4; }

.action-entry-form { display: grid; gap: 11px; }
.action-entry-primary { padding: 16px; }
.action-step-title { display: flex; align-items: center; gap: 9px; }
.action-step-title > span { display: grid; width: 28px; height: 28px; place-items: center; flex: 0 0 auto; color: #16869a; background: #ebf8fb; border-radius: 8px; font-weight: 800; }
.action-step-title > div { display: grid; gap: 1px; }
.action-step-title strong { color: #344054; font-size: 13px; }
.action-step-title small { color: #98a2b3; font-size: 10px; }
.action-entry-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 12px; margin-top: 14px; }
.action-entry-grid.primary-fields { grid-template-columns: 180px minmax(240px,1fr); }
.action-entry-grid label { display: grid; align-content: start; gap: 4px; color: #5e6b7c; font-size: 11px; font-weight: 700; }
.action-entry-grid label > small { color: #98a2b3; font-size: 9.5px; font-weight: 500; }
.action-entry-grid .span-2 { grid-column: 1 / -1; }
.action-entry-grid textarea { resize: vertical; }
.action-more-details { padding: 0; overflow: hidden; }
.action-more-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; cursor: pointer; list-style: none; }
.action-more-details > summary::-webkit-details-marker { display:none; }
.action-more-details > summary > .ui-icon { width: 16px; height: 16px; color: #98a2b3; transition: transform .18s; }
.action-more-details[open] > summary > .ui-icon { transform: rotate(90deg); }
.action-detail-fields { padding: 2px 15px 15px; border-top: 1px solid #edf1f4; }
.action-return-field { grid-template-columns: 1fr; }
.action-return-field .check-field { min-height: 33px; }
.action-submit-bar { position: sticky; bottom: 10px; z-index: 6; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; background: rgba(255,255,255,.96); border: 1px solid #dce5ea; border-radius: 11px; box-shadow: 0 7px 25px rgba(15,23,42,.08); backdrop-filter: blur(8px); }
.action-submit-bar span { color: #7b8794; font-size: 10.5px; }

.action-record-list .table-wrap { max-height: 68vh; }
.action-description-cell { max-width: 320px; color: #667085; font-size: 11px; }
.action-row-buttons { display: flex; gap: 5px; }
.action-row-buttons .small-button, .action-row-buttons .ghost-button { min-height: 30px; padding: 5px 7px; font-size: 10px; }

.action-details-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.75fr); gap: 11px; }
.action-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 8px 0 0; }
.action-facts > div { padding: 9px 4px; border-bottom: 1px solid #edf1f4; }
.action-facts dt { color: #98a2b3; font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.action-facts dd { margin: 3px 0 0; color: #344054; font-size: 11.5px; }
.action-return-card { display: grid; gap: 5px; padding: 11px; border-radius: 10px; }
.action-return-card.pending { background: #fff8e8; border: 1px solid #f1d79e; }
.action-return-card.done { background: #eef8f2; border: 1px solid #bfe3cc; }
.action-return-card span { color: #667085; font-size: 10.5px; }
.action-return-card form { margin-top: 4px; }
.action-evidence-heading { margin-top: 18px; }
.action-file-list { display: grid; gap: 5px; }
.action-file-list a { display: flex; justify-content: space-between; gap: 10px; padding: 8px; background: #f8fafb; border-radius: 8px; }
.action-file-list strong { overflow: hidden; color: #475467; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.action-file-list small { color: #98a2b3; font-size: 9px; white-space: nowrap; }
.action-upload { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; margin-top: 9px; }
.action-upload input[type="file"] { min-height: 34px; padding: 5px; font-size: 10px; }

.action-product-form { display: grid; grid-template-columns: minmax(160px,.7fr) minmax(280px,1.5fr) minmax(180px,.7fr) auto; align-items: end; gap: 9px; }
.action-product-form label { display: grid; gap: 4px; color: #667085; font-size: 10.5px; font-weight: 700; }
.action-product-group { margin-top: 10px; }
.action-product-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.action-product-list article { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; background: #fafcfd; border: 1px solid #e8edf1; border-radius: 9px; }
.action-product-list article.is-inactive { opacity: .55; }
.action-product-list article > div { display: grid; gap: 2px; min-width: 0; }
.action-product-list strong { color: #344054; font-size: 11px; }
.action-product-list small { color: #98a2b3; font-size: 9.5px; }
.action-product-list form { flex: 0 0 auto; }

.action-balance-header { text-align: center; }
.action-balance-header h2 { margin: 3px 0; font-size: 25px; }
.action-unit-grid { display: grid; grid-template-columns: repeat(4,minmax(120px,1fr)); gap: 8px; }
.action-unit-grid article { display: grid; gap: 5px; padding: 11px; background: #f8fafb; border-radius: 9px; }
.action-unit-grid span { color: #667085; font-size: 10px; }
.action-unit-grid strong { color: #344054; font-size: 19px; }

@media (max-width: 1250px) {
  .action-filter-grid, .action-filter-grid.records { grid-template-columns: repeat(3,minmax(150px,1fr)); }
  .action-kpi-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 900px) {
  .action-hero { flex-direction: column; }
  .action-dashboard-grid, .action-details-grid { grid-template-columns: 1fr; }
  .action-product-list { grid-template-columns: 1fr; }
  .action-product-form { grid-template-columns: 1fr 1fr; }
  .action-feed-item { grid-template-columns: 42px minmax(0,1fr) 18px; }
  .action-feed-place { display:none; }
}
@media (max-width: 620px) {
  .action-filter-grid, .action-filter-grid.records, .action-entry-grid, .action-entry-grid.primary-fields, .action-product-form { grid-template-columns: 1fr; }
  .action-entry-grid .span-2 { grid-column: auto; }
  .action-kpi-grid, .action-kpi-grid.balance { grid-template-columns: repeat(2,1fr); }
  .action-facts { grid-template-columns: 1fr; }
  .action-submit-bar { position: static; align-items: stretch; flex-direction: column; }
  .action-submit-bar .primary-button { width:100%; }
  .action-upload { grid-template-columns: 1fr; }
}

@media print {
  .print-hide, .sidebar, .topbar, .action-filter-panel { display:none !important; }
  .app-shell { display:block; }
  .main { padding:0; }
  .panel { break-inside: avoid; box-shadow:none; }
  .action-kpi-grid { break-inside:avoid; }
}

/* Ações — busca rápida e manutenção do catálogo */
.action-product-picker { display:grid; gap:.45rem; }
.action-product-picker input[type="search"] { background:#f8fafc; }
.action-product-main { min-width:0; display:grid; gap:.2rem; }
.action-product-actions { display:flex; align-items:flex-start; gap:.5rem; flex-wrap:wrap; }
.action-product-edit { position:relative; }
.action-product-edit > summary { list-style:none; cursor:pointer; user-select:none; }
.action-product-edit > summary::-webkit-details-marker { display:none; }
.action-product-edit[open] > summary { background:#e0f2fe; border-color:#bae6fd; }
.action-product-edit form { position:absolute; z-index:20; right:0; top:calc(100% + .4rem); width:min(520px,82vw); padding:.85rem; border:1px solid #dbe3ee; border-radius:12px; background:#fff; box-shadow:0 16px 40px rgba(15,23,42,.16); display:grid; grid-template-columns:120px minmax(180px,1fr) minmax(150px,.75fr); gap:.6rem; align-items:end; }
.action-product-edit form label { display:grid; gap:.25rem; font-size:.78rem; color:#475569; }
.action-product-edit form .primary-button { min-height:38px; }
@media (max-width:760px){.action-product-actions{width:100%;}.action-product-edit form{position:fixed;left:1rem;right:1rem;top:20%;width:auto;grid-template-columns:1fr;max-height:70vh;overflow:auto;}}

/* Cadastro de servidores: ativos/inativos e ações administrativas */
.server-registry-switcher .section-heading { align-items: center; gap: 18px; }
.server-status-tabs { flex-wrap: wrap; }
.server-status-tabs a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.server-row-inactive { background: #f8fafc; color: #667085; }
.server-row-inactive strong { color: #475467; }
.badge-inactive { background: #f2f4f7; color: #475467; border: 1px solid #d0d5dd; }
.inline-action-form { display: inline-flex; margin: 0; }
.server-row-actions { align-items: center; flex-wrap: wrap; min-width: 420px; }
@media (max-width: 900px) {
  .server-row-actions { min-width: 300px; }
  .server-registry-switcher .section-heading { align-items: flex-start; }
}

/* Agenda DRE + Reserva de Espaços */
.agenda-hero .panel-header,.space-hero .panel-header{align-items:flex-start}.agenda-hero p,.space-hero p{margin:.3rem 0 0;color:#667085}.agenda-kpis{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:14px}.agenda-kpis article{padding:12px;background:#f8fafc;border:1px solid #e7edf3;border-radius:11px;display:grid;gap:5px}.agenda-kpis span{font-size:10px;color:#667085;font-weight:700}.agenda-kpis strong{font-size:22px;color:#344054}.agenda-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr)) auto;gap:9px;align-items:end}.agenda-filter-grid label{display:grid;gap:5px;font-size:10.5px;font-weight:700;color:#667085}.agenda-nav{display:flex;justify-content:center;gap:8px;margin-top:10px}.dre-calendar{display:grid;gap:7px}.dre-calendar.is-week{grid-template-columns:repeat(7,minmax(130px,1fr))}.dre-calendar.is-month{grid-template-columns:repeat(7,minmax(110px,1fr))}.dre-calendar-day{min-height:180px;border:1px solid #e5eaf0;border-radius:10px;background:#fff;overflow:hidden}.dre-calendar-day.is-today{border-color:#84caff;box-shadow:inset 0 0 0 1px #b2ddff}.dre-calendar-day.is-outside{opacity:.48;background:#f9fafb}.dre-calendar-day>header{display:flex;justify-content:space-between;padding:7px 9px;border-bottom:1px solid #eef2f6;background:#f8fafc}.dre-calendar-day>header strong{font-size:10px;color:#667085}.dre-calendar-day>header span{font-size:13px;font-weight:800;color:#344054}.dre-calendar-entries{display:grid;gap:5px;padding:6px}.agenda-entry{padding:6px 7px;border-left:3px solid #98a2b3;border-radius:6px;background:#f8fafc;display:grid;gap:1px;min-width:0}.agenda-entry strong{font-size:9.5px;color:#344054;overflow:hidden;text-overflow:ellipsis}.agenda-entry small{font-size:8.5px;color:#667085}.agenda-entry span{font-size:8px;color:#98a2b3;font-weight:800}.agenda-type-ferias{border-left-color:#12b76a}.agenda-type-afastamento{border-left-color:#f79009}.agenda-type-folga,.agenda-type-compensacao{border-left-color:#7a5af8}.agenda-type-viagem{border-left-color:#ef6820}.agenda-type-plano{border-left-color:#16a34a}.agenda-type-compromisso{border-left-color:#2e90fa}.agenda-more{padding:3px;color:#667085}.agenda-coord-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px}.agenda-coord-grid article{padding:11px;border:1px solid #e7edf3;border-radius:10px;background:#fafcfd}.agenda-coord-grid h3{margin:0 0 7px;font-size:12px}.agenda-person{display:grid;gap:1px;padding:6px 0;border-top:1px solid #eef2f6}.agenda-person:first-of-type{border-top:0}.agenda-person strong{font-size:10.5px}.agenda-person span{font-size:9px;color:#667085}.space-filters{grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) auto}.table-subline{display:block;margin-top:3px;color:#98a2b3;font-size:9px}.status-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800;background:#f2f4f7;color:#475467}.status-pendente{background:#fffaeb;color:#b54708}.status-aprovada{background:#ecfdf3;color:#027a48}.status-negada,.status-cancelada{background:#fef3f2;color:#b42318}.space-decision{position:relative}.space-decision>summary{list-style:none;cursor:pointer}.space-decision>summary::-webkit-details-marker{display:none}.space-decision form{position:absolute;z-index:30;right:0;top:calc(100% + 5px);width:310px;padding:10px;background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 14px 32px rgba(15,23,42,.18)}.space-decision textarea{width:100%;min-height:70px;margin-bottom:7px}
@media(max-width:1200px){.agenda-kpis{grid-template-columns:repeat(3,1fr)}.agenda-filter-grid{grid-template-columns:repeat(3,1fr)}.dre-calendar.is-week,.dre-calendar.is-month{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.agenda-kpis,.agenda-filter-grid,.space-filters,.agenda-coord-grid{grid-template-columns:1fr}.dre-calendar.is-week,.dre-calendar.is-month{grid-template-columns:1fr}.dre-calendar-day{min-height:auto}.space-decision form{position:fixed;left:1rem;right:1rem;top:25%;width:auto}}

/* Estrutura organizacional e eixos institucionais — Organogramas DRE 2026 */
.org-structure-panel .panel-header{align-items:flex-start}.org-tree{display:grid;gap:8px;max-width:980px}.org-node{display:grid;grid-template-columns:88px minmax(220px,1fr) minmax(180px,.65fr);gap:12px;align-items:center;padding:11px 12px;border:1px solid #e4eaf0;border-radius:11px;background:#fff}.org-node.level-0{margin-right:18%}.org-node.level-1{margin-left:9%;margin-right:9%}.org-node.level-2{margin-left:18%}.org-node-code{font-size:11px;font-weight:900;letter-spacing:.04em;color:#344054}.org-node-main,.org-node-responsible{display:grid;gap:2px}.org-node-main strong,.org-node-responsible strong{font-size:11px;color:#344054}.org-node-main small,.org-node-responsible span{font-size:9px;color:#98a2b3}.row-muted{opacity:.62}.muted-note{margin-top:10px;color:#667085;font-size:10px;line-height:1.5}.action-product-form-axis{grid-template-columns:minmax(150px,.65fr) minmax(220px,1fr) minmax(260px,1.25fr) minmax(160px,.7fr) auto}.action-axis-heading{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:8px 3px 2px;border-bottom:1px solid #eef2f6}.action-axis-heading span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3;font-weight:800}.action-axis-heading strong{font-size:10.5px;color:#475467}.action-product-edit form{grid-template-columns:120px minmax(190px,1fr) minmax(190px,1fr) minmax(150px,.7fr) auto}.action-product-edit form small{font-size:9px;color:#98a2b3}.action-product-group.has-inactive .status-badge{margin-left:auto}
@media(max-width:1100px){.action-product-form-axis{grid-template-columns:1fr 1fr}.org-node{grid-template-columns:80px 1fr}.org-node-responsible{grid-column:2}.action-product-edit form{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.org-node,.org-node.level-0,.org-node.level-1,.org-node.level-2{margin:0;grid-template-columns:1fr}.org-node-responsible{grid-column:auto}.action-product-form-axis,.action-product-edit form{grid-template-columns:1fr}}

/* Viagens - inclusão explícita de participantes */
.participant-picker {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid #dfe5ec;
  border-radius: 14px;
  background: #fbfcfd;
}
.participant-picker-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.participant-picker-heading > div { display:grid; gap:4px; }
.participant-picker-heading strong { font-size: 14px; color: #27364a; }
.participant-picker-heading small { color:#667085; }
.participant-picker-add { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
.participant-picker-add label { margin:0; }
.participant-add-button { min-width: 170px; }
.participant-selected-wrap { display:grid; gap:8px; }
.participant-selected-title { font-size:12px; font-weight:700; color:#475467; }
.participant-selected-list { display:grid; gap:8px; }
.participant-selected-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#fff;
}
.participant-selected-item span { min-width:0; overflow-wrap:anywhere; font-size:12px; color:#344054; }
.participant-empty { padding:12px; border:1px dashed #d0d5dd; border-radius:10px; color:#667085; font-size:12px; text-align:center; }
.participant-empty.is-hidden { display:none; }
@media (max-width: 760px) {
  .participant-picker-add { grid-template-columns:1fr; }
  .participant-add-button { width:100%; min-width:0; }
}

/* Planejamento Operacional */
.planning-participant-list{display:grid;gap:.65rem;margin-top:1rem}.planning-participant-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:.75rem;align-items:center;padding:.75rem 1rem;border:1px solid var(--border,#d9e0e7);border-radius:12px;background:#fff}.planning-participant-row>div{display:flex;flex-direction:column;gap:.15rem}.planning-participant-row small{color:var(--muted,#64748b)}.checkbox-label{display:flex!important;align-items:center;gap:.5rem}.checkbox-label input{width:auto!important}.span-2{grid-column:1/-1}@media(max-width:760px){.planning-participant-row{grid-template-columns:1fr}.span-2{grid-column:auto}}
.document-template-hero p{max-width:880px;margin:.35rem 0 0;color:#667085}.document-template-guide{margin-bottom:14px}.document-template-steps{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:8px 16px}.document-template-steps span{padding:9px 10px;border:1px solid #e7edf3;border-radius:9px;background:#f8fafc;font-size:11px;color:#475467}.document-template-steps strong{color:#344054}.document-template-grid{display:grid;grid-template-columns:repeat(2,minmax(340px,1fr));gap:14px}.document-template-card{display:grid;gap:13px}.document-template-card.template-invalid{border-color:#fda29b}.document-template-card .panel-header{align-items:flex-start}.document-template-card .panel-header p{margin:.25rem 0 0;color:#667085;font-size:10.5px}.document-template-meta{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;margin:0}.document-template-meta>div{padding:9px;border:1px solid #eef2f6;border-radius:9px;background:#fafcfd}.document-template-meta dt{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;color:#98a2b3;font-weight:800}.document-template-meta dd{margin:3px 0 0;font-size:10.5px;color:#344054;font-weight:700}.document-template-path{display:grid;gap:5px;padding:10px;border-radius:9px;background:#f8fafc}.document-template-path strong{font-size:10px;color:#475467}.document-template-path code{white-space:normal;overflow-wrap:anywhere;font-size:9.5px;color:#344054}.document-template-tokens{border:1px solid #e7edf3;border-radius:9px;padding:9px 10px}.document-template-tokens summary{cursor:pointer;font-size:10.5px;font-weight:800;color:#475467}.document-template-tokens>div{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.document-template-tokens code{padding:3px 5px;border-radius:5px;background:#f2f4f7;font-size:8.5px;color:#667085}.document-template-tokens code.is-required{background:#fff4e5;color:#b54708}.document-template-tokens small{font-size:9px;color:#98a2b3}.document-template-actions{display:flex;flex-wrap:wrap;gap:8px}.document-template-actions form{margin:0}.document-template-upload{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;padding-top:4px}.document-template-upload label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#667085}.document-template-upload input[type=file]{min-height:40px;padding:7px;background:#fff}.document-template-upload .primary-button{min-height:40px}@media(max-width:1100px){.document-template-grid{grid-template-columns:1fr}.document-template-meta{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.document-template-steps,.document-template-upload,.document-template-meta{grid-template-columns:1fr}.document-template-upload .primary-button{width:100%}}

/* Protocolo único de documentos oficiais */
.protocol-hero p{max-width:900px}.protocol-request-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.protocol-mode{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px}.protocol-mode legend{grid-column:1/-1;font-size:10px;font-weight:800;color:#475467;margin-bottom:5px}.protocol-mode-card{display:flex!important;gap:10px;align-items:flex-start;padding:13px;border:1px solid #dfe7ec;border-radius:12px;background:#fff;cursor:pointer}.protocol-mode-card input{margin-top:3px;width:auto!important}.protocol-mode-card span{display:grid;gap:4px}.protocol-mode-card strong{font-size:11px;color:#344054}.protocol-mode-card small{font-size:9.5px;color:#667085;line-height:1.45}.protocol-receipt-card{text-align:center;max-width:860px;margin:0 auto}.protocol-receipt-title{font-size:23px;line-height:1.3;margin:10px auto;max-width:720px;color:#222}.protocol-number{font-size:21px;font-weight:800;margin:18px auto 10px;letter-spacing:.01em}.protocol-description{color:#667085;margin:6px auto 18px}.protocol-circle{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;margin:18px auto;background:#e1e5ed;font-size:55px;color:#344054}.protocol-meta{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:20px 0 0;text-align:left}.protocol-meta>div{border:1px solid #edf1f5;border-radius:9px;padding:9px}.protocol-meta dt{font-size:8px;text-transform:uppercase;color:#98a2b3;font-weight:800}.protocol-meta dd{margin:4px 0 0;font-size:10px;color:#344054;font-weight:700}.protocol-actions{justify-content:center;margin-top:18px}.protocol-actions form{margin:0}.protocol-overview{margin-top:14px}.sequence-form{display:flex;gap:6px;align-items:center}.sequence-form input{max-width:110px;min-height:34px}.sequence-panel{margin-top:14px}@media(max-width:760px){.protocol-request-grid,.protocol-mode,.protocol-meta{grid-template-columns:1fr}.protocol-circle{width:135px;height:135px;font-size:45px}.protocol-receipt-title{font-size:19px}.sequence-form{align-items:stretch;flex-direction:column}}

/* Redação interna de documentos oficiais */
.document-editor-panel{overflow:visible}.document-editor-common{margin-bottom:1rem}.draft-type-section{margin-top:1.1rem;padding-top:.25rem;border-top:1px solid var(--border,#d9e2ec)}.draft-type-section[hidden]{display:none!important}.document-body-editor{min-height:260px;line-height:1.55;font-family:Georgia,'Times New Roman',serif;font-size:1rem}.participant-builder>label{display:block;margin-bottom:.35rem;font-weight:600}.inline-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end}.selected-participants{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.selected-participant{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #cfd8e3;background:#f7fafc;border-radius:999px;padding:.36rem .48rem .36rem .7rem}.selected-participant button{width:25px;height:25px;border:0;border-radius:50%;background:#e7edf4;cursor:pointer;font-size:1.1rem;line-height:1}.document-editor-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);padding:.85rem 0 .2rem;margin-top:1rem;border-top:1px solid #e2e8f0;z-index:5}.document-emission-note{margin-top:1rem}.document-draft-stats{margin-bottom:1rem}.document-drafts-overview{margin-bottom:1rem}@media(max-width:760px){.inline-picker{grid-template-columns:1fr}.document-editor-actions{position:static}.selected-participant{max-width:100%}}

/* Ciclo de estabilização — integridade, fila de trabalho, ajuda e rastreabilidade */
.quick-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 18px}.quick-actions-row a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.work-queue-section{margin:0 0 26px}.work-queue-section .empty-state{border:1px dashed #d0d5dd;border-radius:12px;background:#fbfcfd}.work-queue-counter{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef4ff;color:#3538cd;font-size:10px;font-weight:800}.work-queue-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px}.work-queue-card{display:grid;gap:5px;padding:13px 14px;border:1px solid #dfe5ec;border-radius:12px;background:#fff;text-decoration:none;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:.15s ease}.work-queue-card:hover{border-color:#98a2b3;transform:translateY(-1px)}.work-queue-card.is-high{border-left:4px solid #d92d20}.work-queue-area{font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#667085}.work-queue-card strong{font-size:12px;color:#344054}.work-queue-card small{font-size:9.5px;line-height:1.45;color:#667085}.work-queue-arrow{margin-top:3px;font-size:9px;font-weight:800;color:#175cd3}
.integrity-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:14px}.integrity-kpi{display:grid;gap:4px;padding:12px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}.integrity-kpi span{font-size:9px;color:#667085;font-weight:700}.integrity-kpi strong{font-size:23px;color:#344054}.integrity-list{display:grid;gap:9px}.integrity-row{display:grid;grid-template-columns:92px minmax(0,1fr) 70px auto;gap:12px;align-items:center;padding:12px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}.integrity-severity{display:inline-flex;justify-content:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.04em}.severity-erro{background:#fef3f2;color:#b42318}.severity-atencao{background:#fffaeb;color:#b54708}.severity-info{background:#eff8ff;color:#175cd3}.integrity-copy{display:grid;gap:3px}.integrity-copy strong{font-size:11px;color:#344054}.integrity-copy small{font-size:9.5px;color:#667085;line-height:1.45}.integrity-count{text-align:center;font-size:18px;font-weight:800;color:#344054}.quick-link-grid,.stabilization-links{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:9px}.quick-link-grid a,.stabilization-links a{display:grid;gap:4px;padding:11px 12px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;text-decoration:none}.quick-link-grid a strong,.stabilization-links a strong{font-size:10.5px;color:#344054}.quick-link-grid a small,.stabilization-links a small{font-size:9px;color:#667085;line-height:1.4}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:12px}.help-grid article{padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.help-grid h3{margin:0 0 7px;font-size:13px;color:#344054}.workflow-list{margin:0;padding-left:20px;color:#475467;line-height:1.65}.workflow-list li{margin:5px 0}.sidebar-build{display:block;margin:7px 0 10px;padding:5px 8px;border-radius:7px;background:#f8fafc;color:#98a2b3;text-decoration:none;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-build:hover{color:#475467;background:#f2f4f7}
.traceable-grid a,.executive-operation-grid>a{display:grid;gap:4px;text-decoration:none;color:inherit}.traceable-grid a:hover,.executive-operation-grid>a:hover{background:#f8fafc}.executive-ranking{display:grid;gap:7px}.executive-ranking>div{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border:1px solid #eef2f6;border-radius:9px;background:#fafcfd}.executive-ranking span{font-size:10px;color:#475467}.executive-ranking strong{font-size:14px;color:#344054}
.backup-status-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.backup-status-grid>div{padding:10px;border:1px solid #e4e7ec;border-radius:9px;background:#fafcfd}.backup-status-grid span{display:block;font-size:8.5px;color:#667085}.backup-status-grid strong{display:block;margin-top:3px;font-size:11px;color:#344054}
@media(max-width:1050px){.work-queue-grid{grid-template-columns:repeat(2,1fr)}.integrity-summary,.quick-link-grid,.stabilization-links,.backup-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.work-queue-grid,.integrity-summary,.quick-link-grid,.stabilization-links,.help-grid,.backup-status-grid{grid-template-columns:1fr}.integrity-row{grid-template-columns:1fr}.integrity-count{text-align:left}.quick-actions-row>a{flex:1 1 180px;justify-content:center}}
.severity-ok{background:#ecfdf3;color:#027a48}.integrity-kpi.severity-ok{border-color:#abefc6}.integrity-kpi.severity-atencao{border-color:#fedf89}.integrity-kpi.severity-erro{border-color:#fecdca}

.environment-badge{display:inline-flex;align-items:center;padding:.4rem .65rem;border-radius:999px;background:#fff3cd;color:#7a4b00;border:1px solid #f2d38a;font-size:.72rem;font-weight:800;letter-spacing:.06em}
