.eu-voice-notice {
  position: fixed;
  z-index: 10000;
  right: max(12px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  width: min(420px, calc(100vw - 24px));
  box-sizing: border-box;
  padding: 16px;
  border: 2px solid #2463a7;
  border-radius: 18px;
  background: #fff;
  color: #173f73;
  box-shadow: 0 10px 34px rgba(17, 55, 96, .22);
  overflow-wrap: anywhere;
}
.eu-voice-notice[hidden], .eu-voice-progress[hidden], .eu-voice-feedback[hidden] { display: none !important; }
.eu-voice-title { margin: 0 34px 6px 0; color: #173f73; font-size: 1.15rem; line-height: 1.25; }
.eu-voice-message { margin: 0 34px 12px 0; line-height: 1.42; font-size: .96rem; }
.eu-voice-close {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #173f73;
  font: 700 1.55rem/1 sans-serif;
  cursor: pointer;
}
.eu-voice-close:hover, .eu-voice-close:focus-visible { background: #e9f3ff; outline: 3px solid #f5b700; outline-offset: 2px; }
.eu-voice-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.eu-voice-download {
  min-height: 44px;
  padding: 9px 15px;
  border: 2px solid #174b86;
  border-radius: 12px;
  background: #174b86;
  color: #fff;
  font: 700 .96rem/1.2 inherit;
  cursor: pointer;
}
.eu-voice-download:hover, .eu-voice-download:focus-visible { background: #0c3869; outline: 3px solid #f5b700; outline-offset: 2px; }
.eu-voice-download:disabled { opacity: .65; cursor: wait; }
.eu-voice-never { display: flex; align-items: center; gap: 8px; margin-top: 11px; font-size: .88rem; cursor: pointer; }
.eu-voice-never input { width: 20px; height: 20px; flex: 0 0 auto; accent-color: #174b86; }
.eu-voice-never input:focus-visible { outline: 3px solid #f5b700; outline-offset: 2px; }
.eu-voice-progress { margin-top: 12px; }
.eu-voice-progress-track { height: 12px; overflow: hidden; border-radius: 999px; background: #dce9f7; }
.eu-voice-progress-track span { display: block; width: 0; height: 100%; background: #198754; transition: width .15s ease; }
.eu-voice-progress small { display: block; margin-top: 5px; }
.eu-voice-feedback { margin: 10px 0 0; font-size: .9rem; line-height: 1.35; }
.eu-voice-feedback.is-error { color: #8a1d22; font-weight: 700; }
@media (max-width: 520px) {
  .eu-voice-notice {
    right: max(8px, env(safe-area-inset-right));
    bottom: max(8px, env(safe-area-inset-bottom));
    width: calc(100vw - 16px);
    max-height: min(52vh, 360px);
    overflow-y: auto;
    padding: 14px;
  }
  .eu-voice-message { font-size: .9rem; }
  .eu-voice-download { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .eu-voice-progress-track span { transition: none; } }

/* Auditoría responsive 2026-08-28: solo adaptación de pantalla. */
html,body{max-width:100%;overflow-x:clip}
img,svg,canvas,video{max-width:100%}
@media(max-width:820px){
  .teacch-workspace,.digital-workspace,.l3-workspace,.l1-focus-stage,.stage-wrap,.activity-one-main,
  .l1-access-wrap,.l1-settings,.l1-access-bar,.l2a1-workspace,.l2a1-access,.l2a1-hero,.l2a1-progress,.l2a1-task{
    box-sizing:border-box;min-width:0;max-width:100%;width:100%}
  .teacch-workspace>*,.digital-workspace>*,.l3-workspace>*{box-sizing:border-box;min-width:0;max-width:100%;width:100%}
  .l1-focus-heading,.l1-progress>div{flex-wrap:wrap}
  .l1-focus-heading>span:last-child{margin-left:0;max-width:100%;white-space:normal}
  .audio-button,.audio-btn,.lab-speak{min-width:44px!important;min-height:44px!important;width:44px;height:44px}
  .pro-back-link,.pro-backtop,.professional-zone a[href^="#"]{min-height:44px;display:flex;align-items:center}
  .workbook-credits a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:430px){
  .l1-settings>div{grid-template-columns:1fr 1fr}
  .l1-help-panel{grid-template-columns:auto minmax(0,1fr)}
  .l1-help-panel>button:last-child{grid-column:1/-1}
  .l2a1-workspace .l2a1-hero{grid-template-columns:82px minmax(0,1fr)}
  .l2a1-workspace .l2a1-hero>.audio-btn{grid-column:2}
  .lab-menu .lab-hero,.lab-home .lab-hero,.lab-intro{box-sizing:border-box;min-width:0;max-width:100%;width:100%;padding-left:18px;padding-right:18px}
  .pg-board:has(.pg-wordgrid){overflow-x:auto;overscroll-behavior-inline:contain;padding:12px 6px}
  .pg-wordgrid{width:max-content;max-width:none;grid-template-columns:repeat(var(--cols),36px)}
  .pg-cell{width:36px;height:36px;aspect-ratio:auto}
}
