.planning-page {
  width: min(100%, 1540px);
  min-height: calc(100dvh - 58px);
  margin: 0 auto;
  padding: 16px clamp(12px, 2vw, 30px) 30px;
  color: var(--is-text);
}

.planning-context {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 3px 2px 12px;
  border-bottom: 1px solid var(--is-border);
}
.planning-context > div { display: grid; gap: 3px; }
.planning-context span,
.planning-dialog header span { color: var(--is-primary); font-size: 11px; font-weight: 850; letter-spacing: .05em; }
.planning-context strong { font-size: 21px; }
.planning-context p { margin: 0; color: var(--is-muted); font-size: 12px; font-weight: 700; }

.planning-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.planning-tab, .planning-filter {
  display: inline-flex; align-items: center; gap: 7px; min-height: 34px; border: 1px solid var(--is-border-strong); border-radius: 8px; background: var(--is-surface-soft); color: var(--is-muted); padding: 0 11px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer;
}
.planning-tab b { display: grid; min-width: 18px; height: 18px; place-items: center; border-radius: 999px; background: color-mix(in srgb, var(--is-primary) 12%, transparent); color: var(--is-primary); font-size: 10px; }
.planning-tab:hover, .planning-filter:hover { color: var(--is-text); border-color: var(--is-primary); }
.planning-tab.is-active, .planning-filter.is-active { background: var(--is-primary-soft); border-color: var(--is-primary); color: var(--is-primary); }

