
/* ══════════════════════════════════════════════════════════════════════════ */
/* VARIÁVEIS / BASE                                                           */
/* ══════════════════════════════════════════════════════════════════════════ */

:root { --deep:#0a1628;--ocean:#0d2d4e;--wave:#2980b9;--aqua:#41b8d5;--foam:#a8dce8;--white:#fff;--accent:#00e5c0;--lima:#5CDB5C;--q-otima:#3d5fa0;--q-boa:#6CBD45;--q-media:#FFDE59;--q-ruim:#b03020;--q-pessima:#7b5b9a;--blush:#d4748a;--flamingo:#c9546e;--font-scale:1;--acessib:#4ac8f4; /* azul ONU — ícone acessibilidade, fora da identidade visual */ }
*{margin:0;padding:0;box-sizing:border-box}
u{text-decoration:underline;text-decoration-color:var(--accent)}
u.accent{text-decoration-color:var(--accent)}
u.deep{text-decoration-color:var(--deep)}
u.foam{text-decoration-color:var(--foam)}
u.aqua{text-decoration-color:var(--aqua)}
u.wave{text-decoration-color:var(--wave)}
u.rosa{text-decoration-color:var(--blush)}
u.flamingo{text-decoration-color:var(--flamingo)}
u.lima{text-decoration-color:var(--lima)}
body{font-family:'DM Sans',sans-serif;background:rgba(168,220,232,.45);min-height:100vh;overflow-x:hidden}


/* ══════════════════════════════════════════════════════════════════════════ */
/* PAINEL FLUTUANTE DE ACESSIBILIDADE */

/* Widget flutuante - Centralizado verticalmente à direita */
.accessibility-widget {
  position: fixed;
  right: 0.75rem;
  top: 8rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: flex-end;
  max-width: calc(100vw - 1.5rem);
  pointer-events: none;
}
.accessibility-toggle{pointer-events:auto}
.accessibility-panel.show{pointer-events:auto}


/* Botão principal */
.accessibility-toggle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: visible;
}

.accessibility-toggle:hover {
  transform: scale(1.08);
  border-color: rgba(74, 200, 244, 0.5);
  box-shadow: 0 6px 20px rgba(74, 200, 244, 0.3), 0 4px 12px rgba(0, 0, 0, 0.15);
}

.accessibility-toggle:active {
  transform: scale(0.95);
}

/* Ícone de acessibilidade (novo símbolo da ONU) */
.accessibility-icon {
  width: 40px;
  height: 40px;
}

/* Painel de opções */
.accessibility-panel {
  position: absolute;
  top: 0;
  right: 0;
  background:linear-gradient(160deg,rgba(168,220,232,0.9) 0%,rgba(232,247,251,0.82) 100%);
  backdrop-filter:blur(10px);
  border: none;
  border-radius: 5px;
  box-shadow: 0 4px 20px rgba(65,184,213,.1), 0 0 0 1px rgba(65,184,213, 0.1);
  padding: 0;
  min-width: 250px;
  max-width: min(300px, calc(100vw - 2rem));
  opacity: 0;
  pointer-events: none;
  transform: translateX(20px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.accessibility-panel.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

/* Header do painel */
.accessibility-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 1rem;
  border-bottom: 1px solid rgba(41,128,185, 0.25);
  background: linear-gradient(135deg, var(--aqua) 0%, var(--foam) 100%);
  border-radius: 5px 5px 0 0;
}

.accessibility-header h3 {
  margin: 0;
  font-family: 'Syne',sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--white);
  letter-spacing: .06em;
  text-transform: capitalize;
  line-height: 1.2;
}
.accessibility-header h3 span{color:var(--wave)}

.accessibility-close {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  background: none;
  border: none;
  color: var(--blush);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s;
  opacity: 0.7;
  z-index: 1;
}

.accessibility-close:hover {
  background: rgba(212,116,138, 0.1);
  opacity: 1;
  border-radius: 5px;
}

/* Seções do painel */
.accessibility-section {
  padding: 0.65rem 0.65rem;
}

.accessibility-section:last-child {
  border-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: -0.35rem;
}

.accessibility-label {
  display: block;
  font-size: 0.85rem;
  color: var(--ocean);
  font-weight: bold;
  margin-bottom: 0.75rem;
  letter-spacing: 0.01em;
}

/* Controles de fonte */
.font-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  background: rgba(255,255,255,0.3);
  padding: 0.5rem 0.65rem;
  border-radius: 5px;
  border: 1px solid rgba(41,128,185,0.3);
}

.font-btn {
  background: rgba(65, 184, 213,0.1);
  border: 1px solid rgba(65, 184, 213);
  border-radius: 5px;
  color: var(--wave);
  font-size: 0.95rem;
  font-weight: 700;
  padding: 0.45rem 0.75rem;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Syne', sans-serif;
  min-width: 42px;
  flex-shrink: 0;
}

.font-btn-reset {
  background: rgba(65, 184, 213,0.1);
  border-color: rgba(65, 184, 213);
  color: var(--ocean);
}

.font-btn:hover {
  background: rgba(41,128,185, 0.25);
  border-color: var(--wave);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(13,245,227, 0.3);
}

.font-btn-reset:hover {
  background: rgba(65, 184, 213, 0.25);
  border-color: var(--wave);
  box-shadow: 0 2px 8px rgba(65, 184, 213, 0.3);
}

.font-btn:active {
  transform: translateY(0);
}

.font-size-display {
  color: var(--ocean);
  font-weight: 600;
  font-size: 0.9rem;
  min-width: 45px;
  text-align: center;
  flex-shrink: 0;
}

/* Botão TTS novo */
.tts-btn-new {
  width: 100%;
  background: rgba(255,255,255,0.3);
  border: 1px solid rgba(41,128,185, 0.3);
  border-radius: 5px;
  color: var(--wave);
  font-size: 1rem;
  font-weight: 500;
  padding: 0.75rem 1rem;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: 'Syne', sans-serif;
}

.tts-btn-new:hover {
  background: linear-gradient(135deg, rgba(65,184,213, 0.2) 0%, rgba(41,128,185, 0.15) 100%);
  border-color: var(--wave);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(41,128,185, 0.2);
}

.tts-btn-new:active {
  transform: translateY(0);
}

.tts-btn-new.speaking {
  background: linear-gradient(135deg, var(--wave) 0%, var(--aqua) 100%);
  color: var(--deep);
  border-color: var(--wave);
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(41,128,185, 0.7);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(41,128,185, 0);
  }
}

/* Botão de reset */
.reset-btn {
  width: 100%;
  background: rgba(212,116,138,0);
  border: 0.1px solid rgba(212,116,138,0);
  border-radius: 5px;
  color: rgba(212,116,138,0.8);
  font-size: 0.8rem;
  font-weight: 500;
  padding: 0.15rem 0rem;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Syne', sans-serif;
}

.reset-btn:hover {
  background: rgba(212,116,138,0.2);
  border-color: rgba(212,116,138,0.3);
  transform: translateY(-1px);
}

.reset-btn:active {
  transform: translateY(0);
}

/* Configurações de voz dentro do painel */
.tts-config-group {
  margin-top: 0.75rem;
}

.tts-config-label-new {
  display: block;
  font-size: 0.8rem;
  color: rgba(13,45,78, 0.5);
  font-weight: bold;
  margin-bottom: 0.4rem;
}

.tts-select-new {
  width: 100%;
  margin-top: 0.4rem;
  padding: 0.5rem 0.65rem;
  background:rgba(255,255,255,0.4);
  border: 1px solid rgba(41,128,185, 0.3);
  border-radius: 5px;
  color: var(--wave);
  font-family: 'Syne', sans-serif;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s;
}

.tts-select-new:hover {
  background: rgba(65,184,213,0.15);
  border-color: var(--aqua);
}

.tts-select-new:focus {
  outline: none;
  border-color: var(--wave);
  box-shadow: 0 0 0 2px rgba(65, 184, 213, 0.2);
}

.tts-select-new option {
  background :rgb(255,255,255);
  color: var(--wave);
}

.tts-slider-new {
  width: 100%;
  height: 4px;
  border-radius: 2px;
  background: rgba(41,128,185, 0.2);
  outline: none;
  cursor: pointer;
  margin-top: 0.5rem;
  appearance: none;
}

.tts-slider-new::-webkit-slider-thumb {
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--wave);
  cursor: pointer;
  transition: all 0.2s;
}

.tts-slider-new::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 0 8px rgba(41,128,185, 0.5);
}

.tts-slider-new::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--wave);
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}

.tts-slider-new::-moz-range-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 0 8px rgba(41,128,185, 0.5);
}

.tts-speed-value {
  color: var(--wave);
  font-weight: 700;
  margin-left: 0.35rem;
  font-size: 0.8rem;
}

/* Botão "Ouvir tela" no painel de acessibilidade */
.tts-tela-btn {
  width: 100%;
  margin-top: 0.5rem;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(41,128,185, 0.3);
  border-radius: 5px;
  color: var(--wave);
  font-size: 1rem;
  font-weight: 500;
  padding: 0.6rem 1rem;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Syne', sans-serif;
}
.tts-tela-btn:hover {
  background: rgba(65, 184, 213, 0.15);
  border-color: var(--aqua);
  transform: translateY(-1px);
}
.tts-tela-btn.speaking {
  background: linear-gradient(135deg, var(--aqua) 0%, var(--wave) 100%);
  color: var(--deep);
  border-color: var(--aqua);
  animation: pulse 1.5s infinite;
}

