/* HispanoQuest CP55-F02-B — reusable component/pattern layer */
.hq-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--hq-space-2);margin:0 0 var(--hq-space-2)}
.hq-section-heading__copy{min-width:0}.hq-section-heading__kicker{font-size:var(--hq-type-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--hq-muted)}
.hq-section-heading h2,.hq-section-heading h3{margin:3px 0 0;font-family:var(--hq-font-ui);font-weight:700;color:var(--hq-text);line-height:var(--hq-line-heading)}
.hq-section-heading p{margin:5px 0 0;color:var(--hq-muted);font-size:var(--hq-type-sm);line-height:var(--hq-line-body)}
.hq-status-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid currentColor;border-radius:var(--hq-radius-micro);padding:4px 7px;font-size:var(--hq-type-xs);font-weight:700;line-height:1.2;background:var(--hq-paper)}
.hq-status-badge[data-tone="success"]{color:var(--hq-success);background:var(--hq-success-soft)}
.hq-status-badge[data-tone="error"]{color:var(--hq-error);background:var(--hq-error-soft)}
.hq-status-badge[data-tone="warning"]{color:var(--hq-warning);background:var(--hq-warning-soft)}
.hq-status-badge[data-tone="info"]{color:var(--hq-info);background:var(--hq-info-soft)}
.hq-next-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--hq-space-2);align-items:center;padding:var(--hq-space-2);border:1px solid var(--hq-border);border-left:4px solid var(--hq-terracotta);border-radius:var(--hq-radius-card);background:var(--hq-paper);box-shadow:var(--hq-elevation-1)}
.hq-next-action__icon{width:46px;height:46px;border-radius:var(--hq-radius-card);background:var(--hq-cream);display:grid;place-items:center}.hq-next-action__copy{min-width:0}.hq-next-action__kicker{font-size:var(--hq-type-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hq-muted)}.hq-next-action__title{font-size:var(--hq-type-lg);font-weight:700;color:var(--hq-text);line-height:var(--hq-line-heading);margin-top:2px}.hq-next-action__meta{font-size:var(--hq-type-sm);color:var(--hq-muted);line-height:var(--hq-line-body);margin-top:3px}
.hq-context-tabs{display:flex;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;padding:4px;background:var(--hq-paper);border:1px solid var(--hq-border);border-radius:var(--hq-radius-card);scrollbar-width:thin}.hq-context-tabs button{flex:none;min-height:var(--hq-hit-target);border:0;border-radius:var(--hq-radius-micro);padding:8px 12px;background:transparent;color:var(--hq-blue);font-weight:700;cursor:pointer}.hq-context-tabs button:hover{background:var(--hq-cream)}.hq-context-tabs button[aria-current="page"],.hq-context-tabs button.active{background:var(--hq-blue);color:var(--hq-white)}
.hq-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--hq-muted);font-size:var(--hq-type-sm);font-weight:600}.hq-breadcrumbs button{min-height:var(--hq-hit-target);padding:6px 4px;border:0;background:none;color:var(--hq-blue);font-weight:700;cursor:pointer}.hq-breadcrumbs__sep{color:var(--hq-border-strong)}
.hq-state-panel{display:flex;align-items:flex-start;gap:var(--hq-space-2);padding:var(--hq-space-2);border:1px solid var(--hq-border);border-radius:var(--hq-radius-card);background:var(--hq-paper)}.hq-state-panel[data-tone="warning"]{background:var(--hq-warning-soft);border-color:#DFC77A}.hq-state-panel[data-tone="info"]{background:var(--hq-info-soft);border-color:#BDD3E4}.hq-state-panel[data-tone="success"]{background:var(--hq-success-soft);border-color:#B9D5C4}.hq-state-panel[data-tone="error"]{background:var(--hq-error-soft);border-color:#E1B7B1}.hq-state-panel__copy{min-width:0}.hq-state-panel__copy b{display:block;color:var(--hq-text)}.hq-state-panel__copy span{display:block;margin-top:3px;color:var(--hq-muted);font-size:var(--hq-type-sm);line-height:var(--hq-line-body)}
.hq-empty-state{text-align:center;padding:var(--hq-space-4) var(--hq-space-2);border:1px dashed var(--hq-border-strong);border-radius:var(--hq-radius-card);background:var(--hq-paper)}.hq-empty-state h3{margin:10px 0 4px;font-size:var(--hq-type-lg);color:var(--hq-text)}.hq-empty-state p{margin:0 auto;max-width:520px;color:var(--hq-muted);font-size:var(--hq-type-sm);line-height:var(--hq-line-body)}.hq-empty-state__action{margin-top:var(--hq-space-2)}
.hq-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--hq-space-2)}.hq-command-card{border:1px solid var(--hq-border);border-radius:var(--hq-radius-card);background:var(--hq-paper);padding:var(--hq-space-2);box-shadow:var(--hq-elevation-1);display:grid;gap:8px;align-content:start}.hq-command-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hq-command-card__value{font-size:var(--hq-type-2xl);line-height:1;font-weight:700;color:var(--hq-blue)}.hq-command-card b{font-size:var(--hq-type-sm);color:var(--hq-text)}.hq-command-card p{margin:0;color:var(--hq-muted);font-size:var(--hq-type-xs);line-height:1.45}.hq-command-card button{justify-self:start;border:0;background:none;color:var(--hq-blue);font-weight:700;cursor:pointer;padding:5px 0;min-height:var(--hq-hit-target)}
.hqv3-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--hq-space-2)}
.hqv3-kpi{border:1px solid var(--hq-border);border-radius:var(--hq-radius-card);background:var(--hq-paper);padding:var(--hq-space-2);display:grid;gap:3px}
.hqv3-kpi b{font-size:var(--hq-type-2xl);line-height:1;font-weight:900;color:var(--hq-blue)}
.hqv3-kpi span{color:var(--hq-muted);font-size:var(--hq-type-xs);font-weight:700}
.hq-class-context{position:sticky;top:0;z-index:var(--hq-z-sticky);background:rgba(245,241,232,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--hq-border);padding:10px 0}.hq-class-context__inner{max-width:var(--hq-teacher-max);margin:0 auto;display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:center;gap:var(--hq-space-2);padding-inline:var(--hq-page-gutter)}.hq-class-context__title{min-width:0}.hq-class-context__title small{display:block;color:var(--hq-muted);font-size:var(--hq-type-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hq-class-context__title strong{display:block;color:var(--hq-blue);font-size:var(--hq-type-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.hq-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hq-class-context__inner{grid-template-columns:1fr}.hq-class-context{position:relative}}
@media(max-width:560px){.hq-next-action{grid-template-columns:auto minmax(0,1fr)}.hq-next-action__cta{grid-column:1/-1}.hq-next-action__cta .hq-btn{width:100%}.hq-command-grid{grid-template-columns:1fr}.hq-section-heading{display:block}.hq-section-heading__action{margin-top:8px}}

.hq-class-context__server{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.hq-class-context__server span{font-size:10.5px;color:var(--hq-muted);background:var(--hq-paper);border:1px solid var(--hq-border);border-radius:999px;padding:3px 7px;white-space:nowrap}.hq-class-context__server b{color:var(--hq-blue)}
.hq-student-snapshot{background:var(--hq-paper);border:1px solid var(--hq-border);border-radius:var(--hq-radius-lg);padding:12px 14px;margin:10px 0 18px}.hq-student-snapshot__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hq-student-snapshot__grid>div{border:1px solid #ece4d8;border-radius:var(--hq-radius-md);padding:10px;min-width:0}.hq-student-snapshot small{display:block;color:var(--hq-muted);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.hq-student-snapshot strong{display:block;color:var(--hq-blue);font-size:16px;margin-top:3px;overflow-wrap:anywhere}.hq-student-snapshot span{display:block;color:var(--hq-muted);font-size:11px;margin-top:3px;overflow-wrap:anywhere}.hq-student-snapshot__progress,.hq-student-snapshot__errors{display:grid;gap:5px;margin-top:12px;border-top:1px solid #ece4d8;padding-top:10px}.hq-student-snapshot__progress>b,.hq-student-snapshot__errors>b{font-size:12px;color:var(--hq-blue)}.hq-student-snapshot__progress>div{display:flex;justify-content:space-between;gap:10px;font-size:11.5px}.hq-student-snapshot__progress>div span{margin:0;color:#35465c;font-weight:800}.hq-student-snapshot__progress>div em{font-style:normal;color:var(--hq-muted);white-space:nowrap}.hq-student-snapshot__empty{font-size:12px;color:var(--hq-muted);font-weight:700}.hq-student-snapshot__errors span{margin:0}.
@media(max-width:720px){.hq-student-snapshot__grid{grid-template-columns:1fr 1fr}.hq-student-snapshot__progress>div{display:grid;gap:2px}.hq-student-snapshot__progress>div em{white-space:normal}}
@media(max-width:460px){.hq-student-snapshot__grid{grid-template-columns:1fr}}

/* CP55-F09 · acessibilidade estrutural e recomposição mobile */
.hq-a11y-dialog{outline:none;scroll-margin-top:12px}.hq-a11y-dialog:focus-visible{outline:var(--hq-focus-width) solid var(--hq-focus)!important;outline-offset:var(--hq-focus-offset)!important}
.hq-context-tabs button,.hq-command-card button,.hq-teacher-nav button,.hq-teacher-outline-btn,.hq-teacher-small-outline{min-height:44px}
.hq-context-tabs{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
[aria-live="polite"],[role="status"]{overflow-wrap:anywhere}
@media(max-width:820px){
  .hq-teacher-nav{scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .hq-teacher-nav button{scroll-snap-align:start;min-height:44px}
  .hq-teacher-main{padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important;padding-bottom:max(56px,env(safe-area-inset-bottom))!important}
  .hq-class-context__server{display:grid;grid-template-columns:1fr 1fr;width:100%}.hq-class-context__server span{white-space:normal}
}
@media(max-width:600px){
  .hq-a11y-dialog{width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;margin:8px 0!important;border-radius:14px!important}
  .hq-a11y-dialog--wide{width:100%!important}
  .hq-command-card{min-width:0}
  .hq-class-context__server{grid-template-columns:1fr}
}
@media(max-width:420px){.hq-teacher-main{padding-top:18px!important}.hq-teacher-header h1{font-size:clamp(26px,9vw,34px)}.hq-context-tabs button{padding-inline:11px}}

/* CP55.1 · visible pedagogy / teacher command center / expedition */
.hq-cp551-ped-center,.hq-cp551-student-workbench,.hq-cp551-hisp-teacher,.hq-cp551-world-brief,.hq-cp551-stage-brief{font-family:"Atkinson Hyperlegible",system-ui,sans-serif}
.hq-cp551-ped-center,.hq-cp551-student-workbench,.hq-cp551-hisp-teacher{background:linear-gradient(145deg,#fffdf8,#f8f2e8);border:1px solid #dfd3c1;border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 8px 26px rgba(44,35,22,.06)}
.hq-cp551-ped-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.hq-cp551-ped-head h2,.hq-cp551-ped-head h3{margin:3px 0 4px;color:#172b4d}.hq-cp551-ped-head p{margin:0;color:#5c6877;line-height:1.45;max-width:760px}
.hq-cp551-eyebrow{display:block;font-size:10.5px;font-weight:900;letter-spacing:.12em;color:#9b3f2c}.hq-cp551-badge{font-size:11px;font-weight:900;background:#13294b;color:#fff;border-radius:999px;padding:7px 10px;white-space:nowrap}
.hq-cp551-metrics{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;margin:12px 0 16px}.hq-cp551-metric{background:#fff;border:1px solid #e2d8ca;border-radius:13px;padding:11px 12px;display:grid;gap:2px}.hq-cp551-metric small{font-size:11.5px;color:#667180;font-weight:800}.hq-cp551-metric strong{font-size:25px;line-height:1.05}.hq-cp551-metric span{font-size:10.5px;color:#526070}
.hq-cp551-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.hq-cp551-panel{background:#fff;border:1px solid #e1d7c8;border-radius:14px;padding:13px 14px;min-width:0}.hq-cp551-panel h4{margin:0 0 10px;color:#26364b;font-size:14.5px}.hq-cp551-wide{grid-column:1/-1}.hq-cp551-muted,.hq-cp551-caveat{color:#485464;font-size:12px;line-height:1.4}.hq-cp551-positive{color:#2f6b4f;font-weight:800;font-size:12px}
.hq-cp551-action-list{display:grid;gap:8px}.hq-cp551-action{border-left:4px solid #13294b;background:#fbf8f3;border-radius:0 10px 10px 0;padding:9px 10px}.hq-cp551-action b{font-size:13px;color:#27384d}.hq-cp551-action p{margin:3px 0 0;color:#586677;font-size:12px;line-height:1.45}
.hq-cp551-queue{display:grid;gap:6px}.hq-cp551-queue button{border:1px solid #e4d9ca;background:#fff;border-radius:10px;padding:8px 9px;display:flex;gap:8px;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;font:inherit}.hq-cp551-queue button:hover{background:#fffaf0;border-color:#c9b68e}.hq-cp551-queue span{display:grid}.hq-cp551-queue b{font-size:12.5px;color:#26364b}.hq-cp551-queue small{font-size:10.5px;color:#485464}.hq-cp551-queue em{font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}
.hq-cp551-error-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:7px}.hq-cp551-error{border:1px solid #eadfce;background:#fcfaf6;border-radius:10px;padding:9px;display:grid;gap:2px}.hq-cp551-error b{font-size:12.5px;color:#26364b}.hq-cp551-error span,.hq-cp551-error small{font-size:10.8px;color:#6d7885;line-height:1.35}
.hq-cp551-bigline{display:block;color:#7f1d36;font-size:16px}.hq-cp551-steps{margin:0;padding-left:19px;color:#526174;font-size:12.3px;line-height:1.45}.hq-cp551-steps li+li{margin-top:5px}.hq-cp551-evidence-list{display:grid;gap:6px}.hq-cp551-evidence-list>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.5fr);gap:6px 12px;border-bottom:1px solid #f0e8dd;padding:7px 0}.hq-cp551-evidence-list b{font-size:12.5px}.hq-cp551-evidence-list span,.hq-cp551-evidence-list small{font-size:11px;color:#6b7683}.hq-cp551-evidence-list small{grid-column:1/-1}.hq-cp551-mastery-row{display:flex;gap:7px;flex-wrap:wrap}.hq-cp551-mastery-row>span{border:1px solid #aaa;border-radius:10px;padding:7px 9px;display:grid;background:#fff}.hq-cp551-mastery-row b{font-size:11px}.hq-cp551-mastery-row small{font-size:10px;color:#6b7683}
.hq-cp551-stage-list{display:grid;gap:7px}.hq-cp551-stage-list details{border:1px solid #e5dacb;border-radius:11px;background:#fff}.hq-cp551-stage-list summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:10px 11px;font-weight:800;color:#26364b}.hq-cp551-stage-list summary em{font-size:11px;color:#4B5563;font-style:normal}.hq-cp551-stage-body{padding:0 11px 11px;color:#526174;font-size:12px}.hq-cp551-stage-body p{margin:5px 0}.hq-cp551-stage-body ul{margin:6px 0;padding-left:18px}
.hq-cp551-stage-brief{background:linear-gradient(140deg,#fffaf0,#fff);border:1px solid #d7c19a;border-radius:15px;padding:14px;margin:10px 0 14px}.hq-cp551-stage-brief h3{margin:4px 0 12px;color:#172b4d;font-size:18px}.hq-cp551-stage-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hq-cp551-stage-brief-grid>div{background:#fff;border:1px solid #eadfce;border-radius:11px;padding:10px}.hq-cp551-stage-brief-grid b{font-size:12px;color:#26364b}.hq-cp551-stage-brief-grid p,.hq-cp551-stage-brief-grid li{font-size:12px;color:#596675;line-height:1.4}.hq-cp551-stage-brief-grid p{margin:4px 0}.hq-cp551-stage-brief-grid ul{margin:5px 0;padding-left:18px}.hq-cp551-lenses{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:9px;font-size:11px}.hq-cp551-lenses span{background:#efe7d8;border-radius:999px;padding:4px 7px;color:#5a4a30}.hq-cp551-source-note{font-size:11.5px;color:#4B5563;margin:9px 0 0}
.hq-cp551-world-brief{background:linear-gradient(140deg,#fffdf8,#f5eee2);border:1px solid #dac9ae;border-radius:17px;padding:15px 16px;margin:12px 0 16px}.hq-cp551-world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:8px}.hq-cp551-world-grid>div{background:#fff;border:1px solid #e8dece;border-radius:11px;padding:10px}.hq-cp551-world-grid b{font-size:12px;color:#172b4d}.hq-cp551-world-grid p{margin:4px 0 0;font-size:12px;color:#596675;line-height:1.42}.hq-cp551-world-brief>small{display:block;margin-top:9px;color:#6d7885;font-size:11px}
.hq-cp551-ped-empty{padding:14px;border:1px dashed #cdbfa9;border-radius:12px;background:#fffaf2;color:#4B5563;font-size:12.5px}
.hq-cp551-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.hq-cp551-tabs button{border:1px solid #cdbfa9;background:#fff;color:#35465c;border-radius:999px;padding:8px 12px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.hq-cp551-tabs button[aria-selected="true"]{background:#13294b;border-color:#13294b;color:#fff}
.hq-cp551-expedition{background:linear-gradient(135deg,#13294b,#24456f);color:#fff;border-radius:18px;padding:16px;margin:12px 0}.hq-cp551-expedition h2{margin:3px 0 5px}.hq-cp551-expedition p{margin:0;color:#dce6f2;font-size:12.5px}.hq-cp551-expedition-progress{height:8px;background:rgba(255,255,255,.18);border-radius:999px;overflow:hidden;margin:12px 0 7px}.hq-cp551-expedition-progress i{display:block;height:100%;background:#e7b84e;border-radius:999px}.hq-cp551-expedition-stats{display:flex;gap:7px;flex-wrap:wrap}.hq-cp551-expedition-stats span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}
@media(max-width:760px){.hq-cp551-metrics{grid-template-columns:repeat(2,1fr)}.hq-cp551-grid,.hq-cp551-stage-brief-grid,.hq-cp551-world-grid{grid-template-columns:1fr}.hq-cp551-ped-head{display:block}.hq-cp551-badge{display:inline-block;margin-top:8px;white-space:normal}.hq-cp551-evidence-list>div{grid-template-columns:1fr}.hq-cp551-evidence-list small{grid-column:auto}.hq-cp551-stage-list summary{display:grid}.hq-cp551-wide{grid-column:auto}}

/* CP55.1 F09 · listas docentes realmente mobile-first */
.hq-student-mobile-list{display:none}
@media(max-width:720px){
  .hq-student-desktop-table{display:none!important}
  .hq-student-mobile-list{display:grid;gap:9px}
  .hq-student-mobile-card{width:100%;min-height:44px;border:1px solid #ded5c7;border-radius:14px;background:#fff;padding:11px;text-align:left;display:grid;gap:9px;color:#26364b;box-shadow:0 7px 18px -17px rgba(19,41,75,.55)}
  .hq-student-mobile-card__top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center}
  .hq-student-mobile-card__top b{display:block;font-size:14.5px;line-height:1.2}.hq-student-mobile-card__top small{display:block;color:#4B5563;font-size:11.5px;margin-top:2px}
  .hq-student-mobile-card__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.hq-student-mobile-card__meta>span{background:#f7f4ee;border-radius:9px;padding:7px;text-align:center}.hq-student-mobile-card__meta b{display:block;color:#13294b;font-size:14px}.hq-student-mobile-card__meta small{display:block;color:#4B5563;font-size:10px;margin-top:1px}
  .hq-student-mobile-card__state{display:flex;justify-content:space-between;align-items:center;gap:8px}.hq-student-mobile-card__state>small{color:#4B5563;font-size:10.8px;text-align:right;line-height:1.25}
  .hq-student-mobile-empty{padding:18px;border:1px dashed #cdbfa9;border-radius:12px;text-align:center;color:#4B5563;background:#fff}
}