.planning-panel { min-width: 0; }
.planning-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 16px; min-height: 48px; padding: 0 2px 10px; }
.planning-toolbar-copy { display: grid; gap: 3px; }
.planning-toolbar-copy strong { font-size: 17px; }
.planning-toolbar-copy span { color: var(--is-muted); font-size: 12px; font-weight: 650; }
.planning-toolbar-actions, .planning-filter-group { display: flex; flex-wrap: wrap; align-items: center; justify-content: end; gap: 6px; }
.planning-toolbar-actions input { width: min(270px, 38vw); }
.planning-page :is(input, select, textarea) { min-height: 34px; border: 1px solid var(--is-border-strong); border-radius: 8px; background: #fff; color: #071827; padding: 0 10px; font: inherit; font-size: 12px; font-weight: 650; }
.planning-page textarea { min-height: auto; padding: 8px 10px; resize: vertical; }

.planning-pending-list { display: grid; border-top: 1px solid var(--is-border); }
.planning-pending-row { display: grid; grid-template-columns: 4px minmax(78px, .45fr) minmax(70px, .35fr) minmax(0, 1.5fr) auto; align-items: center; gap: 12px; min-height: 58px; border-bottom: 1px solid var(--is-border); padding: 8px 4px 8px 0; }
.planning-pending-row::before { content: ""; align-self: stretch; border-radius: 2px; background: var(--is-primary); }
.planning-pending-row[data-level="critical"]::before { background: var(--is-danger); }
.planning-pending-row[data-level="warning"]::before { background: var(--is-warning); }
.planning-pending-origin { color: var(--is-muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.planning-pending-tag { color: var(--is-primary); font-size: 12px; font-weight: 850; }
.planning-pending-text { min-width: 0; font-size: 13px; }
.planning-pending-content { min-width: 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.planning-pending-content > small { flex-basis: 100%; color: var(--is-muted); }
.planning-pending-meta { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; color: var(--is-muted); font-size: 10px; font-weight: 800; }
.planning-pending-meta > span { text-transform: uppercase; }
.planning-pending-meta > strong { padding: 3px 7px; border: 1px solid color-mix(in srgb, var(--is-danger) 35%, var(--is-border)); border-radius: 4px; color: var(--is-danger); background: color-mix(in srgb, var(--is-danger) 8%, var(--is-surface)); font-size: 11px; }
.planning-pending-meta > em { color: var(--is-muted); font-style: normal; }
.planning-pending-level { color: var(--is-muted); font-size: 11px; font-weight: 750; }
.planning-pending-action { color: var(--is-primary); font-size: 12px; font-weight: 850; text-decoration: none; }

.planning-table-wrap { overflow-x: auto; border-top: 1px solid var(--is-border); }
.planning-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.planning-table th { color: var(--is-muted); font-size: 10px; font-weight: 850; letter-spacing: .03em; text-align: left; text-transform: uppercase; }
.planning-table :is(th, td) { border-bottom: 1px solid var(--is-border); padding: 9px 8px; vertical-align: middle; }
.planning-table tbody tr { cursor: pointer; }
.planning-table tbody tr:hover { background: var(--is-primary-soft); }
.planning-table td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-table td:nth-child(1) { width: 9%; color: var(--is-primary); font-weight: 850; }
.planning-table td:nth-child(2) { width: 17%; font-weight: 750; }
.planning-table td:nth-child(3) { width: 8%; }
.planning-table td:nth-child(4) { width: 14%; }
.planning-table td:nth-child(5) { width: 12%; }
.planning-table td:nth-child(6) { width: 12%; }
.planning-agenda-table td:nth-child(1) { width: 7%; }
.planning-agenda-table td:nth-child(2) { width: 11%; }
.planning-agenda-table td:nth-child(3) { width: 17%; }
.planning-agenda-table td:nth-child(4), .planning-agenda-table td:nth-child(5) { width: 9%; }
.planning-agenda-table td:nth-child(6), .planning-agenda-table td:nth-child(7) { width: 10%; }
.planning-agenda-table td:nth-child(8) { width: 11%; }
.planning-agenda-table td:nth-child(9) { width: 16%; }
.planning-document-summary { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 8px; color: var(--is-muted); font-size: 12px; font-weight: 750; }
.planning-document-summary strong { color: var(--is-text); }
.planning-document-reconcile-notice { margin: 0 0 8px; border-left: 3px solid var(--is-primary); color: var(--is-muted); padding: 5px 8px; font-size: 12px; font-weight: 750; }
.planning-document-views { display: flex; gap: 6px; margin: 0 0 9px; border-bottom: 1px solid var(--is-border); }
.planning-document-view { min-height: 31px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--is-muted); padding: 0 8px; font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.planning-document-view:hover { color: var(--is-text); }
.planning-document-view.is-active { border-color: var(--is-primary); color: var(--is-primary); }
.planning-document-workbench { display: grid; gap: 8px; margin: 0 0 10px; border: 1px solid color-mix(in srgb, var(--is-domain-accent) 26%, var(--is-border)); border-radius: var(--is-radius-sm); background: color-mix(in srgb, var(--is-domain-soft) 52%, var(--is-surface-strong)); padding: 9px 10px; }
.planning-document-workbench .planning-toolbar { min-height: 38px; border: 0; padding: 0; }
.planning-document-workbench .planning-toolbar-copy { gap: 2px; }
.planning-document-workbench .planning-toolbar-copy strong { font-size: 15px; }
.planning-document-workbench .planning-toolbar-copy span { color: var(--is-muted); font-size: 10px; font-weight: 800; }
.planning-document-actions { gap: 7px; }
.planning-document-actions input { width: min(410px, 38vw); }
.planning-document-filters { display: grid; grid-template-columns: minmax(120px, .75fr) minmax(150px, 1fr) minmax(210px, 1.35fr); justify-content: end; gap: 7px; margin: 0; }
.planning-document-filters label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 7px; min-height: 34px; border: 1px solid var(--is-border); border-radius: 6px; background: var(--is-surface-strong); padding: 0 8px; color: var(--is-muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.planning-document-filters label:focus-within { border-color: var(--is-primary); box-shadow: 0 0 0 2px var(--is-primary-soft); }
.planning-document-filters select { min-width: 0; min-height: 30px; border: 0; border-radius: 0; background: transparent; padding: 0; color: var(--is-text); font-weight: 800; }
.planning-document-filters select { width: 100%; }
.planning-document-summary { display: grid; grid-template-columns: repeat(4, minmax(100px, 1fr)); gap: 6px; margin: 0 0 10px; }
.planning-document-summary-item { display: flex; align-items: baseline; justify-content: center; gap: 6px; min-height: 36px; border: 1px solid var(--is-border); border-left: 3px solid var(--is-border-strong); border-radius: 5px; background: var(--is-surface-soft); padding: 5px 8px; }
.planning-document-summary-item strong { font-size: 17px; line-height: 1; }
.planning-document-summary-item small { color: var(--is-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.planning-document-summary-item.is-critical { border-left-color: var(--is-danger); }
.planning-document-summary-item.is-attention { border-left-color: var(--is-warning); }
.planning-document-summary-item.is-valid { border-left-color: var(--is-success); }
.planning-document-summary-item.is-nao_aplicavel { border-left-color: var(--is-muted); }
.planning-document-list th:nth-child(1) { width: 11%; }
.planning-document-list th:nth-child(2) { width: 9%; }
.planning-document-list th:nth-child(3) { width: 16%; }
.planning-document-list th:nth-child(4) { width: 17%; }
.planning-document-list th:nth-child(5) { width: 16%; }
.planning-document-list th:nth-child(6) { width: 14%; }
.planning-document-list th:nth-child(7) { width: 17%; }
.planning-document-list td:nth-child(2) { color: var(--is-primary); }
.planning-document-list td:nth-child(3) small { display: block; overflow: hidden; color: var(--is-muted); font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.planning-document-list tbody tr[data-document-status="critical"] { box-shadow: inset 3px 0 0 var(--is-danger); }
.planning-document-list tbody tr[data-document-status="attention"] { box-shadow: inset 3px 0 0 var(--is-warning); }
.planning-document-list tbody tr[data-document-status="valid"] { box-shadow: inset 3px 0 0 var(--is-success); }
.planning-document-list tbody tr[data-document-status="nao_aplicavel"] { opacity: .72; }
.planning-audit-note { margin: 0 0 8px; color: var(--is-muted); font-size: 12px; font-weight: 700; }
.planning-document-audit td:nth-child(1) { width: 15%; color: var(--is-text); }
.planning-document-audit td:nth-child(2) { width: 19%; }
.planning-document-audit td:nth-child(3) { width: 10%; }
.planning-document-audit td:nth-child(4) { width: 18%; }
.planning-document-audit td:nth-child(5) { width: 38%; white-space: normal; }
.planning-status { display: inline-flex; max-width: 100%; align-items: center; border-radius: 999px; background: var(--is-surface-soft); color: var(--is-muted); padding: 3px 8px; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.planning-status.is-critical, .planning-status.is-expired { color: var(--is-danger); background: color-mix(in srgb, var(--is-danger) 10%, transparent); }
.planning-status.is-warning, .planning-status.is-pending { color: var(--is-warning); background: color-mix(in srgb, var(--is-warning) 12%, transparent); }
.planning-status.is-ok { color: var(--is-success); background: color-mix(in srgb, var(--is-success) 11%, transparent); }
.planning-status.is-neutral { color: var(--is-muted); background: var(--is-surface-soft); }
.planning-empty { padding: 28px 0; color: var(--is-muted); font-size: 13px; font-weight: 700; text-align: center; }

.planning-dialog.is-form-dialog { overflow: hidden; }
.planning-dialog .is-form { gap: 0; padding: 0; }
.planning-dialog .is-form-header { align-items: center; padding: 11px 15px; }
.planning-dialog .is-form-header .is-form-heading { display: grid; gap: 2px; }
.planning-dialog .is-form-title { font-size: 18px; }
.planning-dialog .is-form-close { width: 34px; height: 34px; border-radius: 7px; }
.planning-preventive-fields { border-left: 3px solid var(--is-primary); background: color-mix(in srgb, var(--is-primary-soft) 34%, var(--is-surface-soft)); }
.planning-preventive-fields[hidden] { display: none; }
.planning-preventive-heading { display: grid; gap: 2px; }
.planning-preventive-heading strong { color: var(--is-primary); font-size: 13px; }
.planning-preventive-heading span { color: var(--is-muted); font-size: 11px; font-weight: 700; }
.planning-preventive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.planning-preventive-output { display: grid; gap: 3px; border: 1px solid var(--is-border); border-radius: 6px; background: var(--is-surface-strong); padding: 9px; }
.planning-preventive-output span { color: var(--is-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.planning-preventive-output strong { color: var(--is-text); font-size: 13px; }
.planning-dialog .is-form-actions { padding: 10px 15px; }

/* Planejamento usa registros e filas de trabalho, não os cartões de navegação do Início. */
.planning-page {
  --planning-record-bg: color-mix(in srgb, var(--is-surface-strong) 88%, var(--is-layer-metal));
  --planning-record-alt: color-mix(in srgb, var(--is-surface-soft) 84%, var(--is-layer-raised));
  --planning-record-line: color-mix(in srgb, var(--is-border-strong) 78%, transparent);
}

/* Visão geral: fila de decisão compacta, alimentada pelos módulos existentes. */
.planning-overview { display: grid; gap: 12px; }
.planning-overview-head { display: flex; align-items: stretch; gap: 8px; min-width: 0; }
.planning-overview-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex: 1; gap: 7px; }
.planning-overview-metric {
  display: flex; align-items: baseline; justify-content: center; gap: 7px; min-height: 52px; min-width: 0;
  border: 1px solid var(--planning-record-line); border-left: 3px solid var(--is-border-strong); border-radius: 5px;
  background: var(--planning-record-alt); color: var(--is-muted); padding: 7px 10px; font: inherit; cursor: pointer;
}
.planning-overview-metric strong { color: var(--is-text); font-size: 20px; font-variant-numeric: tabular-nums; line-height: 1; }
.planning-overview-metric span { overflow: hidden; font-size: 10px; font-weight: 850; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.planning-overview-metric[data-overview-quick-filter="critical"] { border-left-color: var(--is-danger); }
.planning-overview-metric[data-overview-quick-filter="attention"] { border-left-color: var(--is-warning); }
.planning-overview-metric[data-overview-quick-filter="maintenance"] { border-left-color: var(--is-primary); }
.planning-overview-metric.is-active { border-color: var(--is-primary); background: var(--is-primary-soft); color: var(--is-primary); }
.planning-overview-metric.is-active strong { color: var(--is-primary); }
.planning-overview-filters-toggle { min-width: 102px; min-height: 52px; }
.planning-overview-filters {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) auto; gap: 7px; align-items: end;
  border-top: 1px solid var(--is-border); border-bottom: 1px solid var(--is-border); padding: 9px 0;
}
.planning-overview-filters label { display: grid; gap: 4px; min-width: 0; color: var(--is-muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.planning-overview-filters :is(input, select) { width: 100%; }
.planning-overview-filters button { min-width: 86px; }
.planning-overview-list { display: grid; gap: 12px; }
.planning-overview-group { border-top: 1px solid var(--is-border-strong); }
.planning-overview-group > header { display: flex; align-items: center; justify-content: space-between; min-height: 34px; }
.planning-overview-group > header strong { font-size: 13px; }
.planning-overview-group > header b { display: grid; min-width: 22px; height: 22px; place-items: center; border: 1px solid var(--is-border-strong); border-radius: 999px; color: var(--is-muted); font-size: 10px; }
.planning-overview-group > div { display: grid; border: 1px solid var(--planning-record-line); border-radius: 5px; overflow: hidden; }
.planning-overview-row {
  display: grid; grid-template-columns: 4px minmax(66px, .28fr) minmax(180px, 1fr) minmax(145px, .48fr) auto;
  align-items: center; gap: 10px; min-height: 46px; border-bottom: 1px solid var(--planning-record-line); background: var(--planning-record-alt); padding: 5px 8px 5px 0;
}
.planning-overview-row:last-child { border-bottom: 0; }
.planning-overview-row:hover { background: color-mix(in srgb, var(--planning-record-alt) 86%, var(--is-primary-soft)); }
.planning-overview-marker { align-self: stretch; border-radius: 0 2px 2px 0; background: var(--is-primary); }
.planning-overview-row[data-priority="critical"] .planning-overview-marker { background: var(--is-danger); }
.planning-overview-row[data-priority="attention"] .planning-overview-marker { background: var(--is-warning); }
.planning-overview-row[data-priority="maintenance"] .planning-overview-marker { background: var(--is-primary); }
.planning-overview-row > strong { color: var(--is-text); font-size: 12px; font-weight: 850; }
.planning-overview-action { overflow: hidden; color: var(--is-text); font-size: 12px; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.planning-overview-row > small { overflow: hidden; color: var(--is-muted); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.planning-overview-open { min-width: 64px; min-height: 32px; border: 1px solid var(--is-border-strong); border-radius: 6px; background: transparent; color: var(--is-primary); font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.planning-overview-open:hover { border-color: var(--is-primary); background: var(--is-primary-soft); }

html[data-theme="dark"] .planning-page :is(input, select, textarea) { background: #fff; color: #071827; }
html[data-theme="dark"] .planning-dialog { background: var(--is-surface-strong); }

/* Agenda operacional */
.planning-page [hidden], .planning-dialog [hidden] { display: none !important; }
.planning-agenda-metrics { display: grid; flex: 1; grid-template-columns: repeat(5, minmax(105px, 1fr)); gap: 6px; }
.planning-agenda-metrics button { display: grid; min-height: 44px; border: 1px solid var(--planning-record-line); border-radius: 5px; background: var(--planning-record-alt); color: var(--is-text); padding: 6px 9px; text-align: left; cursor: pointer; }
.planning-agenda-metrics strong { font-size: 17px; line-height: 1; }
.planning-agenda-metrics span { color: var(--is-muted); font-size: 10px; font-weight: 800; }
.planning-agenda-filters { display: grid; grid-template-columns: minmax(180px, 1.5fr) repeat(3, minmax(140px, 1fr)) auto; gap: 7px; border-block: 1px solid var(--planning-record-line); background: var(--planning-record-alt); padding: 8px; }
.planning-agenda-filters :is(input, select, button) { width: 100%; min-height: 36px; }
.planning-agenda-list { display: grid; gap: 5px; overflow: auto; padding: 7px 0; }
.planning-agenda-row { position: relative; display: grid; align-items: center; grid-template-columns: minmax(180px, 1.2fr) minmax(170px, .9fr) minmax(170px, 1fr) minmax(180px, 1.6fr) 64px; gap: 12px; min-height: 54px; border: 1px solid var(--planning-record-line); border-left: 4px solid var(--is-primary); border-radius: 5px; background: var(--planning-record-bg); padding: 7px 9px; }
.planning-agenda-row:hover { background: color-mix(in srgb, var(--planning-record-bg) 88%, var(--is-primary-soft)); }
.planning-agenda-row[data-status="entrada_manutencao"] { border-left-color: var(--is-danger); }
.planning-agenda-row[data-status="concluido"] { border-left-color: var(--is-success); }
.planning-agenda-row[data-due="overdue"] { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--is-danger) 38%, transparent); }
.planning-agenda-identity { display: grid; min-width: 0; }
.planning-agenda-identity strong { color: var(--is-text); font-size: 15px; }
.planning-agenda-identity span { display: flex; align-items: center; gap: 7px; overflow: hidden; color: var(--is-muted); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.planning-agenda-identity span b { flex: none; border-left: 1px solid var(--is-border-strong); color: var(--is-primary); padding-left: 7px; font-size: 10px; font-weight: 850; }
.planning-agenda-hourmeter { display: flex; align-items: center; gap: 7px; color: var(--is-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.planning-agenda-hourmeter strong { color: var(--is-text); }
.planning-agenda-stage { display: flex; align-items: center; gap: 7px; min-width: 0; }
.planning-agenda-stage small { color: var(--is-muted); font-weight: 750; white-space: nowrap; }
.planning-agenda-stage small.is-overdue { color: var(--is-danger); }
.planning-agenda-track { height: 7px; overflow: hidden; border-radius: 5px; background: var(--is-border); }
.planning-agenda-track span { display: block; height: 100%; border-radius: inherit; background: var(--is-primary); }
.planning-agenda-row[data-status="concluido"] .planning-agenda-track span { background: var(--is-success); }
.planning-agenda-open { min-height: 34px; border: 1px solid var(--is-border-strong); border-radius: 7px; background: transparent; color: var(--is-text); font-weight: 800; cursor: pointer; }
.planning-agenda-row .planning-sync-pending { position: absolute; right: 84px; bottom: 2px; color: var(--is-warning); font-size: 9px; }
.planning-check { display: flex !important; align-items: center; align-self: end; min-height: 38px; gap: 8px !important; border: 1px solid var(--is-border); border-radius: 7px; background: var(--is-surface-soft); padding: 8px 10px; }
.planning-check input { width: 16px; height: 16px; }
.planning-agenda-progress { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; border-top: 1px solid var(--is-border); padding-top: 12px; }
.planning-agenda-progress span { position: relative; display: grid; place-items: center; min-height: 42px; border: 1px solid var(--is-border); border-radius: 7px; color: var(--is-muted); font-size: 11px; font-weight: 850; }
.planning-agenda-progress span.is-done { border-color: color-mix(in srgb, var(--is-primary) 55%, var(--is-border)); background: var(--is-primary-soft); color: var(--is-primary); }
.planning-agenda-progress span.is-current { box-shadow: inset 0 -3px 0 var(--is-primary); }
.planning-agenda-progress small { display: block; max-width: 100%; overflow: hidden; padding: 0 3px; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 980px) {
  .planning-agenda-metrics { grid-template-columns: repeat(5, minmax(92px, 1fr)); overflow-x: auto; }
  .planning-agenda-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-agenda-row { grid-template-columns: minmax(150px, 1fr) minmax(140px, .8fr) minmax(150px, 1fr) 56px; }
  .planning-agenda-track { grid-column: 1 / -2; grid-row: 2; }
}

@media (max-width: 760px) { .planning-page { padding: 12px; } .planning-context { align-items: start; flex-direction: column; gap: 4px; } .planning-toolbar { align-items: start; flex-direction: column; } .planning-toolbar-actions { width: 100%; justify-content: stretch; } .planning-toolbar-actions input { flex: 1; width: auto; } .planning-pending-row { grid-template-columns: 4px minmax(0, 1fr) auto; gap: 8px; } .planning-pending-origin { grid-column: 2; } .planning-pending-tag { grid-column: 3; grid-row: 1; } .planning-pending-text { grid-column: 2 / -1; } .planning-pending-level { display: none; } .planning-pending-action { grid-column: 3; } .planning-form-grid, .planning-preventive-grid { grid-template-columns: 1fr; } .planning-form-grid .planning-form-wide { grid-column: auto; } }

@media (max-width: 760px) {
  .planning-agenda-metrics { width: 100%; grid-template-columns: repeat(5, 104px); }
  .planning-agenda-filters { grid-template-columns: 1fr; }
  .planning-agenda-row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; padding: 9px; }
  .planning-agenda-hourmeter { grid-column: 1; }
  .planning-agenda-stage { grid-column: 1 / -1; }
  .planning-agenda-track { grid-column: 1 / -1; grid-row: auto; }
  .planning-agenda-open { grid-column: 2; grid-row: 1 / span 2; }
  .planning-agenda-progress { grid-template-columns: repeat(3, 1fr); }
  .planning-dialog.is-form-dialog { width: 100vw; max-width: none; max-height: 100dvh; margin: 0; border-radius: 0; }
}

@media (max-width: 760px) {
  .planning-overview-head { align-items: stretch; flex-direction: column; }
  .planning-overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-overview-metric { justify-content: start; min-height: 46px; }
  .planning-overview-filters-toggle { min-height: 38px; }
  .planning-overview-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-overview-filters label:nth-child(3), .planning-overview-filters label:nth-child(4), .planning-overview-filters label:nth-child(5), .planning-overview-filters button { grid-column: 1 / -1; }
  .planning-overview-row { grid-template-columns: 4px minmax(64px, .35fr) minmax(0, 1fr) auto; gap: 8px; min-height: 58px; }
  .planning-overview-action { white-space: normal; }
  .planning-overview-row > small { grid-column: 2 / 4; white-space: normal; }
  .planning-overview-open { grid-column: 4; grid-row: 1 / 3; }
}

@media (max-width: 760px) {
  .planning-document-workbench { gap: 7px; margin-bottom: 8px; padding: 8px; }
  .planning-document-workbench .planning-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px; }
  .planning-document-workbench .planning-toolbar-copy { display: none; }
  .planning-document-actions { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
  .planning-document-actions input { width: 100%; min-width: 0; }
  .planning-document-actions .primary-button { min-width: 118px; padding-inline: 10px; }
  .planning-document-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
  .planning-document-filters label:last-child { grid-column: 1 / -1; }
  .planning-document-filters label { min-height: 32px; padding-inline: 7px; }
  .planning-document-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
  .planning-document-summary-item { min-height: 42px; align-content: center; flex-direction: column; gap: 2px; padding: 4px; }
  .planning-document-summary-item strong { font-size: 15px; }
  .planning-document-summary-item small { max-width: 100%; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
  .planning-document-list-wrap { overflow: visible; border: 0; background: transparent; }
  .planning-document-list { display: block; background: transparent; }
  .planning-document-list thead { display: none; }
  .planning-document-list tbody { display: grid; gap: 5px; }
  .planning-document-list tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "tag status" "document validity" "equipment equipment"; gap: 3px 10px; min-height: 86px; overflow: hidden; border: 1px solid var(--is-border-strong); border-radius: 7px; background: var(--is-surface-strong); padding: 8px 9px 7px 12px; }
  .planning-page .planning-document-list tbody td { display: block; width: auto !important; height: auto !important; min-width: 0; min-height: 0; overflow: hidden; border: 0; padding: 0 !important; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
  .planning-document-list tbody td::before { display: none; }
  .planning-document-list tbody td:nth-child(1) { grid-area: status; align-self: center; justify-self: end; }
  .planning-document-list tbody td:nth-child(2) { grid-area: tag; align-self: center; font-size: 14px; }
  .planning-document-list tbody td:nth-child(3) { grid-area: equipment; border-top: 1px solid var(--is-border); padding-top: 5px; color: var(--is-muted); }
  .planning-document-list tbody td:nth-child(3) strong,
  .planning-document-list tbody td:nth-child(3) small { display: inline; font-size: 10px; }
  .planning-document-list tbody td:nth-child(3) small::before { content: " · "; }
  .planning-document-list tbody td:nth-child(4) { grid-area: document; align-self: center; }
  .planning-document-list tbody td:nth-child(5) { grid-area: validity; align-self: center; color: var(--is-muted); text-align: right; }
  .planning-document-list tbody td:nth-child(5) strong { font-size: 10px; }
  .planning-document-list tbody td:nth-child(6),
  .planning-document-list tbody td:nth-child(7) { display: none; }
  .planning-document-list .planning-status { min-height: 22px; padding: 2px 7px; font-size: 8px; }
  .planning-document-list .planning-empty { display: block; grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  .planning-page { padding-inline: 8px; }
  .planning-tabs { margin-block: 8px; }
  .planning-tab { flex: 1; justify-content: center; min-width: 0; padding-inline: 6px; }
  .planning-document-actions .primary-button { min-width: 106px; font-size: 11px; }
  .planning-document-filters label { grid-template-columns: 1fr; align-content: center; gap: 0; }
  .planning-document-filters label { font-size: 8px; }
  .planning-document-filters select { min-height: 24px; font-size: 10px; }
}

/* Galaxy module finish: violeta técnico identifica Planejamento. */
.planning-page {
  --is-primary: var(--is-domain-accent);
  --is-primary-strong: color-mix(in srgb, var(--is-domain-accent) 76%, var(--is-text));
  --is-primary-soft: color-mix(in srgb, var(--is-domain-accent) 14%, transparent);
}

.planning-context {
  border: 1px solid color-mix(in srgb, var(--is-domain-accent) 38%, var(--is-border));
  border-radius: var(--is-radius-md);
  background: var(--is-domain-metal);
  padding: 10px 12px;
}

.planning-tabs {
  border: 1px solid color-mix(in srgb, var(--is-domain-accent) 24%, var(--is-border));
  border-radius: var(--is-radius-md);
  background: var(--is-domain-soft);
  padding: 6px;
}

.planning-toolbar {
  border-bottom: 1px solid var(--is-border);
  background: color-mix(in srgb, var(--is-domain-soft) 56%, transparent);
  padding: 8px 10px 10px;
}

.planning-table-wrap {
  border: 1px solid var(--is-border);
  border-radius: var(--is-radius-sm);
  background: var(--is-section-bg);
}

.planning-table thead {
  background: color-mix(in srgb, var(--is-domain-accent) 10%, var(--is-technical-bg));
}

/* Operational workspace refinement */
.planning-page {
  width: min(1500px, 100%);
  margin: 0 auto;
  padding: clamp(12px, 1.6vw, 22px);
}

.planning-context {
  min-height: 58px;
  align-items: center;
  border-color: color-mix(in srgb, var(--is-domain-accent) 42%, var(--is-border));
  background:
    linear-gradient(105deg, color-mix(in srgb, var(--is-domain-accent) 17%, var(--is-surface-strong)), var(--is-surface-strong));
  box-shadow: 0 8px 24px color-mix(in srgb, var(--is-domain-accent) 9%, transparent);
  padding: 9px 13px;
}

.planning-context > div { display: flex; align-items: baseline; gap: 10px; }
.planning-context span { flex: 0 0 auto; }
.planning-context strong { font-size: 18px; line-height: 1.1; }
.planning-context p { white-space: nowrap; }

.planning-tabs {
  position: relative;
  z-index: 1;
  flex-wrap: nowrap;
  gap: 3px;
  margin: 10px 0 0;
  overflow-x: auto;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background: color-mix(in srgb, var(--is-domain-soft) 78%, var(--is-surface-strong));
  padding: 5px 6px 0;
  scrollbar-width: none;
}
.planning-tabs::-webkit-scrollbar { display: none; }

.planning-tab {
  min-width: 132px;
  min-height: 38px;
  justify-content: space-between;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 6px 6px 0 0;
  background: transparent;
  padding: 0 11px;
}
.planning-tab.is-active {
  border-color: var(--is-primary);
  background: var(--is-surface-strong);
  box-shadow: none;
}
.planning-tab b { margin-left: 7px; }

.planning-panel {
  min-height: 420px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--is-domain-accent) 24%, var(--is-border));
  border-top: 0;
  border-radius: 0 0 var(--is-radius-md) var(--is-radius-md);
  background: var(--is-surface-strong);
  box-shadow: 0 14px 34px rgba(15, 43, 69, .08);
  padding: 12px;
}
.planning-panel[hidden] { display: none; }

.planning-toolbar {
  min-height: 52px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--is-border);
  background: transparent;
  padding: 0 2px 10px;
}
.planning-toolbar-copy strong { color: var(--is-text); font-size: 16px; }
.planning-toolbar-copy span { font-size: 11px; }
.planning-toolbar-actions { flex-wrap: nowrap; }
.planning-toolbar-actions input { width: min(320px, 34vw); min-height: 38px; }
.planning-new-button { min-width: 132px; min-height: 38px; }
.planning-new-button::before { content: "+"; margin-right: 6px; font-size: 16px; line-height: 1; }

.planning-table-wrap {
  overflow: auto;
  border: 1px solid var(--is-border);
  border-radius: 7px;
  background: var(--is-surface-soft);
}
.planning-table { background: var(--is-surface-strong); }
.planning-table thead {
  position: sticky;
  z-index: 2;
  top: 0;
  background: color-mix(in srgb, var(--is-domain-accent) 14%, var(--is-surface-soft));
}
.planning-table th { color: var(--is-text); }
.planning-table :is(th, td) { height: 42px; padding: 8px 9px; }
.planning-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--is-surface-soft) 68%, transparent); }
.planning-table tbody tr { box-shadow: inset 3px 0 0 transparent; transition: background 120ms ease, box-shadow 120ms ease; }
.planning-table tbody tr:hover { background: var(--is-primary-soft); box-shadow: inset 3px 0 0 var(--is-primary); }
.planning-agenda-table tbody tr[data-status="concluido"] { box-shadow: inset 3px 0 0 var(--is-success); }
.planning-agenda-table tbody tr[data-status="entrada_manutencao"] { box-shadow: inset 3px 0 0 var(--is-danger); }
.planning-agenda-table tbody tr[data-status="programado"] { box-shadow: inset 3px 0 0 var(--is-warning); }
.planning-agenda-table td:first-child { color: var(--is-text); font-size: 13px; }
.planning-agenda-table td:first-child strong { display: block; }
.planning-sync-pending { display: block; margin-top: 3px; color: var(--is-warning); font-size: 9px; font-weight: 800; line-height: 1.15; }
.planning-agenda-table td:nth-child(4),
.planning-agenda-table td:nth-child(5) { font-variant-numeric: tabular-nums; }

.planning-status {
  min-height: 24px;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 5px;
  padding: 3px 7px;
}

.planning-filter-group {
  flex-wrap: nowrap;
  border: 1px solid var(--is-border);
  border-radius: 7px;
  background: var(--is-surface-soft);
  padding: 3px;
}
.planning-filter { min-width: 78px; border: 0; }

html[data-theme="dark"] .planning-context,
html[data-theme="dark"] .planning-panel,
html[data-theme="dark"] .planning-table { background-color: var(--is-surface-strong); }
html[data-theme="dark"] .planning-tabs { background: var(--is-layer-structure); }
html[data-theme="dark"] .planning-tab.is-active { background: var(--is-layer-raised); }
html[data-theme="dark"] .planning-table-wrap { background: var(--is-layer-structure); }
html[data-theme="dark"] .planning-table thead { background: var(--is-layer-raised); }
html[data-theme="dark"] .planning-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--is-layer-raised) 58%, transparent); }

@media (max-width: 760px) {
  .planning-page { padding: 9px; }
  .planning-context { min-height: 0; align-items: stretch; padding: 9px 10px; }
  .planning-context > div { display: grid; gap: 2px; }
  .planning-context strong { font-size: 16px; }
  .planning-context p { font-size: 10px; white-space: normal; }
  .planning-tabs { margin-top: 7px; }
  .planning-tab { min-width: 112px; min-height: 36px; padding: 0 8px; }
  .planning-panel { min-height: 360px; padding: 8px; }
  .planning-toolbar { gap: 9px; padding-bottom: 9px; }
  .planning-toolbar-actions { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) auto; }
  .planning-toolbar-actions input { width: 100%; min-width: 0; }
  .planning-new-button { min-width: 112px; }

  .planning-agenda-table { display: block; background: transparent; }
  .planning-agenda-table thead { display: none; }
  .planning-agenda-table tbody { display: grid; gap: 7px; padding: 7px; }
  .planning-agenda-table tbody tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--is-border-strong);
    border-radius: 7px;
    background: var(--is-surface-strong);
    box-shadow: inset 3px 0 0 var(--is-warning);
  }
  .planning-agenda-table tbody td {
    display: grid;
    height: auto;
    min-height: 48px;
    align-content: center;
    gap: 2px;
    overflow: visible;
    border-bottom: 1px solid var(--is-border);
    padding: 7px 9px;
    white-space: normal;
  }
  .planning-agenda-table tbody td::before {
    content: attr(data-label);
    color: var(--is-muted);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
  }
  .planning-agenda-table tbody td:nth-child(1),
  .planning-agenda-table tbody td:nth-child(2),
  .planning-agenda-table tbody td:nth-child(3),
  .planning-agenda-table tbody td:nth-child(9) { grid-column: 1 / -1; }
  .planning-agenda-table tbody td:nth-last-child(-n + 1) { border-bottom: 0; }
  .planning-agenda-table .planning-empty { display: block; grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  .planning-toolbar-actions { grid-template-columns: 1fr; }
  .planning-new-button { width: 100%; }
}
