/* Roadmap Engenharia V28.5.0 — Cronograma multiprojeto visual refinado
   Mudança de apresentação: não altera fonte, filtros, datas ou geometria canônica. */

.v2843-macro-panel{padding:16px 16px 18px!important;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important}
.v2843-macro-panel .v238-macro-head{align-items:center;margin-bottom:10px}
.v2843-macro-panel .v238-macro-head h2{margin:0 0 4px;color:#18324f;font-size:16px;letter-spacing:-.015em}
.v2843-macro-panel .v238-macro-head .hint{max-width:800px;margin:0;color:#75859a;font-size:9px;line-height:1.5}

/* KPIs do cabeçalho */
.v2843-macro-panel .v238-macro-stats{gap:9px}
.v2843-macro-panel .v238-macro-stats span{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #dce6f0;border-radius:10px;background:#fff;color:#65778d;font-size:9px;box-shadow:0 2px 8px rgba(28,54,82,.035)}
.v2843-macro-panel .v238-macro-stats span svg{width:16px;height:16px;fill:none;stroke:#2b70bb;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v2843-macro-panel .v238-macro-stats span b{font-size:12px;color:#193650}

/* Toolbar */
.v2843-macro-panel .v238-macro-toolbar{margin:10px 0 12px;align-items:flex-end;padding:9px 10px;border:1px solid #e4eaf1;border-radius:10px;background:#f9fbfd}
.v2843-macro-panel .v238-macro-toolbar label{color:#64758c;font-size:8px}
.v2843-macro-panel .v238-macro-toolbar select{min-width:250px;height:34px;border-color:#d5e0eb;border-radius:8px;box-shadow:0 1px 2px rgba(30,55,80,.025)}
.v2843-people-btn{display:inline-flex!important;align-items:center!important;gap:6px!important;height:34px!important;white-space:nowrap}
.v2843-people-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v2843-toolbar-spacer{flex:1}
.v2843-macro-status-legend{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap;min-height:34px;color:#5e7188;font-size:8.5px;font-weight:700}
.v2843-macro-status-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.v2843-macro-status-legend i:not(.gate){width:14px;height:7px;border-radius:999px;display:inline-block}
.v2843-macro-status-legend i.planned{background:#315f95}.v2843-macro-status-legend i.active{background:#32a7a0}.v2843-macro-status-legend i.attention{background:#f2a31a}.v2843-macro-status-legend i.late{background:#e34d52}.v2843-macro-status-legend i.gate{font-style:normal;color:#7d4fd1;font-size:12px;line-height:1}

/* Quadro */
.v2843-macro-panel .v238-macro-board{--v238-label:340px;border:1px solid #dfe7ef;border-radius:12px;background:#fff;box-shadow:0 5px 20px rgba(26,54,82,.055);overflow:auto;max-height:calc(100vh - 245px);scrollbar-color:#c8d5e3 transparent}
.v2843-macro-panel .v238-macro-axis{grid-template-columns:var(--v238-label) minmax(1080px,1fr);position:sticky;top:0;bottom:auto;z-index:45;min-height:54px;border-top:0;border-bottom:1px solid #dbe4ed;background:#f8fafc}
.v2843-axis-label{position:sticky;left:0;z-index:48;display:flex;align-items:flex-end;padding:0 14px 9px;background:#f8fafc;border-right:1px solid #dfe7ef;color:#52677f;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.v2843-axis-label span:after{content:'≡';margin-left:9px;color:#9aa9b9;font-size:11px}
.v238-macro-axis-track{position:relative;min-height:54px;background:#fbfcfe;overflow:visible}
.v238-macro-axis-track .v2841-axis-years{height:25px;background:#f8fafc;border-bottom-color:#e1e8f0}
.v238-macro-axis-track .v2841-axis-year{height:25px;color:#354d68;font-size:8.5px;border-left-color:#d9e3ed}
.v238-macro-axis-track .v2841-axis-months{top:25px;height:29px;bottom:auto;background:#fff}
.v238-macro-axis-track .v2841-axis-month{align-items:center;justify-content:center;padding:0;border-left:1px solid #edf1f5;color:#6e7e91;font-size:7.8px}
.v238-macro-axis-track .v2841-axis-month.current{background:#fff7e9;color:#bf7610;box-shadow:inset 0 -2px #f59e0b}
.v238-macro-axis-track .v2841-axis-year-sep{background:#bdcad8;z-index:7}
.v2843-today-chip{position:absolute;top:19px;z-index:12;transform:translateX(-50%);padding:2px 5px;border-radius:5px;background:#f59e0b;color:#fff;font-size:7px;font-weight:900;box-shadow:0 2px 5px rgba(205,126,16,.22);pointer-events:none}

/* Linhas */
.v2843-macro-panel .v238-macro-row{grid-template-columns:var(--v238-label) minmax(1080px,1fr);border-bottom:1px solid #edf1f5;background:#fff;transition:background .12s ease}
.v2843-macro-panel .v238-macro-row:last-child{border-bottom:0}
.v2843-macro-panel .v238-macro-row:hover{background:#fbfdff}
.v2843-macro-panel .v238-macro-label{padding:7px 10px 7px 9px;gap:9px;border-right-color:#dfe7ef;background:inherit;box-shadow:7px 0 14px -14px rgba(28,52,78,.55)}
.v2843-project-icon{width:27px;height:27px;flex:0 0 27px;border-radius:8px;display:grid;place-items:center;color:#2766ac;background:#edf5ff;border:1px solid #d7e7f8}
.v2843-project-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v2843-project-icon.type-software{color:#168c88;background:#eaf9f7;border-color:#d2efec}.v2843-project-icon.type-subsystem{color:#7350c9;background:#f2efff;border-color:#e3dcfb}.v2843-project-icon.type-internal{color:#b8740c;background:#fff6e5;border-color:#f7e5bf}.v2843-project-icon.type-research{color:#278658;background:#ecf8f1;border-color:#d6efdf}
.v2843-project-title{display:flex;align-items:center;gap:7px;min-width:0}
.v2843-project-title strong{min-width:0;flex:1}
.v2843-macro-panel .v238-macro-project strong{font-size:10px;color:#213b57}
.v2843-macro-panel .v238-macro-project small{display:block;margin-top:2px;color:#7c899a;font-size:7.8px}
.v2843-macro-panel .v238-macro-project small b{color:#345470}
.v2843-project-status{flex:0 0 auto;padding:2px 6px;border-radius:999px;font-size:6.8px;font-weight:900;line-height:1.25;white-space:nowrap}
.v2843-project-status.green{background:#eaf8f1;color:#168156}.v2843-project-status.yellow{background:#fff5df;color:#a66b00}.v2843-project-status.red{background:#fff0f0;color:#c33a40}.v2843-project-status.gray{background:#f0f3f6;color:#768597}
.v2843-project-progress{display:block;width:80px;height:3px;margin-top:4px;background:#e8edf3;border-radius:999px;overflow:hidden}.v2843-project-progress i{display:block;height:100%;border-radius:999px;background:#3a78b8}
.v2843-macro-panel .v238-open{width:28px;height:28px;border:1px solid #d4e2f0;background:#fff;color:#1769c8;border-radius:8px;display:grid;place-items:center;box-shadow:0 1px 2px rgba(30,55,80,.03)}
.v2843-macro-panel .v238-open:hover{background:#f0f7ff;border-color:#bcd3ec;transform:translateX(1px)}
.v2843-macro-panel .v238-open svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Grade e hoje */
.v2843-macro-panel .v238-macro-track{background:#fff}
.v2843-macro-panel .v238-macro-track .gml{width:1px;background:#edf2f6!important;opacity:.95}
.v2843-macro-panel .v238-macro-track .today{width:2px;background:#f59e0b!important;opacity:.9;z-index:13;box-shadow:0 0 0 1px rgba(245,158,11,.04)}
.v2843-macro-panel .v238-macro-empty{left:12px;top:50%;transform:translateY(-50%);padding:3px 7px;border-radius:999px;background:#f6f8fa;color:#99a5b3;font-size:7.5px}

/* Barras semânticas */
.v2843-macro-panel .v238-macro-bar{height:18px;border-radius:5px;padding:0 7px;box-shadow:0 2px 4px rgba(31,54,79,.12);transition:filter .12s ease,transform .12s ease,box-shadow .12s ease}
.v2843-macro-panel .v238-macro-bar:hover{filter:none;transform:translateY(-1px);box-shadow:0 4px 9px rgba(28,52,78,.18);z-index:16}
.v2843-macro-panel .v238-macro-bar span{font-size:7.2px;font-weight:850;text-shadow:none;letter-spacing:.005em}
.v2843-macro-panel .v238-macro-bar.state-planned,.v2843-macro-panel .v238-macro-bar.state-done{background:#315f95!important}.v2843-macro-panel .v238-macro-bar.state-active{background:#32a7a0!important}.v2843-macro-panel .v238-macro-bar.state-attention{background:#f2a31a!important}.v2843-macro-panel .v238-macro-bar.state-late{background:#e34d52!important}
.v2843-macro-panel .v238-macro-gate{color:#7d4fd1!important;font-size:17px;filter:drop-shadow(0 2px 2px rgba(74,45,132,.2))}
.v2843-macro-panel .v238-macro-gate span{color:#7d4fd1}

/* Semântica sutil por saúde do projeto */
.v2843-macro-panel .v238-macro-row.health-red .v238-macro-label{box-shadow:inset 3px 0 #e34d52,7px 0 14px -14px rgba(28,52,78,.55)}
.v2843-macro-panel .v238-macro-row.health-yellow .v238-macro-label{box-shadow:inset 3px 0 #f2a31a,7px 0 14px -14px rgba(28,52,78,.55)}
.v2843-macro-panel .v238-macro-row.health-green .v238-macro-label{box-shadow:inset 3px 0 #32a76d,7px 0 14px -14px rgba(28,52,78,.55)}

/* Estado vazio */
.v2843-macro-panel .v238-macro-empty-state{padding:38px 24px;border-color:#d8e4ef;background:#fbfdff}.v2843-macro-panel .v238-macro-empty-state h3{color:#284865;font-size:13px}.v2843-macro-panel .v238-macro-empty-state p{color:#7d8da0}

@media(max-width:1200px){
  .v2843-macro-panel .v238-macro-board{--v238-label:300px}
  .v2843-macro-status-legend{width:100%;justify-content:flex-start;margin-top:3px}
  .v2843-toolbar-spacer{display:none}
}
@media(max-width:900px){
  .v2843-macro-panel{padding:12px 10px 14px!important}
  .v2843-macro-panel .v238-macro-head{display:block}.v2843-macro-panel .v238-macro-stats{justify-content:flex-start;margin-top:8px}
  .v2843-macro-panel .v238-macro-board{--v238-label:255px;max-height:calc(100vh - 260px)}
  .v2843-macro-panel .v238-macro-row,.v2843-macro-panel .v238-macro-axis{grid-template-columns:var(--v238-label) minmax(900px,1fr)}
  .v2843-macro-panel .v238-macro-toolbar select{min-width:210px}
  .v2843-project-status{display:none}
}