/* Nota de configuração TTS (analise/multi → index) */
.tts-config-note {
  margin-top: 0.6rem;
  margin-bottom: 0.4rem;
  font-size: 0.72rem;
  color: var(--ocean);
  opacity: 0.7;
  line-height: 1.4;
  text-align: center;
}
.tts-config-link {
  color: var(--wave);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.tts-config-link:hover { opacity: 0.8; }

/* Botão TTS inline nas seções de resultado */
.secao-tts-btn {
  margin-left: auto;
  align-self: center;
  flex-shrink: 0;
  background: rgba(65, 184, 213, 0.1);
  border: 1px solid rgba(65, 184, 213, 0.35);
  border-radius: 50%;
  color: var(--aqua);
  width: 30px;
  height: 30px;
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.secao-tts-btn:hover {
  background: rgba(65, 184, 213, 0.25);
  border-color: var(--aqua);
}

/* Botão TTS nos modais */
.modal-tts-btn {
  position: absolute;
  top: 1.2rem;
  right: 3.4rem;
  background: rgba(65, 184, 213, 0.1);
  border: 1px solid rgba(65, 184, 213, 0.35);
  border-radius: 50%;
  color: var(--aqua);
  width: 28px;
  height: 28px;
  font-size: 0.7rem;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-tts-btn:hover {
  background: rgba(65, 184, 213, 0.25);
  border-color: var(--aqua);
}

/* Responsivo */
@media (max-width: 768px) {
  .accessibility-widget {
    right: 0rem;
    top: 6.5rem;
    max-width: calc(100vw - 1rem);
  }
  
  .accessibility-toggle {
    width: 60px;
    height: 60px;
  }
  
  .accessibility-icon {
    width: 24px;
    height: 24px;
  }
  
  .accessibility-panel {
    min-width: 260px;
    max-width: calc(100vw - 1.5rem);
  }
}

/* ── TOOLTIPS NOS PARÂMETROS ── */
.param-label-wrap{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;overflow:visible}
.param-tip{width:24px;height:24px;border-radius:50%;background:rgba(65,184,213,.15);border:1px solid rgba(65,184,213,.3);color:var(--aqua);font-size:.7rem;font-weight:700;cursor:help;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;touch-action:manipulation}
.param-tip-box{position:absolute;bottom:calc(100% + 6px);right:0;left:auto;transform:none;background:rgba(10,22,40,0.7);backdrop-filter:blur(20px);border:1px solid rgba(65,184,213,0.5);border-radius:5px;padding:.6rem .9rem;font-size:.75rem;color:var(--white);line-height:1.55;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s;z-index:300;width:240px;white-space:normal;text-align:left;text-transform:none;letter-spacing:0;font-weight:400}
.param-tip:hover .param-tip-box,.param-tip:focus .param-tip-box,.param-tip.active .param-tip-box{opacity:1;pointer-events:auto}
.param-tip:focus{outline:2px solid rgba(65,184,213,.5);outline-offset:2px}
.param-tip-box.tip-down{bottom:auto;top:calc(100% + 6px);right:auto;left:0}
.param-hint-row{display:flex;align-items:center;gap:.4rem;margin-top:.3rem;margin-bottom:.5rem}
.param-hint-label{font-size:.72rem;color:var(--aqua);opacity:.75;cursor:default;font-style:italic}
.param-decimal-hint{font-size:.72rem;color:var(--foam);opacity:.65;font-style:italic;margin-bottom:.6rem}

/* ── VALIDAÇÃO ── */
.field-error{font-size:.65rem;color:#ff6b6b;margin-top:.2rem;display:none}
.input-error{border-color:#e74c3c!important;box-shadow:0 0 0 3px rgba(231,76,60,.2)!important}
.error-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:#c0392b;color:#fff;font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;padding:.8rem 1.5rem;border-radius:5px;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:500;opacity:0;pointer-events:none;transition:opacity .3s;text-align:center}

/* ══════════════════════════════════════════════════════════════════════════ */
/* PÁGINA PRINCIPAL                                                           */

.bg-layers{position:fixed;inset:0;z-index:0;pointer-events:none}
.bg-mesh{position:absolute;inset:0;display:none}
.bg-s{position:fixed;left:-8%;top:50%;transform:translateY(-50%);width:55vh;height:auto;opacity:.15;pointer-events:none;z-index:0;filter:drop-shadow(0 0 40px rgba(65,184,213,.2))}
.app{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh}
header{padding:.35rem 3rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(41, 128, 185);backdrop-filter:blur(10px);position:relative;z-index:10;background:linear-gradient(65deg,var(--ocean)75%,rgba(65,184,213,0.8) 100%);background-size:200% 200%;animation:gradientFlow 8s ease-in-out infinite alternate;color:var(--white)}
.header-rainbow{position:absolute;bottom:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--aqua),var(--blush),var(--accent),var(--aqua));background-size:200% 100%;animation:rainbowShift 30s linear infinite}
@keyframes rainbowShift{0%{background-position:0% 0%}100%{background-position:200% 0%}}
@keyframes gradientFlow{0%{background-position:0% 50%}100%{background-position:100% 50%}}
.header-left{display:flex;align-items:center;gap:1rem}
.logo-group{display:flex;align-items:center;gap:1rem}
.logo-group img{height:100px;width:auto;max-width:min(400px,50vw);filter:drop-shadow(0 3px 2px rgba(10,22,40,.35))}
.logo-icon{width:50px;height:50px;border-radius:5px;background:linear-gradient(135deg,var(--aqua),var(--accent));display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 0 20px rgba(0,229,192,.3)}
.logo-text{font-family:'Syne',sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:.05em}
.logo-text span{color:var(--accent)}
.logo-sub{font-size:.65rem;color:var(--foam);letter-spacing:.12em;text-transform:uppercase;margin-top:1px;opacity:.7}
.badge{background:rgba(0,229,192,.12);border:1px solid rgba(0,229,192,.3);color:var(--accent);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .8rem;border-radius:5px;font-family:'Syne',sans-serif;font-weight:600}
.hero{padding:3rem 3rem 2rem;display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.hero-copy-top{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start;margin-bottom:1.25rem}
.hero-copy h1{background:linear-gradient(75deg,rgb(13,45,78),rgb(10,22,40,0.9));border:1px solid rgba(41,128,185,.35);border-radius:5px;padding:2rem;box-shadow:0 8px 32px rgba(41,128,185,.12);font-family:'Syne',sans-serif;font-weight:700;font-size:2rem;line-height:1.3;margin-bottom:0;text-align:center;height:100%;box-sizing:border-box}
.hero-copy h1 em{font-style:normal;color:var(--accent)}
.hero-copy span{font-style:bold;color:var(--aqua);font-size:1.25rem;letter-spacing:.05em}
.hero-copy-side{display:flex;flex-direction:column;gap:.75rem}
.hero-copy p{color:var(--wave);font-size:.92rem;line-height:1.4;margin:0}
.index-tags{display:flex;flex-direction:column;gap:.4rem}
.tag{padding:.35rem .9rem;border-radius:5px;font-size:.75rem;font-family:'Syne',sans-serif;font-weight:600;letter-spacing:.05em;border:1px solid}
.hero-copy .tag-iqa,.hero-copy .tag-iet,.hero-copy .tag-graf{color:var(--wave);background:rgba(65,184,213,.1);border-color:rgba(65,184,213,.3)}

/* FORMULÁRIO                                                                 */

.form-card{background:linear-gradient(280deg,rgba(41,128,185,0.7)5%,rgb(13,45,78)100%);border-radius:5px;padding:1rem 3rem 3rem}
.param-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.1rem}
.param-field{display:flex;flex-direction:column;gap:.28rem}
.param-field.full{grid-column:1/-1}
label{font-size:.8rem;font-weight:500;color:var(--white);letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
label span{color:rgba(255,255,255,0.7);font-size:.58rem;margin-left:.3rem}
input[type="number"],input[type="text"],select{background: rgb(265,265,265,0.15);border:1px solid rgba(41,128,185,.3);border-radius:5px;padding:.52rem .8rem;color:var(--deep);font-family:'DM Sans',sans-serif;font-size:.88rem;width:100%;transition:border-color .2s,box-shadow .2s;outline:none;appearance:none;-moz-appearance:textfield}
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none}
input:focus,select:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(65,184,213,.15)}
input::placeholder{color:rgb(168,220,232,0.5);font-size:.83rem}
select{cursor:pointer}
select option{background:rgb(168,220,232,0.15);backdrop-filter: blur(10px);color:var(--ocean);border:1px solid rgba(41,128,185,.35);border-radius:5px;padding:2rem;box-shadow:0 8px 32px rgba(41,128,185,.12)}
.divider{border:none;border-top:3px solid rgba(0,229,192,0.2);margin:1.5rem 0}
.section-label{font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(256,256,256,0.8);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}
.section-label::after{content:'';flex:1;height:1px;background:rgba(65,184,213,.2)}
.section-label.accent{color:var(--white);font-family:'Syne',sans-serif;font-size:.72rem;letter-spacing:0.05em;font-weight:750;margin-bottom:1.5rem}
.section-label.accent span{color:var(--aqua);font-size:1.25rem;font-weight:800}
.section-label.accent.iet span{color:var(--lima);font-size:1.25rem;font-weight:800}
.section-label.accent.iqa{color:var(--white)}
.section-label.accent.iet{color:var(--white)}
.banner-info{background:rgba(65,184,213,0.15);border:1px solid rgba(65,184,213,.18);border-radius:5px;padding:.4rem .85rem;margin-bottom:1rem;font-size:.95rem;line-height:1;color:var(--foam);text-align:center;line-height:1.2}
.banner-info strong{color:var(--accent)}
.param-grid.mb{margin-bottom:.8rem}
.cselect{position:relative;font-size:.875rem}
.cselect-trigger{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:rgba(255,255,255,.15);border:1px solid rgba(41,128,185,.3);border-radius:5px;cursor:pointer;color:var(--foam);transition:border-color .2s,background .2s}
.cselect-trigger:hover{border-color:rgba(41,128,185,.6);background:rgba(255,255,255,.2)}
.cselect.open .cselect-trigger{border-color:rgba(41,128,185,.5);border-radius:5px 5px 0 0}
.cselect-arrow{transition:transform .2s;font-size:.75rem;opacity:.6}
.cselect.open .cselect-arrow{transform:rotate(180deg);opacity:1}
.cselect-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(10,22,40,.7);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(65,184,213,.25);border-top:none;border-radius:0 0 5px 5px;z-index:200;max-height:220px;overflow-y:auto;box-shadow:0 12px 32px rgba(0,0,0,.45)}
.cselect.open .cselect-dropdown{display:block}
.cselect-group{padding:.5rem .75rem .2rem;font-size:.62rem;color:var(--aqua);font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75;border-top:1px solid rgba(65,184,213,.1)}
.cselect-group:first-child{border-top:none}
.cselect-opt{padding:.42rem .9rem;color:var(--foam);cursor:pointer;transition:background .15s,color .15s;font-size:.82rem}
.cselect-opt:hover{background:rgba(65,184,213,.15);color:var(--white)}
.cselect-opt.sel{color:var(--accent)}
.cselect-dropdown::-webkit-scrollbar{width:4px}
.cselect-dropdown::-webkit-scrollbar-track{background:transparent}
.cselect-dropdown::-webkit-scrollbar-thumb{background:rgba(65,184,213,.3);border-radius:2px}
.iet-toggle-group{display:flex;gap:.5rem;margin-bottom:.4rem}
.iet-toggle-label{display:flex;align-items:center;gap:.3rem;font-size:.75rem;text-transform:none;letter-spacing:0;cursor:pointer;color:var(--foam)}
.param-unit-warn{font-size:.72rem;color:var(--foam);margin-bottom:.8rem;line-height:1.7}
.param-unit-warn strong{color:rgba(255,255,255,0.7)}
.btn-calc{width:100%;padding:.88rem;background:linear-gradient(135deg,var(--wave),var(--accent));background-size:200% 200%;animation:calcPulse 14s ease-in-out infinite;border:none;border-radius:5px;color:var(--ocean);font-family:'Syne',sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:.05em;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 4px 20px rgba(0,229,192,.25);margin-top:.5rem}
@keyframes calcPulse{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
.btn-calc:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,229,192,.4)}

