:root { --simas-red:#b5121b; --simas-yellow:#f4c430; --ink:#202327; --muted:#667078; --panel:#f4f1ed; }
* { box-sizing:border-box; }
html, body { width:100%; height:100%; margin:0; overflow:hidden; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:var(--panel); }
button { font:inherit; }
.tv-panel { display:grid; grid-template-rows:minmax(64px,9vh) 1fr minmax(50px,7vh); width:100vw; height:100vh; background:radial-gradient(circle at 90% 0,#fff 0,#f7f4f0 38%,#eee9e3 100%); }
.tv-header,.tv-footer { z-index:10; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(1.2rem,3vw,4rem); background:#fff; box-shadow:0 4px 18px rgba(0,0,0,.07); }
.tv-brand { color:var(--simas-red); font-size:clamp(1.6rem,2.5vw,3rem); font-weight:900; letter-spacing:.08em; }
.tv-brand small { margin-left:.8rem; color:var(--ink); font-size:.38em; letter-spacing:.1em; text-transform:uppercase; }
.tv-updated { color:var(--muted); font-size:clamp(.78rem,1.1vw,1.2rem); font-weight:700; }
.tv-slides { position:relative; min-height:0; overflow:hidden; }
.tv-slide { position:absolute; inset:0; display:grid; grid-template-rows:auto 1fr auto; gap:clamp(.7rem,1.5vh,1.5rem); padding:clamp(1rem,2.3vh,2rem) clamp(1.2rem,4vw,5rem); opacity:0; visibility:hidden; transform:translateX(2%); transition:opacity .65s ease,transform .65s ease,visibility .65s; }
.tv-slide.is-active { opacity:1; visibility:visible; transform:none; }
.tv-slide-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.tv-kicker { margin:0 0 .25rem; color:var(--simas-red); font-size:clamp(1rem,1.5vw,1.7rem); font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.tv-slide h1 { margin:0; font-size:clamp(1.7rem,3vw,3.5rem); line-height:1.05; }
.tv-period { flex:none; margin:0; color:var(--muted); font-size:clamp(1rem,1.5vw,1.6rem); font-weight:700; }
.tv-card { background:#fff; border-radius:clamp(.8rem,1.4vw,1.5rem); box-shadow:0 12px 35px rgba(24,27,30,.09); }
.sac-tv-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:clamp(1rem,2vw,2.5rem); min-height:0; }
.sac-total-card { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(1rem,2vh,2rem); border-top:clamp(7px,.65vw,12px) solid var(--simas-red); text-align:center; }
.sac-total-card > span,.reprocesso-tv-metrics span { color:var(--muted); font-size:clamp(1rem,1.5vw,1.7rem); font-weight:700; }
.sac-total-card > strong { font-size:clamp(6rem,15vh,12rem); line-height:.9; }
.sac-total-card > p { margin:clamp(.7rem,1.5vh,1.4rem) 0; font-size:clamp(1.1rem,1.8vw,2rem); font-weight:700; }
.tv-status { padding:.55em 1.2em; border-radius:99px; color:#fff; font-size:clamp(1rem,1.7vw,1.8rem); letter-spacing:.08em; }
.status-bom { background:#198754; }.status-atencao { background:#c49100; }.status-acima_da_meta { background:#dc3545; }.status-sem_dados { background:#6c757d; }
.sac-ranking-card { padding:clamp(1.2rem,2.5vw,3rem); overflow:hidden; }
.sac-ranking-card h2 { margin:0 0 clamp(.6rem,1.5vh,1.4rem); font-size:clamp(1.3rem,2.2vw,2.5rem); }
.sac-ranking-card ol { margin:0; padding-left:2.2em; }
.sac-ranking-card li { padding:clamp(.45rem,1vh,.9rem) .25rem; border-bottom:1px solid #e4e4e4; font-size:clamp(1rem,1.55vw,1.7rem); }
.sac-ranking-card li strong { float:right; color:var(--simas-red); font-size:1.15em; }
.tv-empty { margin:12vh auto 0; color:var(--muted); font-size:clamp(1.1rem,1.7vw,1.8rem); text-align:center; }
blockquote { margin:0; color:#4f575d; font-size:clamp(.95rem,1.35vw,1.45rem); font-style:italic; text-align:center; }
.reprocesso-tv-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.65fr); gap:clamp(1rem,2vw,2.5rem); min-height:0; }
.reprocesso-tv-gauge { display:flex; min-height:0; flex-direction:column; justify-content:center; align-items:center; padding:clamp(.5rem,1.2vh,1.2rem) clamp(1rem,2vw,2rem); }
.reprocesso-gauge .reprocesso-gauge__svg { display:block; width:min(62vh,75%); height:auto; max-height:43vh; }
.reprocesso-gauge .reprocesso-gauge__faixa { stroke:none; }.reprocesso-gauge .reprocesso-gauge__faixa--boa { fill:#198754; }.reprocesso-gauge .reprocesso-gauge__faixa--atencao { fill:#e0a800; }.reprocesso-gauge .reprocesso-gauge__faixa--critica { fill:#dc3545; }
.reprocesso-gauge .reprocesso-gauge__marca { stroke:#687078; stroke-width:2; }.reprocesso-gauge .reprocesso-gauge__rotulo { fill:#596168; font-size:13px; font-weight:700; text-anchor:middle; dominant-baseline:middle; }
.reprocesso-gauge .reprocesso-gauge__ponteiro { fill:#343a40; }.reprocesso-gauge .reprocesso-gauge__eixo { fill:#343a40; stroke:#fff; stroke-width:3; }.reprocesso-gauge .reprocesso-gauge__eixo-centro { fill:#8d969e; }
.reprocesso-gauge-value { margin-top:-1.5vh; font-size:clamp(3.5rem,8vh,7rem); line-height:.9; }.reprocesso-gauge-empty { margin-top:-1vh; color:#6c757d; font-size:clamp(1.5rem,2.4vw,2.8rem); }
.reprocesso-gauge-status { margin-top:.7rem; font-size:clamp(1rem,1.5vw,1.6rem); letter-spacing:.08em; }.reprocesso-bom .reprocesso-gauge-status { color:#198754; }.reprocesso-atencao .reprocesso-gauge-status { color:#a07800; }.reprocesso-acima_da_meta .reprocesso-gauge-status { color:#dc3545; }.reprocesso-sem_dados .reprocesso-gauge-status { color:#6c757d; }
.reprocesso-gauge-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 1.2rem; margin-top:1rem; color:var(--muted); font-size:clamp(.72rem,.95vw,1rem); font-weight:700; }.reprocesso-gauge-legend > span { display:flex; align-items:center; gap:.35rem; }.reprocesso-gauge-legend i { width:.7rem; height:.7rem; border-radius:50%; }.legend-bom { background:#198754; }.legend-atencao { background:#e0a800; }.legend-acima { background:#dc3545; }
.reprocesso-tv-gauge.is-empty .reprocesso-gauge__faixas { opacity:.28; filter:grayscale(1); }
.reprocesso-tv-metrics { display:grid; grid-template-rows:1fr 1fr; gap:clamp(1rem,2vh,2rem); }.reprocesso-tv-metrics .tv-card { display:flex; flex-direction:column; justify-content:center; padding:clamp(1.2rem,2.5vw,3rem); border-left:clamp(7px,.65vw,12px) solid var(--simas-red); }.reprocesso-tv-metrics strong { font-size:clamp(2.4rem,4.5vw,5.2rem); line-height:1.05; }
.varredura-tv-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,1fr); gap:clamp(1rem,2vw,2.5rem); min-height:0; }
.varredura-total-card,.varredura-meta-card { display:flex; min-height:0; flex-direction:column; justify-content:center; padding:clamp(1.2rem,2.5vw,3rem); }
.varredura-total-card { align-items:center; border-top:clamp(7px,.65vw,12px) solid var(--simas-red); text-align:center; }
.varredura-total-card > span,.varredura-meta-card span { color:var(--muted); font-size:clamp(1rem,1.4vw,1.6rem); font-weight:700; }
.varredura-total-card > strong:not(.varredura-empty) { margin:.14em 0; font-size:clamp(4.5rem,10vh,8.5rem); line-height:1; }
.varredura-empty { margin:clamp(1rem,4vh,3rem) 0; color:#6c757d; font-size:clamp(1.8rem,3vw,3.5rem); }
.varredura-total-card .tv-status { margin:.4rem 0 1rem; }
.varredura-details { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem 1.8rem; color:var(--muted); font-size:clamp(.85rem,1.15vw,1.2rem); }
.varredura-meta-card { gap:clamp(.6rem,1.5vh,1.2rem); border-left:clamp(7px,.65vw,12px) solid var(--simas-yellow); }
.varredura-meta-card > div { display:flex; flex-direction:column; }
.varredura-meta-card strong { font-size:clamp(1.8rem,3vw,3.6rem); line-height:1.05; }
.varredura-meta-card .varredura-limit strong { font-size:clamp(1.4rem,2.2vw,2.7rem); }
.varredura-meta-card .varredura-equivalence { padding:clamp(.7rem,1.5vh,1.2rem); border-radius:1rem; background:#fff6d4; }
.varredura-meta-card .varredura-equivalence strong { color:var(--simas-red); font-size:clamp(2.3rem,4vw,4.8rem); text-transform:uppercase; }
.varredura-meta-card > p { margin:0; font-size:clamp(1rem,1.4vw,1.5rem); }
.varredura-sem_dados .varredura-total-card { border-top-color:#6c757d; }
.inspecoes-tv-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); gap:clamp(1rem,2vw,2.5rem); min-height:0; }
.inspecoes-total-card { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(1rem,2.5vw,3rem); border-top:clamp(7px,.65vw,12px) solid var(--simas-red); text-align:center; }
.inspecoes-total-card > span,.inspecoes-meta span { color:var(--muted); font-size:clamp(1rem,1.4vw,1.6rem); font-weight:700; }
.inspecoes-total-card > strong:not(.inspecoes-empty) { font-size:clamp(6rem,14vh,11rem); line-height:.9; }
.inspecoes-empty { margin:clamp(1rem,4vh,3rem) 0; color:#6c757d; font-size:clamp(1.8rem,3vw,3.5rem); }
.inspecoes-total-card .tv-status { margin:.7rem 0; }
.inspecoes-meta { display:flex; align-items:baseline; gap:.7rem; }.inspecoes-meta strong { color:var(--simas-red); font-size:clamp(2.2rem,3.5vw,4.2rem); }.inspecoes-meta small { color:var(--muted); font-weight:700; }
.inspecoes-ranking-card { padding:clamp(1.2rem,2.5vw,3rem); overflow:hidden; }.inspecoes-ranking-card h2 { margin:0 0 1rem; font-size:clamp(1.3rem,2.2vw,2.5rem); }.inspecoes-ranking-card ol { margin:0; padding-left:2.2em; }.inspecoes-ranking-card li { padding:clamp(.5rem,1.2vh,1rem) .25rem; border-bottom:1px solid #e4e4e4; font-size:clamp(1rem,1.7vw,1.9rem); }.inspecoes-ranking-card li strong { float:right; color:var(--simas-red); font-size:1.15em; }
.inspecoes-sem_dados .inspecoes-total-card { border-top-color:#6c757d; }
.painel-geral-qsa { grid-template-rows:auto minmax(0,1fr) auto auto; gap:clamp(.5rem,1.2vh,1rem); }
.geral-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.geral-heading time { color:var(--muted); font-size:clamp(.75rem,1vw,1.05rem); font-weight:700; }
.resumo-indicadores { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.7rem,1.3vw,1.5rem); min-height:0; }
.resumo-indicador-card { position:relative; display:flex; min-width:0; flex-direction:column; padding:clamp(.8rem,1.6vw,1.6rem); overflow:hidden; border-top:clamp(6px,.5vw,9px) solid #6c757d; border-radius:clamp(.7rem,1vw,1.1rem); background:#fff; box-shadow:0 10px 28px rgba(24,27,30,.09); }
.resumo-indicador-topo { display:flex; align-items:center; justify-content:space-between; gap:.7rem; }
.resumo-indicador-icone { display:grid; width:clamp(2rem,2.8vw,3rem); aspect-ratio:1; place-items:center; border-radius:50%; background:#f0f1f2; color:#555; font-weight:900; }
.resumo-indicador-icone[data-icon="chat"]::before { content:"SAC"; font-size:.55em; }.resumo-indicador-icone[data-icon="recycle"]::before { content:"R"; }.resumo-indicador-icone[data-icon="brush"]::before { content:"V"; }.resumo-indicador-icone[data-icon="search"]::before { content:"I"; }
.resumo-indicador-status { font-size:clamp(.68rem,.9vw,.95rem); letter-spacing:.08em; }
.resumo-indicador-card h2 { margin:clamp(.45rem,1vh,.8rem) 0 0; font-size:clamp(1rem,1.4vw,1.5rem); }
.resumo-indicador-valor { margin-top:auto; padding-top:.25rem; font-size:clamp(2.8rem,5.2vw,6rem); line-height:.9; white-space:nowrap; }
.resumo-indicador-unidade { color:var(--muted); font-size:clamp(.8rem,1.05vw,1.1rem); font-weight:700; }
.resumo-indicador-complemento { margin-top:.3rem; color:var(--muted); }
.resumo-indicador-meta { margin:auto 0 .25rem; padding-top:.5rem; font-size:clamp(.78rem,1vw,1.05rem); font-weight:800; }
.resumo-indicador-periodo { margin:0; color:var(--muted); font-size:clamp(.68rem,.86vw,.9rem); }
.resumo-status-critico { border-color:#dc3545; }.resumo-status-critico .resumo-indicador-status { color:#b02a37; }.resumo-status-atencao { border-color:#d6a000; }.resumo-status-atencao .resumo-indicador-status { color:#886600; }.resumo-status-bom { border-color:#198754; }.resumo-status-bom .resumo-indicador-status { color:#146c43; }.resumo-status-sem-dados { border-color:#6c757d; }.resumo-status-sem-dados .resumo-indicador-status { color:#5c636a; }
.geral-alertas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.6rem,1vw,1rem); }
.geral-alertas > section { padding:clamp(.65rem,1.2vh,1rem) clamp(.9rem,1.5vw,1.5rem); border-radius:.8rem; background:#fff; box-shadow:0 6px 18px rgba(24,27,30,.07); }
.geral-alertas h2 { margin:0 0 .35rem; font-size:clamp(.85rem,1.1vw,1.15rem); text-transform:uppercase; letter-spacing:.08em; }
.geral-alertas ul { display:grid; gap:.25rem; margin:0; padding-left:1.2rem; font-size:clamp(.75rem,1vw,1.05rem); }
.pontos-atencao { border-left:6px solid #dc3545; }.dados-pendentes { border-left:6px solid #6c757d; }.mensagem-positiva { grid-column:1/-1; border-left:6px solid #198754; text-align:center; }.mensagem-positiva strong,.mensagem-positiva span,.mensagem-sem-alertas strong { display:block; }.mensagem-positiva strong { color:#146c43; font-size:clamp(1rem,1.4vw,1.5rem); }.mensagem-sem-alertas { border-left:6px solid #198754; }
.geral-rodape { margin:0; color:var(--muted); font-size:clamp(.72rem,.95vw,1rem); font-style:italic; text-align:center; }
.resumo-status-critico::after { position:absolute; inset:0; border:2px solid rgba(220,53,69,.18); border-radius:inherit; content:""; pointer-events:none; animation:criticalGlow 2.5s ease-in-out infinite; }
@keyframes criticalGlow { 50% { border-color:rgba(220,53,69,.48); box-shadow:inset 0 0 18px rgba(220,53,69,.08); } }
.tv-footer { box-shadow:0 -4px 18px rgba(0,0,0,.06); }
.tv-footer-message { flex:1; padding:0 1rem; text-align:center; color:var(--muted); font-size:clamp(.75rem,1.1vw,1rem); }
.tv-position { display:flex; align-items:center; gap:.55rem; color:var(--muted); font-weight:700; }.tv-position button { width:.75rem; height:.75rem; padding:0; border:0; border-radius:50%; background:#c4c4c4; cursor:pointer; }.tv-position button.is-active { background:var(--simas-red); transform:scale(1.2); }
.tv-controls { display:flex; gap:.45rem; opacity:.24; transition:opacity .25s; }.tv-panel:hover .tv-controls,.tv-controls:focus-within { opacity:1; }.tv-controls button { padding:.45rem .8rem; border:1px solid #ccc; border-radius:.45rem; background:#fff; color:#34383c; cursor:pointer; }.tv-controls button:hover,.tv-controls button:focus-visible { border-color:var(--simas-red); color:var(--simas-red); }
[hidden] { display:none !important; }
@media (max-width:900px) { .sac-tv-grid,.reprocesso-tv-grid { grid-template-columns:1fr 42%; }.varredura-tv-grid,.inspecoes-tv-grid { grid-template-columns:1fr; }.resumo-indicadores { grid-template-columns:repeat(2,minmax(0,1fr)); }.varredura-total-card > strong:not(.varredura-empty) { font-size:clamp(3.2rem,8vh,5rem); }.varredura-meta-card { display:grid; grid-template-columns:1fr 1fr; }.varredura-equivalence,.varredura-meta-card > p { grid-column:1/-1; }.tv-slide { padding-inline:1rem; }.reprocesso-gauge__svg { width:95%; }.tv-brand small { display:none; } }
@media (max-height:700px) { .tv-slide { gap:.5rem; padding-block:.7rem; }.sac-total-card > strong { font-size:18vh; }.sac-ranking-card li { padding:.35rem .2rem; }.reprocesso-gauge__svg { max-height:39vh; }.reprocesso-gauge-legend { margin-top:.4rem; }.varredura-total-card,.varredura-meta-card { padding:.75rem 1.2rem; }.varredura-meta-card { gap:.45rem; }.varredura-meta-card .varredura-equivalence { padding:.55rem; } }
@media (prefers-reduced-motion:reduce) { .tv-slide,.resumo-status-critico::after { transition:none; animation:none; } }

/* Layout adaptativo e áreas reservadas para mídias oficiais do personagem POP. */
.tv-brand img { display:inline-block; width:auto; height:auto; max-height:min(7vh,64px); object-fit:contain; vertical-align:middle; }
.qsa-character-slot { display:flex; min-width:0; align-items:center; justify-content:center; overflow:hidden; }
.qsa-character-slot img { display:block; width:auto; height:auto; max-width:min(18vw,240px); max-height:min(38vh,420px); object-fit:contain; }
.qsa-media-stage { position:absolute; z-index:30; inset:0; display:grid; padding:clamp(1rem,4vw,4rem); place-items:center; background:#111; }
.qsa-media-stage video { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
.qsa-media-stage p { color:#fff; }
.qsa-inline-video { display:block; width:100%; max-width:520px; max-height:36vh; margin:auto; object-fit:contain; border-radius:1rem; background:#111; }
.qsa-animate-screen.is-active .tv-slide-heading,.qsa-animate-screen.is-active .geral-heading { animation:qsaEnter .45s ease both; }
.qsa-animate-screen.is-active .tv-card,.qsa-animate-screen.is-active .resumo-indicador-card { animation:qsaEnter .5s ease both; }
@keyframes qsaEnter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media (max-width:900px), (max-height:520px), (pointer:coarse) {
 html,body { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
 .tv-panel {
  display:flex; width:100%; min-height:100vh; min-height:100svh;
  min-height:var(--qsa-viewport-height,100dvh); height:auto; flex-direction:column;
  overflow-x:hidden; overflow-y:visible;
 }
 .tv-header,.tv-footer { position:relative; min-height:64px; padding:.75rem 1rem; flex-wrap:wrap; }
 .tv-slides {
  flex:1 0 auto; min-height:calc(100vh - 128px); min-height:calc(100svh - 128px);
  min-height:calc(var(--qsa-viewport-height,100dvh) - 128px);
  overflow-x:hidden; overflow-y:visible;
 }
 .tv-slide {
  position:relative; inset:auto; display:none; min-height:calc(100vh - 128px);
  min-height:calc(100svh - 128px);
  min-height:calc(var(--qsa-viewport-height,100dvh) - 128px);
  padding:1rem; overflow:visible; transform:none;
 }
 .tv-slide.is-active { display:grid; }
 .tv-slide-heading,.geral-heading { align-items:flex-start; flex-direction:column; gap:.4rem; }
 .sac-tv-grid,.reprocesso-tv-grid,.varredura-tv-grid,.inspecoes-tv-grid,.resumo-indicadores,.geral-alertas { grid-template-columns:1fr; }
 .reprocesso-tv-metrics { grid-template-rows:auto; }
 .qsa-character-slot img { max-width:min(70vw,260px); max-height:42vh; }
 .tv-controls { width:100%; flex-wrap:wrap; opacity:1; }
 .tv-footer {
  flex:0 0 auto;
  padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));
 }
 .tv-footer-message { order:-1; width:100%; flex-basis:100%; padding:.5rem 0; }
}
@media (min-width:700px) and (pointer:coarse) {
 .resumo-indicadores { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sac-tv-grid,.reprocesso-tv-grid { grid-template-columns:minmax(0,1fr) minmax(0,.85fr); }
}
@media (min-width:840px) and (pointer:coarse) {
 .varredura-tv-grid,.inspecoes-tv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) { .qsa-animate-screen.is-active .tv-slide-heading,.qsa-animate-screen.is-active .geral-heading,.qsa-animate-screen.is-active .tv-card,.qsa-animate-screen.is-active .resumo-indicador-card { animation:none; } }
