:root{--green:#0f5132;--green2:#0b3d27;--gold:#c89b3c;--bg:#f3f6f8;--text:#1f2937;--muted:#64748b;--red:#c0392b;--yellow:#f2b705;--blue:#2563eb}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}.hidden{display:none!important}
.login-screen{min-height:100vh;background:linear-gradient(135deg,#0b3d27,#172554);display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:430px;background:#fff;border-radius:22px;padding:30px;box-shadow:0 25px 60px rgba(0,0,0,.28)}.brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.egt-logo{width:92px;height:58px;border-radius:14px;background:var(--green);color:white;display:flex;align-items:center;justify-content:center;font-size:29px;font-weight:800;letter-spacing:1px}.egt-logo.small{width:52px;height:40px;font-size:18px}.client-logo{max-height:62px;max-width:170px}
.login-card h1{margin:8px 0 4px}.subtitle,.muted{color:var(--muted)}label{display:block;margin:14px 0 6px;font-weight:700}input,select,textarea{width:100%;padding:11px;border:1px solid #d5dce3;border-radius:10px;background:#fff;font-size:14px}textarea{min-height:80px}button{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{background:var(--green);color:white}.secondary{background:#e8eef3;color:#223}.danger{background:#fee2e2!important;color:#991b1b!important}.full{width:100%;margin-top:18px}.login-help{font-size:12px;color:var(--muted)}
.app{display:flex;min-height:100vh}.sidebar{width:260px;background:#0b1220;color:#fff;padding:18px;position:fixed;left:0;top:0;bottom:0}.side-brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.side-brand span{display:block;color:#b6c2d0;font-size:12px;margin-top:4px}.nav{width:100%;background:transparent;color:#cbd5e1;text-align:left;margin:4px 0;padding:12px;border-radius:10px}.nav:hover,.nav.active{background:rgba(255,255,255,.12);color:#fff}
.content{margin-left:260px;width:calc(100% - 260px);padding:22px}.topbar{background:white;border-radius:18px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 12px rgba(15,23,42,.08);margin-bottom:18px}.topbar h2{margin:0 0 5px}.user-box{display:flex;gap:15px;align-items:center}.top-logo{max-height:42px;max-width:120px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:18px}.card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 2px 12px rgba(15,23,42,.07);border-left:5px solid var(--green)}.card span{display:block;color:var(--muted);font-size:13px}.card strong{display:block;font-size:25px;margin-top:8px}.card.warning{border-left-color:var(--red)}.card.money{border-left-color:var(--gold)}
.grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.panel{background:white;border-radius:18px;padding:18px;box-shadow:0 2px 12px rgba(15,23,42,.07);margin-bottom:18px}.panel h3{margin-top:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.filters{display:grid;grid-template-columns:1fr 240px 200px;gap:12px;margin:14px 0}.table-wrap{overflow:auto;max-height:65vh}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top}th{background:#f8fafc;color:#334155;position:sticky;top:0}tr:hover{background:#f8fafc}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-weight:700;font-size:12px}.b-green{background:#dcfce7;color:#166534}.b-yellow{background:#fef3c7;color:#92400e}.b-red{background:#fee2e2;color:#991b1b}.b-blue{background:#dbeafe;color:#1e40af}.b-gray{background:#e5e7eb;color:#374151}.actions button{margin:2px;padding:7px 9px}
.bar{display:flex;align-items:center;margin:10px 0;gap:10px}.bar label{width:220px;margin:0;font-weight:400;color:#475569}.bar div{height:20px;background:linear-gradient(90deg,var(--green),#22c55e);border-radius:999px;min-width:8px}.alert{padding:12px;border-radius:12px;margin-bottom:10px;background:#f8fafc;border-left:5px solid var(--blue)}.alert.red{border-color:var(--red)}.alert.yellow{border-color:var(--yellow)}
.modal{position:fixed;inset:0;background:rgba(2,6,23,.62);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9}.modal-card{background:#fff;width:min(920px,96vw);max-height:90vh;overflow:auto;border-radius:18px;padding:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full-row{grid-column:1/-1}.icon{background:#eef2f7;font-size:20px}
#toast{position:fixed;top:20px;right:20px;z-index:20}.toast{background:#111827;color:#fff;padding:12px 16px;border-radius:10px;margin-bottom:10px;box-shadow:0 8px 22px rgba(0,0,0,.2)}
@media(max-width:950px){.sidebar{position:relative;width:100%;height:auto}.app{display:block}.content{margin-left:0;width:100%;padding:12px}.cards{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.filters,.form-grid{grid-template-columns:1fr}}
@media print{.sidebar,.topbar button,.panel-head button,.actions,#toast,.filters{display:none!important}.content{margin:0;width:100%}.panel,.card{box-shadow:none;border:1px solid #ddd}.table-wrap{max-height:none}}


/* ==========================================================
   v005 - Correção funcional + logos originais
   - Não quebra login/appScreen
   - Login centralizado
   - Remove lateral com logos grandes
   - Logos EGT/Centaurus originais sem fundo branco
   - Topbar azul-marinho mais escuro
   ========================================================== */

/* Correção principal: quando JS adiciona .hidden, precisa sumir mesmo */
#loginScreen.hidden,
#appScreen.hidden,
.hidden {
  display: none !important;
}

/* Login centralizado sem painel lateral */
.login-screen {
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 32px !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(177, 216, 39, .18), transparent 28%),
    linear-gradient(135deg, #052b21 0%, #062638 42%, #08172f 100%) !important;
}

.login-card {
  position: relative !important;
  width: min(560px, 94vw) !important;
  border-radius: 28px !important;
  padding: 36px 38px !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.34) !important;
}

/* Logos originais lado a lado na tela de login */
.brand-row-original {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 26px !important;
  margin-bottom: 28px !important;
}

.login-logo-egt {
  width: 210px !important;
  max-height: 92px !important;
  object-fit: contain !important;
  background: transparent !important;
}

.login-logo-centaurus {
  width: 205px !important;
  max-height: 88px !important;
  object-fit: contain !important;
  background: transparent !important;
}

.brand-divider {
  width: 1px !important;
  height: 78px !important;
  background: linear-gradient(to bottom, transparent, #94a3b8, transparent) !important;
  flex: 0 0 1px !important;
}

.login-card h1 {
  font-size: 38px !important;
  line-height: 1.1 !important;
  margin: 8px 0 8px !important;
}

.login-card .subtitle {
  font-size: 18px !important;
  margin-bottom: 22px !important;
}

/* Garantir que não exista lateral visual */
.hero-brand,
.hero-line,
.hero-egt-logo,
.hero-client-logo {
  display: none !important;
}

/* Sidebar e cabeçalho internos */
.sidebar {
  background: #070f20 !important;
}

.topbar {
  background: #071225 !important;
  color: #ffffff !important;
  border-radius: 18px !important;
}

.topbar .muted {
  color: #cbd5e1 !important;
}

.user-box {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.top-logos {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding-right: 10px !important;
}

.top-logo-egt {
  height: 42px !important;
  max-width: 120px !important;
  object-fit: contain !important;
  background: transparent !important;
}

.top-logo-centaurus {
  height: 44px !important;
  max-width: 155px !important;
  object-fit: contain !important;
  background: transparent !important;
}

.top-divider {
  width: 1px !important;
  height: 42px !important;
  background: linear-gradient(to bottom, transparent, #64748b, transparent) !important;
}

/* Sidebar logo original */
.side-logo-egt {
  width: 64px !important;
  height: 44px !important;
  object-fit: contain !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Ajuste de responsividade */
@media (max-width: 700px) {
  .brand-row-original {
    gap: 14px !important;
  }
  .login-logo-egt {
    width: 155px !important;
  }
  .login-logo-centaurus {
    width: 150px !important;
  }
  .brand-divider {
    height: 58px !important;
  }
  .login-card h1 {
    font-size: 30px !important;
  }
  .top-logos {
    display: none !important;
  }
}

/* v006 */
.login-help{display:none!important}
.flow-badge{display:inline-block;min-width:34px;padding:4px 7px;border-radius:999px;background:#e8eef3;color:#334155;font-weight:700;text-align:center}
.flow-progress{width:100%;height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}
.flow-progress>span{display:block;height:100%;background:linear-gradient(90deg,#0f5132,#b4d82f);border-radius:999px}
.sub-row{font-size:12px;color:#64748b}

/* ===== v007 - Dashboard executivo reorganizado ===== */
.cards{display:none!important}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:18px;margin-bottom:22px}
.kpi-card{background:#fff;border-radius:18px;padding:20px 22px;box-shadow:0 8px 28px rgba(15,23,42,.08);border-left:6px solid #0f5132;position:relative;overflow:hidden}
.kpi-card:after{content:"";position:absolute;right:-35px;top:-35px;width:95px;height:95px;background:rgba(15,81,50,.08);border-radius:50%}
.kpi-card span{display:block;color:#64748b;font-size:14px;margin-bottom:8px}
.kpi-card strong{display:block;color:#071225;font-size:30px;line-height:1.1;margin-bottom:8px}
.kpi-card small{display:block;color:#94a3b8;font-size:12px}
.kpi-risk{border-left-color:#c0392b}.kpi-money{border-left-color:#c89b3c}.kpi-progress{border-left-color:#22c55e}.kpi-total{border-left-color:#2563eb}
.mini-progress{width:100%;height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-top:10px}
.mini-progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#0f5132,#b4d82f);border-radius:999px}
.panel-highlight{border:1px solid rgba(15,81,50,.14);box-shadow:0 12px 34px rgba(15,23,42,.10)}
#tblStatusFluxo th{background:#071225!important;color:white!important}
.flow-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:14px;margin-top:16px}
.flow-step{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:14px;min-height:120px;position:relative}
.flow-step.active{background:linear-gradient(135deg,#0f5132,#1faa59);color:white;border-color:#0f5132}
.flow-step-number{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#334155;font-weight:800;margin-bottom:10px}
.flow-step.active .flow-step-number{background:#b4d82f;color:#071225}
.flow-step-title{font-weight:800;font-size:13px;line-height:1.25;min-height:38px}.flow-step-count{font-size:28px;font-weight:900;margin-top:8px}.flow-note{margin-top:-4px}
@media(max-width:1300px){.kpi-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.flow-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:700px){.kpi-grid{grid-template-columns:1fr}.flow-grid{grid-template-columns:1fr}}


/* ===== v008 - Relatórios corrigidos ===== */
.report-actions{
  display:flex;
  gap:10px;
  margin:14px 0 18px;
  flex-wrap:wrap;
}

.report-box{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:18px;
  min-height:120px;
}

.report-cover{
  border-bottom:2px solid #e5e7eb;
  margin-bottom:18px;
  padding-bottom:14px;
}

.report-cover h2{
  margin:0 0 8px;
  color:#071225;
}

.report-meta{
  color:#64748b;
  font-size:13px;
}

.report-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:12px;
  margin:18px 0;
}

.report-kpi{
  background:#f8fafc;
  border-left:5px solid #0f5132;
  border-radius:12px;
  padding:12px;
}

.report-kpi span{
  display:block;
  color:#64748b;
  font-size:12px;
}

.report-kpi strong{
  display:block;
  font-size:20px;
  margin-top:6px;
  color:#071225;
}

.report-section-title{
  margin:22px 0 10px;
  font-size:18px;
  color:#071225;
}

.report-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}

.report-table th,
.report-table td{
  border:1px solid #e5e7eb;
  padding:8px;
  text-align:left;
}

.report-table th{
  background:#071225;
  color:white;
}

@media print{
  body *{visibility:hidden!important}
  #relatorioExecutivo, #relatorioExecutivo *{visibility:visible!important}
  #relatorioExecutivo{position:absolute;left:0;top:0;width:100%;border:0;padding:0}
  .report-actions,.sidebar,.topbar,.panel-head button{display:none!important}
}


/* ==========================================================
   v009 - Dashboard Executivo Profissional
   ========================================================== */

/* Remove a "orelha" / círculo dos cards */
.kpi-card:after,
.card:after{
  display:none!important;
  content:none!important;
}

/* KPIs mais corporativos */
.kpi-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(220px,1fr))!important;
  gap:18px!important;
  margin-bottom:22px!important;
}

.kpi-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  border:1px solid #e8edf3!important;
  border-left:0!important;
  border-radius:18px!important;
  padding:20px 22px!important;
  box-shadow:0 10px 28px rgba(15,23,42,.07)!important;
  position:relative!important;
  overflow:hidden!important;
}

.kpi-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#0f5132,#b4d82f);
}

.kpi-risk::before{background:linear-gradient(90deg,#b91c1c,#ef4444)!important}
.kpi-money::before{background:linear-gradient(90deg,#b5811f,#d6a73f)!important}
.kpi-total::before{background:linear-gradient(90deg,#1d4ed8,#60a5fa)!important}
.kpi-progress::before{background:linear-gradient(90deg,#0f5132,#22c55e)!important}

.kpi-card span{
  font-size:13px!important;
  letter-spacing:.2px!important;
  text-transform:uppercase!important;
  color:#64748b!important;
  font-weight:700!important;
}

.kpi-card strong{
  color:#071225!important;
  font-size:32px!important;
  font-weight:900!important;
  margin-top:8px!important;
}

.kpi-card small{
  color:#7c8da5!important;
  font-size:12px!important;
}

.kpi-icon{
  position:absolute;
  right:18px;
  top:18px;
  width:34px;
  height:34px;
  border-radius:12px;
  background:#f1f5f9;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0f5132;
  font-weight:900;
}

/* Painel de status no fluxo */
.panel-highlight{
  border:1px solid #dce6ee!important;
  box-shadow:0 12px 34px rgba(15,23,42,.09)!important;
}

.status-flow-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:260px;
}

.package-progress{
  display:flex;
  gap:3px;
  min-width:190px;
}

.package-progress span{
  display:block;
  width:12px;
  height:18px;
  border-radius:4px;
  background:#d9e2ec;
}

.package-progress span.done{
  background:linear-gradient(180deg,#0f5132,#22c55e);
}

.flow-stage-text{
  font-size:12px;
  color:#64748b;
  margin-top:4px;
}

/* Funil no final */
.flow-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(140px,1fr))!important;
  gap:14px!important;
}

.flow-step{
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  box-shadow:0 6px 18px rgba(15,23,42,.06)!important;
}

.flow-step.active{
  background:#071225!important;
  color:white!important;
  border-color:#071225!important;
}

.flow-step.active .flow-step-number{
  background:#b4d82f!important;
  color:#071225!important;
}

.flow-step-count{
  color:#0f5132;
}

.flow-step.active .flow-step-count{
  color:#b4d82f!important;
}

/* Tabelas mais executivas */
table{
  border-spacing:0!important;
}

th{
  background:#f5f7fb!important;
  color:#071225!important;
  font-weight:800!important;
  text-transform:uppercase;
  font-size:12px;
}

td{
  font-size:13px!important;
}

#tblStatusFluxo th{
  background:#071225!important;
  color:white!important;
}

/* Alertas */
.alert{
  border-radius:14px!important;
  background:#f8fafc!important;
  box-shadow:inset 0 0 0 1px #e5e7eb;
}

/* Topbar mais premium */
.topbar{
  background:linear-gradient(90deg,#050b18,#071225)!important;
  box-shadow:0 12px 30px rgba(2,6,23,.18)!important;
}

/* Saving card */
.kpi-saving::before{
  background:linear-gradient(90deg,#047857,#84cc16)!important;
}

@media(max-width:1300px){
  .kpi-grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
  .flow-grid{grid-template-columns:repeat(3,minmax(140px,1fr))!important}
}

@media(max-width:700px){
  .kpi-grid{grid-template-columns:1fr!important}
  .flow-grid{grid-template-columns:1fr!important}
}

/* v010 cards compactos */
.kpi-grid{
 grid-template-columns:repeat(4,minmax(220px,1fr))!important;
}
.kpi-card{
 padding:14px 18px!important;
 min-height:110px!important;
}
.kpi-card strong{
 font-size:24px!important;
 margin-top:4px!important;
}
.kpi-card span{
 font-size:12px!important;
 margin-bottom:4px!important;
}
.kpi-card small{
 display:none!important;
}

/* v011 */
#tblStatusFluxo th{background:#071225!important;color:#fff!important}


/* ===== v012 - Status/Etapa Atual com destaque visual ===== */
#tblStatusFluxo td{
  vertical-align:middle!important;
}

.pkg-name{
  font-weight:800;
  color:#111827;
}

.pkg-sub{
  font-size:12px;
  color:#64748b;
  margin-top:3px;
}

.stage-badge{
  display:inline-flex;
  flex-direction:column;
  gap:3px;
  padding:8px 12px;
  border-radius:14px;
  min-width:210px;
  border:1px solid transparent;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}

.stage-badge strong{
  font-size:13px;
  line-height:1.15;
}

.stage-badge small{
  font-size:11px;
  opacity:.85;
}

.stage-engenharia{
  background:#dbeafe;
  color:#1e3a8a;
  border-color:#bfdbfe;
}

.stage-cotacao{
  background:#ecfdf5;
  color:#065f46;
  border-color:#a7f3d0;
}

.stage-tecnico{
  background:#eef2ff;
  color:#3730a3;
  border-color:#c7d2fe;
}

.stage-comercial{
  background:#fef3c7;
  color:#92400e;
  border-color:#fde68a;
}

.stage-aprovacao{
  background:#fae8ff;
  color:#86198f;
  border-color:#f5d0fe;
}

.stage-contrato{
  background:#dcfce7;
  color:#166534;
  border-color:#bbf7d0;
}

.stage-kickoff{
  background:#e0f2fe;
  color:#075985;
  border-color:#bae6fd;
}

.stage-default{
  background:#f1f5f9;
  color:#334155;
  border-color:#e2e8f0;
}

.prazo-badge{
  display:inline-block;
  padding:7px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
}

.prazo-green{
  background:#dcfce7;
  color:#166534;
}

.prazo-yellow{
  background:#fef3c7;
  color:#92400e;
}

.prazo-red{
  background:#fee2e2;
  color:#991b1b;
}

.prazo-vazio{
  color:#94a3b8;
  font-size:12px;
}

.status-pill{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.3px;
}

.status-green{
  background:#dcfce7;
  color:#166534;
}

.status-blue{
  background:#dbeafe;
  color:#1e40af;
}

.status-yellow{
  background:#fef3c7;
  color:#92400e;
}

.status-red{
  background:#fee2e2;
  color:#991b1b;
}

.status-ok{
  background:#052e16;
  color:#bbf7d0;
}


/* ===== v013 - Resumo Executivo por Fase ===== */
.panel-phase-summary{
  border:1px solid #dce6ee!important;
  box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
}

.phase-summary-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(150px,1fr));
  gap:14px;
  margin-top:10px;
}

.phase-card{
  border-radius:16px;
  padding:14px;
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
}

.phase-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:10px;
}

.phase-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  display:inline-block;
  margin-right:7px;
}

.phase-name{
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.3px;
  color:#071225;
}

.phase-count{
  font-size:24px;
  font-weight:900;
  color:#071225;
}

.phase-percent{
  font-size:12px;
  color:#64748b;
  margin-top:2px;
}

.phase-bar{
  width:100%;
  height:8px;
  background:#e5e7eb;
  border-radius:999px;
  overflow:hidden;
  margin-top:10px;
}

.phase-bar span{
  display:block;
  height:100%;
  border-radius:999px;
}

/* Cores por fase */
.phase-engenharia .phase-dot,
.phase-engenharia .phase-bar span{background:#2563eb}
.phase-cotacao .phase-dot,
.phase-cotacao .phase-bar span{background:#d6a73f}
.phase-equalizacao .phase-dot,
.phase-equalizacao .phase-bar span{background:#f97316}
.phase-negociacao .phase-dot,
.phase-negociacao .phase-bar span{background:#7c3aed}
.phase-contratacao .phase-dot,
.phase-contratacao .phase-bar span{background:#16a34a}
.phase-logistica .phase-dot,
.phase-logistica .phase-bar span{background:#475569}

.phase-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.2px;
  min-width:130px;
  justify-content:center;
}

.phase-pill:before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  display:block;
}

.phase-pill-engenharia{background:#dbeafe;color:#1e3a8a}
.phase-pill-engenharia:before{background:#2563eb}

.phase-pill-cotacao{background:#fef3c7;color:#92400e}
.phase-pill-cotacao:before{background:#d6a73f}

.phase-pill-equalizacao{background:#ffedd5;color:#9a3412}
.phase-pill-equalizacao:before{background:#f97316}

.phase-pill-negociacao{background:#ede9fe;color:#5b21b6}
.phase-pill-negociacao:before{background:#7c3aed}

.phase-pill-contratacao{background:#dcfce7;color:#166534}
.phase-pill-contratacao:before{background:#16a34a}

.phase-pill-logistica{background:#e2e8f0;color:#334155}
.phase-pill-logistica:before{background:#475569}

.stage-badge{
  min-width:180px!important;
}

@media(max-width:1300px){
  .phase-summary-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}
}
@media(max-width:700px){
  .phase-summary-grid{grid-template-columns:1fr}
}


/* ===== v014 - Primeiro acesso / troca de senha ===== */
.first-access-box{
  padding:6px 2px 2px;
}

.first-access-box p{
  margin:8px 0 12px;
}

.password-rules{
  margin-top:8px;
  padding:10px 12px;
  border-radius:10px;
  background:#f8fafc;
  color:#64748b;
  font-size:12px;
  border:1px solid #e5e7eb;
}

.modal-actions{
  display:flex;
  gap:10px;
  margin-top:18px;
  flex-wrap:wrap;
}

/* ===== v015 - Topbar ajustada ===== */
.content{
  padding-top:0!important;
}

.topbar{
  margin-top:0!important;
  border-top-left-radius:0!important;
  border-top-right-radius:0!important;
  border-bottom-left-radius:18px!important;
  border-bottom-right-radius:18px!important;
}

.user-box{
  font-size:13px!important;
  font-weight:500!important;
  color:#cbd5e1!important;
}

#usuarioLogado{
  font-size:13px!important;
  font-weight:500!important;
  color:#cbd5e1!important;
  opacity:.9!important;
  white-space:nowrap!important;
}

.top-logos{
  transform:scale(.86);
  transform-origin:right center;
}

.top-logo-egt{
  height:34px!important;
}

.top-logo-centaurus{
  height:34px!important;
  max-width:120px!important;
}

.top-divider{
  height:32px!important;
  opacity:.55!important;
}

.topbar h2{
  font-size:28px!important;
}

.topbar .muted{
  font-size:16px!important;
}


/* ===== v016 - Setor responsável por fase ===== */
.setor-badge{
  display:inline-block;
  padding:8px 12px;
  border-radius:12px;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.25px;
  white-space:nowrap;
}

.setor-engenharia{
  background:#dbeafe;
  color:#1e3a8a;
}

.setor-cotacao{
  background:#fef3c7;
  color:#92400e;
}

.setor-equalizacao{
  background:#ffedd5;
  color:#9a3412;
}

.setor-negociacao{
  background:#ede9fe;
  color:#5b21b6;
}

.setor-contratacao{
  background:#dcfce7;
  color:#166534;
}

.setor-logistica{
  background:#e2e8f0;
  color:#334155;
}


/* ===== v017 - Visão executiva sem responsável individual ===== */
#tblStatusFluxo th,
#tblStatusFluxo td{
  white-space:nowrap;
}

#tblStatusFluxo td:nth-child(2){
  white-space:normal;
  min-width:260px;
}


/* v020 - Logos maiores mantendo usuário igual */
.top-logo-egt,
.logo-egt-header{
    height:72px !important;
    width:auto !important;
}

.top-logo-centaurus,
.logo-centaurus-header{
    height:72px !important;
    width:auto !important;
    max-width:260px !important;
}

.top-logos{
    gap:32px !important;
    align-items:center !important;
}

#usuarioLogado,
.user-box{
    font-size:inherit !important;
    font-weight:inherit !important;
}


/* v021 - Logos grandes sem ampliar/cortar tabela */
.top-logo-egt{
    height:72px !important;
    width:auto !important;
}

.top-logo-centaurus{
    height:72px !important;
    width:auto !important;
    max-width:260px !important;
}

.top-logos{
    gap:32px !important;
    align-items:center !important;
}

#usuarioLogado,
.user-box{
    font-size:inherit !important;
    font-weight:inherit !important;
}

/* Tabela de Status compacta e sem corte lateral */
#tblStatusFluxo{
    table-layout:fixed !important;
    width:100% !important;
    min-width:0 !important;
}

#tblStatusFluxo th,
#tblStatusFluxo td{
    padding:8px 10px !important;
    font-size:12px !important;
    white-space:normal !important;
    word-break:normal !important;
    vertical-align:middle !important;
}

#tblStatusFluxo th:nth-child(1),
#tblStatusFluxo td:nth-child(1){
    width:8% !important;
}

#tblStatusFluxo th:nth-child(2),
#tblStatusFluxo td:nth-child(2){
    width:22% !important;
}

#tblStatusFluxo th:nth-child(3),
#tblStatusFluxo td:nth-child(3){
    width:14% !important;
}

#tblStatusFluxo th:nth-child(4),
#tblStatusFluxo td:nth-child(4){
    width:18% !important;
}

#tblStatusFluxo th:nth-child(5),
#tblStatusFluxo td:nth-child(5){
    width:20% !important;
}

#tblStatusFluxo th:nth-child(6),
#tblStatusFluxo td:nth-child(6){
    width:8% !important;
}

#tblStatusFluxo th:nth-child(7),
#tblStatusFluxo td:nth-child(7){
    width:10% !important;
}

.phase-pill,
.setor-badge,
.status-pill{
    padding:5px 8px !important;
    font-size:10px !important;
    border-radius:9px !important;
    white-space:normal !important;
    line-height:1.15 !important;
    max-width:100% !important;
}

.stage-badge{
    min-width:0 !important;
    width:100% !important;
    padding:7px 9px !important;
    border-radius:10px !important;
}

.stage-badge strong{
    font-size:11px !important;
    line-height:1.15 !important;
}

.stage-badge small{
    font-size:10px !important;
}

.pkg-name{
    font-size:12px !important;
    line-height:1.15 !important;
}

.pkg-sub{
    font-size:10px !important;
}

.prazo-badge,
.prazo-vazio{
    font-size:10px !important;
}

.table-wrap{
    overflow-x:hidden !important;
}


/* v022 - Prazo concluído */
.prazo-concluido{
    display:inline-block;
    padding:5px 8px;
    border-radius:999px;
    background:#dcfce7;
    color:#166534;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}


/* v025 - Alertas por etapa */
.selection-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.check-row{display:flex;align-items:center;gap:8px;margin:0;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}.check-row input{width:auto}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.detail-card{border:1px solid #e5e7eb;border-radius:16px;padding:14px;margin-bottom:14px;background:#fff}.detail-card h4{margin:0 0 4px}.timeline-grid{display:grid;grid-template-columns:repeat(8,minmax(115px,1fr));gap:8px;overflow:auto}.timeline-step{border-radius:12px;padding:10px;min-height:105px;border:2px solid #e5e7eb}.timeline-step b{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:#fff;margin-bottom:6px}.timeline-step span{display:block;font-weight:700;font-size:12px}.timeline-step small{display:block;margin-top:6px;font-size:11px;line-height:1.35}.timeline-green{background:#dcfce7;border-color:#22c55e}.timeline-gray{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.timeline-blue{background:#dbeafe;border-color:#60a5fa}.timeline-yellow{background:#fef3c7;border-color:#f59e0b}.timeline-red{background:#fee2e2;border-color:#ef4444}.status-gray{background:#e5e7eb;color:#374151}@media(max-width:1100px){.timeline-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== v040 - dashboard, datas automáticas e relatório PDF ===== */
.phase-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.phase-card b{font-size:24px;color:#0f172a;display:block}.phase-card span{font-size:12px;color:#64748b;font-weight:700;text-transform:uppercase}.lock-date{font-weight:800;color:#14532d}.mini-check{font-size:12px;color:#334155;font-weight:700;display:inline-flex;gap:6px;align-items:center;margin-top:6px}.mini-check input{width:16px;height:16px}.report-header-branded{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:3px solid #0f172a;padding:18px 0 16px;margin-bottom:18px}.report-header-branded img{max-height:58px;max-width:190px;object-fit:contain}.report-header-branded h2{margin:0;font-size:25px;color:#0f172a}.report-header-branded p{margin:3px 0;color:#475569}.report-footer-branded{margin-top:24px;border-top:1px solid #cbd5e1;padding-top:10px;text-align:center;font-size:11px;color:#64748b}.report-table.compact{font-size:10px}.report-table.compact th,.report-table.compact td{padding:5px 6px}
@media print{body{background:#fff!important}.sidebar,.topbar,.page:not(#relatorios),#toast,.panel-head button,.modal{display:none!important}#appScreen,.main{display:block!important;margin:0!important;padding:0!important}.page#relatorios{display:block!important}.panel{box-shadow:none!important;border:0!important}.report-actions,.report-intro{display:none!important}.report-box{box-shadow:none!important;border:0!important;padding:0!important}.report-page{page-break-after:auto}.report-header-branded{position:relative}.report-kpis{grid-template-columns:repeat(5,1fr)!important;gap:8px!important}.report-kpi{box-shadow:none!important;border:1px solid #cbd5e1!important;padding:8px!important}.report-table{width:100%!important;border-collapse:collapse!important}.report-table th{background:#0f172a!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-table td,.report-table th{border:1px solid #cbd5e1!important}.report-section-title{page-break-after:avoid} @page{size:A4 landscape;margin:10mm}}

/* v041 - relatório compacto sem valores financeiros */
.report-kpi.alert{border-top:3px solid #dc2626;}
.report-kpi.warn{border-top:3px solid #f59e0b;}
.report-table-v041 th,.report-table-v041 td{font-size:10.5px;padding:5px 6px;vertical-align:top;}
.report-table-v041 .col-codigo{font-weight:800;white-space:nowrap;}
.report-table-v041 .col-pacote{min-width:210px;}
.report-table-v041 .sub-row{font-size:9.5px;color:#64748b;margin-top:2px;}
@media print{
  .report-page{box-shadow:none;margin:0;padding:12mm;}
  .report-header-branded{padding-bottom:8px;margin-bottom:10px;}
  .report-header-branded h2{font-size:18px;margin:0 0 4px;}
  .report-header-branded p{font-size:10px;margin:1px 0;}
  .report-header-branded img{max-height:38px;}
  .report-kpis{grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0 10px;}
  .report-kpi{padding:7px 8px;min-height:auto;}
  .report-kpi span{font-size:8.5px;}
  .report-kpi strong{font-size:15px;}
  .report-section-title{font-size:13px;margin:10px 0 6px;}
  .report-table-v041 th,.report-table-v041 td{font-size:8.5px;padding:3.5px 4px;}
  .report-table-v041 .sub-row{font-size:7.8px;}
}
/* v043 - Etapas não aplicáveis */
.linha-na{opacity:.72;background:#f3f4f6!important;}
.linha-na td{color:#6b7280;}
.mini-check{font-size:12px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.form-row{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0;}
.form-row label span{display:block;font-size:12px;color:#64748b;font-weight:700;margin-bottom:6px;}
.form-row select{width:100%;padding:10px 12px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;}

/* v044 - ajuste de interface pacote/datas */
.estado-pacote-info{padding:12px 14px;border-radius:12px;background:#f5f7fb;border:1px solid #e2e8f0;font-weight:700;color:#0f172a}
.estado-pacote-info .badge{margin-left:8px}
.etapa-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 16px}
.etapa-tab{border:1px solid #d7deea;background:#f8fafc;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer;color:#334155}
.etapa-tab.active{background:#071225;color:#fff;border-color:#071225}
.etapa-tab.na{background:#e5e7eb;color:#64748b}
.etapa-tab.done{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.etapa-tab.alerta{background:#fef3c7;color:#92400e;border-color:#fde68a}
.etapa-tab.atraso{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.etapa-card-v044{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.etapa-card-v044 h4{margin:0 0 12px;color:#071225;font-size:20px}
.etapa-card-v044 .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.etapa-card-v044 label span{display:block;font-weight:800;margin-bottom:6px;color:#0f172a}
.etapa-card-v044 input[type=date]{width:100%}
.etapa-card-v044 .locked{padding:12px;border-radius:10px;background:#f1f5f9;border:1px solid #dbe3ef;font-weight:800;color:#0f172a}
.etapa-actions-v044{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;align-items:center}
.etapa-actions-v044 label{display:flex;gap:8px;align-items:center;font-weight:800}
.etapa-na-box{background:#f8fafc;border:1px dashed #cbd5e1;padding:12px;border-radius:12px;margin-top:12px}
.etapa-na-box input{margin-right:8px}
@media(max-width:800px){.etapa-card-v044 .grid{grid-template-columns:1fr}.etapa-tab{flex:1}}

/* v045 - status manual por etapa */
.etapa-tab.andamento{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8;}
.etapa-card-v044 select{width:100%;padding:12px;border:1px solid #d7dee8;border-radius:10px;background:#fff;font-weight:700;}

/* v047 - etapas claras e relatório gerencial */
.etapa-card-v047 .etapa-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.etapa-num-v047{font-size:36px;font-weight:900;color:#0b1728;opacity:.14}.status-chip-v047{display:inline-flex;border-radius:999px;padding:6px 12px;font-weight:800;font-size:12px;margin-top:6px}.st-concluido{background:#dcfce7;color:#166534}.st-andamento{background:#dbeafe;color:#1d4ed8}.st-na{background:#e5e7eb;color:#374151}.st-naoiniciado{background:#f1f5f9;color:#475569}.etapa-forn-box{margin-top:14px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;padding:14px}.forn-summary{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.forn-summary span{background:#fff;border:1px solid #dbeafe;border-radius:999px;padding:6px 10px;font-weight:800}.progress-v047{width:120px;height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}.progress-v047 span{height:100%;display:block;background:linear-gradient(90deg,#22c55e,#0ea5e9)}.etapa-pill-report{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;color:#0f172a;white-space:nowrap}.etapa-cor-1{background:#e0f2fe}.etapa-cor-2{background:#dbeafe}.etapa-cor-3{background:#ede9fe}.etapa-cor-4{background:#fef3c7}.etapa-cor-5{background:#fce7f3}.etapa-cor-6{background:#ccfbf1}.etapa-cor-7{background:#dcfce7}.etapa-cor-8{background:#ffedd5}.etapa-cor-0{background:#e5e7eb}.forn-ok{font-weight:800;color:#166534}.forn-warn{font-weight:800;color:#b45309}.report-v047 .report-table td{vertical-align:middle}.report-table-v047 th,.report-table-v047 td{font-size:11px;padding:7px 8px}.report-summary-steps{max-width:650px}.report-summary-steps td{padding:6px 8px}.mini-check{display:block;margin-top:8px}
@media print{.report-table-v047 th,.report-table-v047 td{font-size:9px;padding:5px 6px}.progress-v047{width:80px}.etapa-pill-report{font-size:9px;padding:4px 7px}.report-v047{page-break-inside:auto}}

/* v049 - Barra de avanço azul no relatório/PDF */
.report-progress-v049{display:flex;align-items:center;gap:7px;min-width:150px;white-space:nowrap}.report-progress-v049 svg{display:block;flex:0 0 112px}.report-progress-v049 strong{font-size:10.5px;color:#0f172a}.report-table-v049 .td-progress{min-width:150px}.report-table-v049 .date-line{display:block;white-space:nowrap}.report-v049 *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}
@media print{.report-progress-v049{min-width:120px;gap:5px}.report-progress-v049 svg{width:90px;height:10px}.report-progress-v049 strong{font-size:9px}.report-table-v049 .td-progress{min-width:115px}}


/* v050 - Relatório: seção detalhada em nova página e ajuste de quebra */
.report-details-page-v050{margin-top:18px;}
@media print{
  .report-details-page-v050{
    break-before: page;
    page-break-before: always;
    margin-top:0!important;
  }
  .report-details-title-v050{
    margin-top:0!important;
    padding-top:0!important;
  }
  .report-table-v050{
    page-break-inside:auto!important;
  }
  .report-table-v050 tr{
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
}

/* ===================== v054 - Dashboard executivo limpo ===================== */
.dashboard-exec-v054 .exec-hero-v054{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#061126,#10213f);color:#fff;border-radius:22px;padding:22px 26px;margin-bottom:18px;box-shadow:0 18px 40px rgba(15,23,42,.16)}
.dashboard-exec-v054 .exec-hero-v054 h3{margin:0 0 6px;font-size:24px;letter-spacing:.2px}.dashboard-exec-v054 .exec-hero-v054 p{margin:0;color:#cbd5e1}.dashboard-exec-v054 .exec-hero-v054 .secondary{background:#e8f4ff;color:#10213f;border:0;font-weight:800}
.kpi-grid-v054{grid-template-columns:repeat(4,minmax(190px,1fr));gap:16px;margin-bottom:20px}.kpi-grid-v054 .kpi-card{min-height:105px;border-radius:18px;border:1px solid #e4ebf5;box-shadow:0 12px 28px rgba(15,23,42,.06);position:relative;overflow:hidden}.kpi-grid-v054 .kpi-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#0ea5e9,#22c55e)}.kpi-grid-v054 .kpi-risk:before{background:linear-gradient(90deg,#f59e0b,#ef4444)}.kpi-grid-v054 .kpi-progress:before{background:linear-gradient(90deg,#2563eb,#22c55e)}
.grid-exec-v054{align-items:start}.flow-grid-v054{display:flex;flex-direction:column;gap:12px}.exec-bar-row{display:grid;gap:6px}.exec-bar-meta{display:flex;justify-content:space-between;gap:12px;font-weight:800;color:#0f172a}.exec-bar-meta span{font-weight:700}.exec-bar-track{height:12px;background:#e8eef6;border-radius:999px;overflow:hidden}.exec-bar-track i{display:block;height:100%;background:linear-gradient(90deg,#60a5fa,#22c55e);border-radius:999px}.exec-bar-row small{color:#64748b}.progress-dashboard-v054{width:118px;height:12px;background:#e5edf6;border-radius:999px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}.progress-dashboard-v054 span{display:block;height:100%;background:#7cc5ff;border-radius:999px}.etapa-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-weight:800;white-space:nowrap}.etapa-c1{background:#dff1ff;color:#075985}.etapa-c2{background:#dcfce7;color:#166534}.etapa-c3{background:#ede9fe;color:#4c1d95}.etapa-c4{background:#fef3c7;color:#92400e}.etapa-c5{background:#fce7f3;color:#9d174d}.etapa-c6{background:#e0f2fe;color:#075985}.etapa-c7{background:#ffedd5;color:#9a3412}.etapa-c8{background:#d1fae5;color:#065f46}.etapa-c0{background:#e2e8f0;color:#334155}.dashboard-exec-v054 .panel h3{letter-spacing:.1px}.dashboard-exec-v054 #tblStatusFluxo td,.dashboard-exec-v054 #tblCriticos td{vertical-align:middle}
@media(max-width:1200px){.kpi-grid-v054{grid-template-columns:repeat(2,minmax(190px,1fr))}}@media(max-width:760px){.kpi-grid-v054{grid-template-columns:1fr}.dashboard-exec-v054 .exec-hero-v054{flex-direction:column;align-items:flex-start}}

/* v055 - dashboard sem cabeçalho duplicado */
.dashboard-exec-v054{padding-top:0}
.dashboard-exec-v054 .kpi-grid-v054{margin-top:0}
.topbar{background:linear-gradient(135deg,#061126,#10213f)!important;color:#fff!important;border-radius:22px!important;padding:24px 28px!important;margin-bottom:20px!important;box-shadow:0 18px 40px rgba(15,23,42,.16)!important}
.topbar .muted{color:#cbd5e1!important}
.topbar h2{color:#fff!important;font-size:28px!important}
.topbar .user-box{color:#e5edf6!important}
.topbar .top-logo-egt{max-height:42px!important}
.topbar .top-logo-centaurus{max-height:42px!important}

/* ===================== v059 - Impressão A4 retrato do relatório ===================== */
@media print {
  @page { size: A4 portrait; margin: 9mm; }

  html, body {
    width: 210mm !important;
    min-width: 0 !important;
    background: #fff !important;
  }

  .sidebar,
  .topbar,
  .report-actions,
  .panel-head button,
  .filters,
  #toast,
  .modal {
    display: none !important;
  }

  #appScreen,
  .app,
  .content,
  .page#relatorios,
  #relatorios,
  .panel,
  .report-box {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
    border: 0 !important;
    overflow: visible !important;
  }

  .report-page,
  .report-branded,
  .report-v056 {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .report-header-branded {
    display: grid !important;
    grid-template-columns: 42mm 1fr 42mm !important;
    gap: 8mm !important;
    align-items: center !important;
    padding: 0 0 5mm !important;
    margin: 0 0 5mm !important;
    border-bottom: 2px solid #0f172a !important;
    page-break-inside: avoid !important;
  }

  .report-header-branded img {
    max-width: 38mm !important;
    max-height: 18mm !important;
    object-fit: contain !important;
  }

  .report-header-branded h2 {
    font-size: 16px !important;
    line-height: 1.15 !important;
    margin: 0 0 2mm !important;
  }

  .report-header-branded p {
    font-size: 8.5px !important;
    line-height: 1.2 !important;
    margin: 0.6mm 0 !important;
  }

  .report-kpis,
  .report-kpis-v056 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 4mm !important;
    margin: 0 0 5mm !important;
    page-break-inside: avoid !important;
  }

  .report-kpi {
    padding: 4mm !important;
    min-height: auto !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
  }

  .report-kpi span { font-size: 8px !important; }
  .report-kpi strong { font-size: 14px !important; }
  .report-section-title { font-size: 12.5px !important; margin: 4mm 0 2.5mm !important; page-break-after: avoid !important; }

  .report-details-page-v050 {
    break-before: page !important;
    page-break-before: always !important;
    margin-top: 0 !important;
  }

  .report-table,
  .report-table-v047,
  .report-table-v049,
  .report-table-v050,
  .report-table-v056 {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 7.4px !important;
    line-height: 1.13 !important;
  }

  .report-table th,
  .report-table td,
  .report-table-v047 th,
  .report-table-v047 td,
  .report-table-v049 th,
  .report-table-v049 td,
  .report-table-v050 th,
  .report-table-v050 td,
  .report-table-v056 th,
  .report-table-v056 td {
    padding: 2.6px 3px !important;
    border: 1px solid #cbd5e1 !important;
    vertical-align: top !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .report-table th {
    background: #0f172a !important;
    color: #fff !important;
  }

  .report-table-v056 th:nth-child(1), .report-table-v056 td:nth-child(1) { width: 9mm !important; }
  .report-table-v056 th:nth-child(2), .report-table-v056 td:nth-child(2) { width: 42mm !important; }
  .report-table-v056 th:nth-child(3), .report-table-v056 td:nth-child(3) { width: 32mm !important; }
  .report-table-v056 th:nth-child(4), .report-table-v056 td:nth-child(4) { width: 31mm !important; }
  .report-table-v056 th:nth-child(5), .report-table-v056 td:nth-child(5) { width: 24mm !important; }
  .report-table-v056 th:nth-child(6), .report-table-v056 td:nth-child(6) { width: 28mm !important; }
  .report-table-v056 th:nth-child(7), .report-table-v056 td:nth-child(7) { width: 12mm !important; text-align: center !important; }

  .etapa-pill-report,
  .etapa-print-v056 {
    display: inline-block !important;
    max-width: 100% !important;
    white-space: normal !important;
    font-size: 7.2px !important;
    padding: 2.5px 5px !important;
    border-radius: 999px !important;
    line-height: 1.12 !important;
  }

  .report-progress-v056,
  .report-progress-v049 {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 3px !important;
    min-width: 0 !important;
    width: 100% !important;
    white-space: nowrap !important;
  }

  .report-progress-v056 .track,
  .report-progress-v049 .track,
  .report-progress-v049 svg {
    width: 100% !important;
    max-width: 100% !important;
    height: 7px !important;
  }

  .report-progress-v056 b,
  .report-progress-v049 strong { font-size: 7.2px !important; }

  .date-line { font-size: 7.2px !important; white-space: nowrap !important; }
  .forn-ok, .forn-warn { font-size: 8px !important; }

  .report-table tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .report-footer-branded {
    margin-top: 5mm !important;
    padding-top: 2mm !important;
    font-size: 8px !important;
    border-top: 1px solid #cbd5e1 !important;
  }
}

/* v061 - fornecedores no dashboard mais limpos, sem misturar com status do pacote */
#tblStatusFluxo th:nth-child(6), #tblStatusFluxo td:nth-child(6){min-width:180px;max-width:230px;vertical-align:top;}
#tblStatusFluxo th:nth-child(7), #tblStatusFluxo td:nth-child(7){min-width:120px;text-align:left;vertical-align:middle;}
.forn-list-v061{display:flex;flex-direction:column;gap:4px;line-height:1.15;max-width:220px;}
.forn-head-v061{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;margin-bottom:2px;}
.forn-head-v061 span{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.03em;}
.forn-head-v061 b{font-size:13px;color:#0f172a;}
.forn-head-v061.warn b{color:#b45309;}
.forn-head-v061.ok b{color:#166534;}
.forn-row-v061{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:4px;font-size:12px;border-bottom:1px dashed #e2e8f0;padding:1px 0;}
.forn-icon-v061{width:18px;text-align:center;font-weight:800;}
.forn-row-v061.ok .forn-icon-v061{color:#15803d;}
.forn-row-v061.pending .forn-icon-v061{color:#b45309;}
.forn-name-v061{font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.forn-status-v061{font-size:11px;color:#64748b;white-space:nowrap;}
.forn-status-v061.ok{color:#15803d;}
.forn-status-v061.pending{color:#b45309;}
.forn-extra-btn-v061{border:0;background:transparent;color:#1d4ed8;font-weight:700;font-size:12px;padding:2px 0;text-align:left;cursor:pointer;}
.forn-extra-btn-v061:hover{text-decoration:underline;}
.forn-popup-summary-v061{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.forn-popup-summary-v061>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;}
.forn-popup-summary-v061 small{display:block;color:#64748b;font-weight:700;text-transform:uppercase;font-size:11px;}
.forn-popup-summary-v061 b{font-size:24px;color:#0f172a;}
.forn-list-v061.popup{max-width:none;gap:7px;}
.forn-list-v061.popup .forn-row-v061{font-size:14px;padding:6px 0;grid-template-columns:24px minmax(0,1fr) 90px;}
.forn-list-v061.popup .forn-name-v061{white-space:normal;}
.forn-list-v061.pdf{max-width:none;gap:2px;}
.forn-list-v061.pdf .forn-row-v061{font-size:10.5px;grid-template-columns:16px minmax(0,1fr) 55px;gap:3px;padding:1px 0;}
.forn-list-v061.pdf .forn-name-v061{white-space:normal;overflow:visible;text-overflow:clip;font-weight:700;}
.forn-list-v061.pdf .forn-head-v061{font-size:10px;margin-bottom:2px;}
@media print{
  .forn-extra-btn-v061{display:none!important;}
  .forn-list-v061{max-width:none!important;}
  .forn-row-v061{break-inside:avoid;page-break-inside:avoid;}
}


/* ===== v075 - Dashboard KPIs executivo e sem redundância ===== */
.kpi-grid-v075{
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 18px;
  align-items: stretch;
}
.kpi-grid-v075 .kpi-card{
  min-height: 104px;
}
.kpi-grid-v075 .kpi-card strong{
  font-size: 30px;
  line-height: 1.05;
}
.kpi-grid-v075 .kpi-card small{
  color:#64748b;
}
.kpi-grid-v075 .kpi-progress{
  grid-column: span 1;
}
@media (max-width: 1500px){
  .kpi-grid-v075{ grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}
@media (max-width: 1100px){
  .kpi-grid-v075{ grid-template-columns: repeat(2, minmax(170px, 1fr)); }
}
@media (max-width: 720px){
  .kpi-grid-v075{ grid-template-columns: 1fr; }
}

/* v078 - Consulta somente leitura */
.consulta-readonly-note{background:#eef6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:12px;padding:10px 12px;margin:0 0 14px;font-weight:700;font-size:13px;}
.readonly-consulta{background:#f3f4f6!important;color:#6b7280!important;cursor:not-allowed!important;}

/* ==========================================================
   v082 - Responsividade geral (notebook, monitor, tablet e celular)
   Foco apenas em layout; não altera regras do sistema.
   ========================================================== */

html, body { max-width: 100%; overflow-x: hidden; }
#appScreen, .app, .content, .page { min-width: 0 !important; }
.content { max-width: 100%; overflow-x: hidden; }
.page { width: 100%; }

/* Cabeçalho/topbar: adapta logos e usuário sem quebrar */
.topbar { gap: 14px !important; min-width: 0 !important; }
.topbar > div:first-child { min-width: 0 !important; }
.topbar h2 { word-break: normal; overflow-wrap: anywhere; }
.user-box { min-width: 0 !important; flex-wrap: wrap !important; justify-content: flex-end !important; }
.top-logos { flex-shrink: 1 !important; min-width: 0 !important; }
.top-logo-egt { max-width: 92px !important; height: 34px !important; }
.top-logo-centaurus { max-width: 118px !important; height: 36px !important; }

/* Dashboard: cards e painéis fluidos */
.kpi-grid, .kpi-grid-v054, .kpi-grid-v075 {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 14px !important;
}
.kpi-card { min-width: 0 !important; }
.grid-2, .grid-exec-v054 { grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr) !important; }
.panel { min-width: 0 !important; }
.panel-head { flex-wrap: wrap !important; }

/* Filtros: nunca estourar largura */
.filters, .filters-row, .filters-grid {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) repeat(auto-fit, minmax(180px, max-content)) !important;
  gap: 10px !important;
  align-items: center !important;
}
.filters input, .filters select, .filters-row input, .filters-row select, .filters-grid input, .filters-grid select { min-width: 0 !important; }

/* Tabelas: rolagem controlada e sem sobrepor células */
.table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  max-height: min(65vh, 620px) !important;
  -webkit-overflow-scrolling: touch;
}
table { min-width: 860px; }
th, td { overflow-wrap: anywhere; }
.actions { white-space: normal !important; }
.actions button { margin: 2px !important; }

/* Dashboard - resumo gerencial com colunas estáveis em notebook */
#tblStatusFluxo, #tblCriticos, #tblPendenciasGerenciais { table-layout: fixed !important; }
#tblStatusFluxo th:nth-child(1), #tblStatusFluxo td:nth-child(1) { width: 72px !important; }
#tblStatusFluxo th:nth-child(2), #tblStatusFluxo td:nth-child(2) { width: 28% !important; }
#tblStatusFluxo th:nth-child(3), #tblStatusFluxo td:nth-child(3) { width: 190px !important; }
#tblStatusFluxo th:nth-child(4), #tblStatusFluxo td:nth-child(4) { width: 155px !important; }
#tblStatusFluxo th:nth-child(5), #tblStatusFluxo td:nth-child(5) { width: 125px !important; }
#tblStatusFluxo th:nth-child(6), #tblStatusFluxo td:nth-child(6) { width: 190px !important; }
#tblStatusFluxo th:nth-child(7), #tblStatusFluxo td:nth-child(7) { width: 125px !important; }

/* Coluna de fornecedores discreta continua compacta */
.forn-list-v061, .forn-list-compact, .forn-dashboard { max-width: 100% !important; overflow: hidden !important; }
.forn-row-v061 { grid-template-columns: 16px minmax(0,1fr) !important; }
.forn-status-v061, .forn-row-v061 .muted { display: none !important; }
.forn-more-v061, .forn-more { font-size: 11px !important; padding: 2px 6px !important; }

/* Modais: cabem em notebook pequeno e celular */
.modal { padding: 12px !important; align-items: center !important; }
.modal-card {
  width: min(980px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 24px) !important;
  overflow: auto !important;
  padding: clamp(14px, 2vw, 22px) !important;
}
.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.modal-actions { position: sticky; bottom: 0; background: #fff; padding-top: 10px; z-index: 2; }

/* Datas/status: tabs e cards não estouram */
.etapa-tabs { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.etapa-tab { flex: 0 0 auto !important; }
.etapa-card-v044 .grid, .etapa-card-v047 .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.progress-v047, .progress-dashboard-v054 { max-width: 100% !important; }

/* Sidebar em telas médias: um pouco mais compacta */
@media (max-width: 1366px) {
  .sidebar { width: 220px !important; padding: 14px !important; }
  .content { margin-left: 220px !important; width: calc(100% - 220px) !important; padding: 16px !important; }
  .nav { padding: 10px 9px !important; font-size: 14px !important; }
  .side-brand { gap: 8px !important; }
  .side-logo-egt { width: 52px !important; }
  .kpi-card { padding: 15px 16px !important; }
  .kpi-card strong { font-size: 24px !important; }
  .panel { padding: 15px !important; }
  th, td { padding: 9px 8px !important; font-size: 12.5px !important; }
  .etapa-pill, .etapa-pill-report { font-size: 12px !important; padding: 5px 9px !important; }
}

/* Notebook/tablet horizontal */
@media (max-width: 1100px) {
  .grid-2, .grid-exec-v054 { grid-template-columns: 1fr !important; }
  .filters, .filters-row, .filters-grid { grid-template-columns: 1fr 1fr !important; }
  .topbar { align-items: flex-start !important; flex-direction: column !important; }
  .user-box { justify-content: flex-start !important; }
  .form-grid { grid-template-columns: 1fr !important; }
  .etapa-card-v044 .grid, .etapa-card-v047 .grid { grid-template-columns: 1fr !important; }
}

/* Tablet/celular: menu superior, conteúdo em 1 coluna */
@media (max-width: 820px) {
  .app { display: block !important; }
  .sidebar {
    position: sticky !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    bottom: auto !important;
    z-index: 30 !important;
    padding: 10px 12px !important;
  }
  .side-brand { margin-bottom: 8px !important; }
  .sidebar .nav { display: inline-flex !important; width: auto !important; margin: 3px !important; padding: 8px 10px !important; font-size: 13px !important; }
  .content { margin-left: 0 !important; width: 100% !important; padding: 10px !important; }
  .topbar { border-radius: 14px !important; padding: 14px !important; }
  .topbar h2 { font-size: 22px !important; }
  .top-logos { display: none !important; }
  .kpi-grid, .kpi-grid-v054, .kpi-grid-v075 { grid-template-columns: 1fr !important; }
  .filters, .filters-row, .filters-grid { grid-template-columns: 1fr !important; }
  .panel { border-radius: 14px !important; padding: 12px !important; }
  table { min-width: 760px; }
  .modal-card { width: calc(100vw - 16px) !important; max-height: calc(100dvh - 16px) !important; }
}

/* Celular estreito */
@media (max-width: 560px) {
  .login-card { width: 96vw !important; padding: 24px 20px !important; border-radius: 22px !important; }
  .brand-row-original { gap: 10px !important; }
  .login-logo-egt, .login-logo-centaurus { width: 125px !important; }
  .login-card h1 { font-size: 28px !important; }
  .sidebar .nav { font-size: 12px !important; padding: 7px 8px !important; }
  .panel-head { align-items: flex-start !important; }
  .panel-head button, .actions button { width: auto !important; }
  .modal { padding: 8px !important; }
  .modal-card { border-radius: 14px !important; padding: 12px !important; }
  .etapa-tab { min-width: 38px !important; padding: 8px !important; }
  table { min-width: 700px; }
}

/* Preserva relatório/PDF já configurado */
@media print {
  html, body { overflow: visible !important; }
  .table-wrap { overflow: visible !important; max-height: none !important; }
}

/* ==========================================================
   v083 - Tela Pacotes otimizada para notebook
   Foco: não quebrar palavras/cabeçalhos, manter tabela legível.
   ========================================================== */
#tblPacotes{
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  max-height:min(66vh, 680px)!important;
  -webkit-overflow-scrolling:touch;
  border-radius:14px;
}
#tblPacotes table{
  min-width:1280px!important;
  width:100%!important;
  table-layout:auto!important;
  border-collapse:collapse!important;
}
#tblPacotes th,
#tblPacotes td{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  vertical-align:middle!important;
  line-height:1.2!important;
}
#tblPacotes th{
  font-size:12px!important;
  letter-spacing:.01em!important;
}
#tblPacotes td{
  font-size:12.5px!important;
}
#tblPacotes th:nth-child(1), #tblPacotes td:nth-child(1){width:72px!important;text-align:center!important;}
#tblPacotes th:nth-child(2), #tblPacotes td:nth-child(2){width:72px!important;}
#tblPacotes th:nth-child(3), #tblPacotes td:nth-child(3){min-width:230px!important;white-space:normal!important;}
#tblPacotes td:nth-child(3) b{display:block;white-space:normal!important;line-height:1.15!important;}
#tblPacotes td:nth-child(3) .sub-row{display:block;font-size:11px!important;color:#64748b!important;margin-top:2px!important;white-space:normal!important;}
#tblPacotes th:nth-child(4), #tblPacotes td:nth-child(4){width:118px!important;text-align:center!important;}
#tblPacotes th:nth-child(5), #tblPacotes td:nth-child(5){width:170px!important;}
#tblPacotes th:nth-child(6), #tblPacotes td:nth-child(6){width:150px!important;}
#tblPacotes th:nth-child(7), #tblPacotes td:nth-child(7){width:92px!important;text-align:center!important;}
#tblPacotes th:nth-child(8), #tblPacotes td:nth-child(8){width:128px!important;text-align:center!important;}
#tblPacotes th:nth-child(9), #tblPacotes td:nth-child(9){width:126px!important;text-align:center!important;}
#tblPacotes th:nth-child(10), #tblPacotes td:nth-child(10){width:76px!important;text-align:center!important;}
#tblPacotes th:nth-child(11), #tblPacotes td:nth-child(11){width:168px!important;}
#tblPacotes .badge{
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
#tblPacotes .small-action,
#tblPacotes button{
  white-space:nowrap!important;
  word-break:normal!important;
  line-height:1.15!important;
}
#tblPacotes .primary.small-action{
  padding:8px 11px!important;
  min-width:96px!important;
}
#tblPacotes .secondary.small-action{
  padding:8px 11px!important;
  min-width:74px!important;
}
#tblPacotes .etapa-pill-report,
#tblPacotes .etapa-pill{
  white-space:nowrap!important;
  display:inline-flex!important;
  width:auto!important;
  max-width:none!important;
  font-size:12px!important;
  padding:6px 10px!important;
}
#tblPacotes .progress-v047{
  min-width:92px!important;
  width:96px!important;
  display:inline-block!important;
  vertical-align:middle!important;
  margin-right:6px!important;
}
#tblPacotes .actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:150px!important;
}
#tblPacotes .actions button,
#tblPacotes td:nth-child(11) button{
  padding:7px 10px!important;
  font-size:12px!important;
  border-radius:10px!important;
}
@media (max-width:1366px){
  #tblPacotes table{min-width:1220px!important;}
  #tblPacotes th,#tblPacotes td{padding:8px 7px!important;font-size:12px!important;}
  #tblPacotes th:nth-child(3), #tblPacotes td:nth-child(3){min-width:210px!important;}
  #tblPacotes th:nth-child(5), #tblPacotes td:nth-child(5){width:155px!important;}
  #tblPacotes th:nth-child(11), #tblPacotes td:nth-child(11){width:150px!important;}
}

/* ==========================================================
   v084 - Tela Pacotes com layout fluido estável
   Base real v083. Ajusta apenas a tabela de pacotes para
   notebook/monitor grande sem criar grandes vazios ou rolagem lateral.
   ========================================================== */
:root.v084-pacotes-fluid #tblPacotes,
#tblPacotes.v084-pacotes-fluid{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  max-height:min(68vh, 720px)!important;
  border-radius:14px!important;
}
:root.v084-pacotes-fluid #tblPacotes table,
#tblPacotes.v084-pacotes-fluid table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
:root.v084-pacotes-fluid #tblPacotes th,
:root.v084-pacotes-fluid #tblPacotes td,
#tblPacotes.v084-pacotes-fluid th,
#tblPacotes.v084-pacotes-fluid td{
  padding:10px 8px!important;
  font-size:12px!important;
  line-height:1.15!important;
  vertical-align:middle!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
:root.v084-pacotes-fluid #tblPacotes th,
#tblPacotes.v084-pacotes-fluid th{
  font-size:11px!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
}
/* 11 colunas da tela Pacotes */
:root.v084-pacotes-fluid #tblPacotes th:nth-child(1),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(1),
#tblPacotes.v084-pacotes-fluid th:nth-child(1),
#tblPacotes.v084-pacotes-fluid td:nth-child(1){width:5%!important;text-align:center!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(2),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(2),
#tblPacotes.v084-pacotes-fluid th:nth-child(2),
#tblPacotes.v084-pacotes-fluid td:nth-child(2){width:6%!important;text-align:left!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(3),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(3),
#tblPacotes.v084-pacotes-fluid th:nth-child(3),
#tblPacotes.v084-pacotes-fluid td:nth-child(3){width:21%!important;min-width:0!important;text-align:left!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(4),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(4),
#tblPacotes.v084-pacotes-fluid th:nth-child(4),
#tblPacotes.v084-pacotes-fluid td:nth-child(4){width:9%!important;text-align:center!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(5),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(5),
#tblPacotes.v084-pacotes-fluid th:nth-child(5),
#tblPacotes.v084-pacotes-fluid td:nth-child(5){width:15%!important;text-align:left!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(6),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(6),
#tblPacotes.v084-pacotes-fluid th:nth-child(6),
#tblPacotes.v084-pacotes-fluid td:nth-child(6){width:10%!important;text-align:left!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(7),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(7),
#tblPacotes.v084-pacotes-fluid th:nth-child(7),
#tblPacotes.v084-pacotes-fluid td:nth-child(7){width:6%!important;text-align:center!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(8),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(8),
#tblPacotes.v084-pacotes-fluid th:nth-child(8),
#tblPacotes.v084-pacotes-fluid td:nth-child(8){width:8%!important;text-align:center!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(9),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(9),
#tblPacotes.v084-pacotes-fluid th:nth-child(9),
#tblPacotes.v084-pacotes-fluid td:nth-child(9){width:8%!important;text-align:center!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(10),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(10),
#tblPacotes.v084-pacotes-fluid th:nth-child(10),
#tblPacotes.v084-pacotes-fluid td:nth-child(10){width:5%!important;text-align:center!important;}
:root.v084-pacotes-fluid #tblPacotes th:nth-child(11),
:root.v084-pacotes-fluid #tblPacotes td:nth-child(11),
#tblPacotes.v084-pacotes-fluid th:nth-child(11),
#tblPacotes.v084-pacotes-fluid td:nth-child(11){width:12%!important;text-align:left!important;}

:root.v084-pacotes-fluid #tblPacotes td:nth-child(3) b,
#tblPacotes.v084-pacotes-fluid td:nth-child(3) b{
  display:block!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  white-space:normal!important;
}
:root.v084-pacotes-fluid #tblPacotes td:nth-child(3) .sub-row,
#tblPacotes.v084-pacotes-fluid td:nth-child(3) .sub-row{
  display:block!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  color:#64748b!important;
  margin-top:2px!important;
}
:root.v084-pacotes-fluid #tblPacotes .primary.small-action,
#tblPacotes.v084-pacotes-fluid .primary.small-action{
  min-width:0!important;
  padding:7px 9px!important;
  font-size:11.5px!important;
  border-radius:9px!important;
  white-space:normal!important;
}
:root.v084-pacotes-fluid #tblPacotes .secondary.small-action,
#tblPacotes.v084-pacotes-fluid .secondary.small-action{
  min-width:0!important;
  padding:7px 9px!important;
  font-size:11.5px!important;
  border-radius:9px!important;
}
:root.v084-pacotes-fluid #tblPacotes .etapa-pill-report,
:root.v084-pacotes-fluid #tblPacotes .etapa-pill,
#tblPacotes.v084-pacotes-fluid .etapa-pill-report,
#tblPacotes.v084-pacotes-fluid .etapa-pill{
  max-width:100%!important;
  white-space:normal!important;
  font-size:11.5px!important;
  padding:5px 9px!important;
  line-height:1.1!important;
}
:root.v084-pacotes-fluid #tblPacotes .badge,
#tblPacotes.v084-pacotes-fluid .badge{
  max-width:100%!important;
  white-space:normal!important;
  font-size:11px!important;
  padding:4px 8px!important;
  line-height:1.05!important;
}
:root.v084-pacotes-fluid #tblPacotes .progress-v047,
#tblPacotes.v084-pacotes-fluid .progress-v047{
  width:70px!important;
  min-width:70px!important;
  max-width:70px!important;
  margin-right:4px!important;
}
:root.v084-pacotes-fluid #tblPacotes .actions,
#tblPacotes.v084-pacotes-fluid .actions{
  display:flex!important;
  gap:5px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
}
:root.v084-pacotes-fluid #tblPacotes .actions button,
:root.v084-pacotes-fluid #tblPacotes td:nth-child(11) button,
#tblPacotes.v084-pacotes-fluid .actions button,
#tblPacotes.v084-pacotes-fluid td:nth-child(11) button{
  padding:6px 8px!important;
  font-size:11px!important;
  border-radius:9px!important;
  line-height:1.1!important;
}
/* Em telas muito estreitas, mantém rolagem horizontal controlada em vez de quebrar tudo. */
@media (max-width:1180px){
  :root.v084-pacotes-fluid #tblPacotes,
  #tblPacotes.v084-pacotes-fluid{overflow-x:auto!important;}
  :root.v084-pacotes-fluid #tblPacotes table,
  #tblPacotes.v084-pacotes-fluid table{min-width:1040px!important;}
}

/* ===== v088 - Bandeiras discretas do seletor de idioma ===== */
.lang-switcher{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  width:max-content;
  max-width:max-content;
  z-index:5;
}
.lang-flags-compact{
  position:absolute;
  top:10px;
  left:14px;
}
#langSwitcherLogin{
  position:absolute;
  top:14px;
  left:14px;
}
.topbar{ position:relative; }
.lang-btn{
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1 !important;
  padding:0 !important;
  border-radius:3px !important;
  cursor:pointer;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  min-height:18px;
  opacity:.45;
  filter:saturate(.85);
  transition:opacity .15s ease, transform .15s ease, filter .15s ease;
}
.lang-btn.active{
  opacity:1;
  filter:saturate(1.05);
  background:transparent !important;
  box-shadow:none !important;
}
.lang-btn:hover{
  opacity:1;
  transform:translateY(-1px);
  background:transparent !important;
}
@media (max-width: 768px){
  .lang-flags-compact{ top:8px; left:10px; }
  .lang-btn{ font-size:15px !important; width:17px; height:17px; min-height:17px; }
}


/* ===== v089 - bandeiras reais pequenas e sem sobrepor o título ===== */
.topbar{ position:relative !important; }
.topbar .lang-flags-compact{
  position:absolute !important;
  top:12px !important;
  left:22px !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  z-index:8 !important;
}
.topbar .lang-flags-compact + div{
  padding-top:18px !important;
}
.lang-switcher{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.lang-btn{
  width:20px !important;
  height:14px !important;
  min-height:14px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  border-radius:2px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:.42 !important;
  cursor:pointer !important;
  overflow:hidden !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.35) !important;
}
.lang-btn.active{ opacity:1 !important; box-shadow:0 0 0 1px rgba(255,255,255,.65), 0 1px 3px rgba(0,0,0,.20) !important; }
.lang-btn:hover{ opacity:1 !important; transform:translateY(-1px) !important; }
.flag-icon{
  width:20px; height:14px; display:block; position:relative; flex:0 0 20px; overflow:hidden; border-radius:2px;
}
.flag-br{ background:#009b3a; }
.flag-br::before{
  content:""; position:absolute; left:50%; top:50%; width:10px; height:10px; background:#ffdf00; transform:translate(-50%,-50%) rotate(45deg);
}
.flag-br::after{
  content:""; position:absolute; left:50%; top:50%; width:5px; height:5px; background:#002776; border-radius:50%; transform:translate(-50%,-50%);
}
.flag-au{ background:#012169; }
.flag-au::before{
  content:""; position:absolute; left:0; top:0; width:9px; height:7px; background:
    linear-gradient(90deg, transparent 43%, #fff 43% 57%, transparent 57%),
    linear-gradient(0deg, transparent 40%, #fff 40% 60%, transparent 60%),
    linear-gradient(35deg, transparent 43%, #fff 43% 57%, transparent 57%),
    linear-gradient(-35deg, transparent 43%, #fff 43% 57%, transparent 57%),
    #012169;
}
.flag-au::after{
  content:"★"; position:absolute; right:2px; top:1px; color:#fff; font-size:5px; line-height:1; text-shadow:-5px 4px 0 #fff,-2px 8px 0 #fff;
}
#langSwitcherLogin{
  position:absolute !important;
  top:14px !important;
  left:14px !important;
}
#langSwitcherLogin + *{ margin-top:4px; }
@media (max-width:768px){
  .topbar .lang-flags-compact{ top:10px !important; left:16px !important; gap:7px !important; }
  .topbar .lang-flags-compact + div{ padding-top:18px !important; }
}


/* ===== v090 - bandeiras também na tela de login, discretas ===== */
#loginScreen .login-card{ position:relative !important; }
#loginScreen #langSwitcherLogin{
  position:absolute !important;
  top:14px !important;
  left:16px !important;
  display:flex !important;
  gap:7px !important;
  z-index:20 !important;
}
#loginScreen #langSwitcherLogin .lang-btn{
  width:18px !important;
  height:13px !important;
  min-height:13px !important;
  opacity:.46 !important;
}
#loginScreen #langSwitcherLogin .flag-icon{ width:18px !important; height:13px !important; flex-basis:18px !important; }
#loginScreen #langSwitcherLogin .lang-btn.active{ opacity:1 !important; }
@media (max-width:768px){
  #loginScreen #langSwitcherLogin{ top:12px !important; left:14px !important; }
}


/* ===== v112 - Relatório Executivo com leitura ampliada ===== */
/* Aumenta levemente textos e números do relatório sem alterar a estrutura. */
#relatorioExecutivo .r-page107,
#relatorioExecutivo .r-page105,
#relatorioExecutivo .r-page104,
#relatorioExecutivo .r-page103,
#relatorioExecutivo .report-page{
  font-size: 13px !important;
  line-height: 1.32 !important;
}
#relatorioExecutivo .r-header107 h2,
#relatorioExecutivo .r-header105 h2,
#relatorioExecutivo .r-header104 h2,
#relatorioExecutivo .r-header103 h2,
#relatorioExecutivo .report-header-branded h2{
  font-size: 27px !important;
  line-height: 1.15 !important;
}
#relatorioExecutivo .r-header107 p,
#relatorioExecutivo .r-header105 p,
#relatorioExecutivo .r-header104 p,
#relatorioExecutivo .r-header103 p,
#relatorioExecutivo .report-header-branded p{
  font-size: 13px !important;
}
#relatorioExecutivo .r-kpis107 div,
#relatorioExecutivo .r-kpis105 div,
#relatorioExecutivo .report-kpi{
  padding: 16px 20px !important;
  min-height: 82px !important;
}
#relatorioExecutivo .r-kpis107 span,
#relatorioExecutivo .r-kpis105 span,
#relatorioExecutivo .report-kpi span{
  font-size: 13px !important;
  font-weight: 800 !important;
}
#relatorioExecutivo .r-kpis107 strong,
#relatorioExecutivo .r-kpis105 strong,
#relatorioExecutivo .report-kpi strong{
  font-size: 24px !important;
  line-height: 1.08 !important;
}
#relatorioExecutivo .r-kpis107 small,
#relatorioExecutivo .r-kpis105 small{
  font-size: 11px !important;
}
#relatorioExecutivo .r-chart-head107 h3,
#relatorioExecutivo .r-chart-head105 h3,
#relatorioExecutivo .r-chart-head104 h3,
#relatorioExecutivo .r-chart-head103 h3,
#relatorioExecutivo .report-section-title,
#relatorioExecutivo .r-details107 h3,
#relatorioExecutivo .r-details105 h3,
#relatorioExecutivo .r-title104,
#relatorioExecutivo .report-title103{
  font-size: 18px !important;
}
#relatorioExecutivo .r-chart-head107 p,
#relatorioExecutivo .r-chart-head105 span,
#relatorioExecutivo .r-chart-head104 span,
#relatorioExecutivo .r-chart-head103 span{
  font-size: 12px !important;
}
#relatorioExecutivo .r-bar-value107,
#relatorioExecutivo .r-bar-value105,
#relatorioExecutivo .r-chart-num105 b{
  font-size: 16px !important;
}
#relatorioExecutivo .r-bar-label107,
#relatorioExecutivo .r-bar-pct107,
#relatorioExecutivo .r-yaxis107,
#relatorioExecutivo .r-yaxis105{
  font-size: 11.5px !important;
  font-weight: 850 !important;
}
#relatorioExecutivo .r-table107,
#relatorioExecutivo .r-table105,
#relatorioExecutivo .r-table104,
#relatorioExecutivo .report-table103,
#relatorioExecutivo .report-table{
  font-size: 11.5px !important;
}
#relatorioExecutivo .r-table107 th,
#relatorioExecutivo .r-table107 td,
#relatorioExecutivo .r-table105 th,
#relatorioExecutivo .r-table105 td,
#relatorioExecutivo .r-table104 th,
#relatorioExecutivo .r-table104 td,
#relatorioExecutivo .report-table103 th,
#relatorioExecutivo .report-table103 td,
#relatorioExecutivo .report-table th,
#relatorioExecutivo .report-table td{
  padding: 7px 8px !important;
}
#relatorioExecutivo .r-pkg107,
#relatorioExecutivo .r-detail107 .pkg-name,
#relatorioExecutivo .r-detail105 .pkg-name,
#relatorioExecutivo .r-detail104 .pkg-name{
  font-size: 12.5px !important;
  font-weight: 900 !important;
}
#relatorioExecutivo .r-sub107,
#relatorioExecutivo .sub-row,
#relatorioExecutivo .r-detail107 small,
#relatorioExecutivo .r-detail105 small{
  font-size: 10.5px !important;
}
#relatorioExecutivo .etapa-pill-report{
  font-size: 11px !important;
  padding: 5px 9px !important;
}
#relatorioExecutivo .report-progress-v049 strong{
  font-size: 11px !important;
}

@media print{
  #relatorioExecutivo .r-header107 h2,
  #relatorioExecutivo .r-header105 h2,
  #relatorioExecutivo .r-header104 h2,
  #relatorioExecutivo .r-header103 h2,
  #relatorioExecutivo .report-header-branded h2{font-size:19px!important;}
  #relatorioExecutivo .r-header107 p,
  #relatorioExecutivo .r-header105 p,
  #relatorioExecutivo .r-header104 p,
  #relatorioExecutivo .r-header103 p,
  #relatorioExecutivo .report-header-branded p{font-size:9.5px!important;}
  #relatorioExecutivo .r-kpis107 div,
  #relatorioExecutivo .r-kpis105 div,
  #relatorioExecutivo .report-kpi{padding:8px 10px!important;min-height:auto!important;}
  #relatorioExecutivo .r-kpis107 span,
  #relatorioExecutivo .r-kpis105 span,
  #relatorioExecutivo .report-kpi span{font-size:8.8px!important;}
  #relatorioExecutivo .r-kpis107 strong,
  #relatorioExecutivo .r-kpis105 strong,
  #relatorioExecutivo .report-kpi strong{font-size:16px!important;}
  #relatorioExecutivo .r-kpis107 small,
  #relatorioExecutivo .r-kpis105 small{font-size:7.8px!important;}
  #relatorioExecutivo .r-chart-head107 h3,
  #relatorioExecutivo .r-chart-head105 h3,
  #relatorioExecutivo .r-chart-head104 h3,
  #relatorioExecutivo .r-chart-head103 h3,
  #relatorioExecutivo .r-details107 h3,
  #relatorioExecutivo .r-details105 h3,
  #relatorioExecutivo .r-title104,
  #relatorioExecutivo .report-title103{font-size:13.5px!important;}
  #relatorioExecutivo .r-table107,
  #relatorioExecutivo .r-table105,
  #relatorioExecutivo .r-table104,
  #relatorioExecutivo .report-table103,
  #relatorioExecutivo .report-table{font-size:8.8px!important;}
  #relatorioExecutivo .r-table107 th,#relatorioExecutivo .r-table107 td,
  #relatorioExecutivo .r-table105 th,#relatorioExecutivo .r-table105 td,
  #relatorioExecutivo .r-table104 th,#relatorioExecutivo .r-table104 td,
  #relatorioExecutivo .report-table103 th,#relatorioExecutivo .report-table103 td,
  #relatorioExecutivo .report-table th,#relatorioExecutivo .report-table td{padding:4.5px 5px!important;}
}


/* ===== v131 Capex ===== */
.menu-separator{margin:14px 10px 8px;border-top:1px solid rgba(255,255,255,.16);padding-top:10px;color:rgba(255,255,255,.58);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.menu-separator span{display:block;padding-left:8px}
.capex-hero{border-left:5px solid #0ea5e9;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)}
.capex-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.capex-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px 16px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.capex-kpi span{display:block;color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.capex-kpi strong{display:block;margin-top:6px;font-size:22px;color:#0f172a}.capex-kpi small{color:#64748b}.capex-kpi.alert strong{color:#dc2626}.capex-grid{align-items:stretch}.capex-bars{display:flex;flex-direction:column;gap:10px}.capex-bar-row{display:grid;grid-template-columns:150px 1fr 120px;gap:10px;align-items:center;font-size:12px}.capex-track{height:18px;background:#e5e7eb;border-radius:999px;overflow:hidden}.capex-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8,#2563eb)}.capex-phase-chart{display:flex;gap:14px;align-items:flex-end;height:220px;border-bottom:1px solid #e5e7eb;padding:18px 10px 8px}.capex-col{flex:1;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.capex-col-value{font-size:12px;font-weight:700;color:#0f172a;margin-bottom:6px}.capex-col-bar{margin:0 auto;width:48px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#22c55e,#16a34a);min-height:8px}.capex-col-label{font-size:11px;color:#64748b;margin-top:6px;min-height:28px}.capex-type-badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;background:#eef2ff;color:#3730a3}.capex-alert-badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.capex-alert-ok{background:#dcfce7;color:#166534}.capex-alert-watch{background:#fef3c7;color:#92400e}.capex-alert-high{background:#fee2e2;color:#991b1b}.capex-phase-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.capex-phase-card{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f8fafc}.capex-phase-card h4{margin:0 0 8px}.capex-history-item{border-left:4px solid #0ea5e9;background:#f8fafc;border-radius:10px;padding:10px 12px;margin:8px 0}.capex-history-item small{color:#64748b}.capex-subtle{font-size:11px;color:#64748b}.capex-actions .secondary{margin:2px}
@media(max-width:900px){.capex-kpis,.capex-phase-cards{grid-template-columns:1fr}.capex-bar-row{grid-template-columns:1fr}.capex-phase-chart{overflow-x:auto}.capex-col{min-width:92px}}

/* ===== v132 - CAPEX BI/drilldown/report ===== */
.capex-clickable{cursor:pointer;transition:.18s ease;position:relative}.capex-clickable:hover{transform:translateY(-1px);filter:brightness(.98);box-shadow:0 10px 24px rgba(15,23,42,.10)}
.capex-click-row{cursor:pointer}.capex-click-row:hover td{background:#eef6ff!important}.capex-filter-info{margin:8px 0 12px;color:#475569;font-size:13px}.capex-filter-pill{display:inline-block;margin-right:8px;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:4px 10px;font-weight:700}.capex-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.capex-report{background:#fff}.capex-print-report{background:#fff;color:#0f172a}.capex-print-report .report-header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #0f172a;padding:18px 6px 14px;margin-bottom:14px}.capex-print-report .report-header img{max-height:52px;max-width:170px;object-fit:contain}.capex-print-report .report-header h2{margin:0;font-size:24px}.capex-print-report .report-header p{margin:4px 0;color:#334155}.capex-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.capex-report-kpis>div{border:1px solid #cbd5e1;border-left:5px solid #0f766e;border-radius:10px;padding:12px;background:#f8fafc}.capex-report-kpis span{display:block;color:#64748b;font-weight:800;text-transform:uppercase;font-size:12px}.capex-report-kpis b{display:block;font-size:22px;margin-top:4px}.capex-report-kpis small{color:#64748b}.capex-report-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin:14px 0}.capex-report-panel{border:1px solid #cbd5e1;border-radius:12px;padding:14px;background:#fff}.capex-report-panel h3{margin:0 0 12px;font-size:18px}.capex-report-bar-row{display:grid;grid-template-columns:140px 1fr 130px;gap:10px;align-items:center;margin:10px 0}.capex-report-chart{height:240px;display:flex;gap:18px;align-items:flex-end;border-bottom:1px solid #cbd5e1;padding:18px 12px 10px}.capex-rcol{flex:1;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.capex-rval{font-size:12px;font-weight:800;margin-bottom:6px}.capex-rbar{width:46px;margin:0 auto;background:linear-gradient(180deg,#22c55e,#16a34a);border-radius:10px 10px 0 0}.capex-rlabel{font-size:12px;color:#475569;font-weight:700;margin-top:8px;min-height:32px}.capex-print-report table{width:100%;border-collapse:collapse}.capex-print-report th{background:#0f172a;color:#fff;text-align:left;padding:8px}.capex-print-report td{border:1px solid #cbd5e1;padding:7px;vertical-align:top}
@media(max-width:900px){.capex-report-kpis,.capex-report-grid{grid-template-columns:1fr}.capex-report-bar-row{grid-template-columns:1fr}.capex-head-actions{justify-content:flex-start}}
@media print{.sidebar,.topbar,.panel-head button,.nav,.capex-head-actions,.secondary,.primary{display:none!important}.page{display:block!important}.report-box{box-shadow:none!important;border:0!important}.capex-print-report{font-size:11px}.capex-report-kpis{grid-template-columns:repeat(2,1fr)}.capex-report-grid{grid-template-columns:1fr}.capex-print-report .report-header img{max-height:42px}.capex-print-report .report-header h2{font-size:20px}}

/* ===== v133 - CAPEX print fix ===== */
@media print{
  body.printing-capex{background:#fff!important;}
  body.printing-capex .sidebar,
  body.printing-capex .topbar,
  body.printing-capex .page:not(#capexRelatorios),
  body.printing-capex #toast,
  body.printing-capex .modal,
  body.printing-capex .capex-head-actions,
  body.printing-capex .report-actions,
  body.printing-capex .report-intro,
  body.printing-capex button{display:none!important;}
  body.printing-capex #appScreen,
  body.printing-capex .main,
  body.printing-capex #capexRelatorios{display:block!important;margin:0!important;padding:0!important;width:100%!important;}
  body.printing-capex #capexRelatorios .panel{box-shadow:none!important;border:0!important;padding:0!important;}
  body.printing-capex #relatorioCapex{display:block!important;background:#fff!important;color:#0f172a!important;}
  body.printing-capex .capex-print-report{display:block!important;background:#fff!important;color:#0f172a!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  body.printing-capex .capex-report-grid{grid-template-columns:1fr!important;}
  @page{size:A4 landscape;margin:10mm;}
}

/* ===== v134 - Capex Executive BI Layout ===== */
.capex-grid-v134{grid-template-columns: minmax(0,1.45fr) minmax(360px,.55fr)!important; align-items:stretch;}
.capex-type-panel-v134,.capex-phase-panel-v134{min-height:360px;}
.capex-type-grouped{display:flex;flex-direction:column;gap:16px;padding:4px 2px;}
.capex-type-block{border:1px solid #dbe5f0;border-radius:14px;padding:14px 16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 8px 18px rgba(15,23,42,.04);}
.capex-type-title{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;}
.capex-type-title b{font-size:15px;color:#07152d;min-width:170px;}
.capex-type-title small{color:#64748b;font-weight:700;}
.capex-phase-row{display:grid;grid-template-columns:110px minmax(220px,1fr) 130px 82px;gap:10px;align-items:center;margin:7px 0;}
.capex-phase-row span{font-size:12px;font-weight:800;color:#334155;}
.capex-phase-row strong{font-size:12px;color:#07152d;text-align:right;white-space:nowrap;}
.capex-phase-row em{font-style:normal;font-size:12px;font-weight:900;color:#64748b;text-align:right;white-space:nowrap;}
.capex-var-alert{color:#b45309!important;}
.capex-track{height:14px;background:#e5ebf2;border-radius:999px;overflow:hidden;position:relative;}
.capex-fill-v134{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8,#2563eb);min-width:2px;}
.capex-jvep{background:linear-gradient(90deg,#22c55e,#16a34a)!important;}
.capex-basico{background:linear-gradient(90deg,#38bdf8,#2563eb)!important;}
.capex-detalhado{background:linear-gradient(90deg,#f59e0b,#facc15)!important;}
.capex-phase-chart-v134{height:310px;display:flex;align-items:flex-end;justify-content:space-around;gap:22px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:24px 16px 14px;}
.capex-phase-chart-v134 .capex-col{min-width:110px;text-align:center;}
.capex-phase-chart-v134 .capex-col-bar{width:52px;margin:8px auto;border-radius:10px 10px 3px 3px;box-shadow:0 6px 14px rgba(15,23,42,.08);}
.capex-phase-chart-v134 .capex-col-value{font-size:13px;font-weight:900;color:#07152d;white-space:nowrap;}
.capex-phase-chart-v134 .capex-col-label{font-size:12px;color:#334155;font-weight:800;min-height:30px;}
.capex-waterfall-v134{display:flex;align-items:flex-end;gap:18px;min-height:245px;padding:18px 16px 8px;border-top:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:14px;overflow-x:auto;}
.capex-water-item{min-width:115px;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;}
.capex-water-value{font-weight:900;color:#07152d;font-size:12px;white-space:nowrap;margin-bottom:5px;}
.capex-water-bar{width:44px;border-radius:9px 9px 3px 3px;background:#22c55e;box-shadow:0 8px 16px rgba(15,23,42,.08);}
.capex-water-bar.base{background:linear-gradient(180deg,#22c55e,#16a34a);}
.capex-water-bar.final{background:linear-gradient(180deg,#2563eb,#1d4ed8);}
.capex-water-bar.up{background:linear-gradient(180deg,#f97316,#fb923c);}
.capex-water-bar.down{background:linear-gradient(180deg,#14b8a6,#0f766e);}
.capex-water-label{margin-top:7px;font-size:12px;font-weight:800;color:#334155;line-height:1.15;}
.capex-alert-critical{background:#fee2e2!important;color:#991b1b!important;border:1px solid #ef4444;}
.capex-alert-high{background:#ffedd5!important;color:#9a3412!important;border:1px solid #f97316;}
.capex-alert-watch{background:#fef9c3!important;color:#854d0e!important;border:1px solid #facc15;}
.capex-clickable{cursor:pointer;transition:.15s transform,.15s box-shadow,.15s filter;}
.capex-clickable:hover{transform:translateY(-1px);filter:brightness(1.02);}
.capex-clickable:hover .capex-track,.capex-clickable:hover .capex-col-bar,.capex-clickable:hover .capex-water-bar{box-shadow:0 8px 18px rgba(37,99,235,.16);}
.capex-print-v134 .capex-clickable{cursor:default;}
.capex-print-v134 .capex-type-block{break-inside:avoid;}
.capex-print-v134 .capex-report-panel{margin-top:14px;}
@media print{.capex-waterfall-v134{min-height:190px}.capex-phase-chart-v134{height:230px}.capex-phase-row{grid-template-columns:95px 1fr 115px 70px}.capex-grid-v134{display:block}.capex-type-block{padding:8px 10px;margin-bottom:8px}.capex-type-grouped{gap:8px}}

/* ===== v135 Capex layout corrections ===== */
.capex-grid-v134{grid-template-columns:minmax(0,2fr) minmax(340px,.95fr);align-items:stretch;gap:18px;}
.capex-type-grouped-v135{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;padding:2px!important;}
.capex-type-block-v135{padding:12px 14px!important;margin:0!important;border-radius:16px;}
.capex-type-block-v135 .capex-type-title{margin-bottom:8px!important;}
.capex-phase-row-v135{grid-template-columns:88px minmax(130px,1fr) 120px 68px!important;gap:8px!important;margin:5px 0!important;min-height:24px!important;}
.capex-phase-row-v135 span{font-size:13px!important;}
.capex-phase-row-v135 strong{font-size:12px!important;white-space:nowrap;}
.capex-phase-row-v135 em{font-size:12px!important;}
.capex-phase-panel-v134{overflow:hidden;}
.capex-phase-panel-v134 .panel-head{margin-bottom:10px;position:relative;z-index:2;background:#fff;}
.capex-phase-chart-v135{height:235px!important;min-height:235px!important;display:flex;align-items:flex-end;justify-content:space-around;gap:16px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:44px 14px 18px!important;overflow:hidden;}
.capex-phase-chart-v135 .capex-col{min-width:92px;text-align:center;position:relative;}
.capex-phase-chart-v135 .capex-col-bar{width:48px;margin:7px auto;border-radius:10px 10px 3px 3px;box-shadow:0 6px 14px rgba(15,23,42,.08);}
.capex-phase-chart-v135 .capex-col-value{font-size:12px;font-weight:900;color:#07152d;white-space:nowrap;line-height:1.15;}
.capex-phase-chart-v135 .capex-col-label{font-size:12px;color:#334155;font-weight:800;line-height:1.15;min-height:30px;}
.capex-waterfall-v135{min-height:210px!important;padding:18px 16px 8px!important;gap:18px!important;}
.capex-waterfall-v135 .capex-water-bar{max-height:145px!important;}
@media(max-width:1450px){.capex-type-grouped-v135{grid-template-columns:1fr}.capex-grid-v134{grid-template-columns:1fr}.capex-phase-row-v135{grid-template-columns:82px minmax(100px,1fr) 110px 60px!important}}
@media print{.capex-type-grouped-v135{grid-template-columns:1fr!important}.capex-phase-chart-v135{height:210px!important;min-height:210px!important;padding-top:36px!important}.capex-phase-row-v135{grid-template-columns:80px 1fr 105px 55px!important}}

/* ===== v136 - Capex notebook-first responsive layout ===== */
/* Prioridade: notebook. Evita sobreposição de valores nos cards Capex e
   coloca o comparativo por fase abaixo do gráfico por tipo quando a tela é menor. */
@media (max-width: 1700px){
  .capex-grid-v134{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .capex-type-panel-v134,
  .capex-phase-panel-v134{
    min-height: auto !important;
    overflow: visible !important;
  }
  .capex-type-grouped-v135{
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .capex-type-block-v135{
    padding: 12px 14px !important;
  }
  .capex-type-block-v135 .capex-type-title{
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .capex-phase-row-v135{
    grid-template-columns: 105px minmax(260px,1fr) 150px 86px !important;
    gap: 12px !important;
    align-items: center !important;
    min-height: 26px !important;
  }
  .capex-phase-row-v135 strong,
  .capex-phase-row-v135 em{
    white-space: nowrap !important;
  }
  .capex-phase-chart-v135{
    height: 260px !important;
    min-height: 260px !important;
    padding: 42px 18px 18px !important;
    overflow: hidden !important;
  }
  .capex-phase-chart-v135 .capex-col{
    min-width: 120px !important;
  }
}

@media (max-width: 1250px){
  .capex-phase-row-v135{
    grid-template-columns: 86px minmax(150px,1fr) 118px 70px !important;
    gap: 8px !important;
  }
  .capex-phase-row-v135 span,
  .capex-phase-row-v135 strong,
  .capex-phase-row-v135 em{
    font-size: 11px !important;
  }
}

/* v137 - Ajuste executivo do Dashboard Capex para notebook
   Prioridade: leitura em telas 1366x768, sem cortes/colunas espremidas. */
@media (max-width: 1600px){
  .capex-grid-v134,
  .capex-grid-v135,
  .capex-dashboard-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    align-items:stretch!important;
  }
  .capex-type-panel-v134,
  .capex-phase-panel-v134{
    width:100%!important;
    min-width:0!important;
    min-height:auto!important;
    overflow:visible!important;
  }
  .capex-type-grouped-v135{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .capex-type-block-v135,
  .capex-type-block{
    min-width:0!important;
    overflow:hidden!important;
  }
  .capex-phase-row-v135{
    grid-template-columns:82px minmax(120px,1fr) 112px 66px!important;
    gap:8px!important;
  }
  .capex-phase-row-v135 strong,
  .capex-phase-row-v135 em{
    font-size:12px!important;
  }
  .capex-phase-chart-v135,
  .capex-phase-chart-v134{
    height:280px!important;
    min-height:280px!important;
    width:100%!important;
    overflow:visible!important;
    justify-content:center!important;
    gap:70px!important;
    padding:38px 24px 22px!important;
    box-sizing:border-box!important;
  }
  .capex-phase-chart-v135 .capex-col,
  .capex-phase-chart-v134 .capex-col{
    min-width:135px!important;
    max-width:160px!important;
    flex:0 0 135px!important;
    text-align:center!important;
  }
  .capex-phase-chart-v135 .capex-col-bar,
  .capex-phase-chart-v134 .capex-col-bar{
    width:54px!important;
    max-height:170px!important;
  }
  .capex-phase-chart-v135 .capex-col-label,
  .capex-phase-chart-v134 .capex-col-label{
    font-size:13px!important;
    line-height:1.15!important;
    min-height:42px!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .capex-phase-chart-v135 .capex-col-value,
  .capex-phase-chart-v134 .capex-col-value{
    font-size:13px!important;
    white-space:nowrap!important;
  }
}

@media (max-width: 1250px){
  .capex-type-grouped-v135{
    grid-template-columns:1fr!important;
  }
  .capex-phase-chart-v135,
  .capex-phase-chart-v134{
    gap:36px!important;
    overflow-x:auto!important;
    justify-content:flex-start!important;
  }
}

/* ===== v138 - Capex responsivo automático para notebook/telas grandes =====
   Regra: em notebook o dashboard empilha os gráficos e reduz fontes/barras;
   em tela grande volta a respirar e aumenta proporcionalmente. */
#capexDashboard .capex-grid,
#capexDashboard .capex-grid-v134,
#capexDashboard .capex-grid-v135{
  gap: clamp(14px, 1.2vw, 22px) !important;
}
#capexDashboard .capex-type-block,
#capexDashboard .capex-type-block-v135{
  box-sizing: border-box !important;
}
#capexDashboard .capex-phase-row,
#capexDashboard .capex-phase-row-v135{
  box-sizing: border-box !important;
}
#capexDashboard .capex-type-title b{font-size:clamp(14px, .85vw, 17px)!important;}
#capexDashboard .capex-type-title small{font-size:clamp(11px, .75vw, 13px)!important;}

@media (max-width: 1800px){
  /* Notebook e telas intermediárias: nada espremido lado a lado */
  #capexDashboard .capex-grid,
  #capexDashboard .capex-grid-v134,
  #capexDashboard .capex-grid-v135,
  #capexDashboard .grid-2.capex-grid{
    display:grid !important;
    grid-template-columns: 1fr !important;
    width:100% !important;
    align-items:stretch !important;
  }
  #capexDashboard .capex-type-panel-v134,
  #capexDashboard .capex-phase-panel-v134{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  #capexDashboard .capex-type-grouped,
  #capexDashboard .capex-type-grouped-v135{
    display:grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width:100% !important;
  }
  #capexDashboard .capex-type-block,
  #capexDashboard .capex-type-block-v135{
    padding: 11px 12px !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  #capexDashboard .capex-phase-row,
  #capexDashboard .capex-phase-row-v135{
    grid-template-columns: 76px minmax(90px, 1fr) 104px 52px !important;
    gap: 7px !important;
    margin: 5px 0 !important;
    min-height: 23px !important;
  }
  #capexDashboard .capex-phase-row span,
  #capexDashboard .capex-phase-row-v135 span{
    font-size: 11px !important;
    line-height:1.1 !important;
  }
  #capexDashboard .capex-phase-row strong,
  #capexDashboard .capex-phase-row-v135 strong{
    font-size: 11px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #capexDashboard .capex-phase-row em,
  #capexDashboard .capex-phase-row-v135 em{
    font-size: 10px !important;
    white-space:nowrap !important;
    max-width:52px !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }
  #capexDashboard .capex-track{height:12px!important;}

  /* Comparativo por fase ocupa a largura inteira e mostra as 3 colunas sem cortar */
  #capexDashboard #capexChartFase.capex-phase-chart,
  #capexDashboard .capex-phase-chart-v134,
  #capexDashboard .capex-phase-chart-v135{
    height: 235px !important;
    min-height: 235px !important;
    max-height: 235px !important;
    width:100% !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-evenly !important;
    gap: clamp(14px, 4vw, 52px) !important;
    padding: 30px 18px 18px !important;
    overflow: visible !important;
    box-sizing:border-box !important;
  }
  #capexDashboard #capexChartFase .capex-col,
  #capexDashboard .capex-phase-chart-v134 .capex-col,
  #capexDashboard .capex-phase-chart-v135 .capex-col{
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: 210px !important;
    text-align:center !important;
  }
  #capexDashboard #capexChartFase .capex-col-bar,
  #capexDashboard .capex-phase-chart-v134 .capex-col-bar,
  #capexDashboard .capex-phase-chart-v135 .capex-col-bar{
    width: clamp(32px, 3vw, 52px) !important;
    max-height: 130px !important;
  }
  #capexDashboard #capexChartFase .capex-col-value,
  #capexDashboard .capex-phase-chart-v134 .capex-col-value,
  #capexDashboard .capex-phase-chart-v135 .capex-col-value{
    font-size: clamp(11px, .82vw, 13px) !important;
    white-space:nowrap !important;
  }
  #capexDashboard #capexChartFase .capex-col-label,
  #capexDashboard .capex-phase-chart-v134 .capex-col-label,
  #capexDashboard .capex-phase-chart-v135 .capex-col-label{
    font-size: clamp(11px, .82vw, 13px) !important;
    line-height:1.15 !important;
    min-height: 32px !important;
    white-space:normal !important;
  }
}

@media (max-width: 1450px){
  #capexDashboard .capex-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #capexDashboard .capex-type-grouped,
  #capexDashboard .capex-type-grouped-v135{
    grid-template-columns: 1fr !important;
  }
  #capexDashboard .capex-phase-row,
  #capexDashboard .capex-phase-row-v135{
    grid-template-columns: 72px minmax(120px,1fr) 100px 48px !important;
  }
  #capexDashboard .capex-type-panel-v134,
  #capexDashboard .capex-phase-panel-v134,
  #capexDashboard .panel{
    border-radius:14px !important;
  }
}

@media (min-width: 1801px){
  #capexDashboard .capex-grid,
  #capexDashboard .capex-grid-v134,
  #capexDashboard .capex-grid-v135,
  #capexDashboard .grid-2.capex-grid{
    grid-template-columns: minmax(0, 1.55fr) minmax(390px, .75fr) !important;
  }
  #capexDashboard .capex-type-grouped,
  #capexDashboard .capex-type-grouped-v135{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:16px!important;
  }
  #capexDashboard #capexChartFase.capex-phase-chart,
  #capexDashboard .capex-phase-chart-v134,
  #capexDashboard .capex-phase-chart-v135{
    height: 300px !important;
    min-height: 300px !important;
  }
}

/* ==========================================================
   v139 - Menu lateral com rolagem e ajuste para notebooks baixos
   Corrige o menu ficando maior que a tela e ocultando o botão Sair.
   ========================================================== */
.sidebar{
  max-height:100vh !important;
  height:100vh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:18px !important;
  box-sizing:border-box !important;
  scrollbar-width:thin !important;
  scrollbar-color:#475569 #0b1220 !important;
}
.sidebar::-webkit-scrollbar{width:8px!important;}
.sidebar::-webkit-scrollbar-track{background:#0b1220!important;}
.sidebar::-webkit-scrollbar-thumb{background:#475569!important;border-radius:8px!important;}
.sidebar::-webkit-scrollbar-thumb:hover{background:#64748b!important;}

.sidebar .nav{
  flex-shrink:0 !important;
}

/* Notebooks com pouca altura: compacta o menu, mas mantém rolagem */
@media (max-height: 760px) and (min-width: 821px){
  .sidebar{
    padding:10px 12px 14px !important;
  }
  .side-brand{
    margin-bottom:12px !important;
    gap:8px !important;
  }
  .side-brand strong{
    font-size:16px !important;
    line-height:1.15 !important;
  }
  .side-brand span{
    font-size:11px !important;
    margin-top:2px !important;
  }
  .side-logo-egt{
    width:48px !important;
    height:34px !important;
  }
  .sidebar .nav,
  .nav{
    padding:8px 10px !important;
    margin:3px 0 !important;
    font-size:13px !important;
    border-radius:9px !important;
    line-height:1.15 !important;
  }
  .sidebar .section-label,
  .sidebar .nav-section,
  .sidebar hr{
    margin:8px 0 !important;
  }
  .sidebar .logout,
  .sidebar .btn-sair,
  .sidebar button[onclick*="logout"],
  .sidebar button[onclick*="sair"]{
    margin-top:6px !important;
    padding:9px 10px !important;
  }
}

@media (max-height: 680px) and (min-width: 821px){
  .sidebar{
    padding:8px 10px 12px !important;
  }
  .side-brand{margin-bottom:8px !important;}
  .side-logo-egt{width:42px !important;height:30px !important;}
  .sidebar .nav,
  .nav{
    padding:7px 9px !important;
    margin:2px 0 !important;
    font-size:12.5px !important;
  }
}

/* Em celular/tablet onde o menu vira topo, não força 100vh */
@media (max-width: 820px){
  .sidebar{
    height:auto !important;
    max-height:42vh !important;
    overflow-y:auto !important;
  }
}

/* ==========================================================
   v140 - Capex: títulos por tipo destacados e comparativo proporcional
   ========================================================== */
#capexDashboard .capex-type-title{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 0 10px !important;
  margin:0 0 10px !important;
  border-bottom:1px solid #dbe5f0 !important;
}
#capexDashboard .capex-type-title b{
  display:inline-flex !important;
  align-items:center !important;
  min-width:0 !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:#07152d !important;
  color:#fff !important;
  font-size:clamp(13px,.9vw,16px) !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  box-shadow:0 6px 14px rgba(15,23,42,.10) !important;
}
#capexDashboard .capex-type-title small{
  font-size:clamp(11px,.75vw,13px) !important;
  font-weight:900 !important;
  color:#475569 !important;
  background:#eef6ff !important;
  border:1px solid #dbeafe !important;
  border-radius:999px !important;
  padding:5px 9px !important;
  white-space:nowrap !important;
}
#capexDashboard .capex-phase-row span{
  color:#334155 !important;
  font-weight:800 !important;
}

/* Comparativo por fase: usa melhor o espaço disponível em telas grandes */
#capexDashboard .capex-phase-panel-v134{
  display:flex !important;
  flex-direction:column !important;
}
#capexDashboard .capex-phase-panel-v134 .panel-head{
  flex:0 0 auto !important;
}
#capexDashboard #capexChartFase.capex-phase-chart,
#capexDashboard .capex-phase-chart-v134,
#capexDashboard .capex-phase-chart-v135{
  flex:1 1 auto !important;
  min-height:260px !important;
  height:clamp(260px,22vw,370px) !important;
  max-height:390px !important;
  width:100% !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-around !important;
  gap:clamp(18px,2.2vw,42px) !important;
  padding:clamp(28px,2vw,42px) clamp(18px,1.6vw,32px) 22px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
#capexDashboard #capexChartFase .capex-col,
#capexDashboard .capex-phase-chart-v134 .capex-col,
#capexDashboard .capex-phase-chart-v135 .capex-col{
  flex:1 1 0 !important;
  min-width:0 !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
  text-align:center !important;
}
#capexDashboard #capexChartFase .capex-col-bar,
#capexDashboard .capex-phase-chart-v134 .capex-col-bar,
#capexDashboard .capex-phase-chart-v135 .capex-col-bar{
  width:clamp(38px,3.2vw,68px) !important;
  max-height:clamp(145px,15vw,260px) !important;
  min-height:10px !important;
  margin:8px auto !important;
}
#capexDashboard #capexChartFase .capex-col-value,
#capexDashboard .capex-phase-chart-v134 .capex-col-value,
#capexDashboard .capex-phase-chart-v135 .capex-col-value{
  font-size:clamp(12px,.9vw,15px) !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
#capexDashboard #capexChartFase .capex-col-label,
#capexDashboard .capex-phase-chart-v134 .capex-col-label,
#capexDashboard .capex-phase-chart-v135 .capex-col-label{
  font-size:clamp(11px,.86vw,14px) !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  min-height:42px !important;
  max-width:140px !important;
  white-space:normal !important;
}

@media (max-width:1450px){
  #capexDashboard .capex-type-title b{font-size:13px!important;padding:6px 10px!important;}
  #capexDashboard .capex-type-title small{font-size:11px!important;padding:4px 8px!important;}
  #capexDashboard #capexChartFase.capex-phase-chart,
  #capexDashboard .capex-phase-chart-v134,
  #capexDashboard .capex-phase-chart-v135{
    height:245px!important;
    min-height:245px!important;
    padding:30px 16px 18px!important;
  }
}

/* v141 - Histórico Capex */
.capex-history-head-v141{align-items:center;gap:12px}
.capex-history-toolbar-v141{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px 0}
.capex-history-toolbar-v141 h4{margin:0;font-size:1rem}
.capex-history-toolbar-v141 select{max-width:260px;border:1px solid #d5dfeb;border-radius:10px;padding:9px 12px;background:#fff;font-weight:700;color:#0b1730}
.capex-history-item-v141{position:relative;border-left-width:4px!important;padding:14px 16px!important;margin:10px 0!important;border-radius:12px;background:#f8fbff!important}
.capex-history-title-v141{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.capex-history-title-v141>div{display:flex;flex-direction:column;gap:6px}
.capex-phase-chip-v141{display:inline-flex;width:max-content;align-items:center;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:800;line-height:1;border:1px solid transparent}
.capex-phase-chip-v141.phase-jvep{background:#e8f8ef;color:#087a38;border-color:#bce8cd}
.capex-phase-chip-v141.phase-basico{background:#eaf3ff;color:#0858c8;border-color:#c8ddff}
.capex-phase-chip-v141.phase-detalhado{background:#fff4db;color:#b15a00;border-color:#ffd996}
.capex-history-item-v141.phase-jvep{border-left-color:#22c55e!important}
.capex-history-item-v141.phase-basico{border-left-color:#2f80ed!important}
.capex-history-item-v141.phase-detalhado{border-left-color:#f59e0b!important}
button.tiny{padding:7px 10px!important;font-size:.78rem!important;border-radius:9px!important;white-space:nowrap}
button.danger.tiny{background:#fee2e2!important;color:#b91c1c!important;border:0!important;font-weight:800}
button.danger.tiny:hover{filter:brightness(.96)}
@media (max-width:900px){.capex-history-toolbar-v141{align-items:flex-start;flex-direction:column}.capex-history-toolbar-v141 select{max-width:100%;width:100%}.capex-history-title-v141{flex-direction:column}}

/* ===== v143 - Correção definitiva impressão PDF Capex ===== */
#capexPrintMount{display:none;}
@media print{
  body.printing-capex{background:#fff!important;margin:0!important;}
  body.printing-capex > *:not(#capexPrintMount){display:none!important;}
  body.printing-capex #capexPrintMount{display:block!important;position:static!important;left:auto!important;top:auto!important;width:100%!important;background:#fff!important;color:#0f172a!important;margin:0!important;padding:0!important;visibility:visible!important;}
  body.printing-capex #capexPrintMount,
  body.printing-capex #capexPrintMount *{visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important;}
  body.printing-capex #capexPrintMount .capex-print-report{display:block!important;background:#fff!important;color:#0f172a!important;width:100%!important;margin:0!important;padding:0!important;}
  body.printing-capex #capexPrintMount .capex-report-grid{grid-template-columns:1fr!important;display:grid!important;}
  body.printing-capex #capexPrintMount .capex-report-kpis{grid-template-columns:repeat(2,1fr)!important;display:grid!important;}
  body.printing-capex #capexPrintMount table{page-break-inside:auto!important;}
  body.printing-capex #capexPrintMount tr{page-break-inside:avoid!important;page-break-after:auto!important;}
  @page{size:A4 landscape;margin:10mm;}
}

/* v144 - Capex detalhado por itens */
.capex-detail-btn{margin-left:6px;white-space:nowrap}.capex-detail-modal{min-width:min(1180px,86vw)}
.capex-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.capex-detail-summary>div{border:1px solid #dbe5f0;background:#f8fafc;border-radius:12px;padding:12px}.capex-detail-summary span{display:block;color:#64748b;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.capex-detail-summary b{display:block;color:#06142b;font-size:20px;margin:4px 0}.capex-detail-summary small{color:#64748b}.capex-detail-tools{display:flex;gap:10px;align-items:center;margin:10px 0}.capex-detail-tools input{flex:1;border:1px solid #d0d7e2;border-radius:10px;padding:10px 12px}.capex-detail-table-wrap{max-height:58vh;overflow:auto;border:1px solid #dbe5f0;border-radius:12px}.capex-detail-table-wrap table{width:100%;border-collapse:collapse;font-size:12px}.capex-detail-table-wrap th{position:sticky;top:0;background:#07152d;color:#fff;padding:9px;text-align:left;z-index:1}.capex-detail-table-wrap td{border-bottom:1px solid #e5e7eb;padding:8px;vertical-align:top}.capex-detail-table-wrap tr:nth-child(even){background:#f8fafc}.capex-detail-table-wrap small{color:#64748b}.tiny{font-size:11px;padding:5px 8px}.capex-item-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capex-item-edit-grid .span-2{grid-column:1/-1}.capex-click-row{cursor:pointer}.capex-click-row:hover{background:#eef6ff!important}
@media(max-width:1100px){.capex-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.capex-detail-modal{min-width:92vw}.capex-detail-table-wrap{max-height:55vh}}
@media(max-width:720px){.capex-detail-summary{grid-template-columns:1fr}.capex-item-edit-grid{grid-template-columns:1fr}.capex-item-edit-grid .span-2{grid-column:auto}}

/* v148 - Composição Capex legível */
.capex-detail-modal{min-width:min(1180px,92vw)!important;}
.capex-detail-table-wrap{max-height:58vh;overflow:auto;border:1px solid #dbe5f0;border-radius:12px;background:#fff;}
.capex-itens-table-v148{width:100%;min-width:1120px;border-collapse:collapse;table-layout:auto;font-size:13px;}
.capex-itens-table-v148 th{position:sticky;top:0;background:#f1f5f9!important;color:#06142b!important;text-align:left;padding:10px 8px;white-space:normal;line-height:1.2;border-bottom:1px solid #dbe5f0;z-index:2;}
.capex-itens-table-v148 td{padding:10px 8px;vertical-align:top;border-bottom:1px solid #e5e7eb;line-height:1.25;}
.capex-itens-table-v148 th:nth-child(1),.capex-itens-table-v148 td:nth-child(1){width:56px;}
.capex-itens-table-v148 th:nth-child(2),.capex-itens-table-v148 td:nth-child(2){min-width:135px;}
.capex-itens-table-v148 th:nth-child(3),.capex-itens-table-v148 td:nth-child(3){min-width:280px;}
.capex-itens-table-v148 th:nth-child(4),.capex-itens-table-v148 td:nth-child(4){min-width:80px;}
.capex-itens-table-v148 th:nth-child(5),.capex-itens-table-v148 td:nth-child(5),.capex-itens-table-v148 th:nth-child(6),.capex-itens-table-v148 td:nth-child(6),.capex-itens-table-v148 th:nth-child(7),.capex-itens-table-v148 td:nth-child(7){min-width:125px;}
.capex-itens-table-v148 th:nth-child(8),.capex-itens-table-v148 td:nth-child(8){min-width:120px;}
.capex-itens-table-v148 th:nth-child(9),.capex-itens-table-v148 td:nth-child(9){min-width:120px;}
.capex-itens-table-v148 .capex-desc-cell b{display:block;max-width:420px;}
.capex-detail-row td{background:#f8fafc!important;padding:12px!important;}
.capex-item-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px;}
.capex-item-detail{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:8px;min-height:52px;}
.capex-item-detail span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:800;margin-bottom:4px;}
.capex-item-detail b{display:block;font-size:12px;color:#06142b;font-weight:700;overflow-wrap:anywhere;}
.capex-tax-note{margin-top:10px;color:#64748b;font-size:12px;}
.hidden{display:none!important;}
@media(max-width:900px){.capex-item-detail-grid{grid-template-columns:repeat(2,minmax(140px,1fr));}.capex-itens-table-v148{min-width:980px;}}



/* v149 - layout composição CAPEX com impostos */
.capex-v149-modal .capex-v149-summary{grid-template-columns:repeat(7,minmax(160px,1fr));}
.capex-v149-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:auto;}
.capex-v149-table th{position:sticky;top:0;background:#f3f6fb;z-index:2;text-align:left;padding:10px 8px;border-bottom:1px solid #d9e2ef;font-weight:800;white-space:nowrap;}
.capex-v149-table td{padding:10px 8px;border-bottom:1px solid #e4ebf5;vertical-align:top;min-width:86px;}
.capex-v149-table .capex-v149-desc{min-width:320px;max-width:520px;}
.capex-v149-table small{color:#52647d;line-height:1.25;}
.capex-v149-item-modal{max-width:1100px;}
.capex-v149-title{font-weight:800;font-size:16px;margin-bottom:14px;color:#0b1830;}
.capex-v149-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;margin:10px 0 16px;}
.capex-v149-detail{background:#f8fafc;border:1px solid #dbe4f0;border-radius:10px;padding:10px;min-height:58px;}
.capex-v149-detail span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5d6f8a;font-weight:800;margin-bottom:4px;}
.capex-v149-detail b{font-size:14px;color:#0b1830;word-break:break-word;}
.capex-v149-detail.important{background:#eefaf3;border-color:#bfe8cd;}
.capex-v149-tax-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;margin:8px 0 16px;}
.capex-v149-tax-grid div{background:#fff;border:1px solid #dbe4f0;border-radius:10px;padding:8px;}
.capex-v149-tax-grid span{display:block;font-size:11px;color:#5d6f8a;font-weight:800;}
.capex-v149-tax-grid b{display:block;color:#0b1830;}
.capex-v149-tax-grid small{color:#52647d;}
@media(max-width:1200px){.capex-v149-modal .capex-v149-summary{grid-template-columns:repeat(3,minmax(160px,1fr));}.capex-v149-grid{grid-template-columns:repeat(2,minmax(180px,1fr));}.capex-v149-tax-grid{grid-template-columns:repeat(3,minmax(120px,1fr));}}


/* v150 - edição da composição CAPEX */
.capex-v150-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px;}
.capex-v150-actions{display:flex;gap:6px;flex-wrap:wrap;}
.capex-v150-form{max-width:1120px;}
.capex-v150-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;}
.capex-v150-field{display:flex;flex-direction:column;gap:5px;background:#f8fafc;border:1px solid #dbe4f0;border-radius:10px;padding:8px;}
.capex-v150-field span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5d6f8a;font-weight:800;}
.capex-v150-field input,.capex-v150-field textarea{width:100%;border:1px solid #d4deeb;border-radius:8px;padding:9px;font:inherit;background:#fff;}
.capex-v150-field textarea{min-height:72px;resize:vertical;}
.capex-v150-field.span-2{grid-column:span 2;}
.capex-v150-field.span-4{grid-column:span 4;}
.capex-v150-footer{display:flex;gap:10px;align-items:center;margin-top:14px;}
button.danger{background:#fee2e2;color:#991b1b;border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer;}
@media(max-width:1100px){.capex-v150-grid{grid-template-columns:repeat(2,minmax(180px,1fr));}.capex-v150-field.span-4{grid-column:span 2;}}
@media(max-width:700px){.capex-v150-grid{grid-template-columns:1fr;}.capex-v150-field.span-2,.capex-v150-field.span-4{grid-column:span 1;}.capex-v150-detail-head{display:block;}}

/* v151 CAPEX organizado */
.capex-v151-modal{min-width:980px;max-width:100%;padding:10px}.capex-v151-summary{display:grid;grid-template-columns:repeat(8,minmax(130px,1fr));gap:10px;margin-bottom:14px}.capex-v151-card,.capex-v151-info{border:1px solid #d8e3f3;border-radius:12px;background:#f8fafc;padding:12px}.capex-v151-card span,.capex-v151-info span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#526783;font-weight:800}.capex-v151-card b,.capex-v151-info b{display:block;margin-top:5px;font-size:16px;color:#061832}.capex-v151-card.green{background:#edfff5;border-color:#bfe8cf}.capex-v151-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.capex-v151-table th{position:sticky;top:0;background:#f1f5f9;color:#061832;text-align:left;padding:12px;border-bottom:1px solid #d8e3f3}.capex-v151-table td{padding:12px;border-bottom:1px solid #e5edf7;vertical-align:top}.capex-v151-table tr:hover{background:#f8fbff}.capex-v151-table small{display:block;color:#526783}.capex-v151-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#edf2ff;color:#243c91}.capex-v151-status.new{background:#e6fffa;color:#09645c}.capex-v151-status.edit{background:#fff7db;color:#8a5a00}.capex-v151-status.del{background:#ffe8e8;color:#9a1b1b}.capex-v151-status.orig{background:#eef2ff;color:#334155}.capex-v151-item{min-width:900px}.capex-v151-item-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.capex-v151-item h3{margin:0 0 6px}.capex-v151-tabs{display:flex;gap:8px;border-bottom:1px solid #d8e3f3;margin:12px 0}.capex-v151-tab{border:0;background:#eef2f7;padding:10px 14px;border-radius:10px 10px 0 0;font-weight:800;cursor:pointer}.capex-v151-tab.active{background:#063b63;color:white}.capex-v151-pane{display:none}.capex-v151-pane.active{display:block}.capex-v151-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}.capex-v151-text{background:#f8fafc;border:1px solid #d8e3f3;border-radius:12px;padding:12px;white-space:pre-wrap}.capex-v151-hrow{border-bottom:1px solid #e5edf7;padding:10px 0}.capex-v151-hrow small{display:block;color:#526783;margin-top:3px}.capex-v151-form{min-width:950px}.capex-v151-editgrid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px}.capex-v151-editgrid label{display:flex;flex-direction:column;gap:5px;font-weight:800;color:#526783;font-size:12px;text-transform:uppercase}.capex-v151-editgrid input,.capex-v151-editgrid textarea{border:1px solid #d5e0ef;border-radius:10px;padding:10px;font-size:14px;color:#061832;background:white}.capex-v151-editgrid textarea{min-height:90px;text-transform:none}.capex-v151-editgrid .span2{grid-column:span 2}.capex-v151-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.capex-detail-table-wrap{max-height:58vh;overflow:auto;border:1px solid #d8e3f3;border-radius:12px}.tiny{padding:7px 10px;margin:2px}@media(max-width:1100px){.capex-v151-summary{grid-template-columns:repeat(2,1fr)}.capex-v151-grid,.capex-v151-editgrid{grid-template-columns:repeat(2,1fr)}.capex-v151-modal,.capex-v151-item,.capex-v151-form{min-width:760px}}

/* v152 - composição por fase */
.capex-v152-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px 0}.capex-v152-tabs button{border:1px solid #d7e1ee;background:#f4f7fb;border-radius:14px;padding:10px 14px;font-weight:800;cursor:pointer}.capex-v152-tabs button.active{background:#0b5d3b;color:white;border-color:#0b5d3b}.capex-v152-tabs b{display:inline-block;margin-left:6px;background:rgba(0,0,0,.08);border-radius:999px;padding:2px 8px}.capex-v152-tabs button.active b{background:rgba(255,255,255,.22)}.capex-v152-note{border:1px solid #d7e1ee;background:#f8fafc;border-radius:12px;padding:10px 12px;margin:10px 0;color:#24364f}.capex-v152-tools{align-items:center}.capex-empty-phase{padding:24px;min-width:700px;color:#24364f}.capex-empty-phase p{margin:8px 0 0}.capex-status-pill{display:inline-block;background:#eef3ff;border-radius:999px;padding:8px 10px;font-weight:800;color:#0b2142;font-size:12px}.capex-v152-card{border:1px solid #d7e1ee;background:#f8fafc;border-radius:12px;padding:12px;min-width:120px}.capex-v152-card.green{background:#ecfff4;border-color:#b9e8cb}.capex-v152-card span{display:block;font-size:12px;text-transform:uppercase;font-weight:800;color:#536887;letter-spacing:.04em}.capex-v152-card b{display:block;font-size:18px;margin-top:3px}.capex-v152-card small{display:block;color:#536887;margin-top:4px}

/* v154 - CAPEX: modal mais largo e responsivo */
.modal-card:has(.capex-v151-modal),
.modal-card:has(.capex-v152-modal){
  width: min(1320px, 96vw) !important;
  max-width: 96vw !important;
  max-height: 94vh !important;
  padding: 22px !important;
}
.capex-v151-modal,
.capex-v152-modal{
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.capex-v151-summary{
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  align-items: stretch !important;
}
.capex-v152-card,
.capex-v151-card,
.capex-v151-info{
  min-width: 0 !important;
  overflow: hidden !important;
}
.capex-v152-card b,
.capex-v151-card b,
.capex-v151-info b{
  font-size: 17px !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.capex-detail-tools,
.capex-v152-tools{
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) auto auto auto !important;
  gap: 10px !important;
}
.capex-detail-tools input{ min-width: 0 !important; }
.capex-detail-table-wrap{
  max-height: 58vh !important;
  overflow: auto !important;
}
.capex-v151-table{
  min-width: 1080px !important;
  table-layout: fixed !important;
}
.capex-v151-table th,
.capex-v151-table td{
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.capex-v151-table th:nth-child(1), .capex-v151-table td:nth-child(1){width:70px;}
.capex-v151-table th:nth-child(2), .capex-v151-table td:nth-child(2){width:105px;}
.capex-v151-table th:nth-child(3), .capex-v151-table td:nth-child(3){width:260px;}
.capex-v151-table th:nth-child(4), .capex-v151-table td:nth-child(4){width:85px;}
.capex-v151-table th:nth-child(5), .capex-v151-table td:nth-child(5){width:95px;}
.capex-v151-table th:nth-child(6), .capex-v151-table td:nth-child(6){width:120px;}
.capex-v151-table th:nth-child(7), .capex-v151-table td:nth-child(7){width:70px;}
.capex-v151-table th:nth-child(8), .capex-v151-table td:nth-child(8){width:120px;}
.capex-v151-table th:nth-child(9), .capex-v151-table td:nth-child(9){width:130px;}
.capex-v151-table th:nth-child(10), .capex-v151-table td:nth-child(10){width:100px;}
@media(max-width:900px){
  .modal-card:has(.capex-v151-modal),
  .modal-card:has(.capex-v152-modal){width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;padding:14px!important;}
  .capex-detail-tools,.capex-v152-tools{grid-template-columns:1fr!important;}
  .capex-v151-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* v155 - CAPEX: máscara monetária na tela Valores */
.capex-money-input{
  text-align:right;
  font-weight:700;
  letter-spacing:.01em;
}

/* v156 - ajustes de legibilidade/totais automáticos CAPEX */
.capex-v156-modal{max-width:min(96vw,1360px)!important;width:96vw!important;}
.capex-v156-summary .capex-v152-card{min-width:150px;overflow:hidden;}
.capex-v156-summary .capex-v152-card b{font-size:18px;line-height:1.15;word-break:normal;overflow-wrap:break-word;}
.capex-v156-summary .capex-v152-card small{font-size:12px;line-height:1.2;}
.capex-detail-table-wrap table td:nth-child(8) b{white-space:nowrap;}
.capex-detail-table-wrap table td:nth-child(8) small{display:block;white-space:nowrap;}

/* v157 - evita sensação de piscada e melhora leitura dos totais */
.capex-v157-modal .capex-v156-summary{grid-template-columns:repeat(8,minmax(145px,1fr));gap:10px}
.capex-v157-modal .capex-v152-card{min-height:92px;overflow:visible}
.capex-v157-modal .capex-v152-card b{white-space:normal;word-break:normal;overflow-wrap:anywhere;line-height:1.15;font-size:17px}
.capex-v157-modal #capexItensTable td,.capex-v157-modal #capexItensTable th{vertical-align:top}
.v157-sem-piscar .modal{transition:none!important}


/* ===== v173 - menu organizado sem alterar layout das telas ===== */
.menu-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:18px 10px 8px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.14);
  color:#dbeafe;
  font-weight:800;
  font-size:12px;
  letter-spacing:.6px;
  text-transform:uppercase;
}
.menu-section-title:first-of-type{ margin-top:14px; }
.menu-section-title.capex-title{ margin-top:18px; }
.menu-section-icon{ width:18px; text-align:center; opacity:.95; }
.sidebar .nav{
  display:flex;
  align-items:center;
  gap:10px;
}
.sidebar .nav .nav-icon{
  width:18px;
  min-width:18px;
  text-align:center;
  font-size:14px;
  line-height:1;
}
.sidebar .nav span:last-child{ flex:1; text-align:left; }
.sidebar .nav.active{ position:relative; }
.sidebar .nav.active::before{
  content:'';
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:#e7f0ff;
}

/* v184 - indicador discreto do fator do dólar */
.capex-fx-info{display:inline-flex;align-items:center;gap:6px;margin:6px 0 10px;padding:7px 12px;border-radius:12px;background:#eef6ff;border:1px solid #cfe1f5;color:#0b2545;font-weight:700;font-size:13px;}


/* ===== v202 - Backup Master discreto abaixo do usuário ===== */
.user-admin-stack{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:155px;line-height:1.15}
.user-admin-stack #usuarioLogado{display:block;white-space:nowrap}
.user-admin-divider{display:block;width:118px;max-width:100%;height:1px;margin:5px 0 3px;background:rgba(203,213,225,.28)}
.backup-master-btn{
  appearance:none;border:0;background:transparent;padding:1px 2px;margin:0;color:#94a3b8;font-size:11px;font-weight:500;
  line-height:1.2;display:inline-flex;align-items:center;gap:4px;cursor:pointer;opacity:.82;transition:color .15s ease,opacity .15s ease;
}
.backup-master-btn:hover{color:#b7e236;opacity:1;text-decoration:underline;text-underline-offset:2px}
.backup-master-btn:focus-visible{outline:1px solid #b7e236;outline-offset:3px;border-radius:3px}
.backup-master-btn:disabled{opacity:.5;cursor:wait;text-decoration:none}
.backup-master-btn.hidden{display:none!important}
@media(max-width:900px){.user-admin-stack{align-items:flex-start}.user-admin-divider{width:100%}}


/* ===== v204 - Materiais e Equipamentos ===== */
.materiais-title{margin-top:14px}.materiais-hero{border-left:4px solid #0ea5e9}.materiais-kpis{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin-top:16px}.materiais-tree{display:flex;flex-direction:column;gap:8px}.mat-tree-level{border:1px solid #d9e5f1;border-radius:10px;background:#fff;overflow:hidden}.mat-tree-level>summary{cursor:pointer;padding:10px 12px;font-weight:800;display:flex;justify-content:space-between;align-items:center;background:#f7faff}.mat-tree-level>summary small{font-weight:600;color:#64748b}.mat-tree-level>div{padding:8px 8px 8px 18px}.mat-level-1>summary{background:#07172f;color:#fff}.mat-level-2>summary{background:#e9f4ff}.mat-level-3>summary{background:#f1f7fd}.mat-item-card{border:1px solid #dbe5ef;border-radius:10px;padding:12px;margin:8px 0;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.05)}.mat-item-main,.mat-item-footer{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.mat-item-main>div:first-child{display:flex;flex-direction:column;gap:3px}.mat-item-main span{font-size:14px}.mat-item-main small,.mat-item-footer{color:#64748b}.mat-quant-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.mat-quant-grid span{background:#f6f9fc;border-radius:8px;padding:8px;display:flex;flex-direction:column}.mat-quant-grid small{color:#64748b}.mat-item-footer{align-items:center;font-size:12px;border-top:1px solid #edf2f7;padding-top:9px}.mat-item-footer div{display:flex;gap:6px}.mat-mov-mini{padding:9px 0;border-bottom:1px solid #e6edf5;display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.mat-mov-mini small{color:#64748b}.mat-form label span{display:block;font-weight:700;margin-bottom:5px}.mat-form textarea{min-height:80px}.mat-history>div{border-left:3px solid #0ea5e9;padding:4px 12px 12px;margin-bottom:10px}.mat-history span{display:block;color:#64748b;font-size:12px}.mat-history p{margin:5px 0 0}.empty-state{padding:36px;text-align:center;color:#64748b}.materiais-page .table-wrap{max-height:65vh}@media(max-width:1200px){.materiais-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.materiais-kpis,.mat-quant-grid{grid-template-columns:repeat(2,1fr)}.mat-item-footer,.mat-item-main{flex-direction:column}.mat-mov-mini{grid-template-columns:1fr}}
@media print{body.print-materiais .sidebar,body.print-materiais .topbar{display:none!important}}

/* ==========================================================
   v205 - Menu lateral otimizado para notebooks
   - Mais largura útil para títulos e opções
   - Rolagem discreta sem cobrir os textos
   - Conteúdo reposicionado conforme a largura do menu
   ========================================================== */
@media (min-width: 821px){
  .sidebar{
    width:285px !important;
    padding:16px 14px 20px !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable !important;
  }
  .content{
    margin-left:285px !important;
    width:calc(100% - 285px) !important;
  }
  .sidebar::-webkit-scrollbar{width:5px !important;}
  .sidebar .nav{
    width:100% !important;
    min-height:40px !important;
    padding:10px 12px !important;
    margin:3px 0 !important;
    font-size:13.5px !important;
    line-height:1.2 !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  .sidebar .nav span:last-child{
    min-width:0 !important;
    overflow-wrap:anywhere !important;
  }
  .menu-section-title{
    margin-left:4px !important;
    margin-right:4px !important;
    line-height:1.25 !important;
    white-space:normal !important;
  }
  .sidebar .nav.active::before{
    left:2px !important;
    top:8px !important;
    bottom:8px !important;
  }
}

/* Notebook de resolução menor: mantém legibilidade sem ocupar demais */
@media (min-width:821px) and (max-width:1366px){
  .sidebar{
    width:255px !important;
    padding:13px 12px 18px !important;
  }
  .content{
    margin-left:255px !important;
    width:calc(100% - 255px) !important;
    padding:14px !important;
  }
  .sidebar .nav{
    padding:9px 10px !important;
    font-size:13px !important;
  }
}

/* ==========================================================
   v207 - Ajuste exclusivo do menu lateral para notebook
   Mantém as bandeiras pequenas e discretas como nas versões anteriores.
   ========================================================== */
@media (min-width: 821px){
  .sidebar{
    width:238px !important;
    padding:10px 10px 12px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-gutter:auto !important;
  }
  .content{
    margin-left:238px !important;
    width:calc(100% - 238px) !important;
    padding:14px !important;
  }
  .side-brand{
    gap:8px !important;
    margin-bottom:8px !important;
    padding:0 4px 8px !important;
  }
  .side-brand img{max-width:48px !important;max-height:34px !important;}
  .side-brand h2,.side-brand strong{font-size:16px !important;line-height:1.05 !important;}
  .side-brand span{font-size:10px !important;margin-top:2px !important;}
  .menu-section-title{
    min-height:24px !important;
    margin:6px 4px 3px !important;
    padding-top:5px !important;
    gap:6px !important;
    font-size:10.5px !important;
    line-height:1.1 !important;
    letter-spacing:.35px !important;
  }
  .menu-section-title:first-of-type{margin-top:3px !important;}
  .menu-section-title.capex-title,.materiais-title{margin-top:6px !important;}
  .menu-section-icon{width:15px !important;min-width:15px !important;font-size:11px !important;}
  .sidebar .nav{
    min-height:31px !important;
    height:auto !important;
    padding:6px 8px !important;
    margin:0 !important;
    gap:7px !important;
    border-radius:7px !important;
    font-size:12px !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }
  .sidebar .nav .nav-icon{
    width:15px !important;
    min-width:15px !important;
    font-size:12px !important;
  }
  .sidebar .nav.active::before{
    left:0 !important;
    top:5px !important;
    bottom:5px !important;
    width:3px !important;
  }
  .sidebar::-webkit-scrollbar{width:4px !important;}
  .sidebar::-webkit-scrollbar-thumb{border-radius:6px !important;}
}

/* Notebooks com menor altura: compressão adicional somente no menu */
@media (min-width:821px) and (max-height:820px){
  .sidebar{padding-top:7px !important;padding-bottom:8px !important;}
  .side-brand{margin-bottom:4px !important;padding-bottom:5px !important;}
  .menu-section-title{min-height:20px !important;margin-top:3px !important;padding-top:3px !important;font-size:10px !important;}
  .sidebar .nav{min-height:28px !important;padding:5px 7px !important;font-size:11.5px !important;}
}

/* Restaura o seletor de idioma em formato de duas bandeirinhas pequenas. */
.topbar .lang-flags-compact{
  width:auto !important;
  max-width:max-content !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:inline-flex !important;
  gap:7px !important;
}
.topbar .lang-flags-compact .lang-btn{
  width:20px !important;
  min-width:20px !important;
  max-width:20px !important;
  height:14px !important;
  min-height:14px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:2px !important;
  background:transparent !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.35) !important;
  overflow:hidden !important;
}
.topbar .lang-flags-compact .lang-btn.active{
  box-shadow:0 0 0 1px rgba(255,255,255,.72),0 1px 3px rgba(0,0,0,.20) !important;
}
.topbar .lang-flags-compact .flag-icon{
  width:20px !important;
  min-width:20px !important;
  height:14px !important;
  flex:0 0 20px !important;
}

/* v211 - estoque e navegação de materiais */
.mat-stock-line{display:flex;gap:10px;flex-wrap:wrap;padding:10px 12px;background:#f7fafc;border:1px solid #e5edf5;border-radius:10px;margin:8px 0}.mat-stock-line span{font-size:12px;color:#5b6b80}.mat-stock-line b{color:#07162f;margin-left:4px}.mat-low{color:#c62828!important}.mat-item-low{border-left:4px solid #ef4444}.mat-quick-actions{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.mat-quick-actions button{border:1px solid #d6e1ec;background:#fff;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.mat-quick-actions button:hover{background:#eef6ff}.secondary.compact{padding:5px 7px;font-size:11px;margin:2px}.materiais-tree details:not([open])>div{display:none}.materiais-tree summary{cursor:pointer}.materiais-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}

/* ===== v212 - Planejamento da Obra ===== */
.planejamento-title{margin-top:8px}.plan-actions{display:flex;gap:6px;flex-wrap:wrap}.plan-global-filters{margin-top:10px}.plan-kpis{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:12px}.plan-grid{align-items:start}.plan-compare{display:grid;gap:14px}.plan-compare-row{display:grid;grid-template-columns:150px 1fr 54px;gap:10px;align-items:center}.plan-dual-track{position:relative;height:24px;background:#edf1f5;border-radius:8px;overflow:hidden}.plan-dual-track span{position:absolute;left:0;height:10px;border-radius:8px}.plan-dual-track .planned{top:1px;background:#94a3b8}.plan-dual-track .actual{bottom:1px;background:#0f766e}.plan-bars{display:grid;gap:10px}.plan-bar{display:grid;grid-template-columns:minmax(110px,190px) 1fr 48px;gap:9px;align-items:center}.plan-bar-track{height:10px;background:#e6ebef;border-radius:10px;overflow:hidden}.plan-bar-track i{display:block;height:100%;background:#0f766e;border-radius:10px}.plan-bar.late .plan-bar-track i{background:#c2410c}.plan-tree{display:grid;gap:8px}.plan-tree details{border:1px solid #d9e1e7;border-radius:10px;background:#fff;overflow:hidden}.plan-tree summary{cursor:pointer;padding:9px 12px;font-weight:700;background:#f8fafb;display:flex;align-items:center;gap:8px}.plan-tree details details{margin:6px 8px;border-radius:8px}.plan-summary-progress{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px}.plan-summary-progress i{width:70px;height:8px;background:#e5e7eb;border-radius:8px;overflow:hidden}.plan-summary-progress i b{display:block;height:100%;background:#0f766e}.plan-task{display:grid;grid-template-columns:minmax(180px,1.7fr) 110px 110px 80px 80px 90px auto;gap:8px;align-items:center;padding:8px 12px;border-top:1px solid #edf0f2;font-size:13px}.plan-task.late{background:#fff7ed}.plan-task-name small{display:block;color:#64748b}.plan-progress-cell{display:flex;align-items:center;gap:6px}.plan-progress-cell span{width:54px;height:7px;background:#e5e7eb;border-radius:7px;overflow:hidden}.plan-progress-cell span i{display:block;height:100%;background:#0f766e}.plan-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#e2e8f0}.plan-badge.late{background:#fee2e2;color:#991b1b}.plan-badge.done{background:#dcfce7;color:#166534}.plan-badge.progress{background:#dbeafe;color:#1d4ed8}.plan-phase-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:10px 0 14px}.plan-phase{padding:10px;border:1px solid #dbe3e8;border-radius:10px;text-align:center}.plan-phase strong{display:block;font-size:20px}.plan-milestones{display:grid;gap:8px}.plan-milestone{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:9px;border:1px solid #e1e7eb;border-radius:10px}.plan-milestone .dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e2e8f0}.plan-milestone.done .dot{background:#dcfce7}.plan-milestone.late .dot{background:#fee2e2}.plan-milestone small{display:block;color:#64748b}.plan-curve{min-height:360px;overflow:hidden}.plan-curve svg{width:100%;height:auto;display:block}.plan-curve-legend{display:flex;gap:16px;margin:8px 0}.plan-curve-legend span{display:flex;align-items:center;gap:6px}.plan-curve-legend i{width:24px;height:4px;border-radius:4px}.plan-curve-legend .previsto{background:#94a3b8}.plan-curve-legend .realizado{background:#0f766e}.plan-rules p{padding:8px 0;border-bottom:1px solid #edf0f2}.plan-low{color:#b91c1c;font-weight:700}
@media (max-width:1366px){.sidebar{width:208px}.content{margin-left:208px}.sidebar .nav{padding:6px 9px;font-size:12px;min-height:31px}.menu-section-title{font-size:9px;padding:7px 9px}.side-brand{padding:10px 8px}.plan-kpis{grid-template-columns:repeat(3,1fr)}.plan-task{grid-template-columns:minmax(160px,1.5fr) 92px 92px 72px 72px auto}.plan-task .plan-hide-notebook{display:none}.plan-phase-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1600px){.sidebar{width:278px}.content{margin-left:278px}.sidebar .nav{padding:10px 14px;font-size:14px;min-height:39px}.menu-section-title{font-size:11px;padding:10px 13px}.content{max-width:none}.plan-kpis{grid-template-columns:repeat(6,1fr)}.plan-task{grid-template-columns:minmax(260px,2fr) 130px 130px 90px 90px 100px auto}.plan-curve{min-height:480px}}
@media (max-width:800px){.plan-kpis{grid-template-columns:repeat(2,1fr)}.plan-task{grid-template-columns:1fr 70px auto}.plan-task>span:nth-child(2),.plan-task>span:nth-child(3),.plan-task>span:nth-child(6){display:none}.plan-phase-grid{grid-template-columns:repeat(2,1fr)}}


/* ===== v213 - menu Planejamento visível e layout responsivo ===== */
.app-version-badge{display:inline-flex;margin-left:7px;padding:1px 6px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:9px;line-height:16px;color:#cbd5e1;vertical-align:middle}
.sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:8px}
[data-planejamento-menu].hidden{display:none!important}
.planejamento-title{border-top:1px solid rgba(255,255,255,.14);padding-top:9px!important}
.planejamento-page{min-width:0}.planejamento-page .panel,.planejamento-page .kpi{min-width:0}
@media (max-height:800px) and (min-width:801px){
  .sidebar .nav{padding-top:5px;padding-bottom:5px;min-height:29px}
  .menu-section-title{padding-top:5px;padding-bottom:5px}
  .side-brand{padding-top:7px;padding-bottom:7px}
}
@media (min-width:1600px){
  .sidebar{width:286px}.content{margin-left:286px;padding-left:24px;padding-right:24px}
  .planejamento-page .panel{padding:20px}
}
@media (min-width:1900px){
  .sidebar{width:300px}.content{margin-left:300px;padding-left:30px;padding-right:30px}
  .planejamento-page .plan-grid{gap:20px}
}

/* ===== v214 - menu lateral por módulos e funções no topo ===== */
.sidebar{display:flex;flex-direction:column;overflow:hidden}
.module-menu{display:flex;flex-direction:column;gap:6px;padding:8px 7px;overflow-y:auto;flex:1;min-height:0}
.sidebar .module-nav{min-height:46px;height:auto;padding:10px 10px;align-items:center;font-weight:800;line-height:1.15;text-align:left}
.sidebar .module-nav span:last-child{white-space:normal}
.sidebar .logout-main{margin:8px 7px 10px;flex:0 0 auto}
.module-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 12px;margin:0 0 14px;background:#fff;border:1px solid #dce3ec;border-radius:13px;box-shadow:0 5px 16px rgba(15,23,42,.06);position:sticky;top:0;z-index:20}
.module-toolbar:empty{display:none}
.module-toolbar .module-tab{border:1px solid #d8e0ea;background:#f8fafc;color:#1f2937;border-radius:9px;padding:8px 11px;font-weight:700;cursor:pointer;white-space:nowrap}
.module-toolbar .module-tab:hover{background:#eef3f8}
.module-toolbar .module-tab.active{background:#0b1a34;color:#fff;border-color:#0b1a34}
.module-toolbar .module-tab.hidden{display:none!important}
@media (max-width:1599px){
  .sidebar{width:230px}
  .content{margin-left:230px}
  .sidebar .module-nav{font-size:12px}
  .module-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
}
@media (min-width:1600px){
  .sidebar{width:285px}
  .content{margin-left:285px}
  .sidebar .module-nav{font-size:14px;padding:12px 14px}
  .module-toolbar{gap:10px;padding:11px 15px}
  .module-toolbar .module-tab{padding:10px 14px}
}
@media (max-width:1599px){.content{width:calc(100% - 230px)}}
@media (min-width:1600px){.content{width:calc(100% - 285px)}}


/* ===== v215 - submenu recolhível dentro da lateral ===== */
.module-toolbar{display:none!important}
.module-menu{gap:3px;padding:7px 6px}
.module-group{display:block;width:100%}
.module-group.hidden{display:none!important}
.sidebar .module-nav{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) 16px;gap:7px;min-height:42px;padding:8px 9px;margin:0;border-radius:8px}
.sidebar .module-nav .module-chevron{font-size:11px;opacity:.75;transition:transform .18s ease;text-align:center}
.module-group.open>.module-nav .module-chevron{transform:rotate(180deg)}
.module-submenu{display:none;margin:2px 0 5px 16px;padding:3px 0 3px 9px;border-left:1px solid rgba(255,255,255,.18)}
.module-group.open>.module-submenu{display:flex;flex-direction:column;gap:2px}
.module-subitem{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;border:0;background:transparent;color:#cbd5e1;text-align:left;border-radius:7px;padding:6px 8px;font-size:12px;font-weight:650;cursor:pointer;line-height:1.15}
.module-subitem:hover{background:rgba(255,255,255,.08);color:#fff}
.module-subitem.active{background:rgba(255,255,255,.14);color:#fff;font-weight:800}
.module-subitem.hidden{display:none!important}
@media (max-width:1599px){
  .sidebar{width:230px}.content{margin-left:230px;width:calc(100% - 230px)}
  .sidebar .module-nav{font-size:11.5px;min-height:39px;padding:7px 8px}
  .module-subitem{font-size:11.5px;padding:5px 7px}
  .side-brand{padding-top:6px;padding-bottom:6px}
}
@media (min-width:1600px){
  .sidebar{width:285px}.content{margin-left:285px;width:calc(100% - 285px)}
  .sidebar .module-nav{font-size:13.5px;min-height:46px;padding:10px 12px}
  .module-subitem{font-size:13px;padding:8px 10px}
}

/* ===== v216 - refinamento visual do menu lateral recolhível ===== */
.module-menu{
  gap:0;
  padding:8px 8px 10px;
}
.module-group{
  position:relative;
  padding:5px 0 7px;
}
.module-group:not(:last-child)::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
}
.sidebar .module-nav{
  border:1px solid transparent;
  background:transparent;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.sidebar .module-nav:hover{
  background:rgba(255,255,255,.065);
  border-color:rgba(255,255,255,.08);
}
.module-group.open>.module-nav{
  background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  border-color:rgba(255,255,255,.11);
  box-shadow:inset 3px 0 0 rgba(163,230,53,.95),0 5px 14px rgba(0,0,0,.10);
}
.sidebar .module-nav>span:first-child{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:7px;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.module-group:nth-child(1)>.module-nav>span:first-child{color:#facc15;background:rgba(250,204,21,.12)}
.module-group:nth-child(2)>.module-nav>span:first-child{color:#f59e0b;background:rgba(245,158,11,.12)}
.module-group:nth-child(3)>.module-nav>span:first-child{color:#22c55e;background:rgba(34,197,94,.12)}
.module-group:nth-child(4)>.module-nav>span:first-child{color:#a78bfa;background:rgba(167,139,250,.13)}
.module-group:nth-child(5)>.module-nav>span:first-child{color:#cbd5e1;background:rgba(203,213,225,.10)}
.sidebar .module-nav .module-chevron{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#e2e8f0;
  opacity:.9;
}
.module-group.open>.module-nav .module-chevron{
  background:rgba(163,230,53,.15);
  color:#bef264;
}
.module-submenu{
  margin:5px 0 4px 20px;
  padding:3px 0 3px 12px;
  border-left:1px solid rgba(163,230,53,.34);
}
.module-subitem{
  position:relative;
  color:#cbd5e1;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.module-subitem::before{
  content:"";
  position:absolute;
  left:-14px;
  top:50%;
  width:7px;
  height:1px;
  background:rgba(163,230,53,.32);
}
.module-subitem:hover{
  background:rgba(255,255,255,.075);
  color:#fff;
  transform:translateX(2px);
}
.module-subitem.active{
  background:linear-gradient(90deg,rgba(163,230,53,.18),rgba(255,255,255,.08));
  color:#fff;
  box-shadow:inset 3px 0 0 #a3e635;
}
.module-subitem.active::before{
  background:#a3e635;
  height:2px;
}
.sidebar .logout-main{
  border:1px solid rgba(248,113,113,.25)!important;
  background:linear-gradient(90deg,rgba(248,113,113,.13),rgba(255,255,255,.04))!important;
  color:#fecaca!important;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}
.sidebar .logout-main:hover{
  background:rgba(248,113,113,.20)!important;
  color:#fff!important;
}
@media (max-height:820px) and (min-width:821px){
  .module-group{padding:3px 0 5px}
  .module-menu{padding-top:5px}
  .module-submenu{margin-top:3px;margin-bottom:2px}
}

/* ===== v216 - Planejamento Master R176 ===== */
.plan-master-kpis{display:grid;grid-template-columns:120px 120px 120px 120px minmax(220px,1fr);gap:10px;margin:12px 0}.plan-master-kpis>div{border:1px solid #dbe3e8;border-radius:10px;padding:9px 12px;background:#f8fafb}.plan-master-kpis span{display:block;color:#64748b;font-size:11px}.plan-master-kpis b{display:block;font-size:15px;margin-top:2px}.plan-master-info{margin:8px 0}.plan-master-wrap{max-height:68vh}.plan-master-wrap table{font-size:12px}.plan-master-name{display:inline-block;min-width:320px}.plan-critical{color:#b91c1c}.plan-master-gantt{position:relative;width:220px;height:10px;background:#eef2f5;border-radius:8px;overflow:hidden}.plan-master-gantt i{position:absolute;height:100%;background:#0f766e;border-radius:8px;min-width:2px}.plan-master-gantt i.critical{background:#b91c1c}.plan-master-gantt i.milestone{width:8px!important;border-radius:50%}.plan-kpis{grid-template-columns:repeat(7,minmax(110px,1fr))}
@media(max-width:1366px){.plan-master-kpis{grid-template-columns:repeat(3,1fr)}.plan-master-gantt{width:150px}.plan-kpis{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.plan-master-kpis{grid-template-columns:repeat(2,1fr)}.plan-master-gantt{width:100px}.plan-kpis{grid-template-columns:repeat(2,1fr)}}

/* R176 - Curvas S segmentadas */
.plan-curve-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.plan-curve-grid-main{margin-top:12px}
.plan-curve-card{min-width:0}
.plan-curve-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}
.plan-curve-card-head h3{margin:0}
.plan-curve-card-head small{display:block;color:#64748b;margin-top:2px}
.plan-curve-card-head>strong{text-align:right;font-size:20px;color:#0f172a}
.plan-curve-card-head>strong small{font-size:10px;font-weight:500;white-space:nowrap}
.plan-curve-small{min-height:220px}
.plan-curve-section-title{margin-top:14px;padding-top:12px;padding-bottom:10px}
.plan-curve-section-title h3{margin:0 0 3px}
.plan-curve-empty{min-height:190px;display:grid;place-items:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}
.plan-phase-master>summary{font-size:15px}
@media(max-width:1100px){.plan-curve-grid{grid-template-columns:1fr}}

.plan-import-hero{border-left:4px solid #2563eb}.plan-import-current{display:flex;align-items:baseline;gap:12px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:10px 0}.plan-import-current span{font-size:12px;color:#64748b;text-transform:uppercase;font-weight:700}.plan-import-current strong{font-size:24px}.plan-import-current small{color:#64748b}.plan-import-drop{display:flex;align-items:center;gap:16px;padding:18px;border:1px dashed #94a3b8;border-radius:12px;background:#fff}.plan-import-drop div{display:flex;flex-direction:column;gap:3px}.plan-import-drop small{color:#64748b}.plan-import-preview{margin-top:14px;padding:16px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px}.plan-import-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.plan-import-title div{display:flex;gap:10px;align-items:baseline}.plan-import-title strong{font-size:22px}.plan-import-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.plan-import-kpis>div{background:#fff;border:1px solid #dbeafe;border-radius:10px;padding:10px;display:flex;flex-direction:column}.plan-import-kpis span{font-size:11px;color:#64748b;text-transform:uppercase;font-weight:700}.plan-import-kpis b{font-size:20px}.plan-import-kpis .new b{color:#15803d}.plan-import-kpis .chg b{color:#b45309}.plan-import-kpis .del b{color:#b91c1c}.plan-import-error{display:flex;flex-direction:column;gap:4px;color:#b91c1c}@media(max-width:1000px){.plan-import-kpis{grid-template-columns:repeat(2,1fr)}.plan-import-drop{align-items:flex-start;flex-direction:column}}

/* Cronograma Master - árvore WBS estilo MS Project */
.plan-master-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 150px 150px auto auto;gap:8px;align-items:center;margin:12px 0}
.plan-master-count{font-size:12px;color:#64748b;margin:4px 0 8px}
.plan-master-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.plan-master-tree-table{width:100%;border-collapse:collapse;min-width:1100px}
.plan-master-tree-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.02em;padding:10px;border-bottom:1px solid #e2e8f0}
.plan-master-tree-table tbody td{padding:8px 10px;border-bottom:1px solid #eef2f7;font-size:12px;vertical-align:middle}
.plan-master-tree-table tr.summary-row td{font-weight:700;background:#fbfdff}
.plan-master-tree-table tr.critical-row td.activity{color:#b91c1c}
.plan-master-tree-table .wbs{width:130px;white-space:nowrap}
.plan-tree-activity{display:flex;align-items:center;min-width:380px;padding-left:calc((var(--lvl) - 1) * 18px)}
.plan-tree-toggle{width:22px;height:22px;border:0;background:transparent;cursor:pointer;padding:0;margin-right:3px;font-size:12px;color:#334155}
.plan-tree-spacer{display:inline-block;width:22px;min-width:22px;margin-right:3px}
.plan-mini-timeline{height:9px;min-width:170px;background:#eef2f7;border-radius:999px;position:relative;overflow:hidden}
.plan-mini-timeline i{position:absolute;top:1px;bottom:1px;border-radius:999px;background:#0f766e}
.plan-mini-timeline i.critical{background:#dc2626}
@media(max-width:1200px){.plan-master-toolbar{grid-template-columns:1fr 140px 140px}.plan-master-toolbar button{width:100%}}

/* Evita flash de conteúdo em PT antes da aplicação do idioma persistido */

/* Sidebar sem flicker: PT/EN já existem no HTML e o CSS escolhe antes da primeira pintura */
.i18n-menu .en,.i18n-brand .en,.i18n-brand-sub .en{display:none}
html[data-lang="en"] .i18n-menu .pt,
html[data-lang="en"] .i18n-brand .pt,
html[data-lang="en"] .i18n-brand-sub .pt{display:none!important}
html[data-lang="en"] .i18n-menu .en,
html[data-lang="en"] .i18n-brand .en,
html[data-lang="en"] .i18n-brand-sub .en{display:inline!important}
html[data-lang="pt"] .i18n-menu .pt,
html[data-lang="pt"] .i18n-brand .pt,
html[data-lang="pt"] .i18n-brand-sub .pt{display:inline!important}

/* v224 - Sidebar 100% bilíngue sem depender do tradutor tardio */
.sidebar-dual .en{display:none}
html[data-lang="en"] .sidebar-dual .pt{display:none!important}
html[data-lang="en"] .sidebar-dual .en{display:inline!important}
html[data-lang="pt"] .sidebar-dual .pt{display:inline!important}
html[data-lang="pt"] .sidebar-dual .en{display:none!important}
/* PRE-FID MODULE — isolated addition */
.prefid-kpis{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px;margin:14px 0}.prefid-kpi{background:#fff;border:1px solid #dce4ee;border-radius:14px;padding:16px;box-shadow:0 4px 14px rgba(15,23,42,.05)}.prefid-kpi span{display:block;color:#52637a;font-size:12px;font-weight:700;text-transform:uppercase}.prefid-kpi strong{display:block;font-size:24px;margin:5px 0;color:#07172f}.prefid-kpi small{color:#718096}.prefid-grid{align-items:stretch}.prefid-bars{display:flex;flex-direction:column;gap:10px;max-height:390px;overflow:auto}.prefid-bar-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(180px,2fr) 120px;gap:10px;align-items:center;font-size:12px}.prefid-track{height:12px;background:#e8eef5;border-radius:99px;overflow:hidden;position:relative}.prefid-fill{height:100%;background:#0f7f73;border-radius:99px}.prefid-fill.contract{background:#94a6bf}.prefid-monthly{min-height:250px;display:flex;align-items:flex-end;gap:8px;padding:20px 6px 0}.prefid-month{flex:1;min-width:38px;text-align:center}.prefid-month-bars{height:190px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.prefid-month-bar{width:12px;min-height:2px;border-radius:4px 4px 0 0;background:#94a6bf}.prefid-month-bar.real{background:#0f7f73}.prefid-month small{display:block;margin-top:6px;color:#607087;font-size:10px}.prefid-contract-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.prefid-contract{border:1px solid #dce4ee;border-radius:12px;background:#fff;overflow:hidden}.prefid-contract-head{display:grid;grid-template-columns:2fr repeat(4,1fr) 28px;gap:12px;align-items:center;padding:14px;cursor:pointer}.prefid-contract-head:hover{background:#f7fafc}.prefid-contract-head strong{font-size:13px}.prefid-contract-head span{font-size:12px;color:#52637a}.prefid-contract-detail{padding:0 14px 14px;border-top:1px solid #edf1f5}.prefid-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.prefid-detail-card{background:#f7fafc;border-radius:9px;padding:10px}.prefid-detail-card small{display:block;color:#718096}.prefid-detail-card b{display:block;margin-top:3px}.prefid-mov-table{width:100%;border-collapse:collapse;font-size:12px}.prefid-mov-table th,.prefid-mov-table td{padding:7px;border-bottom:1px solid #e7edf4;text-align:left}.prefid-import-box{border:1px dashed #aebed0;border-radius:12px;padding:22px}.prefid-import-preview{margin:14px 0;padding:12px;background:#f7fafc;border-radius:8px}.prefid-status{display:inline-block;padding:3px 8px;border-radius:999px;background:#e8eef5;font-size:10px;font-weight:800}.prefid-status.ok{background:#dcfce7;color:#166534}.prefid-status.att{background:#fef3c7;color:#92400e}.prefid-status.fin{background:#dbeafe;color:#1e40af}@media(max-width:1100px){.prefid-kpis{grid-template-columns:repeat(2,1fr)}.prefid-contract-head{grid-template-columns:2fr 1fr 1fr}.prefid-contract-head .prefid-hide-md{display:none}} 
/* PRE-FID UX v240 — empresas agrupadas e navegação dashboard -> contratos */
.prefid-clickable{cursor:pointer;border-radius:8px;padding:5px 6px;margin:-5px -6px;transition:.15s}.prefid-clickable:hover{background:#f2f7fb}.prefid-clickable b{text-decoration:underline;text-decoration-color:#c3cfdd;text-underline-offset:3px}
.prefid-company{border:1px solid #dce4ee;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.035)}.prefid-company-head{display:grid;grid-template-columns:minmax(230px,1.8fr) repeat(4,minmax(125px,1fr)) 90px 28px;gap:14px;align-items:center;padding:16px 18px;cursor:pointer;transition:.15s}.prefid-company-head:hover{background:#f7fafc}.prefid-company-head>div:not(.prefid-company-name){display:flex;flex-direction:column;gap:3px}.prefid-company-head span,.prefid-company-head small{font-size:11px;color:#718096}.prefid-company-head strong{font-size:13px;color:#0b1d36}.prefid-company-name strong{display:block;font-size:15px;color:#07172f}.prefid-company-name span{display:block;margin-top:4px}.prefid-company-pct{text-align:right}.prefid-company-pct b{font-size:14px;color:#0f7f73}.prefid-chevron{text-align:center;font-size:17px}.prefid-company-body{background:#f6f8fb;padding:10px 12px 12px;border-top:1px solid #e6ecf3}.prefid-company-body .prefid-contract{margin-top:8px;border-radius:10px;box-shadow:none}.prefid-company-body .prefid-contract:first-child{margin-top:0}.prefid-contract-head-clean{grid-template-columns:minmax(280px,2.2fr) repeat(3,minmax(120px,1fr)) 105px 28px;padding:12px 14px}.prefid-contract-head-clean>div{display:flex;flex-direction:column;gap:3px}.prefid-contract-head-clean>div:first-child span{line-height:1.35}.prefid-contract-list{gap:12px}
@media(max-width:1250px){.prefid-company-head{grid-template-columns:minmax(220px,1.8fr) repeat(2,minmax(120px,1fr)) 90px 28px}.prefid-company-head>div:nth-child(4),.prefid-company-head>div:nth-child(5){display:none}.prefid-contract-head-clean{grid-template-columns:minmax(260px,2fr) repeat(2,minmax(120px,1fr)) 90px 28px}.prefid-contract-head-clean>div:nth-child(4){display:none}}

/* Pre-FID V241 - retorno rapido para todas as empresas */
.prefid-filters .prefid-search-wrap{position:relative;flex:1;min-width:260px}
.prefid-filters .prefid-search-wrap>input{width:100%;padding-right:132px}
.prefid-clear-filter{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:8px;padding:5px 9px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px rgba(15,23,42,.06)}
.prefid-clear-filter:hover{background:#f1f5f9;border-color:#94a3b8}
.prefid-clear-filter.hidden{display:none!important}
@media(max-width:760px){.prefid-filters .prefid-search-wrap>input{padding-right:44px}.prefid-clear-filter span{display:none}}

/* V242 - Pre-FID follows the global PT/EN selector (no bilingual labels at the same time) */
.prefid-page .en{display:none!important}
html[data-lang="pt"] .prefid-page .pt{display:inline!important}
html[data-lang="pt"] .prefid-page .en{display:none!important}
html[data-lang="en"] .prefid-page .pt{display:none!important}
html[data-lang="en"] .prefid-page .en{display:inline!important}

.prefid-kpi-budget{border-top:3px solid #0f7f73;}
/* V247 - refinamento visual exclusivo do dashboard Pre-FID */
.prefid-executive{font-size:12px}.prefid-executive .panel{border:1px solid #e0e7ef;box-shadow:0 3px 10px rgba(15,23,42,.045);border-radius:13px}.prefid-executive .panel-head h3{font-size:16px;margin:0}.prefid-executive .panel-head .muted,.prefid-executive .muted{font-size:12px}.prefid-executive .prefid-hero{padding:13px 16px}.prefid-refresh{font-size:11px;padding:8px 12px}.prefid-kpis-exec{grid-template-columns:repeat(5,minmax(150px,1fr));gap:9px;margin:10px 0}.prefid-kpis-exec .prefid-kpi{padding:11px 13px;min-height:105px;border-top:2px solid #0f7f73}.prefid-kpis-exec .prefid-kpi span{font-size:10px}.prefid-kpis-exec .prefid-kpi strong{font-size:20px;margin:4px 0}.prefid-kpis-exec .prefid-kpi small{font-size:10px}.prefid-kpis-exec .prefid-kpi em{display:block;text-align:right;font-size:9px;color:#66758a;font-style:normal;margin-top:2px}.prefid-mini-progress{height:6px;background:#e7edf3;border-radius:99px;margin-top:8px;overflow:hidden}.prefid-mini-progress i{display:block;height:100%;width:0;background:#0f7f73;border-radius:99px}.prefid-exec-mid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:10px;margin:10px 0}.prefid-exec-mid>.panel{padding:13px}.prefid-donut-wrap{display:flex;align-items:center;justify-content:center;gap:20px;min-height:205px}.prefid-donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#0f7f73 0 0%,#d7dee7 0% 100%);display:grid;place-items:center;flex:0 0 auto}.prefid-donut:before{content:"";position:absolute}.prefid-donut>div{width:98px;height:98px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 1px #eef2f6}.prefid-donut b{font-size:15px;color:#07172f}.prefid-donut small{font-size:9px;color:#66758a}.prefid-donut-legend{min-width:120px}.prefid-donut-legend p{display:grid;grid-template-columns:10px 1fr;gap:7px;margin:9px 0;align-items:start;color:#425269}.prefid-donut-legend p>span>span{display:block;font-size:10px}.prefid-donut-legend b{display:block;color:#07172f;font-size:11px;margin-top:2px}.prefid-donut-legend small{font-size:9px}.dot{width:9px;height:9px;border-radius:50%;display:block;margin-top:2px}.dot.teal{background:#0f7f73}.dot.mid{background:#93a6bd}.dot.gray{background:#d7dee7}.prefid-summary-list p{display:flex;justify-content:space-between;gap:10px;padding:7px 0;margin:0;border-bottom:1px solid #edf1f5;font-size:11px}.prefid-balance-highlight{margin-top:12px;padding:12px;border-radius:10px;background:#f2f8f6;border:1px solid #dcece7}.prefid-balance-highlight small,.prefid-balance-highlight span{display:block;font-size:9px;color:#52637a}.prefid-balance-highlight strong{display:block;font-size:21px;color:#0d665d;margin:3px 0}.prefid-grid-exec{gap:10px}.prefid-grid-exec>.panel{padding:13px}.prefid-grid-exec .prefid-bars{gap:6px;max-height:270px}.prefid-grid-exec .prefid-bar-row{grid-template-columns:minmax(145px,1.15fr) minmax(170px,2fr) 55px;gap:7px;font-size:10px}.prefid-grid-exec .prefid-track{height:8px}.prefid-grid-exec .prefid-monthly{min-height:190px;padding-top:10px}.prefid-grid-exec .prefid-month-bars{height:145px}.prefid-grid-exec .prefid-month-bar{width:9px}.prefid-grid-exec .prefid-month small{font-size:9px}@media(max-width:1450px){.prefid-kpis-exec{grid-template-columns:repeat(3,1fr)}.prefid-exec-mid{grid-template-columns:1fr 1fr}.prefid-summary{grid-column:1/-1}.prefid-summary-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.prefid-summary-list p{display:block}}@media(max-width:1050px){.prefid-kpis-exec{grid-template-columns:repeat(2,1fr)}.prefid-exec-mid{grid-template-columns:1fr}.prefid-summary{grid-column:auto}.prefid-grid-exec{grid-template-columns:1fr}.prefid-donut-wrap{justify-content:flex-start}}
/* V258 — Pré-FID: períodos de medição, pagamento e provisões */
.prefid-kpis-exec{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.prefid-kpi-accrual{border-top-color:#6f8197!important}
.prefid-mov-table-v258{min-width:1180px}
.prefid-mov-table-v258 th,.prefid-mov-table-v258 td{white-space:nowrap;font-size:12px}
.prefid-contract-detail{overflow-x:auto}
.prefid-month-bar.provision{background:#6f8197!important;opacity:.8}
@media(max-width:1100px){.prefid-kpis-exec{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.prefid-balance-highlight.negative{background:#fff7f5;border-color:#f0c9c2}.prefid-balance-highlight.negative strong{color:#b42318}
/* V262 - Executive Pre-FID layout: 4 primary KPIs + balanced 4-card analysis row */
.prefid-kpis-exec{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.prefid-exec-mid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch}
.prefid-exec-mid>.panel{min-width:0;height:100%}
.prefid-donut-wrap{gap:12px;min-height:185px}
.prefid-donut{width:126px;height:126px}
.prefid-donut>div{width:82px;height:82px}
.prefid-donut b{font-size:13px}
.prefid-donut-legend{min-width:105px}
.prefid-accrual-exec{border-top:2px solid #0f7f73!important}
.prefid-accrual-body{min-height:185px;display:flex;flex-direction:column;justify-content:center;padding:4px 3px}
.prefid-accrual-body>small{font-size:10px;color:#66758a;line-height:1.35;max-width:230px}
.prefid-accrual-body>strong{font-size:25px;color:#07172f;margin:15px 0 12px}
.prefid-accrual-line{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#52637a;border-top:1px solid #edf1f5;padding-top:10px}
.prefid-accrual-line b{color:#0d665d;font-size:11px}
.prefid-accrual-body em{font-size:9px;color:#66758a;font-style:normal;margin-top:8px}
@media(max-width:1450px){.prefid-kpis-exec{grid-template-columns:repeat(2,minmax(0,1fr))!important}.prefid-exec-mid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.prefid-summary{grid-column:auto!important}.prefid-summary-list{display:block!important}}
@media(max-width:900px){.prefid-kpis-exec,.prefid-exec-mid{grid-template-columns:1fr!important}}

/* V263 — destaque executivo do fornecedor expandido */
#prefidContractList .prefid-company{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,margin .18s ease}
#prefidContractList .prefid-company.prefid-company-selected{border:2px solid #148b7d;box-shadow:0 8px 24px rgba(15,127,115,.10);margin:4px 0 20px;background:#fff}
#prefidContractList .prefid-company.prefid-company-selected>.prefid-company-head{background:linear-gradient(90deg,rgba(20,139,125,.075),rgba(20,139,125,.018));border-bottom:1px solid rgba(20,139,125,.18)}
#prefidContractList .prefid-company.prefid-company-selected>.prefid-company-head:before{content:"FORNECEDOR SELECIONADO";position:absolute;right:48px;top:7px;font-size:8px;font-weight:700;letter-spacing:.07em;color:#0f7f73;background:#eaf7f4;border:1px solid #cbe9e3;border-radius:999px;padding:3px 7px}
#prefidContractList .prefid-company.prefid-company-selected>.prefid-company-head{position:relative;padding-top:22px}
#prefidContractList .prefid-company.prefid-company-selected>.prefid-company-body{background:#f8fbfb;padding:14px 14px 16px}
#prefidContractList .prefid-company.prefid-company-selected+.prefid-company{margin-top:4px}
html.lang-en #prefidContractList .prefid-company.prefid-company-selected>.prefid-company-head:before{content:"SELECTED SUPPLIER"}

/* V264 — destaque visual dos contratos dentro do fornecedor selecionado */
#prefidContractList .prefid-company.prefid-company-selected .prefid-contract{
  border-color:#c9dbea;
  background:#fff;
}
#prefidContractList .prefid-company.prefid-company-selected .prefid-contract-head-clean{
  background:#edf6fc;
  border-left:3px solid #8fb9d6;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
#prefidContractList .prefid-company.prefid-company-selected .prefid-contract-head-clean:hover{
  background:#e2f0fa;
  border-left-color:#5f9fc8;
  box-shadow:inset 0 0 0 1px rgba(95,159,200,.08);
}
#prefidContractList .prefid-company.prefid-company-selected .prefid-contract-head-clean>div:first-child strong{
  color:#0b3557;
}

/* V265 — hierarquia visual mais clara em Contratos Pré-FID */
/* Cabeçalho de TODAS as empresas em cinza claro */
#prefidContractList .prefid-company > .prefid-company-head,
#prefidContractList .prefid-company.prefid-company-selected > .prefid-company-head{
  background:#f1f4f7 !important;
  border-bottom:1px solid #d9e1e8 !important;
}
#prefidContractList .prefid-company > .prefid-company-head:hover,
#prefidContractList .prefid-company.prefid-company-selected > .prefid-company-head:hover{
  background:#e9eef3 !important;
}
/* Mantém o contorno verde apenas como indicação da empresa aberta */
#prefidContractList .prefid-company.prefid-company-selected{
  background:#fff !important;
}
#prefidContractList .prefid-company.prefid-company-selected > .prefid-company-body{
  background:#f8fafc !important;
}
/* TODAS as linhas de contratos ficam azul-claro quando a empresa é aberta */
#prefidContractList .prefid-company-body .prefid-contract{
  background:#eaf4fb !important;
  border:1px solid #c5dbea !important;
  box-shadow:none !important;
}
#prefidContractList .prefid-company-body .prefid-contract-head,
#prefidContractList .prefid-company-body .prefid-contract-head-clean,
#prefidContractList .prefid-company.prefid-company-selected .prefid-contract-head-clean{
  background:#eaf4fb !important;
  border-left:4px solid #91bad6 !important;
}
#prefidContractList .prefid-company-body .prefid-contract-head:hover,
#prefidContractList .prefid-company-body .prefid-contract-head-clean:hover,
#prefidContractList .prefid-company.prefid-company-selected .prefid-contract-head-clean:hover{
  background:#dceef9 !important;
  border-left-color:#669fc4 !important;
}
/* Detalhes/medições continuam brancos para criar um terceiro nível visual */
#prefidContractList .prefid-company-body .prefid-contract-detail{
  background:#fff !important;
}

/* V266 — gestor por contrato + expansão de rateio por BM */
.prefid-manager{display:block;margin-top:4px;color:#52637a!important;font-size:10.5px!important}.prefid-manager b{color:#20354f;font-weight:800}.prefid-bm-has-rateio{cursor:pointer;background:#f4f9ff}.prefid-bm-has-rateio:hover{background:#eaf4ff}.prefid-rateio-badge{display:inline-flex;align-items:center;margin-left:6px;padding:2px 7px;border-radius:999px;background:#dcecff;color:#24527a;font-size:9px;font-weight:800;white-space:nowrap}.prefid-rateio-row>td{padding:0!important;background:#f8fbff}.prefid-rateio-box{margin:7px 12px 12px;padding:12px 14px;border:1px solid #c9dff5;border-left:4px solid #7da9d4;border-radius:9px;background:#fff}.prefid-rateio-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;color:#17324f}.prefid-rateio-box table{width:100%;border-collapse:collapse;font-size:11px}.prefid-rateio-box th{background:#eef5fc;color:#38516c;font-size:10px;text-transform:uppercase}.prefid-rateio-box th,.prefid-rateio-box td{padding:7px 9px;border-bottom:1px solid #e4edf6;text-align:left}.prefid-rateio-box tbody tr:last-child td{border-bottom:0}
/* V270 - Prévia executiva da importação Pré-FID */
.prefid-preview-v270{margin-top:4px;color:#10213b}.prefid-preview-head-v270{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 12px}.prefid-preview-head-v270 b{font-size:16px}.prefid-preview-head-v270 small{display:block;color:#64748b;margin-top:3px}.prefid-preview-head-v270>span{font-size:11px;font-weight:800;color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:5px 9px}.prefid-preview-grid-v270{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.prefid-preview-grid-v270>div{background:#fff;border:1px solid #dce5ef;border-radius:10px;padding:12px 14px}.prefid-preview-grid-v270 small{display:block;color:#64748b;font-weight:700}.prefid-preview-grid-v270 strong{display:block;font-size:24px;margin:4px 0 3px}.prefid-preview-grid-v270 p{margin:0;color:#64748b;font-size:12px}.prefid-preview-grid-v270 p b{color:#334155}.prefid-preview-grid-v270 p em{font-style:normal;font-weight:900;color:#0f766e}.prefid-preview-fin-v270{display:flex;gap:26px;margin-top:10px;padding:10px 13px;background:#f8fafc;border-radius:9px;font-size:13px}.prefid-preview-note-v270{margin-top:9px;color:#64748b;font-size:11px}@media(max-width:1050px){.prefid-preview-grid-v270{grid-template-columns:repeat(2,1fr)}}
.prefid-preview-v270{margin-top:4px;color:#10213b}.prefid-preview-head-v270{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 12px}.prefid-preview-head-v270 b{font-size:16px}.prefid-preview-head-v270 small{display:block;color:#64748b;margin-top:3px}.prefid-preview-head-v270>span{font-size:11px;font-weight:800;color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:5px 9px}.prefid-preview-grid-v270{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.prefid-preview-grid-v270>div{background:#fff;border:1px solid #dce5ef;border-radius:10px;padding:12px 14px}.prefid-preview-grid-v270 small{display:block;color:#64748b;font-weight:700}.prefid-preview-grid-v270 strong{display:block;font-size:24px;margin:4px 0 3px}.prefid-preview-grid-v270 p{margin:0;color:#64748b;font-size:12px}.prefid-preview-grid-v270 p b{color:#334155}.prefid-preview-grid-v270 p em{font-style:normal;font-weight:900;color:#0f766e}.prefid-preview-fin-v270{display:flex;gap:26px;margin-top:10px;padding:10px 13px;background:#f8fafc;border-radius:9px;font-size:13px}.prefid-preview-note-v270{margin-top:9px;color:#64748b;font-size:11px}@media(max-width:1050px){.prefid-preview-grid-v270{grid-template-columns:repeat(2,1fr)}}

/* ===== V272 - Dashboard Pre-FID executivo / layout profissional ===== */
.prefid-executive .prefid-kpis-exec{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.prefid-executive .prefid-exec-mid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,.82fr)!important;gap:12px!important;align-items:stretch}
.prefid-executive .prefid-exec-mid>.panel{min-height:250px}
.prefid-executive .prefid-summary{display:flex;flex-direction:column}
.prefid-executive .prefid-summary-list{display:flex!important;flex-direction:column;justify-content:center;flex:1;gap:0!important}
.prefid-executive .prefid-summary-list p{padding:13px 2px!important;font-size:11px!important}
.prefid-executive .prefid-summary-list p b{font-size:16px;color:#07172f}
.prefid-executive .prefid-grid-exec{grid-template-columns:minmax(0,1.35fr) minmax(420px,.65fr)!important;gap:12px!important}
.prefid-executive .prefid-grid-exec>.panel{min-height:315px}
@media(max-width:1450px){.prefid-executive .prefid-kpis-exec{grid-template-columns:repeat(2,minmax(0,1fr))!important}.prefid-executive .prefid-exec-mid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.prefid-executive .prefid-summary{grid-column:1/-1!important;min-height:auto}.prefid-executive .prefid-summary-list{display:grid!important;grid-template-columns:repeat(4,1fr)!important}.prefid-executive .prefid-summary-list p{display:block!important;text-align:center;border:0!important;border-right:1px solid #edf1f5!important}.prefid-executive .prefid-summary-list p:last-child{border-right:0!important}}
@media(max-width:1050px){.prefid-executive .prefid-kpis-exec,.prefid-executive .prefid-exec-mid,.prefid-executive .prefid-grid-exec{grid-template-columns:1fr!important}.prefid-executive .prefid-summary{grid-column:auto!important}.prefid-executive .prefid-summary-list{grid-template-columns:repeat(2,1fr)!important}}