/* ══════════════════════════════════════════════════════════════════════════ */
/* RESULTADOS                                                                 */

.results{padding:2rem 3rem 3rem;display:none;max-width:960px;margin-left:auto;margin-right:auto}
.results.visible{display:block}
.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2rem}
.result-card.iqa{background:linear-gradient(90deg,rgba(41,128,185,0),rgba(65,184,213,0),rgba(41,128,185,.05));border:1px solid rgba(41,128,185,0);border-radius:5px;padding:1.5rem;position:relative;overflow:hidden;transition:transform .3s;backdrop-filter:blur(12px);display:flex;flex-direction:column}
.result-card.iet{background:linear-gradient(90deg,rgba(92,219,92,0),rgba(65,184,213,0),rgba(92,219,92,.05));border:1px solid rgba(92,219,92,0);border-radius:5px;padding:1.5rem;position:relative;overflow:hidden;transition:transform .3s;backdrop-filter:blur(12px);display:flex;flex-direction:column}
.result-card.class{background:linear-gradient(90deg,rgba(201,84,110,0),rgba(65,184,213,0),rgba(201,84,110,.05));border:1px solid rgba(201,84,110,.18);border-radius:5px;padding:1.5rem;position:relative;overflow:hidden;transition:transform .3s,border-color .5s,box-shadow .5s;backdrop-filter:blur(12px);display:flex;flex-direction:column;grid-column:1/-1;width:calc(50% - 0.625rem);margin:0 auto}

