/* Gestão de Processos — superfícies visuais do módulo SIPOC.
   IDs e eventos permanecem na UI legada; estas regras apenas modernizam a apresentação. */
.gp-root { background: var(--bg2, var(--bg)); min-height: 100%; }
.gp-root .schedule-tabs { padding-inline: 24px; background: var(--bg); }
.gp-mapping-content { max-width: 1500px; margin: 0 auto; }
.gp-mapping-toolbar { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.gp-filter, .gp-mapping-toolbar #gpFiltroTexto { min-height: 38px; transition: border-color .18s ease, box-shadow .18s ease; }
.gp-filter:focus, .gp-mapping-toolbar #gpFiltroTexto:focus { outline: 0; border-color: var(--green) !important; box-shadow: 0 0 0 3px var(--green-soft); }
.gp-filter-search, .gp-mapping-toolbar #gpFiltroTexto { min-width: min(280px, 100%) !important; }
.gp-mapping-toolbar .searchable-select-wrapper { flex: 0 1 230px; min-width: 190px; }
.gp-mapping-toolbar .searchable-select-input { min-height: 38px; width: 100%; }
.gp-new-mapping-btn, .gp-mapping-toolbar #gpBtnNovoMapeamento { min-height: 38px; box-shadow: none; }
.gp-table-wrap { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); box-shadow: var(--shadow-sm, 0 8px 22px rgba(0,0,0,.12)); }
.gp-table { border: 0 !important; }
.gp-table thead { background: var(--surface-alt); }
.gp-table tbody tr { transition: background .16s ease; }
.gp-table tbody tr:hover { background: color-mix(in srgb, var(--green) 5%, transparent); }
.gp-foot-count { padding-left: 4px; }
.gp-pagination-top {
  align-items: center;
  display: flex;
  min-height: 32px;
  padding: 0 var(--space-1) var(--space-2);
}
.gp-pagination-top .system-pagination-count { margin: 0; }
#gpPaginationBottom .system-pagination { margin-top: var(--space-3); }
.gp-dashboard { max-width: 1500px; margin: 0 auto; }
.gp-kpi-card, .gp-dashboard-card { box-shadow: var(--shadow-sm, 0 8px 22px rgba(0,0,0,.12)); }
.gp-kpi-card { position: relative; overflow: hidden; }
.gp-kpi-card::before { content: ''; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; background: var(--blue); }
.gp-kpi-card:nth-child(2)::before { background: var(--green); }
.gp-kpi-card:nth-child(3)::before { background: var(--warn); }
.gp-kpi-card:nth-child(4)::before { background: var(--danger); }
.gp-kpi-card > div { padding-left: 7px; }
.gp-dashboard-card h3 { color: var(--text); }
.gp-dashboard-card .gpBarraProcesso { transition: background .16s ease; }
.gp-dashboard-card .gpBarraProcesso:hover { background: color-mix(in srgb, var(--green) 8%, transparent); }
.gp-chart-metric { line-height: 1.25; }
.gp-chart-value {
  color: var(--text);
  display: block;
  font-size: var(--text-md);
  font-weight: var(--font-bold);
}
.gp-chart-risk {
  color: var(--text-secondary);
  display: block;
  font-size: var(--text-sm);
  margin-top: 2px;
}
.gp-chart-zero-value {
  color: var(--text-secondary);
  font-size: var(--text-md);
  font-weight: var(--font-semibold);
  text-align: right;
}
.gp-chart-zero-track {
  background: repeating-linear-gradient(
    135deg,
    var(--chart-series-neutral),
    var(--chart-series-neutral) 4px,
    var(--surface-alt) 4px,
    var(--surface-alt) 8px
  );
  border: 1px solid var(--chart-grid);
  border-radius: 5px;
  height: 18px;
}
.gp-row-action {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  padding: 0;
  width: 32px;
}
.gp-row-action:hover { background: var(--surface-alt); border-color: var(--line); color: var(--text); }
.gp-row-action.gp-excluir:hover { background: var(--danger-soft); border-color: var(--danger); color: var(--danger); }

