/* Observatório do PDI — painel v15. Escopo isolado em .pdi15 para não conflitar com o tema/Elementor. */
.pdi15{
  --navy:#123D5B; --blue:#075D8D; --orange:#D58A2F; --orange-dark:#B8711C;
  --bg:#F3F6F8; --card:#FFFFFF; --ink:#1C2D38; --muted:#536773; --line:#D7E1E7; --soft:#EAF1F5;
  --r:18px; --shadow:0 1px 2px rgba(18,61,91,.06),0 8px 24px rgba(18,61,91,.06);
  box-sizing:border-box; width:100%; max-width:1180px; margin:0 auto; padding:0 16px 40px;
  font-family:Inter,"Segoe UI",Calibri,Arial,sans-serif; font-size:16px; line-height:1.55; color:var(--ink);
  -webkit-text-size-adjust:100%; overflow-wrap:anywhere;
}
.pdi15 *,.pdi15 *::before,.pdi15 *::after{box-sizing:border-box}
.pdi15 h1,.pdi15 h2,.pdi15 h3,.pdi15 p,.pdi15 ul,.pdi15 ol,.pdi15 dl,.pdi15 dd,.pdi15 figure{margin:0;padding:0}
.pdi15 ul,.pdi15 ol{list-style:none}
.pdi15 a{color:var(--blue)}
.pdi15 h1,.pdi15 h2,.pdi15 h3{font-family:inherit;color:var(--navy);letter-spacing:-.01em;text-transform:none}

/* Topo */
.pdi15-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:20px;align-items:stretch;
  background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 100%);color:#fff;border-radius:24px;padding:32px;margin:16px 0 0}