.integ-label-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:1rem}.result-card.class .result-class{text-align:center;font-size:.78rem;margin-bottom:.25rem}
.result-card.class::before{height:4px}
.result-card:hover{transform:translateY(-3px)}
.result-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:5px 5px 0 0;background-size:200% 100%;transition:background-position .4s ease}
.result-card.iqa::before{background:linear-gradient(90deg,var(--ocean),var(--wave),var(--aqua))}
.result-card.iet::before{background:linear-gradient(90deg,var(--lima),var(--lima),var(--accent))}
.result-card.class::before{background:linear-gradient(90deg,var(--flamingo),var(--blush))}
.result-card:hover::before,.result-card:active::before{animation:stripeSlide 1.2s ease-in-out infinite alternate}
@keyframes stripeSlide{0%{background-position:0% 0%}100%{background-position:100% 0%}}
.result-label{font-family:'Syne',sans-serif;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#2980b9;opacity:.9;margin-bottom:.5rem;min-height:2.4em;display:flex;align-items:flex-start}
.result-card.iqa .result-label{color:var(--wave);font-size:1rem}
.result-card.iet .result-label{color:var(--lima);font-size:1rem}
.result-card.class .result-label{color:var(--blush);font-size:0.75rem;margin-bottom:0;min-height:auto}
.result-value{font-family:'Syne',sans-serif;font-size:clamp(1.6rem,3.5vw,2.8rem);font-weight:800;line-height:1;margin-bottom:.4rem;word-break:break-word}
.result-card.class .result-value{font-size:clamp(2rem,3.5vw,2.8rem);text-align:center;margin:.5rem auto .25rem}
.result-value.iet-color{color:var(--accent)}
.result-class{font-size:.8rem;color:var(--wave);font-weight:500}
.result-state-badge{display:inline-block;margin-top:.5rem;font-size:.6rem;font-family:'Syne',sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;border-radius:5px;min-height:1.6rem}
.gauge-wrap{margin-top:auto;padding-top:.8rem}
.gauge-bar{height:6px;background:rgba(41,128,185,.15);border-radius:5px;overflow:hidden}
.gauge-fill{height:100%;border-radius:5px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
/* gauge colors set dynamically via JS */


/* LAUDO INTERPRETATIVO                                                       */

.laudo-bloco.iqa-bloco{background:linear-gradient(90deg,rgba(41,128,185,0),rgba(65,184,213,0),rgba(41,128,185,.05)),rgba(255,255,255,.1);backdrop-filter:blur(12px);border-radius:5px;padding:1.25rem 1.5rem;margin-bottom:.75rem;border-left:3px solid}
.laudo-bloco.iet-bloco{background:linear-gradient(90deg,rgba(92,219,92,0),rgba(65,184,213,0),rgba(92,219,92,.05)),rgba(255,255,255,.1);backdrop-filter:blur(12px);border-radius:5px;padding:1.25rem 1.5rem;margin-bottom:.75rem;border-left:3px solid}
.laudo-bloco.integ-bloco{background:linear-gradient(90deg,rgba(201,84,110,0),rgba(65,184,213,0),rgba(201,84,110,.07)),rgba(255,255,255,.1);backdrop-filter:blur(12px);border-radius:5px;padding:1.25rem 1.5rem;margin-bottom:.75rem;border-left:3px solid #c9546e}
.laudo-bloco.iqa-bloco{border-color:var(--wave)}
.laudo-bloco.iet-bloco{border-color:var(--lima)}
.laudo-bloco[style*="c9546e"]{background:linear-gradient(90deg,rgba(201,84,10,0),rgba(65,184,213,0),rgba(201,84,110,.05));backdrop-filter:blur(12px);border-radius:5px;padding:1.25rem 1.5rem;margin-bottom:.75rem;border-left:3px solid}

.laudo-section-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem;border-radius:5px;padding:.75rem 1.25rem}
.laudo-section .laudo-section-header{background:none;flex-direction:column;align-items:stretch;padding:0;gap:0;margin-bottom:.25rem}
.lsh-title-row{display:flex;align-items:center;gap:.8rem}
.laudo-section .lsh-title-row{background:var(--ocean);border-radius:5px;padding:.75rem 1.25rem;margin-bottom:.75rem}
.laudo-section .laudo-section-header .laudo-meta-header{background:none!important;border-left:none!important;backdrop-filter:none;margin-top:0;padding:.35rem .25rem .1rem}
.laudo-section .laudo-section-header .lmh-label{color:var(--wave)}
.laudo-section .laudo-section-header .lmh-val{color:var(--ocean)}
.laudo-section-header .lsh-icon{width:44px;height:44px;flex-shrink:0}
.laudo-section-header .lsh-icon img{width:100%;height:100%;object-fit:contain}
.laudo-title{font-family:'Syne',sans-serif;font-weight:800;font-size:1.15rem;color:var(--wave);text-transform:uppercase;letter-spacing:.06em;line-height:1.2}
.laudo-title span{color:var(--accent)}
.laudo-section .laudo-section-header .laudo-title{color:var(--white);font-size:2rem}
.laudo-section .laudo-section-header .laudo-title span{color:var(--accent)}
.laudo-subtitle{font-family:'Syne',sans-serif;font-weight:600;font-size:.78rem;color:var(--wave);letter-spacing:.1em;text-transform:uppercase;margin-top:.15rem}
.laudo-metodo-nota{font-size:.75rem;color:rgba(13,45,78,.5);font-style:italic;margin-top:1.5rem;line-height:1.4}
.laudo-section .laudo-section-header .laudo-subtitle{color:var(--foam);font-size:1rem}
.laudo-body{font-size:1rem;line-height:1.9;color:var(--deep)}
.laudo-meta-header{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:row;gap:.35rem .9rem;margin-top:.75rem;padding:.7rem 1rem;background:linear-gradient(90deg,rgba(13,45,78,0),rgba(65,184,213,0),rgba(13,45,78,.05));border-radius:5px;border-left:3px solid var(--ocean);backdrop-filter:blur(10px)}
.lmh-item{display:flex;flex-direction:column;gap:.1rem}
.lmh-item-full{grid-column:1/-1}
.lmh-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--wave);font-family:'Syne',sans-serif;font-weight:700}
.lmh-val{font-size:.85rem;color:var(--ocean);font-weight:800}
.laudo-body strong{color:var(--deep);opacity:1}
.laudo-body .hb,.laudo-body .hg,.laudo-body .hm,.laudo-body .ho,.laudo-body .haz{display:inline;padding:.1em .45em;border-radius:.3em;font-weight:600;white-space:nowrap}
.laudo-body .haz{background:#3d5fa0;color:#fff}
.laudo-body .hg{background:#6CBD45;color:#0a1628}
.laudo-body .hm{background:#FFDE59;color:#0a1628}
.laudo-body .ho{background:#b03020;color:#fff}
.laudo-body .hb{background:#7b5b9a;color:#fff}

/* ══════════════════════════════════════════════════════════════════════════ */
/* CURVAS DE QUALIDADE                                                        */

.charts-section.iqa-charts{background:linear-gradient(90deg,rgba(41,128,185,0),rgba(65,184,213,0),rgba(41,128,185,.05));backdrop-filter:blur(12px);border-radius:5px;padding:1.25rem 1.5rem;margin-bottom:.75rem;border-left:3px solid var(--flamingo)}
.charts-section.iet-charts{background:linear-gradient(90deg,rgba(92,219,92,0),rgba(65,184,213,0),rgba(92,219,92,.05));backdrop-filter:blur(12px);border-radius:5px;padding:1.25rem 1.5rem;margin-bottom:.75rem;border-left:3px solid var(--flamingo)}
.charts-section.iqa-charts{border-left-color:var(--wave)}
.charts-section.iet-charts{border-left-color:var(--lima)}
.charts-title{font-family:'Syne',sans-serif;font-weight:700;font-size:1.2rem;margin-bottom:1.5rem;color:var(--ocean);text-transform:uppercase;letter-spacing:.06em}
.charts-inner-title{font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.charts-inner-sub{font-family:'Syne',sans-serif;font-size:.72rem;font-weight:600;opacity:.85;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.9rem}
.charts-section.iqa-charts .charts-inner-title,.charts-section.iqa-charts .charts-inner-title span,.charts-section.iqa-charts .charts-inner-sub{color:var(--wave)}
.charts-section.iet-charts .charts-inner-title,.charts-section.iet-charts .charts-inner-title span,.charts-section.iet-charts .charts-inner-sub{color:var(--lima)}
.curves-grid{display:grid;grid-template-columns:repeat(3,220px);gap:1rem;justify-content:center}
.curve-item{background: rgba(168,220,232,.2);border-radius:5px;padding:.75rem;border:1px solid rgba(65,184,213,.15);flex:0 0 auto;width:220px;overflow:hidden}
.curve-name{font-size:.72rem;font-family:'Syne',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wave);margin-bottom:.4rem;text-align:center}
.curve-qi{font-size:.7rem;color:var(--wave);text-align:center;margin-top:.3rem;font-family:'Syne',sans-serif;font-weight:700}
.curve-item canvas{width:196px!important;height:196px!important;display:block}
/* ── tooltips dos gráficos ── */
.tooltip-wrap{position:relative;display:inline-flex;align-items:center}
.tooltip-btn{width:24px;height:24px;border-radius:50%;background:rgba(13,245,227,0);backdrop-filter:blur(10px);border:1px solid rgba(65,184,213,.4);color:var(--aqua);font-size:.7rem;font-weight:700;cursor:help;display:inline-flex;align-items:center;justify-content:center;margin-left:.4rem;flex-shrink:0;touch-action:manipulation}
.tooltip-box{position:absolute;bottom:calc(100% + 6px);right:0;left:auto;transform:none;background:rgba(10,22,40,0.7);backdrop-filter:blur(20px);border:1px solid rgba(65,184,213,0.5);border-radius:5px;padding:.6rem .9rem;font-size:.75rem;color:var(--white);line-height:1.55;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s;z-index:300;width:240px;white-space:normal;text-align:left;text-transform:none;letter-spacing:0;font-weight:400}
.tooltip-wrap:hover .tooltip-box,.tooltip-wrap:focus-within .tooltip-box{opacity:1;pointer-events:auto}

/* ESCALA TRÓFICA                                                             */

.trophic-scale-wrap{position:relative;margin-top:.75rem;padding-top:36px}
.trophic-marker{position:absolute;top:0;transform:translateX(-50%);font-size:.6rem;color:var(--deep);font-family:'Syne',sans-serif;font-weight:700;display:none;white-space:nowrap;z-index:10;text-align:center;line-height:1.3}
.trophic-marker::after{content:'▼';display:block;text-align:center;font-size:.7rem;margin-top:1px}
.trophic-limits{display:none}
.trophic-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .7rem;margin-top:.75rem}
.tl-item{display:flex;flex-direction:column;align-items:center;gap:.12rem}
.tl-row{display:flex;align-items:center;gap:.3rem}
.tl-sq{width:10px;height:10px;border-radius:2px;display:inline-block;flex-shrink:0}
.tl-nm{font-size:.75rem;font-family:'Syne',sans-serif;font-weight:700;color:var(--deep)}
.tl-lv{font-size:.7rem;color:var(--wave);text-align:center;font-family:'Syne',sans-serif}
.trophic-scale{display:flex;border-radius:5px;overflow:hidden;margin-top:0}
.trophic-seg{flex:1;padding:.5rem .2rem;text-align:center;font-size:.7rem;font-family:'Syne',sans-serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--deep);position:relative;transition:all .5s}
#t-ult{background:#3d5fa0;color:#fff}
#t-oli{background:#6CBD45;color:#fff}
#t-mes{background:#FFDE59;color:#0a1628}
#t-eut{background:#F59523;color:#fff}
#t-sup{background:#b03020;color:#fff}
#t-hip{background:#7b5b9a;color:#fff}
.section-divider{border:none;border-top:1px solid rgba(13,45,78,.2);margin:0 0 2rem 0}
.trophic-desc{font-size:1rem;color:var(--ocean);margin-bottom:1rem;line-height:1.6}
.trophic-card{width:100%!important;flex:1 1 100%!important}

/* ── botão exportar ── */
.btn-export{width:100%;padding:.88rem;background:linear-gradient(135deg,var(--wave),var(--accent));background-size:200% 200%;animation:calcPulse 14s ease-in-out infinite;border:none;border-radius:5px;color:var(--ocean);font-family:'Syne',sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:.05em;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 4px 20px rgba(0,229,192,.25);margin-top:.75rem}
.btn-export:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,229,192,.4)}
.btn-export-row{display:flex;gap:.75rem;margin-top:.75rem}
.btn-export-row .btn-export-wrap,.btn-export-row .btn-export-sm{flex:1}
.btn-export-sm{width:100%;padding:.6rem .75rem;font-size:.95rem;margin-top:0}
.btn-export-wrap{position:relative;display:block}
.btn-export-wrap .btn-export{margin-top:0}
.badge-teste{position:absolute;top:-8px;right:10px;background:#F59523;color:var(--deep);font-size:.6rem;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:5px;text-transform:uppercase;pointer-events:none;box-shadow:0 2px 6px rgba(245,149,35,.5);transform:rotate(-3deg);filter:drop-shadow(0 3px 2px rgba(10,22,40,.35))}
/* ── divisor laudo ── */
.laudo-divider{border:none;border-top:1px solid rgba(65,184,213,.5);margin:1.5rem 0}
.laudo-divider-header{border-top-width:2px;border-top-color:rgba(13,45,78,.7);margin:0 0 1.5rem}

/* ── Laudo — badges e labels dinâmicos ── */
.laudo-subsec-label{color:var(--wave);font-weight:600;font-family:'Syne',sans-serif;font-size:.85rem;display:block;margin:1rem 0 .4rem}
.iet-badge{background:var(--iet-bg);color:#0a1628;padding:.1em .5em;border-radius:.3em;white-space:nowrap}
.integ-badge{background:var(--integ-bg);color:#0a1628;padding:.15em .6em;border-radius:.3em;font-weight:700;font-size:.95rem;white-space:nowrap}
.integ-badge-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}
.integ-subtext{font-size:.8rem;font-style:normal;font-weight:400;line-height:1.6}
.integ-label{color:var(--ocean)}
.integ-body{line-height:1.75;color:var(--ocean)}
.laudo-qi-val{color:var(--ocean);font-weight:600}
.laudo-qi-nota{font-size:.72rem;opacity:.7;font-style:italic}
.laudo-nota-bloco{display:block;margin-top:.8rem}
.laudo-nota-cetesb{display:block;margin-top:.4rem;margin-bottom:.8rem;font-size:.68rem;opacity:.5;font-style:italic}
.laudo-fatores-row{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:baseline;margin-top:.25rem}
.laudo-param-nome{color:var(--aqua)}
.laudo-arrow-pos{color:#3d5fa0}
.laudo-arrow-neg{color:#b03020}
.laudo-placeholder{font-size:.88rem;opacity:.75}

/* ── Tooltip info ── */
.card-info{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:.4rem}
.card-info-btn{color:var(--white);font-size:.75rem;border:none;background:none;width:auto;height:auto;border-radius:0;padding:0;cursor:pointer}
.card-info-btn:hover{color:var(--blush)}
.card-info-tip{position:absolute;bottom:calc(100% + 6px);right:0;left:auto;transform:none;background:rgba(212,116,138,.97);border:1px solid rgba(212,116,138,.3);box-shadow:0 8px 24px rgba(0,0,0,.3);border-radius:5px;padding:.6rem .9rem;font-size:.875rem;color:var(--white);line-height:1.55;opacity:0;pointer-events:none;transition:opacity .2s;z-index:9999;width:240px;white-space:normal;text-align:left;text-transform:none;letter-spacing:0;font-weight:400}
.card-info.active .card-info-tip{opacity:1;pointer-events:auto}

/* ══════════════════════════════════════════════════════════════════════════ */
/* MODAL                                                                      */
/* ══════════════════════════════════════════════════════════════════════════ */

.modal-overlay{position:fixed;inset:0;background:rgba(10,22,40,.85);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--ocean);border:1px solid rgba(65,184,213,.25);border-radius:5px;padding:2rem;max-width:420px;width:90%;box-shadow:0 32px 80px rgba(0,0,0,.6);transform:translateY(20px);transition:transform .3s}
.modal-overlay.open .modal{transform:translateY(0)}
.modal h3{font-family:'Syne',sans-serif;font-weight:800;font-size:1.2rem;margin-bottom:.4rem;color:var(--white);text-shadow:0 3px 2px rgba(10,22,40,.35)}
.modal p{color:var(--foam);font-size:.82rem;line-height:1.6;margin-bottom:1.5rem}
.modal-fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}
.modal-label{font-size:.75rem;font-weight:500;color:var(--foam);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;display:block}
.modal-btns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.btn-skip{padding:.75rem;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:5px;color:var(--foam);font-family:'Syne',sans-serif;font-weight:600;font-size:.82rem;cursor:pointer}
.btn-confirm{padding:.75rem;background:linear-gradient(135deg,var(--wave),var(--accent));background-size:200% 200%;animation:calcPulse 14s ease-in-out infinite;border:none;border-radius:5px;color:var(--ocean);font-family:'Syne',sans-serif;font-weight:800;font-size:.82rem;cursor:pointer}

/* ══════════════════════════════════════════════════════════════════════════ */
/* HAMBÚRGUER E MENU                                                          */
/* ══════════════════════════════════════════════════════════════════════════ */

.hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:6px;border-radius:5px;transition:background .2s}
.hamburger:hover{background:rgba(65,184,213,.1)}
.hamburger span{display:block;width:22px;height:2px;border-radius:2px;transition:all .3s;opacity:1}
.hamburger span:nth-child(1){background:var(--accent)}
.hamburger span:nth-child(2){background:var(--blush)}
.hamburger span:nth-child(3){background:var(--aqua)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.dropdown-menu{position:fixed;top:3.75rem;left:3rem;background:rgba(13,45,78,.95);border:1px solid rgba(65,184,213,.2);border-radius:5px;padding:.6rem;min-width:220px;backdrop-filter:blur(48px);-webkit-backdrop-filter:blur(48px);box-shadow:0 8px 32px rgba(0,0,0,.35);opacity:0;pointer-events:none;transform:translateY(-8px);transition:all .25s;z-index:50}
.dropdown-menu.open{opacity:1;pointer-events:all;transform:translateY(0)}
.menu-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:5px;cursor:pointer;transition:background .2s;border:none;background:none;width:100%;text-align:left;color:var(--foam);font-family:'DM Sans',sans-serif;font-size:.88rem}
.menu-item:hover{background:rgba(65,184,213,.1)}
.menu-divider{height:1px;background:rgba(65,184,213,.18);margin:.4rem .5rem}
.menu-item.rosa .menu-item-label{color:var(--blush)}
.multi-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;border-radius:5px;cursor:pointer;transition:background .2s;border:none;background:none;width:100%;text-align:left;color:var(--foam);font-family:'DM Sans',sans-serif;font-size:.88rem;text-decoration:none}
.multi-menu-item:hover{background:rgba(0,229,192,.1)}
.multi-menu-item .menu-item-label{color:var(--accent);font-weight:600}
.multi-menu-badge{font-family:'Syne',sans-serif;font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ocean);background:var(--accent);border-radius:5px;padding:.15rem .45rem}
.multi-cta-box{background:linear-gradient(75deg,rgb(13,45,78),rgba(10,22,40,0.5));border:1px solid rgba(41,128,185,.35);border-radius:5px;padding:2rem;box-shadow:0 8px 32px rgba(41,128,185,.12);margin-top:1.25rem}
.btn-multi-cta{display:block;width:100%;padding:.88rem;background:linear-gradient(135deg,var(--wave),var(--accent));background-size:200% 200%;animation:calcPulse 14s ease-in-out infinite;border:none;border-radius:5px;color:var(--ocean);font-family:'Syne',sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:.05em;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 4px 20px rgba(0,229,192,.25);margin-top:.5rem;text-align:center;text-decoration:none}
.btn-multi-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,229,192,.4)}
.menu-item.aqua .menu-item-label{color:var(--aqua)}
.menu-item.foam .menu-item-label{color:var(--foam)}
.menu-item.accent .menu-item-label{color:var(--accent)}
.menu-item.blush .menu-item-label{color:var(--blush)}
.menu-item.white08 .menu-item-label{color:var(--white)}

