/* Zahren 0.7 — relatórios, capacidade e inteligência operacional */
.global-line-control {
  display: grid;
  min-width: 116px;
  gap: 2px;
  color: #647186;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.global-line-control select {
  min-height: 38px;
  border: 1px solid #d7dde4;
  border-radius: 10px;
  background: #fff;
  color: #17243a;
  padding: 0 30px 0 10px;
  font-size: 12px;
  font-weight: 800;
  text-transform: none;
}
.scope-chip {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px solid #bfe1dd;
  border-radius: 999px;
  background: #edf9f7;
  color: #087b73;
  padding: 0 11px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Exportação personalizada: cada campo ocupa uma célula legível. */
.export-builder { gap: 20px; }
.export-builder .report-columns {
  display: block;
  margin: 0;
  padding: 18px;
}
.export-field-grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 11px;
}
.export-field-grid label {
  display: grid;
  min-height: 48px;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  overflow: hidden;
  border: 1px solid #dce3e8;
  border-radius: 11px;
  background: #fbfcfd;
  color: #26344a;
  padding: 10px 12px;
  line-height: 1.25;
  cursor: pointer;
}
.export-field-grid label:hover { border-color: #78c7c1; background: #f1fbf9; }
.export-field-grid input { width: 18px; height: 18px; margin: 0; accent-color: #119f99; }

/* Carteiras de Picking/Aguardando: nomes completos, sem reticências. */
.client-picking-cards { grid-auto-columns: minmax(290px, 340px); }
.client-picking-cards article { min-width: 290px; align-items: start; }
.client-card-name { overflow: visible; }
.client-picking-cards .client-card-name span {
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.portfolio-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 22px 2px;
}
.portfolio-switch {
  display: inline-flex;
  gap: 4px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  padding: 4px;
}
.portfolio-switch button {
  min-height: 31px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #9fb4c7;
  padding: 0 13px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 850;
}
.portfolio-switch button.active { background: #1ab5aa; color: #fff; }
.filter-result-indicator {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin: 10px 0 14px;
  border: 1px solid #d7e5e8;
  border-left: 5px solid #12a49c;
  border-radius: 13px;
  background: linear-gradient(90deg, #effaf8, #fff);
  padding: 10px 16px;
}
.filter-result-indicator div { display: grid; gap: 2px; }
.filter-result-indicator span { color: #6c7889; font-size: 11px; }
.filter-result-indicator strong { color: #092744; font-size: 22px; }
.filter-result-indicator small { color: #087b73; font-weight: 800; }

/* Programações: rascunhos em cards e histórico completo em seletor. */
.program-archive {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: end;
  gap: 12px;
  margin: 0 0 16px;
  border: 1px solid #dbe3e9;
  border-radius: 15px;
  background: #fff;
  padding: 15px;
}
.program-archive label { display: grid; gap: 6px; color: #607087; font-size: 11px; font-weight: 800; }
.program-archive select { min-height: 43px; border: 1px solid #d5dce3; border-radius: 10px; background: #fbfcfd; padding: 0 12px; color: #18273d; }
.program-confirm-panel,
.report-runner,
.report-model-builder {
  margin: 0 0 17px;
  border: 1px solid #d7e3e8;
  border-radius: 16px;
  background: linear-gradient(145deg, #fff, #f6fbfb);
  padding: 18px;
}
.program-confirm-panel h2,
.report-runner h2,
.report-model-builder h2 { margin: 0 0 5px; font-size: 17px; }
.program-confirm-panel > p,
.report-runner > p,
.report-model-builder > p { margin: 0 0 15px; color: #718096; }
.report-model-form,
.confirm-program-form { display: grid; gap: 16px; }
.model-core-grid,
.model-rule-grid,
.confirm-program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.model-core-grid label,
.model-rule-grid label,
.confirm-program-grid label,
.report-runner label { display: grid; gap: 6px; color: #596a80; font-size: 11px; font-weight: 850; }
.model-core-grid input,
.model-core-grid select,
.model-rule-grid select,
.model-rule-grid input,
.confirm-program-grid input,
.confirm-program-grid textarea,
.confirm-program-grid select,
.report-runner select {
  width: 100%;
  min-height: 43px;
  border: 1px solid #d4dde5;
  border-radius: 10px;
  background: #fff;
  color: #17263b;
  padding: 9px 11px;
}
.model-field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 9px;
}
.model-field-grid label {
  display: flex;
  min-height: 43px;
  align-items: center;
  gap: 9px;
  border: 1px solid #dfe5ea;
  border-radius: 10px;
  background: #fff;
  padding: 9px 11px;
  cursor: pointer;
}
.model-field-grid input { width: 17px; height: 17px; accent-color: #119f99; }
.saved-report-models { display: grid; gap: 9px; margin-top: 15px; }
.saved-report-models article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 14px;
  align-items: center;
  border: 1px solid #e0e6eb;
  border-radius: 11px;
  background: #fff;
  padding: 11px 13px;
}
.saved-report-models article span,
.saved-report-models article small { color: #738097; }
.saved-report-models article small { grid-column: 1; }
.report-runner-row { display: grid; grid-template-columns: minmax(240px, 1fr) auto; gap: 12px; align-items: end; }

/* Retiradas auditadas. */
.release-reason { max-width: 460px; white-space: normal; line-height: 1.35; }
.release-origin { font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }

/* Preferências do drawer e datas operacionais. */
.drawer-profile {
  margin-bottom: 14px;
  border: 1px solid #d8e2e8;
  border-radius: 13px;
  background: #f8fbfc;
  padding: 0;
}
.drawer-profile summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 10px; padding: 0 15px; cursor: pointer; }
.drawer-profile form { display: grid; gap: 14px; border-top: 1px solid #e1e7eb; padding: 15px; }
.drawer-profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.drawer-profile-grid label { display: flex; min-height: 40px; align-items: center; gap: 8px; border: 1px solid #e0e5e9; border-radius: 9px; background: #fff; padding: 8px 10px; }
.date-status { display: grid; gap: 4px; }
.date-status small { color: #758298; font-size: 10px; }

/* Tempo por fase. */
.phase-kpis,
.capacity-kpis,
.manager-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 17px;
}
.phase-kpis article,
.capacity-kpis article,
.manager-summary article {
  display: grid;
  gap: 5px;
  border: 1px solid #dce3e9;
  border-radius: 15px;
  background: linear-gradient(145deg, #fff, #f6fafb);
  padding: 16px;
}
.phase-kpis span,
.capacity-kpis span,
.manager-summary span { color: #6e7b8f; font-size: 11px; }
.phase-kpis strong,
.capacity-kpis strong,
.manager-summary strong { color: #0b2847; font-size: 27px; }
.phase-kpis small,
.capacity-kpis small,
.manager-summary small { color: #8691a1; }
.phase-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 16px; }
.phase-average-list { display: grid; gap: 9px; }
.phase-average-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; border-bottom: 1px solid #edf0f2; padding: 8px 0; }
.phase-average-list article strong:last-of-type { color: #0a8d85; font-size: 18px; }
.phase-average-list small { color: #78869a; }

/* Dimensionamento de equipe. */
.scenario-panel { margin-bottom: 16px; background: linear-gradient(135deg, #0a1d38, #0a4650); color: #fff; }
.scenario-panel .panel-head h2,
.scenario-panel .panel-head p { color: #fff; }
.scenario-grid { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 10px; }
.scenario-grid label { display: grid; gap: 6px; color: #abc0cf; font-size: 10px; font-weight: 850; }
.scenario-grid input { min-height: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.1); color: #fff; padding: 0 11px; }
.capacity-good strong { color: #0e8e69 !important; }
.capacity-warning strong { color: #d98f22 !important; }
.activity-builder { display: grid; gap: 12px; }
.activity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.activity-grid label { display: grid; gap: 6px; color: #647286; font-size: 11px; font-weight: 800; }
.activity-grid input,
.activity-grid select { min-height: 42px; border: 1px solid #d6dde4; border-radius: 9px; background: #fff; padding: 0 10px; }
.activity-list { display: grid; gap: 9px; }
.activity-list article { display: grid; grid-template-columns: minmax(0, 1fr) repeat(3, auto); align-items: center; gap: 12px; border: 1px solid #e0e5ea; border-radius: 11px; background: #fbfcfd; padding: 11px 13px; }
.activity-list article div { display: grid; gap: 3px; }
.activity-list article span { color: #718095; }

/* Gráficos compactos, sem dependência externa. */
.manager-chart-grid { display: grid; grid-template-columns: 1.45fr .8fr; gap: 15px; margin-bottom: 16px; }
.trend-chart { min-height: 280px; }
.trend-chart svg { display: block; width: 100%; height: 235px; overflow: visible; }
.chart-grid-line { stroke: #e5eaee; stroke-width: 1; }
.chart-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.chart-line.entries { stroke: #1aa9a0; }
.chart-line.finished { stroke: #516fb1; }
.chart-line.programmed { stroke: #e1a93d; }
.chart-dot { stroke: #fff; stroke-width: 2; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; color: #6d7a8d; font-size: 10px; }
.chart-legend i { display: inline-block; width: 9px; height: 9px; margin-right: 5px; border-radius: 50%; }
.donut-wrap { display: grid; grid-template-columns: 145px minmax(0, 1fr); align-items: center; gap: 13px; }
.donut-chart { position: relative; width: 140px; height: 140px; border-radius: 50%; background: conic-gradient(var(--donut)); }
.donut-chart::after { content: ""; position: absolute; inset: 29px; border-radius: 50%; background: #fff; }
.donut-chart strong { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center; font-size: 22px; }
.donut-legend { display: grid; gap: 7px; }
.donut-legend div { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 7px; font-size: 10px; }
.donut-legend i { width: 9px; height: 9px; border-radius: 3px; }
.decision-snapshot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.decision-snapshot article { border: 1px solid #dfe5ea; border-radius: 13px; background: #fff; padding: 14px; }
.decision-snapshot h3 { margin: 0 0 5px; font-size: 13px; }
.decision-snapshot p { margin: 0; color: #728095; font-size: 11px; }

@media (max-width: 1180px) {
  .scenario-grid { grid-template-columns: repeat(3, 1fr); }
  .activity-grid { grid-template-columns: repeat(2, 1fr); }
  .phase-kpis, .capacity-kpis, .manager-summary { grid-template-columns: repeat(2, 1fr); }
  .manager-chart-grid, .phase-layout { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .global-line-control { display: none; }
  .drawer-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .model-core-grid, .model-rule-grid, .confirm-program-grid { grid-template-columns: 1fr; }
  .program-archive, .report-runner-row { grid-template-columns: 1fr; }
  .decision-snapshot { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .export-field-grid, .model-field-grid, .drawer-profile-grid { grid-template-columns: 1fr; }
  .scenario-grid, .activity-grid, .phase-kpis, .capacity-kpis, .manager-summary { grid-template-columns: 1fr; }
  .donut-wrap { grid-template-columns: 1fr; justify-items: center; }
}
