/* Sprint 23 — Relatórios Executivos & Exportação */
.service-executive-head{align-items:flex-start}
.service-executive-period{
  display:grid;
  gap:4px;
  min-width:130px;
}
.service-executive-period span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.service-executive-builder{
  padding:16px 18px;
  margin-bottom:16px;
}
.service-executive-title{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);
  gap:16px;
  align-items:end;
}
.service-executive-title label{
  display:grid;
  gap:6px;
  font-weight:700;
}
.service-executive-title>div{
  display:grid;
  gap:3px;
  text-align:right;
}
.service-executive-title span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.service-executive-title b{font-size:15px}
.service-executive-title small{color:var(--muted)}
.service-executive-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.service-executive-hero{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr) minmax(220px,.8fr);
  gap:18px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface);
  padding:18px 20px;
  margin-bottom:14px;
  position:relative;
  overflow:hidden;
}
.service-executive-hero::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--green);
}
.service-executive-hero.attention::before{background:#d27b24}
.service-executive-hero.critical::before{background:#d53b3b}
.service-executive-hero>div{display:grid;gap:4px}
.service-executive-hero>div:not(:first-child){text-align:right}
.service-executive-hero span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.service-executive-hero h3{
  margin:0;
  font-size:27px;
}
.service-executive-hero b{font-size:21px}
.service-executive-hero p{margin:0;color:var(--muted)}
.service-executive-hero small{color:var(--muted)}
.service-executive-hero.critical h3{color:#b92f2f}
.service-executive-hero.attention h3{color:#9a5518}
.service-executive-hero.stable h3{color:var(--green)}

.service-executive-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.service-executive-kpis article{
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  padding:12px;
  display:grid;
  gap:4px;
}
.service-executive-kpis span{
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.04em;
}
.service-executive-kpis b{font-size:21px}
.service-executive-kpis .bad{color:#b92f2f}

.service-executive-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.service-executive-metrics article{
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px;
  display:grid;
  gap:4px;
  position:relative;
  overflow:hidden;
  background:color-mix(in srgb,var(--surface) 96%,var(--green) 4%);
}
.service-executive-metrics article::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--muted);
}
.service-executive-metrics article.met::before{background:var(--green)}
.service-executive-metrics article.watch::before{background:#d27b24}
.service-executive-metrics article.miss::before{background:#d53b3b}
.service-executive-metrics span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
.service-executive-metrics b{font-size:20px}
.service-executive-metrics small{color:var(--muted)}
.service-executive-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:14px;
  margin-top:14px;
}
.service-executive-grid>.panel{padding:17px}
.service-executive-priorities{display:grid;gap:8px}
.service-executive-priorities article{
  border:1px solid var(--border);
  border-radius:11px;
  padding:10px 12px;
  display:grid;
  gap:2px;
}
.service-executive-priorities span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.service-executive-priorities small{color:var(--muted)}
.service-executive-sections{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px 10px;
  align-items:center;
}
.service-executive-sections span{
  width:27px;height:27px;
  display:grid;place-items:center;
  border-radius:50%;
  background:color-mix(in srgb,var(--green) 10%,var(--surface));
  border:1px solid color-mix(in srgb,var(--green) 28%,var(--border));
  color:var(--green);
  font-size:10px;
  font-weight:800;
}
.service-executive-sections b{font-size:12px}
.service-executive-report-dialog{width:min(1180px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px))}
.service-executive-report-dialog iframe{width:100%;height:calc(100% - 150px);border:0;background:#fff;border-radius:10px}

@media(max-width:1450px){
  .service-executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-executive-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .service-executive-hero{grid-template-columns:1fr 1fr}
  .service-executive-hero>div:first-child{grid-column:1/-1}
  .service-executive-hero>div:not(:first-child){text-align:left}
  .service-executive-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .service-executive-title{grid-template-columns:1fr}
  .service-executive-title>div{text-align:left}
  .service-executive-hero{grid-template-columns:1fr}
  .service-executive-hero>div:first-child{grid-column:auto}
  .service-executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-executive-metrics{grid-template-columns:1fr}
}
@media(max-width:480px){
  .service-executive-kpis{grid-template-columns:1fr}
  .service-executive-actions .btn{width:100%}
}