/* ══════════════════════════════════════════════════════════════════════════ */
/* SOBRE                                                                      */
/* ══════════════════════════════════════════════════════════════════════════ */

.sobre-overlay{position:fixed;inset:0;background:linear-gradient(90deg,rgba(41,128,185,0),rgba(65,184,213,0),rgba(0,229,192,.2));backdrop-filter:blur(12px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s}
.sobre-overlay.open{opacity:1;pointer-events:all}
.sobre-modal{background:rgba(13,45,78,0.8);border:1px solid rgba(65,184,213,.18);border-radius:5px;padding:0;max-width:640px;width:92%;max-height:88vh;overflow-y:auto;box-shadow:0 40px 100px rgba(0,0,0,.7);transform:translateY(24px);transition:transform .35s;position:relative}
.sobre-overlay.open .sobre-modal{transform:translateY(0)}
.sobre-header{padding:2.5rem 2.5rem 1.5rem;border-bottom:1px solid rgba(65,184,213,.1);position:sticky;top:0;z-index:1;background:var(--ocean);border-radius:5px 5px 0 0}
.sobre-header::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:5px 5px 0 0;background:linear-gradient(90deg,var(--aqua),var(--blush),var(--accent),var(--aqua),var(--wave),var(--aqua));background-size:200% 100%;animation:rainbowShift 30s linear infinite}
.sobre-close{position:absolute;top:1.2rem;right:1.5rem;background:none;border:none;color:var(--foam);font-size:1.2rem;cursor:pointer;transition:opacity .2s;line-height:1}
.sobre-logo{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.sobre-logo-icon{width:40px;height:40px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;filter:drop-shadow(0 3px 2px rgba(10,22,40,.35))}
.sobre-logo-text{font-family:'Syne',sans-serif;font-weight:800;font-size:1.5rem;color:var(--white);text-shadow:0 3px 2px rgba(10,22,40,.35)}
.sobre-logo-text span{color:var(--accent)}
.sobre-tagline{font-size:.8rem;color:var(--foam);letter-spacing:.1em;text-transform:uppercase;font-family:'Syne',sans-serif}
.sobre-body{padding:2rem 2.5rem 2.5rem;display:flex;flex-direction:column;gap:1.75rem}
.sobre-section-title{font-family:'Syne',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.7rem;display:flex;align-items:center;gap:.5rem;text-shadow:0 3px 2px rgba(10,22,40,.35)}
.sobre-section-title.rosa{color:var(--blush)}
.sobre-section-title.azul{color:var(--aqua)}
.sobre-section-title.verde{color:var(--accent)}
.sobre-section-title::after{content:'';flex:1;height:1px}
.sobre-section-title.rosa::after{background:rgba(212,116,138,.22)}
.sobre-section-title.azul::after{background:rgba(65,184,213,.2)}
.sobre-section-title.verde::after{background:rgba(0,229,192,.2)}
.sobre-section p{font-size:1rem;line-height:1.8;color:var(--foam)}
.sobre-section p+p{margin-top:.75rem}
.sobre-section p strong{color:var(--white)}
.sobre-destaque{font-size:.85rem;line-height:1.8;color:var(--foam);background:rgba(212,116,138,.08);border:1px solid rgba(212,116,138,.22);border-radius:5px;padding:1rem}
.sobre-sigla{display:flex;flex-direction:column;gap:.4rem;margin-top:.6rem}
.sobre-sigla-item{display:flex;align-items:baseline;gap:.6rem}
.sobre-sigla-letra{font-family:'Syne',sans-serif;font-weight:800;font-size:1.4rem;color:var(--blush);line-height:1;min-width:1.6rem;display:inline-block;text-align:center}
.sobre-sigla-def{font-size:.85rem;color:rgba(168,220,232)}
.sobre-team{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}
.sobre-person{background:rgba(13,45,78,.6);border:1px solid rgba(65,184,213,.12);border-radius:5px;padding:1rem 1.2rem;position:relative;overflow:hidden}
.sobre-person::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.sobre-person.andrezza::before{background:linear-gradient(90deg,var(--blush),#e8a0a6)}
.sobre-person.lianderson::before{background:linear-gradient(90deg,var(--aqua),var(--accent))}
.sobre-person.orientador::before{background:linear-gradient(90deg,var(--accent),#00b894)}
.sobre-person-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.9rem;margin-bottom:.2rem;color:var(--white)}
.sobre-person-role{font-size:.78rem;color:var(--foam);letter-spacing:.05em}
.sobre-person.full{grid-column:1/-1}
.sobre-refs{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}
.sobre-refs.mb{margin-bottom:.75rem}
.sobre-refs.mb-sm{margin-bottom:.5rem}
.sobre-ref{font-size:.88rem;color:var(--foam);line-height:1.65;padding-left:.8rem;border-left:2px solid rgba(212,116,138,.22);word-break:break-word;overflow-wrap:break-word}
.sobre-ref-sm{font-size:.82rem;line-height:1.6}
.sobre-badges{display:flex;flex-wrap:wrap;gap:.4rem}
.sobre-badges.mb{margin-bottom:.75rem}
.sobre-link{color:var(--accent);text-decoration:none;font-weight:600}
.sobre-nota-principal{font-size:.9rem;line-height:1.8;color:var(--accent);font-weight:700}
.sobre-nota-principal strong{color:inherit}
.sobre-nota-legal{font-size:.82rem;line-height:1.7;color:rgba(168,220,232,.88);font-style:italic;margin-top:.75rem}
.sobre-placeholder{background:rgba(212,116,138,.08);border:1px dashed rgba(212,116,138,.22);border-radius:5px;padding:.8rem 1rem;font-size:.78rem;color:var(--blush);font-style:italic;opacity:.8}
.uf-badge{font-family:'Syne',sans-serif;font-weight:700;font-size:.75rem;padding:.2rem .5rem;border-radius:5px;border:1px solid}
.uf-cetesb{background:rgba(41,128,185,.2);border-color:rgba(41,128,185,.4);color:var(--foam)}
.uf-igam{background:rgba(0,229,192,.12);border-color:rgba(0,229,192,.3);color:var(--accent)}
.uf-outros{background:rgba(65,184,213,.1);border-color:rgba(65,184,213,.2);color:rgba(168,220,232,.7);font-style:italic;font-size:.72rem}
.criterios-table{width:100%;border-collapse:collapse;font-size:.8rem}
.criterios-table td{padding:.35rem .6rem;color:var(--foam)}
.criterios-table td:last-child{text-align:center}
.criterios-header td{font-family:'Syne',sans-serif;font-weight:700;color:var(--foam);padding:.4rem .6rem}
.criterios-header-azul{background:rgba(41,128,185,.3)}
.criterios-header-verde{background:rgba(0,229,192,.15)}
.criterios-row-alt{background:rgba(255,255,255,.04)}
footer{margin-top:auto;padding:1.25rem 3rem;border-top:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;background:linear-gradient(260deg,var(--ocean) 75%,rgba(65,184,213,0.8) 100%);background-size:200% 200%;animation:gradientFlow 8s ease-in-out infinite alternate;color:var(--white);position:relative}
footer::before{content:'';position:absolute;bottom:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--aqua),var(--blush),var(--accent),var(--aqua),var(--wave),var(--aqua));background-size:200% 100%;animation:rainbowShift 30s linear infinite}
footer p{font-size:.7rem;color:var(--foam);letter-spacing:.05em}
.footer-brand{display:flex;align-items:center;justify-content:center;gap:.5rem}
.footer-brand img{height:20px;width:auto;vertical-align:middle;filter:drop-shadow(0 3px 2px rgba(10,22,40,.35))}
.footer-version{font-size:.75rem;color:var(--foam);letter-spacing:.05em}
.footer-credits{font-size:.8rem;color:var(--foam);letter-spacing:.05em;text-align:center;text-shadow:0 3px 2px rgba(10,22,40,.35)}
.footer-credits .fc-blush{color:var(--blush);text-shadow:0 3px 2px rgba(10,22,40,.35)}
.footer-credits .fc-blush{font-size:.9rem}
.back-to-top {position:fixed;bottom:1.5rem;right:1.5rem;width:42px;height:42px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:999;filter:drop-shadow(0 3px 2px rgba(10,22,40,.35))}
.back-to-top.visible{opacity:1;pointer-events:auto}
.back-to-top:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,229,192,.45)}