.pdi15-eyebrow{display:block;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#FFD9A8;margin-bottom:8px}
.pdi15 .pdi15-hero h1{color:#fff;font-size:clamp(1.75rem,1.2rem + 2.2vw,2.5rem);line-height:1.15;font-weight:800;margin-bottom:12px}
.pdi15-hero p{font-size:1.0625rem;color:#E6EFF5;max-width:60ch}
.pdi15-hero strong{color:#fff}
.pdi15-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pdi15 .pdi15-btn{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:999px;font-weight:700;font-size:1rem;text-decoration:none;transition:transform .15s,background .15s}
.pdi15 .pdi15-btn:hover{transform:translateY(-1px)}
.pdi15 .pdi15-btn-primary{background:var(--orange);color:#fff}
.pdi15 .pdi15-btn-primary:hover{background:var(--orange-dark)}
.pdi15 .pdi15-btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.pdi15-cycle{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.pdi15-cycle-label{font-size:.9375rem;font-weight:600;color:#E6EFF5}
.pdi15-cycle b{font-size:2.25rem;line-height:1;font-weight:800}
.pdi15-cycle small{font-size:.875rem;color:#D3E2EC;line-height:1.45}

/* Navegação */
.pdi15-nav{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px 2px;margin:8px 0 4px;background:var(--card);box-shadow:0 6px 12px -10px rgba(18,61,91,.35)}
.pdi15-nav::-webkit-scrollbar{display:none}
.pdi15 .pdi15-nav a{text-decoration:none!important;flex:0 0 auto;padding:8px 16px;border-radius:999px;background:var(--soft);color:var(--navy);font-weight:600;font-size:.9375rem;text-decoration:none;white-space:nowrap}
.pdi15 .pdi15-nav a:hover,.pdi15 .pdi15-nav a:focus-visible{background:var(--navy);color:#fff}

/* Seções */
.pdi15-section{margin-top:36px;scroll-margin-top:72px}
.pdi15-section [id]{scroll-margin-top:72px}
.pdi15-head{margin-bottom:16px}
.pdi15 .pdi15-head h2{font-size:clamp(1.375rem,1.1rem + 1vw,1.75rem);font-weight:800;line-height:1.2;margin-bottom:6px}
.pdi15-head p{color:var(--muted);font-size:1rem;max-width:72ch}
.pdi15-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);min-width:0}
.pdi15 .pdi15-card h3{font-size:1.1875rem;font-weight:700;margin-bottom:4px}
.pdi15-help{color:var(--muted);font-size:.9375rem;margin-bottom:16px}
.pdi15-note{color:var(--muted);font-size:.9375rem;margin-top:12px}
.pdi15-empty{padding:24px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);text-align:center}
.pdi15-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}

/* KPIs */
.pdi15-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.pdi15-kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;min-width:0}
.pdi15-kpi span{font-size:.9375rem;font-weight:700;color:var(--navy)}
.pdi15-kpi b{font-size:2.5rem;line-height:1.1;font-weight:800;color:var(--navy)}
.pdi15-kpi small{font-size:.9375rem;color:var(--muted);line-height:1.45}
.pdi15-kpi-main{background:var(--navy);border-color:var(--navy)}
.pdi15-kpi-main span,.pdi15-kpi-main b{color:#fff}
.pdi15-kpi-main small{color:#D3E2EC}
.pdi15-kpis-soft .pdi15-kpi{border-top:4px solid var(--orange)}

/* Situação */
.pdi15-status{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.pdi15-donut{width:168px;height:168px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.pdi15-donut>div{width:112px;height:112px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.pdi15-donut b{font-size:2rem;line-height:1;font-weight:800;color:var(--navy)}
.pdi15-donut span{font-size:.8125rem;color:var(--muted);line-height:1.25;max-width:80px}
.pdi15-legend{flex:1 1 180px;display:grid;gap:10px}
.pdi15-legend li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:1rem}
.pdi15-legend i,.pdi15-glossary i{width:14px;height:14px;border-radius:4px;display:inline-block}
.pdi15-legend b{font-weight:800;color:var(--navy)}
.pdi15-glossary{display:grid;gap:4px 0;margin-top:12px}
.pdi15-glossary dt{font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px;margin-top:8px}
.pdi15-glossary dd{color:var(--muted);font-size:.9375rem;padding-left:22px}

/* Anos */
.pdi15-years{display:flex;align-items:flex-end;justify-content:space-around;gap:12px;height:200px;padding-top:8px}
.pdi15-year{flex:1 1 0;max-width:84px;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px}
.pdi15-year-bar{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--soft);border-radius:12px;overflow:hidden}
.pdi15-year-bar i{display:block;width:100%;background:var(--blue);border-radius:12px 12px 0 0}
.pdi15-year:nth-child(even) .pdi15-year-bar i{background:var(--orange)}
.pdi15-year b{font-size:1.375rem;font-weight:800;color:var(--navy);line-height:1}
.pdi15-year span{font-size:.9375rem;color:var(--muted);font-weight:600}
.pdi15-year.is-future b,.pdi15-year.is-future span{color:#9AACB8}

/* Barras */
.pdi15-bar{height:10px;background:var(--soft);border-radius:999px;overflow:hidden}
.pdi15-bar i{display:block;height:100%;background:var(--c,var(--blue));border-radius:999px;min-width:0}
.pdi15-bar-light{background:rgba(255,255,255,.2)}
.pdi15-bar-light i{background:var(--orange)}

/* Eixos */
.pdi15-axes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pdi15-axis{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--c);border-radius:14px;padding:16px 18px;display:grid;gap:8px;min-width:0}
.pdi15-axis-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.pdi15-axis-top strong{font-size:1.0625rem;color:var(--ink);line-height:1.3}
.pdi15-axis-top b{font-size:1.375rem;font-weight:800;color:var(--c);white-space:nowrap}
.pdi15-axis-sub{font-size:.9375rem;color:var(--muted)}

/* Expansíveis */
.pdi15-more>summary{cursor:pointer;list-style:none;font-weight:700;color:var(--blue);font-size:1rem;display:inline-flex;align-items:center;gap:8px;padding:6px 0}
.pdi15-more>summary::-webkit-details-marker{display:none}
.pdi15-more>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.pdi15-more[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.pdi15-more-block{margin-top:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 18px}
.pdi15-more-block[open]{padding-bottom:18px}
.pdi15-more-block>summary{width:100%;min-height:40px}
.pdi15-more-block>summary::after{margin-left:auto}
.pdi15-more-block>.pdi15-axes,.pdi15-more-block>.pdi15-actions,.pdi15-more-block>.pdi15-hbars,.pdi15-more-block>.pdi15-help{margin-top:12px}

/* Ações */
.pdi15-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pdi15-action{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;min-width:0}
.pdi15-action-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.875rem;color:var(--muted)}
.pdi15-action-meta time{font-weight:700;color:var(--orange-dark)}
.pdi15 .pdi15-action h3{font-size:1.0625rem;line-height:1.35;font-weight:700;color:var(--navy)}
.pdi15-action p{font-size:.9375rem;color:var(--muted)}
.pdi15-action-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.pdi15-chips{display:flex;flex-wrap:wrap;gap:6px}
.pdi15-chips li{font-size:.8125rem;font-weight:700;padding:3px 10px;border-radius:999px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);border:1px solid color-mix(in srgb,var(--c) 35%,#fff)}
.pdi15-chips .pdi15-chip-more{--c:#536773}
.pdi15-pending{font-size:.875rem;color:var(--muted);font-style:italic}
.pdi15 .pdi15-link{font-weight:700;font-size:.9375rem;text-decoration:none!important;color:var(--blue);white-space:nowrap}
.pdi15 .pdi15-link:hover{text-decoration:underline}

/* Metas por eixo */
.pdi15-goal-axes{display:grid;gap:10px}
.pdi15-goal-axis{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pdi15-goal-axis>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:16px 18px;min-height:56px}
.pdi15-goal-axis>summary::-webkit-details-marker{display:none}
.pdi15-goal-axis>summary::after{content:"";flex:0 0 auto;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s;margin-left:4px}
.pdi15-goal-axis[open]>summary::after{transform:rotate(-135deg)}
.pdi15-goal-axis[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--c) 6%,#fff)}
.pdi15-dot{width:12px;height:12px;border-radius:50%;background:var(--c);flex:0 0 auto}
.pdi15-goal-axis summary strong{font-size:1.0625rem;color:var(--ink);flex:1;line-height:1.3}
.pdi15-goal-axis summary em{font-style:normal;font-size:.875rem;color:var(--muted);white-space:nowrap}
.pdi15-objective{padding:16px 18px 0;font-size:.9375rem;color:var(--ink)}
.pdi15-objective span{display:block;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c);margin-bottom:2px}
.pdi15-goal-list{padding:8px 18px 16px;display:grid}
.pdi15-goal-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--soft)}
.pdi15-goal-list li:last-child{border-bottom:0}
.pdi15-goal-code{font-weight:800;color:var(--c);font-size:1rem;padding-top:1px}
.pdi15-goal-list p{font-size:1rem;margin-bottom:6px}
.pdi15-pill{display:inline-block;font-size:.8125rem;font-weight:700;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--s) 16%,#fff);color:color-mix(in srgb,var(--s) 75%,#000);border:1px solid color-mix(in srgb,var(--s) 40%,#fff);margin-right:8px}
.pdi15-count{font-size:.875rem;color:var(--muted)}

/* Barras horizontais */
.pdi15-hbars{display:grid;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.pdi15-more-block .pdi15-hbars{border:0;padding:0;box-shadow:none}
.pdi15-hbars li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) 32px;gap:12px;align-items:center;font-size:.9375rem}
.pdi15-hbars li>b{text-align:right;font-weight:800;color:var(--navy)}
.pdi15-hbars .pdi15-bar{height:12px}
.pdi15-hbars .pdi15-bar i{background:var(--blue)}
.pdi15-hbars li:nth-child(even) .pdi15-bar i{background:var(--orange)}

/* Guia */
.pdi15-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
.pdi15-steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:6px;counter-increment:s}
.pdi15-steps b{font-size:1.125rem;color:var(--navy);display:flex;align-items:center;gap:10px}
.pdi15-steps b::before{content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:.9375rem}
.pdi15-steps span{color:var(--muted);font-size:.9375rem}

/* Tabela */
.pdi15-table-wrap{overflow-x:auto;margin-top:12px}
.pdi15-table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
.pdi15-table th,.pdi15-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.pdi15-table thead th{color:var(--navy);font-weight:700;background:var(--soft)}
.pdi15-table td{text-align:right;font-variant-numeric:tabular-nums}

.pdi15-footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}

/* Responsividade */
@media (max-width:960px){
  .pdi15-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pdi15-hero{grid-template-columns:1fr}
}
@media (max-width:720px){
  .pdi15{padding:0 12px 32px}
  .pdi15-hero{padding:24px 20px;border-radius:20px}
  .pdi15-grid-2,.pdi15-axes,.pdi15-actions,.pdi15-steps{grid-template-columns:1fr}
  .pdi15-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pdi15-kpi{padding:16px}
  .pdi15-kpi b{font-size:2rem}
  .pdi15-kpi small{font-size:.875rem}
  .pdi15-card{padding:20px}
  .pdi15-status{justify-content:center}
  .pdi15-hbars{padding:16px}
  .pdi15-hbars li{grid-template-columns:minmax(0,1fr) 32px;gap:6px 12px}
  .pdi15-hbars li>span{grid-column:1/-1}
  .pdi15-hbars li>.pdi15-bar{grid-column:1/2}
  .pdi15-section{margin-top:28px}
  .pdi15-hero-actions .pdi15-btn{flex:1 1 auto;white-space:nowrap;padding:10px 16px}
}
@media (max-width:380px){
  .pdi15-kpis{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.pdi15 *{transition:none!important}}