.gp-docs-modal {
  align-items: center;
  background: var(--overlay);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: var(--space-4);
  position: fixed;
  z-index: 10000;
}
.gp-docs-modal[hidden] { display: none; }
.gp-docs-modal-open { overflow: hidden; }
.gp-docs-modal-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  max-height: min(90vh, 920px);
  max-width: 1120px;
  overflow: hidden;
  width: 100%;
}
.gp-docs-modal-content {
  min-height: 0;
  overflow: auto;
  padding: var(--space-4);
}
.gp-docs-toggle {
  align-items: center;
  display: inline-flex;
  gap: var(--space-2);
  min-height: 36px;
}
.gp-docs-button-count {
  align-items: center;
  background: var(--surface-alt);
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  font-size: var(--text-3xs);
  justify-content: center;
  min-width: 22px;
  padding: 2px 6px;
}
.gp-docs-header {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
}
.gp-docs-close {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--muted);
  cursor: pointer;
  display: flex;
  flex: 0 0 auto;
  height: 36px;
  justify-content: center;
  width: 36px;
}
.gp-docs-close:hover { background: var(--surface-alt); border-color: var(--line); color: var(--text); }
.gp-docs-eyebrow {
  display: block;
  color: var(--green);
  font-size: var(--text-3xs);
  font-weight: var(--font-bold);
  letter-spacing: .08em;
  margin-bottom: var(--space-1);
  text-transform: uppercase;
}
.gp-docs-header h3,
.gp-doc-inline-header h3 {
  color: var(--text);
  font-size: var(--text-base);
  margin: 0;
}
.gp-docs-count {
  align-items: center;
  background: var(--green-soft);
  border: 1px solid color-mix(in srgb, var(--green) 38%, transparent);
  border-radius: 999px;
  color: var(--green);
  display: inline-flex;
  font-size: var(--text-3xs);
  justify-content: center;
  margin-left: var(--space-1);
  min-width: 22px;
  padding: 2px 7px;
}
.gp-docs-helper {
  color: var(--muted);
  display: block;
  font-size: var(--text-2xs);
  margin-bottom: var(--space-3);
  text-align: right;
}
.gp-docs-body {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.gp-docs-pagination-top {
  align-items: center;
  background: var(--surface-alt);
  border-bottom: 1px solid var(--line);
  display: flex;
  min-height: 38px;
  padding: var(--space-2) var(--space-3);
}
.gp-docs-pagination-top .system-pagination-count { margin: 0; }
.gp-docs-body > .system-pagination {
  border-top: 1px solid var(--line);
  margin: 0;
  padding: var(--space-3);
}
.gp-docs-state {
  align-items: center;
  color: var(--muted);
  display: flex;
  gap: var(--space-2);
  justify-content: center;
  min-height: 76px;
  padding: var(--space-4);
  text-align: center;
}
.gp-docs-error { color: var(--danger); }
.gp-doc-row {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 36px minmax(180px, 1fr) auto auto;
  padding: var(--space-3);
}
.gp-doc-row:last-child { border-bottom: 0; }
.gp-doc-row:hover { background: color-mix(in srgb, var(--green) 4%, transparent); }
.gp-doc-icon {
  align-items: center;
  background: var(--green-soft);
  border: 1px solid color-mix(in srgb, var(--green) 30%, transparent);
  border-radius: var(--radius-sm);
  color: var(--green);
  display: flex;
  height: 36px;
  justify-content: center;
  width: 36px;
}
.gp-doc-copy { min-width: 0; }
.gp-doc-copy strong,
.gp-doc-copy span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gp-doc-copy strong { color: var(--text); font-size: var(--text-sm); }
.gp-doc-copy span { color: var(--muted); font-size: var(--text-2xs); margin-top: 3px; }
.gp-doc-status {
  border: 1px solid var(--gp-doc-status);
  border-radius: 999px;
  color: var(--gp-doc-status);
  font-size: var(--text-3xs);
  font-weight: var(--font-bold);
  padding: 3px 8px;
  white-space: nowrap;
}
.gp-doc-actions { display: flex; gap: var(--space-2); }
.gp-doc-actions .btn { min-height: 34px; padding: 7px 10px; font-size: var(--text-xs); }
.gp-doc-inline-preview {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  margin-top: var(--space-4);
  overflow: hidden;
  width: 100%;
}
.gp-doc-inline-preview[hidden] { display: none; }
.gp-doc-inline-header {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: var(--space-3);
  justify-content: space-between;
  padding: var(--space-3) var(--space-4);
}
.gp-doc-inline-actions { display: flex; gap: var(--space-2); }
.gp-doc-inline-body {
  background: #525659;
  height: min(68vh, 680px);
  min-height: 420px;
  overflow: auto;
}
.gp-doc-frame { background: var(--white); border: 0; display: block; height: 100%; width: 100%; }
.gp-doc-image-wrap { align-items: center; display: flex; justify-content: center; min-height: 100%; padding: var(--space-4); }
.gp-doc-image-wrap img { max-height: 100%; max-width: 100%; object-fit: contain; }
.gp-doc-preview-empty {
  align-items: center;
  background: var(--panel);
  color: var(--muted);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  justify-content: center;
  min-height: 100%;
  padding: var(--space-5);
  text-align: center;
}
.gp-doc-preview-empty i { color: var(--green); font-size: 32px; }
.gp-doc-preview-empty strong { color: var(--text); }
.gp-doc-preview-empty span { max-width: 520px; }
@media (max-width: 768px) {
  .gp-root .schedule-tabs { padding-inline: 12px; overflow-x: auto; }
  .gp-mapping-content { padding: 12px !important; }
  .gp-mapping-toolbar { align-items: stretch !important; }
  .gp-filter, .gp-filter-search, .gp-mapping-toolbar #gpFiltroTexto { width: 100%; min-width: 0 !important; }
  .gp-mapping-toolbar .searchable-select-wrapper { flex: 1 1 100%; min-width: 0; width: 100%; }
  .gp-new-mapping-btn, .gp-mapping-toolbar #gpBtnNovoMapeamento { width: 100%; margin-left: 0 !important; }
  .gp-dashboard-panel { padding: 12px !important; }
  .gp-docs-modal { padding: 0; }
  .gp-docs-modal-card { border: 0; border-radius: 0; height: 100dvh; max-height: none; }
  .gp-docs-modal-content { padding: var(--space-3); }
  .gp-docs-helper { text-align: left; }
  .gp-doc-row { grid-template-columns: 36px minmax(0, 1fr); }
  .gp-doc-status { grid-column: 2; justify-self: start; }
  .gp-doc-actions { grid-column: 1 / -1; }
  .gp-doc-actions .btn { flex: 1; }
  .gp-docs-toggle { flex: 1; justify-content: center; }
  .gp-doc-inline-header { align-items: flex-start; flex-direction: column; }
  .gp-doc-inline-actions { flex-wrap: wrap; width: 100%; }
  .gp-doc-inline-actions .btn { flex: 1; }
  .gp-doc-inline-body { height: 70vh; min-height: 360px; }
}