/* RESPONSIVO                                                                  */

/* ── tablet (≤ 900px) ── */
@media(max-width:900px){
  header,.results{padding:1.5rem 2rem}
  .hero{grid-template-columns:1fr;padding:2rem;gap:2rem}
  .hero-copy-top{grid-template-columns:1fr}
  .results-grid{grid-template-columns:1fr}
  .result-card.class{width:100%}
  .curves-grid{grid-template-columns:repeat(2,1fr)}
  .curve-item{width:auto}
  .curve-item canvas{width:100%!important;height:160px!important}
  .dropdown-menu{top:5.25rem;left:1rem}
}

/* ── phone landscape (≤ 768px) ── */
@media(max-width:768px){
  header{padding:.875rem 1.25rem}
  .hero{padding:1.5rem;gap:1.5rem}
  .results{padding:1.25rem 1.5rem 2rem}
  .hero-copy h1{font-size:1.6rem;padding:1.5rem}
  .hero-copy p{max-width:100%}
  .dropdown-menu{top:4rem;left:.875rem;right:.875rem;min-width:0}
  .form-card{border-radius:5px}
  .sobre-overlay{align-items:center;overflow-y:hidden;padding:1rem}
  .sobre-modal{max-height:90vh;overflow-y:auto;margin:0 auto;background:rgba(13,45,78,.98)}
}

/* ── phone portrait (≤ 600px) ── */
@media(max-width:600px){
  header{padding:.75rem 1rem}
  .logo-group img{height:80px;max-width:200px}
  .dropdown-menu{top:3.75rem;left:.75rem;right:.75rem}
  /* Logos e headers do laudo/relatório */
  .sobre-logo-icon{width:32px;height:32px}
  .sobre-logo-icon img{width:36px!important;height:36px!important}
  .lsh-title-row{gap:.5rem}
  .laudo-section .laudo-section-header .laudo-title{font-size:1.5rem}
  .laudo-meta-header{grid-template-columns:repeat(2,1fr)!important;grid-auto-flow:row!important;grid-template-rows:auto!important;gap:.3rem .5rem!important}
  .hero{padding:1rem;gap:1.25rem}
  .hero-copy h1{padding:1.1rem;font-size:1.35rem}
  .hero-copy p{font-size:.85rem;margin-bottom:.875rem}
  .form-card{padding:1.1rem;border-radius:5px}
  .banner-info{font-size:.75rem;padding:.7rem .875rem}
  .param-grid{grid-template-columns:1fr}
  .results{padding:.875rem .875rem 1.25rem}
  .results-grid{gap:.625rem}
  .result-card.iqa,.result-card.iet,.result-card.class{padding:1rem}
  .curves-grid{grid-template-columns:1fr}
  .curve-item canvas{height:140px!important;max-width:100%}
  .charts-section,.laudo-bloco{padding:.875rem 1rem}
  .laudo-section-header{padding:.6rem .875rem;gap:.6rem}
  /* Disclaimer: alinha à esquerda em mobile para não cortar o texto */
  .laudo-disclaimer{text-align:left!important;word-wrap:break-word}
  /* Tooltips fixos no rodapé da viewport — evita sair do enquadro */
  .param-tip:hover .param-tip-box,
  .param-tip:focus .param-tip-box,
  .param-tip.active .param-tip-box{position:fixed;bottom:4rem;left:1rem;right:1rem;top:auto;width:auto;transform:none}
  .tooltip-wrap:hover .tooltip-box,
  .tooltip-wrap:focus-within .tooltip-box{position:fixed;bottom:4rem;left:1rem;right:1rem;top:auto;width:auto;transform:none}
  .trophic-desc{font-size:.875rem;margin-bottom:1rem}
  .trophic-seg{font-size:0;padding:.5rem .1rem;flex:1}
  .trophic-seg.trophic-active{flex:3;font-size:.55rem;padding:.5rem .3rem}
  .section-divider{margin:0 0 1.25rem}
  footer{padding:.75rem 1rem}
  .footer-brand img{height:15px;width:auto;vertical-align:middle}
  .sobre-modal{border-radius:5px;max-height:90vh;overflow-y:auto;background:rgba(13,45,78,.98)}
  .sobre-header{padding:1.2rem 1.25rem .875rem;border-radius:5px 5px 0 0}
  .sobre-header::before{border-radius:5px 5px 0 0}
  .sobre-body{padding:1rem 1.1rem 1.25rem;gap:1.25rem}
  .sobre-team{grid-template-columns:1fr}
  .sobre-person.full{grid-column:1}
  .criterios-table{font-size:.75rem}
  .sobre-logo-text{font-size:1.2rem}
  .bg-s{display:none}
}

/* ── phone pequeno (≤ 400px) ── */
@media(max-width:400px){
  header{padding:.75rem 0.5rem}
  .logo-group img{height:44px;max-width:200px}
  .sobre-logo-icon{width:26px;height:26px}
  .sobre-logo-icon img{width:28px!important;height:28px!important}
  .laudo-section .laudo-section-header .laudo-title{font-size:1.25rem}
  .laudo-meta-header{grid-template-columns:1fr 1fr!important}
  .hero{padding:2rem}
  .hero-copy h1{padding:.875rem;font-size:1.15rem}
  .form-card{padding:.875rem;border-radius:5px}
  .param-grid{grid-template-columns:1fr}
  .trophic-seg{font-size:.38rem}
  .sobre-overlay{align-items:flex-end;overflow-y:hidden;padding:0}
  .sobre-modal{width:100%;max-width:100%;border-radius:5px 5px 0 0;margin-bottom:0;max-height:88vh;overflow-y:auto;background:rgba(13,45,78,.99)}
  .sobre-header{padding:1rem 1rem .75rem;border-radius:5px 5px 0 0}
  .sobre-header::before{border-radius:5px 5px 0 0}
  .sobre-body{padding:.875rem .875rem 1.25rem;gap:1rem}
}

