/* V1669 — APS Fase 2. Mantém o azul-marinho, tipografia e botões do módulo V1668. */
.aps2-empty { display:grid; justify-items:center; text-align:center; gap:10px; padding:40px 18px !important; }
.aps2-empty-mark { display:grid; place-items:center; width:54px; height:54px; border-radius:14px; background:#eef2f8; color:#13254a; font-size:27px; }
.aps2-empty h3 { margin:0; color:#13254a; font-size:19px; }
.aps2-empty p { max-width:690px; margin:0; color:#5b6b80; font-size:13px; line-height:1.55; }
.aps2-generate-row { display:flex; align-items:end; gap:10px; margin-top:8px; }
.aps2-generate-row label { display:grid; gap:5px; text-align:left; color:#5b6b80; font-size:12px; font-weight:700; }
.aps2-generate-row select { min-width:130px; }
.aps2-plan-head,.aps2-dispatch-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; }
.aps2-eyebrow { color:#d97826; font-size:10px; font-weight:800; letter-spacing:.08em; }
.aps2-plan-head h2 { color:#13254a; font-size:20px; margin:2px 0 1px; }
.aps2-plan-head p,.aps2-dispatch-head small { margin:0; font-size:12px; color:#718096; }
.aps2-plan-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.aps2-plan-actions button,.aps2-generate-row button,.aps2-dispatch-action button { min-height:34px; }
.aps2-published { padding:7px 10px; border-radius:8px; background:#e8f6ee; color:#1d6a40; font-size:11.5px; font-weight:700; }
.aps2-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:16px 0 12px; }
.aps2-kpis>div { display:grid; gap:2px; padding:10px 12px; border:1px solid #e3e9f1; border-radius:10px; background:#f7f9fc; }
.aps2-kpis b { color:#13254a; font-size:20px; }
.aps2-kpis small { color:#718096; font-size:11px; }
.aps2-kpis .warn { background:#fff7e7; border-color:#f0d8a6; }
.aps2-kpis .warn b { color:#8a5300; }
.aps2-legend { display:flex; flex-wrap:wrap; gap:8px 18px; color:#5b6b80; font-size:11px; margin:5px 0 12px; }
.aps2-legend span { display:inline-flex; align-items:center; gap:6px; }
.aps2-legend i { width:12px; height:12px; border-radius:3px; display:inline-block; }
.aps2-ok { background:#e8f6ee !important; color:#1d6a40 !important; }
.aps2-risk { background:#fff6dc !important; color:#7a5300 !important; }
.aps2-late { background:#fdd9d6 !important; color:#9b1c12 !important; }
.aps2-neutral { background:#f0f3f7 !important; color:#5b6b80 !important; }
.aps2-legend i.aps2-ok { background:#cfeedd !important; }
.aps2-legend i.aps2-risk { background:#ffe9a8 !important; }
.aps2-legend i.aps2-late { background:#f8b4ad !important; }
.aps2-legend i.aps2-fixed { background:#d8e3f5 !important; border:1px solid #7894c0; }
.aps2-gantt-wrap { width:100%; border:1px solid #e3e9f1; border-radius:10px; overflow:hidden; }
.aps2-gantt-axis { display:grid; grid-template-columns:165px minmax(0,1fr); background:#f6f8fb; border-bottom:1px solid #e3e9f1; color:#5b6b80; font-size:11px; font-weight:700; }
.aps2-gantt-axis>div:first-child { padding:9px 10px; }
.aps2-gantt-axis-track { display:flex; justify-content:space-between; padding:9px 12px; min-width:0; }
.aps2-gantt-scroll { width:100%; overflow-x:auto; overflow-y:hidden; }
.aps2-gantt-inner { min-width:1065px; }
.aps2-gantt-row { display:grid; grid-template-columns:165px minmax(0,1fr); min-height:58px; border-bottom:1px solid #edf0f4; }
.aps2-gantt-row:last-child { border-bottom:0; }
.aps2-gantt-label { display:flex; flex-direction:column; justify-content:center; gap:3px; padding:7px 10px; border-right:1px solid #e3e9f1; background:#fbfcfe; min-width:0; }
.aps2-gantt-label b { color:#13254a; font-size:12px; overflow-wrap:anywhere; }
.aps2-gantt-label small { color:#718096; font-size:10.5px; }
.aps2-gantt-track { position:relative; min-height:58px; background-color:#fff; background-image:var(--aps2-grid); background-size:100% 100%; }
.aps2-gantt-track.drag-over { background-color:#f1f6ff; outline:2px dashed #7393c7; outline-offset:-3px; }
.aps2-task { position:absolute; top:8px; min-width:12px; height:41px; padding:4px 7px !important; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; overflow:hidden; border:1px solid currentColor !important; border-radius:6px !important; box-shadow:none !important; text-align:left; cursor:pointer; z-index:1; }
.aps2-task b { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10.5px; line-height:1.2; }
.aps2-task small { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; line-height:1.15; font-weight:500; }
.aps2-task.is-fixed,.aps2-task.is-frozen { border:2px solid #456b9f !important; box-shadow:inset 0 0 0 1px #fff !important; }
.aps2-task[draggable="true"] { cursor:grab; }
.aps2-task[draggable="true"]:active { cursor:grabbing; }
.aps2-note { margin:10px 0 0; color:#718096; font-size:11px; line-height:1.5; }
.aps2-section-title { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
.aps2-section-title h3 { margin:0; font-size:15px; color:#13254a; }
.aps2-section-title>span { border-radius:999px; background:#eef2f6; color:#42536a; padding:2px 8px; font-size:11px; font-weight:700; }
.aps2-risk-list { display:grid; gap:8px; }
.aps2-risk-item { display:grid; grid-template-columns:minmax(145px, .7fr) minmax(0,2fr); gap:12px; padding:10px 0; border-top:1px solid #edf0f4; }
.aps2-risk-item:first-child { border-top:0; }
.aps2-risk-item>div:first-child b,.aps2-unplanned b { color:#13254a; font-size:12.5px; }
.aps2-risk-item small { display:block; color:#718096; font-size:10.5px; }
.aps2-risk-item span { display:inline-block; padding:3px 7px; border-radius:6px; font-size:10.5px; font-weight:700; }
.aps2-risk-item p { margin:4px 0 2px; color:#42536a; font-size:12px; }
.aps2-unplanned { display:grid; gap:7px; }
.aps2-unplanned>div { display:grid; grid-template-columns:100px 1fr; gap:10px; border-top:1px solid #edf0f4; padding:8px 0; font-size:12px; color:#5b6b80; }
.aps2-detail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.aps2-detail>div { display:grid; gap:3px; min-width:0; padding:9px 10px; border:1px solid #e3e9f1; border-radius:8px; background:#f8fafd; }
.aps2-detail small { color:#718096; font-size:10px; }
.aps2-detail b { color:#13254a; font-size:12.5px; overflow-wrap:anywhere; }
.aps2-detail span { width:max-content; max-width:100%; padding:3px 7px; border-radius:6px; font-size:10.5px; font-weight:700; }
.aps2-detail-note { margin:12px 0; padding:9px 10px; border-radius:8px; background:#f5f7fa; color:#42536a; font-size:12px; line-height:1.5; }
.aps2-detail-items { display:grid; gap:6px; padding-top:10px; border-top:1px solid #e3e9f1; color:#5b6b80; font-size:11px; }
.aps2-detail-items b { color:#13254a; }
.aps2-checkbox { display:flex; gap:8px; align-items:center; margin:12px 0; color:#42536a; font-size:12px; }
.aps2-dispatch-head { margin-bottom:12px; padding:11px 14px; border:1px solid #e3e9f1; border-radius:10px; background:#f7f9fc; }
.aps2-dispatch-head>div { display:grid; gap:3px; }
.aps2-dispatch-head b { color:#13254a; font-size:14px; }
.aps2-dispatch-line { margin-bottom:12px; }
.aps2-dispatch-line header { display:flex; justify-content:space-between; gap:10px; margin-bottom:8px; }
.aps2-dispatch-line header>div { display:grid; gap:2px; }
.aps2-dispatch-line header b { color:#13254a; font-size:14px; }
.aps2-dispatch-line header small { color:#718096; font-size:11px; }
.aps2-dispatch-list { display:grid; gap:7px; }
.aps2-dispatch-item { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:9px; padding:10px 12px; border:1px solid #e3e9f1; border-radius:9px; background:#fff; }
.aps2-dispatch-item.is-running { background:#f1f7ff; border-color:#c7d8f3; }
.aps2-dispatch-order { display:grid; grid-template-columns:28px minmax(90px,auto) minmax(140px,1fr); gap:8px; align-items:center; color:#13254a; }
.aps2-dispatch-order small { color:#718096; font-weight:700; }
.aps2-dispatch-order b { font-size:13px; }
.aps2-dispatch-order span { color:#5b6b80; font-size:11px; }
.aps2-dispatch-action { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.aps2-queue-read { color:#718096; font-size:11px; font-weight:600; }
.aps2-running { padding:4px 7px; border-radius:6px; background:#e7f0ff; color:#2a55a3; font-size:10.5px; font-weight:700; }
@media(max-width:760px) {
  .aps2-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aps2-gantt-axis { grid-template-columns:116px minmax(0,1fr); }
  .aps2-gantt-row { grid-template-columns:116px minmax(0,1fr); }
  .aps2-gantt-inner { min-width:920px; }
  .aps2-risk-item { grid-template-columns:1fr; gap:5px; }
  .aps2-unplanned>div { grid-template-columns:1fr; gap:3px; }
  .aps2-dispatch-order { grid-template-columns:25px 1fr; }
  .aps2-dispatch-order span { grid-column:2; }
  .aps2-dispatch-action { width:100%; justify-content:flex-end; }
  .aps2-plan-actions { width:100%; }
  .aps2-plan-actions button { flex:1 1 auto; }
}