/* ══════════════════════════════════════════════════════════════════════════ */
/* IMPRESSÃO / PDF                                                            */
/* ══════════════════════════════════════════════════════════════════════════ */
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .secao-tts-btn,.modal-tts-btn,.tts-tela-btn{display:none!important}
@page{margin:3cm 1.5cm 1.6cm}

  /* ── Impressão normal (Ctrl+P): mostra página, esconde laudo ── */
  body:not(.printing-laudo) .results{display:none!important}
  body:not(.printing-laudo) .bg-layers,
  body:not(.printing-laudo) .a11y-bar,
  body:not(.printing-laudo) .btn-export,
  body:not(.printing-laudo) .error-toast,
  body:not(.printing-laudo) footer .hamburger{display:none!important}
  body:not(.printing-laudo) header{background:#0d2d4e!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body:not(.printing-laudo) .hero{display:grid!important}
  body:not(.printing-laudo){background:#fff!important}

  /* ── Exportar PDF (.printing-laudo): mostra laudo, esconde página ── */
  body.printing-laudo .hero,
  body.printing-laudo .multi-intro,
  body.printing-laudo .btn-calc,
  body.printing-laudo .analise-form-section,
  body.printing-laudo .bg-layers,
  body.printing-laudo .bg-s,
  body.printing-laudo .a11y-bar,
  body.printing-laudo .btn-export,
  body.printing-laudo .btn-editar-id,
  body.printing-laudo .modal-overlay,
  body.printing-laudo .sobre-overlay,
  body.printing-laudo .error-toast,
  body.printing-laudo footer,
  body.printing-laudo header,
  body.printing-laudo .accessibility-widget,
  body.printing-laudo .lsh-icon,
  body.printing-laudo .results-grid,
  body.printing-laudo hr.section-divider,
  body.printing-laudo .gauge-wrap,
  body.printing-laudo .laudo-disclaimer,
  body.printing-laudo .laudo-metodo-nota,
  body.printing-laudo .trophic-desc,
  body.printing-laudo .back-to-top{display:none!important}

  body.printing-laudo{background:#fff!important;color:#0a1628!important}
  body.printing-laudo .results{display:block!important;background:transparent!important;position:relative!important;z-index:1;padding: 8px 0px!important;margin:0!important}

  /* ── Cabeçalho institucional — fixo em todas as páginas ── */
  body.printing-laudo #print-header{display:flex!important;align-items:center;justify-content:space-between;
    position:fixed!important;top:0;left:0;right:0;z-index:100;
    background:#0d2d4e!important;color:#fff!important;border-radius:0!important;padding:8px 10px!important;margin-bottom:0!important}
  body.printing-laudo #print-logo{height:36px!important;width:auto!important;flex-shrink:0!important}
  body.printing-laudo #print-header>div{text-align:right!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important}
  body.printing-laudo #print-usuario{color:#fff!important;font-size:7pt!important;font-weight:700!important;line-height:1.4!important;text-transform:uppercase!important;white-space:nowrap!important;opacity:1!important}
  body.printing-laudo #print-instituicao{color:rgba(255,255,255,.7)!important;font-size:6.5pt!important;font-weight:400!important;line-height:1.4!important;text-transform:uppercase!important;white-space:nowrap!important;opacity:1!important}
  body.printing-laudo #print-meta{color:rgba(255,255,255,.55)!important;font-size:6pt!important;line-height:1.4!important;font-style:italic!important;text-transform:uppercase!important;white-space:nowrap!important;opacity:1!important}

  /* ── Laudo interpretativo ── */
  body.printing-laudo .laudo-section{background:transparent!important;position:relative!important;z-index:1!important;padding:8px 10px!important;margin-bottom:0!important}
  body.printing-laudo .laudo-meta-header{display:grid!important;grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(2,auto)!important;grid-auto-flow:column!important;gap:3px 10px!important;margin:6px 0 14px!important;padding:5px 5px!important;background:rgba(41,128,185,.06)!important;border-radius:4px!important;border-left:1.5px solid #0d2d4e!important}
  body.printing-laudo .laudo-divider{border:none!important;border-top:0.5px solid rgba(13,45,78,.2)!important;margin-bottom:5px 0!important}
  body.printing-laudo .lmh-label{font-size:6pt!important;color:#0a1628!important}
  body.printing-laudo .lmh-val{font-size:7.5pt!important;color:#0d2d4e!important;font-weight:700!important}
  body.printing-laudo .sobre-logo-icon{display:flex!important;width:28pt!important;height:28pt!important;flex-shrink:0!important;border-radius:4pt!important;align-items:center!important;justify-content:center!important;background:none!important;padding:0!important}
  body.printing-laudo .sobre-logo-icon img{width:100%!important;height:100%!important;object-fit:contain!important}
  body.printing-laudo .laudo-section-header{display:flex!important;align-items:center!important;gap:6pt!important;background:transparent!important;padding:4px 0!important;margin-bottom:6px!important;border-radius:0!important}
  body.printing-laudo .laudo-title{color:#2980b9!important;font-size:9pt!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.06em!important}
  body.printing-laudo .laudo-title span{color:#00e5c0!important}
  body.printing-laudo .laudo-subtitle{display:block!important;font-size:7pt!important;font-weight:600!important;color:#2980b9!important;letter-spacing:.1em!important;text-transform:uppercase!important;margin-top:2px!important}
  body.printing-laudo .lsh-title-row{display:flex!important;align-items:center!important;gap:8px!important;background:transparent!important;border-radius:0!important;padding:0!important;margin-bottom:0!important}
  /* ── Barra 2 (fixa, top:50px): título | metadados — idêntica ao multi ── */
  body.printing-laudo .laudo-section .laudo-section-header{position:fixed!important;top:50px;left:0;right:0;z-index:99;background:#fff!important;border-bottom:0.5px solid #0d2d4e!important;border-radius:0!important;padding:7px 10px!important;margin-bottom:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:1cm!important}
  body.printing-laudo .laudo-section .laudo-section-header .lsh-title-row{display:flex!important;align-items:center!important;gap:7pt!important;flex:0 0 auto!important;max-width:42%!important}
  body.printing-laudo .laudo-section .laudo-section-header .sobre-logo-icon{display:none!important}
  body.printing-laudo .laudo-section .laudo-section-header .laudo-subtitle{display:none!important}
  body.printing-laudo .laudo-section .laudo-section-header .laudo-metodo-nota{display:none!important}
  body.printing-laudo .laudo-section .laudo-title{font-family:'Syne',sans-serif!important;font-size:15pt!important;font-weight:800!important;color:#2980b9!important;text-transform:uppercase!important;letter-spacing:.02em!important}
  body.printing-laudo .laudo-section .laudo-title span{color:#2980b9!important}
  body.printing-laudo .laudo-section .laudo-section-header .laudo-meta-header{display:grid!important;grid-template-columns:repeat(3,auto)!important;grid-auto-flow:row!important;grid-template-rows:auto auto!important;gap:2px 10px!important;padding:3px 6px!important;background:transparent!important;border:none!important;border-radius:0!important;margin:0!important;justify-content:flex-start!important;flex-shrink:0!important;backdrop-filter:none!important}
  body.printing-laudo .laudo-section .laudo-section-header .laudo-meta-header .lmh-item:nth-child(3),
  body.printing-laudo .laudo-section .laudo-section-header .laudo-meta-header .lmh-item:nth-child(n+6){display:none!important}
  body.printing-laudo .laudo-section .laudo-section-header .lmh-label{font-size:6pt!important;color:#0a1628!important;text-align:left!important}
  body.printing-laudo .laudo-section .laudo-section-header .lmh-val{font-size:7.5pt!important;color:#0d2d4e!important;font-weight:700!important;text-align:left!important}
  body.printing-laudo .laudo-bloco{background:transparent!important;backdrop-filter:none!important;border-left:2px solid #41b8d5!important;padding:8px 0px 8px 8px!important;margin-bottom:0px!important;position:relative!important;z-index:1!important}
  body.printing-laudo .laudo-bloco.iet-bloco{border-color:var(--lima)!important}
  body.printing-laudo .laudo-subsec-label{margin-top:.35rem!important}
  body.printing-laudo #laudo-iqa-section{padding-top:2.6cm!important}
  body.printing-laudo #laudo-iqa-section .laudo-section-header{margin-top:0.2cm!important}
  body.printing-laudo #laudo-iet-section{page-break-before:always;padding-top:3.5cm!important}
  /* ── Só IET: remove page-break e padding extras (são para pg2 do all-3) ── */
  body.printing-laudo.only-iet #laudo-iet-section{page-break-before:auto!important;padding-top:0!important}
  /* ── Só IQA: mantém page-break-before:always do IET como teto da pg1
        mas torna a seção invisível e sem altura → pg2 vazia = não impressa ── */
  body.printing-laudo.only-iqa #laudo-iet-section{display:block!important;visibility:hidden!important;height:0!important;overflow:hidden!important;padding:0!important;margin:0!important}
  body.printing-laudo.only-iqa #trophic-section{display:none!important}
  body.printing-laudo #laudo-integ-section{margin-top:1.5rem!important}
  body.printing-laudo #laudo-integ-section::before{content:'';display:block;border-top:0.5px solid rgba(13,45,78,.25);margin-bottom:1.5rem}
  body.printing-laudo .laudo-divider{display:none!important}
  body.printing-laudo .laudo-bloco[style*="c9546e"]{border-color:#c9546e!important}
  body.printing-laudo .laudo-bloco.integ-bloco{border-color:#c9546e!important;background:transparent!important}
  body.printing-laudo .laudo-bloco-titulo{color:#0d2d4e!important;font-size:9pt!important;font-weight:700!important;border-bottom:none!important;padding-bottom:0!important}
  body.printing-laudo .laudo-bloco-titulo span,body.printing-laudo .laudo-bloco-titulo strong{color:inherit!important}
  body.printing-laudo .laudo-titulo-val{display:inline!important}
  body.printing-laudo .laudo-bloco.iqa-bloco .laudo-bloco-titulo{color:var(--wave)!important}
  body.printing-laudo .laudo-bloco.iet-bloco .laudo-bloco-titulo{color:var(--lima)!important}
  body.printing-laudo .laudo-bloco[style*="c9546e"] .laudo-bloco-titulo{color:#c9546e!important}
  body.printing-laudo .laudo-bloco>div{color:#0a1628!important;font-size:8.5pt!important;line-height:1.2}
  body.printing-laudo .laudo-bloco>div div[style*="grid"]{font-size:8pt!important}
  body.printing-laudo .laudo-bloco[style*="c9546e"]>div>span:first-child{font-size:8pt!important}
  body.printing-laudo .laudo-bloco>div strong{color:#0d2d4e!important;font-weight:700!important}
  body.printing-laudo .laudo-bloco>div span{color:#0d2d4e!important}
  body.printing-laudo .laudo-bloco>div em{color:#0a1628!important;font-style:italic!important}
  body.printing-laudo .laudo-bloco>div .ho,body.printing-laudo .laudo-bloco>div .hb,body.printing-laudo .laudo-bloco>div .hg,body.printing-laudo .laudo-bloco>div .hm,body.printing-laudo .laudo-bloco>div .haz{background:transparent!important;padding:0!important;border-radius:0!important;white-space:normal!important}
  body.printing-laudo .laudo-bloco>div .ho{color:#b03020!important;font-weight:700!important}
  body.printing-laudo .laudo-bloco>div .hb{color:#7b5b9a!important;font-weight:700!important}
  body.printing-laudo .laudo-bloco>div .hg{color:#2e7d32!important;font-weight:700!important}
  body.printing-laudo .laudo-bloco>div .hm{color:#8a6508!important;font-weight:700!important}
  body.printing-laudo .laudo-bloco>div .haz{color:#3d5fa0!important;font-weight:700!important}

  /* ── Curvas NSF ── */
  body.printing-laudo .charts-section{background:transparent!important;border:none!important;
    padding:6px 0;margin-bottom:10px;page-break-inside:avoid}
  body.printing-laudo .charts-title,
  body.printing-laudo .charts-title span{color:#0d2d4e!important;font-size:10pt!important;font-weight:700!important}
  body.printing-laudo .charts-section.iqa-charts .charts-inner-title,
  body.printing-laudo .charts-section.iqa-charts .charts-inner-title span{color:#2980b9!important;font-size:7pt!important;font-weight:700!important}
  body.printing-laudo .charts-section.iqa-charts .charts-inner-sub{color:#2980b9!important;font-size:6pt!important;margin-bottom:.4rem!important}
  body.printing-laudo .charts-section.iet-charts .charts-inner-title,
  body.printing-laudo .charts-section.iet-charts .charts-inner-title span{color:var(--lima)!important;font-size:7pt!important;font-weight:700!important}
  body.printing-laudo .charts-section.iet-charts .charts-inner-sub{color:var(--lima)!important;font-size:6pt!important;margin-bottom:.4rem!important}
  body.printing-laudo .curves-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;justify-items:center!important}
  body.printing-laudo .curve-item{background:transparent!important;border:0.5px solid rgba(13,45,78,.2)!important;border-radius:4px;padding:4px;width:100%!important}
  body.printing-laudo .curve-item canvas{display:block!important;width:95px!important;height:95px!important;margin:0 auto!important}
  body.printing-laudo .curve-name{font-size:5.5pt;text-align:center}
  body.printing-laudo .curve-qi{color:#0d2d4e!important;font-size:6pt;font-weight:700;text-align:center}

  /* ── Escala trófica ── */
  body.printing-laudo #corpo-label{word-break:break-word!important;overflow-wrap:break-word!important;white-space:normal!important;max-width:100%!important}
  body.printing-laudo .trophic-marker{font-size:5.5pt!important;text-align:center!important;line-height:1.3!important}
  body.printing-laudo .trophic-marker::after{font-size:5.5pt!important}
  body.printing-laudo .trophic-scale-wrap{background:transparent!important;border:none!important;padding-top:24px!important;padding-bottom:4px!important}
  body.printing-laudo .trophic-scale{display:flex!important;align-items:stretch!important;overflow:visible!important}
  body.printing-laudo .trophic-seg{flex:1!important;overflow:hidden!important;font-size:0!important;transition:none!important;transform:none!important}
  body.printing-laudo .trophic-seg.trophic-active{flex:1!important}
  body.printing-laudo .trophic-limits{display:none!important}
  body.printing-laudo .trophic-legend{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:2pt 5pt!important;margin-top:5pt!important}
  body.printing-laudo .tl-item{display:flex!important;flex-direction:column!important;align-items:center!important;gap:1pt!important}
  body.printing-laudo .tl-row{display:flex!important;align-items:center!important;gap:2pt!important}
  body.printing-laudo .tl-sq{width:6pt!important;height:6pt!important;border-radius:1pt!important}
  body.printing-laudo .tl-nm{font-size:5.5pt!important;color:#0a1628!important}
  body.printing-laudo .tl-lv{font-size:5pt!important;color:#2980b9!important}
  body.printing-laudo canvas{max-width:100%!important}

  /* ── Rodapé de impressão ── */
  body.printing-laudo #print-footer{display:block!important;
    position:fixed;bottom:0;left:0;right:0;background:transparent!important;padding:0!important;z-index:999}
  body.printing-laudo .pf-disclaimer-wrap{padding:4px 1.5cm;text-align:center;background:#fff!important}
  body.printing-laudo .pf-line{border:none!important;border-top:0.5px solid #0d2d4e!important;margin:0 -1.5cm!important;padding:2px 0}
  body.printing-laudo .pf-text{font-size:7pt!important;color:#0a1628!important;font-style:italic;margin:0;padding:3px 0;line-height:1.4}
  body.printing-laudo .pf-body{display:flex!important;justify-content:space-between!important;align-items:center!important;
    background:#0d2d4e!important;padding:5px 1.5cm}
  body.printing-laudo .pf-logo{height:18px!important;width:auto!important}
  body.printing-laudo #pf-meta{text-align:right}
  body.printing-laudo #pf-time{display:block!important;font-size:8pt!important;font-weight:400!important;color:rgba(255,255,255,.85)!important;line-height:1.3}
  body.printing-laudo #pf-date{display:block!important;font-size:8pt!important;font-weight:400!important;color:rgba(255,255,255,.85)!important;line-height:1.3}
  /* ── Marca d'água ── */
  body.printing-laudo #print-watermark{display:flex!important;align-items:center!important;justify-content:center!important;
    position:fixed;top:0;left:0;right:0;bottom:0;opacity:.05;z-index:0;pointer-events:none}
  body.printing-laudo #print-watermark img{width:70%!important;height:auto!important}
  /* ── Remove sombras no PDF ── */
  body.printing-laudo .logo-group img,
  body.printing-laudo .badge-teste,
  body.printing-laudo .footer-brand img,
  body.printing-laudo .back-to-top{filter:none!important}
  body.printing-laudo .modal h3,
  body.printing-laudo .sobre-logo-text,
  body.printing-laudo .sobre-section-title,
  body.printing-laudo .footer-credits,
  body.printing-laudo .footer-credits .fc-blush{text-shadow:none!important}
}
/* ── Respeita preferência do sistema por movimento reduzido ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:0.01ms!important;
  }
}

#print-header{display:none;background:var(--ocean);color:#fff;border-radius:5px;padding:16px 20px;margin-bottom:16px;gap:18px;align-items:center}
#print-footer{display:none}
#print-watermark{display:none}
#print-logo{height:36px;width:auto;flex-shrink:0}
#print-header h2{font-family:Arial,sans-serif;font-size:18pt;font-weight:900;letter-spacing:2px;margin-bottom:4px}
#print-header p{font-size:8pt;margin:2px 0}

/* ── Loading animation overlay ── */
#saiqa-loading-overlay{position:fixed;inset:0;background:var(--ocean);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .55s cubic-bezier(.4,0,.2,1)}
#saiqa-loading-overlay.active{opacity:1;pointer-events:auto}
#saiqa-loading-overlay .sl-stage{width:min(80vw,560px)}
#saiqa-loading-overlay .sl-svg{width:100%;height:auto;display:block;overflow:visible}
#sl-text{transform:translateX(-93000px)}
.sl-icon{opacity:0;transform-box:fill-box;transform-origin:center}
#saiqa-loading-overlay.play #sl-text{animation:slText .8s .4s cubic-bezier(.16,1,.3,1) both}
#saiqa-loading-overlay.play .sl-icon{animation:slIcon .5s cubic-bezier(.22,1,.36,1) both}
#saiqa-loading-overlay.revert #sl-text{animation:slText .5s cubic-bezier(.4,0,1,1) reverse both}
#saiqa-loading-overlay.revert .sl-icon{animation:slIcon .4s cubic-bezier(.4,0,1,1) reverse both}
@keyframes slText{from{transform:translateX(-93000px)}to{transform:translateX(0)}}
@keyframes slIcon{from{opacity:0;transform:scale(.78)}60%{opacity:1}to{opacity:1;transform:scale(1)}}

