/* Beyond Training V2.1.2 post-deploy remediation. */
:root {
  --v212-surface:#ffffff;
  --v212-surface-raised:#f7fbff;
  --v212-ink:#10233b;
  --v212-muted:#526b84;
  --v212-line:#bdd0e2;
  --v212-focus:#075fcc;
  --v212-success-bg:#e9f9ee;
  --v212-success-ink:#12652d;
  --v212-error-bg:#fff0f0;
  --v212-error-ink:#941d1d;
}
[data-bt-theme="dark"] {
  --v212-surface:#0c1724;
  --v212-surface-raised:#122238;
  --v212-ink:#f3f8ff;
  --v212-muted:#b6c8da;
  --v212-line:#41607d;
  --v212-focus:#69b7ff;
  --v212-success-bg:#123522;
  --v212-success-ink:#a5f3bc;
  --v212-error-bg:#3c171b;
  --v212-error-ink:#ffc5c8;
}
html, body { width:100%; max-width:100%; margin:0; }
#appView,.wrap,#coachView,#studentView,#coachView > .grid,#studentView > .grid,.app-panel { min-width:0; }
#appView,.wrap,#coachView,#studentView { width:100%; max-width:100%; }
.app-panel { overflow-wrap:anywhere; }
.notice.success, .v212-toast.success { background:var(--v212-success-bg)!important; color:var(--v212-success-ink)!important; border-color:color-mix(in srgb,var(--v212-success-ink) 38%,transparent)!important; }
.notice.error, .v212-toast.error { background:var(--v212-error-bg)!important; color:var(--v212-error-ink)!important; border-color:color-mix(in srgb,var(--v212-error-ink) 38%,transparent)!important; }
.modal-card, .result-confirm-dialog, .v212-dialog { background:var(--v212-surface)!important; color:var(--v212-ink)!important; border:1px solid var(--v212-line)!important; }
.modal-card h1,.modal-card h2,.modal-card h3,.result-confirm-dialog h3,.v212-dialog h2 { color:var(--v212-ink)!important; }
.modal-card input,.modal-card select,.modal-card textarea,.v212-dialog input,.v212-dialog select { background:var(--v212-surface-raised)!important; color:var(--v212-ink)!important; border-color:var(--v212-line)!important; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--v212-focus)!important; outline-offset:2px; }

.v212-result-grid { --v212-cols:5; display:grid!important; grid-template-columns:repeat(var(--v212-cols),minmax(0,1fr))!important; gap:8px!important; width:100%; }
.v212-result-grid .result-choice { min-width:0; width:100%; aspect-ratio:1; padding:4px; }
.result-choice-scroll { overflow:visible!important; max-width:100%; }

.assignment-card.v212-detail-card { cursor:pointer; scroll-margin-top:110px; }
.assignment-card.v212-detail-card .assignment-summary { cursor:pointer; }
.assignment-card.v212-detail-card .assignment-details { padding-top:12px; }

.v212-exercise-admin-tools { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:10px 0; }
.v212-archive-filter { width:auto; min-width:180px; }
.v212-impact-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:12px 0; }
.v212-impact-grid > div { padding:10px; border:1px solid var(--v212-line); border-radius:10px; background:var(--v212-surface-raised); text-align:center; }
.v212-impact-grid strong { display:block; font-size:1.35rem; }

.v212-catalog-balance { display:flex; align-items:center; gap:8px; min-width:0; white-space:nowrap; }
.v212-balance-trigger { padding:6px 9px; font-size:.78rem; }
.v213-balance-dialog { width:min(1180px,calc(100vw - 32px))!important; max-height:calc(100dvh - 32px); }
.v213-balance-scroll { max-width:100%; }
.v212-balance-matrix { width:100%; min-width:1020px; border-collapse:collapse; table-layout:fixed; }
.v212-balance-matrix th,.v212-balance-matrix td { padding:8px; border:1px solid var(--v212-line); text-align:center; overflow-wrap:normal; word-break:normal; }
.v212-balance-matrix th { white-space:normal; line-height:1.25; }
.v212-balance-cell { display:grid; place-items:center; gap:3px; width:100%; min-height:62px; padding:7px 5px; border:0; border-radius:8px; background:var(--v212-surface-raised); color:var(--v212-ink); }
.v212-balance-cell b { font-size:.92rem; white-space:nowrap; }
.v212-balance-cell small { display:block; white-space:nowrap; }
.v212-balance-cell.is-low { color:#9a4b00; background:#fff5df; }
[data-bt-theme="dark"] .v212-balance-cell.is-low { color:#ffd18a; background:#3b2b13; }

.v212-picker { border:1px solid var(--v212-line); border-radius:14px; background:var(--v212-surface-raised); padding:10px; }
.v212-native-source { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.v212-picker-list { display:grid; gap:5px; max-height:260px; overflow:auto; margin-top:8px; }
.v212-relation-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:8px; }
.v212-picker-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; align-items:center; padding:8px; border-radius:9px; color:var(--v212-ink); }
.v212-picker-row:hover { background:color-mix(in srgb,var(--v212-focus) 10%,transparent); }
.v212-picker-row input { width:auto; }
.v212-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.v212-chip { border:1px solid var(--v212-line); border-radius:999px; padding:5px 9px; background:var(--v212-surface); color:var(--v212-ink); }

.v212-network-preview { position:fixed; z-index:100002; width:min(360px,calc(100vw - 24px)); pointer-events:auto; border:1px solid var(--v212-line); border-radius:16px; background:var(--v212-surface); color:var(--v212-ink); padding:12px; box-shadow:0 22px 60px #001b3855; }
.v212-network-preview .canonical-diagram-thumbnail { width:100%; }
.v212-network-preview-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }

.v212-bootstrap-actions { display:flex; gap:8px; justify-content:center; margin-top:14px; }
.v212-bootstrap-timing { font-variant-numeric:tabular-nums; color:var(--v212-muted); font-size:.78rem; }

.v212-clear-table { border-color:#a84646!important; color:#ffd5d5!important; }

.v212-student-identity { display:none; font-weight:850; color:var(--v212-ink); max-width:min(72vw,520px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:max-height .2s ease,opacity .2s ease,transform .2s ease; }
body.v212-scroll-down .v212-student-identity { max-height:0; opacity:0; transform:translateY(-6px); }
body:not(.v212-scroll-down) .v212-student-identity { max-height:2rem; opacity:1; transform:translateY(0); }

@media (max-width:800px) {
  .topin,.wrap { width:100%; max-width:100%; }
  .topin { flex-wrap:nowrap; padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right)); }
  .topin > :first-child { flex:1 1 auto; min-width:0; }
  .header-actions { width:auto!important; flex:0 0 auto; min-width:0; }
  .header-actions .global-rating,.header-actions > .nav { display:none!important; }
  .v212-student-identity:not([hidden]) { display:block; }
  .section-tabs { width:100%; max-width:100%; }
  .v212-result-grid { --v212-cols:4; gap:6px!important; }
  .v212-impact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v212-catalog-balance { white-space:normal; }
  #environmentBadge { right:max(8px,env(safe-area-inset-right)); bottom:max(8px,env(safe-area-inset-bottom)); transform:none; max-width:calc(100vw - 16px); }
  .modal { padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
}
@media (max-width:430px) {
  .wrap { padding-inline:10px; }
  .card { max-width:100%; }
  #coachView .grid,#studentView .grid { grid-template-columns:minmax(0,1fr)!important; width:100%; }
  #coachView :is(.c3,.c4,.c6,.c8,.c12),#studentView :is(.c3,.c4,.c6,.c8,.c12) { grid-column:1 / -1!important; width:100%; max-width:100%; }
  .v212-result-grid { --v212-cols:4; }
  .result-selector-heading { align-items:flex-start; }
  .assignment-summary { grid-template-columns:58px minmax(0,1fr) auto; }
}
@media (max-width:900px) {
  .v213-balance-dialog { width:min(680px,calc(100vw - 16px))!important; }
  .v213-balance-scroll { overflow:visible!important; }
  .v212-balance-matrix { display:block; min-width:0; }
  .v212-balance-matrix thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .v212-balance-matrix tbody { display:grid; gap:12px; }
  .v212-balance-matrix tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:10px; border:1px solid var(--v212-line); border-radius:12px; }
  .v212-balance-matrix th[scope="row"] { grid-column:1 / -1; text-align:left; border:0; padding:0 0 4px; }
  .v212-balance-matrix td { display:grid; grid-template-rows:auto 1fr; gap:4px; padding:0; border:0; text-align:left; }
  .v212-balance-matrix td::before { content:attr(data-label); color:var(--v212-muted); font-size:.72rem; font-weight:800; }
}
@media (min-width:1101px) {
  body:has(#diagramBuilderModal:not(.hidden)) { overflow:hidden; }
  #diagramBuilderModal .premium-toolbar { flex-wrap:nowrap; overflow:visible; gap:4px; padding:5px 8px; }
  #diagramBuilderModal .premium-tool { min-width:0; min-height:34px!important; padding:5px 7px!important; font-size:.78rem; white-space:nowrap; }
  #diagramBuilderModal .premium-builder-shell { height:auto!important; min-height:0!important; grid-template-columns:clamp(112px,8vw,138px) minmax(0,1fr) clamp(185px,14vw,220px)!important; overflow:hidden; }
  #diagramBuilderModal .premium-builder-left,#diagramBuilderModal .premium-builder-right { min-width:0; min-height:0; padding:8px!important; overflow:hidden!important; }
  #diagramBuilderModal .premium-ball-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; justify-content:stretch; gap:5px!important; padding-bottom:8px; }
  #diagramBuilderModal .premium-ball-choice { width:100%!important; max-width:28px; min-width:0!important; height:auto!important; min-height:0!important; aspect-ratio:1; border-radius:50%!important; padding:0!important; justify-self:center; font-size:.68rem; }
  #diagramBuilderModal .premium-hint { margin-top:8px!important; font-size:10px; line-height:1.35!important; }
  #diagramBuilderModal .r3-rack-presets { margin-top:8px; padding-top:7px; }
  #diagramBuilderModal .r3-rack-preset-grid { gap:4px; }
  #diagramBuilderModal .r3-rack-preset { min-height:32px; padding:4px 6px; font-size:10px; line-height:1.2; }
  #diagramBuilderModal .r3-rack-presets p { margin:6px 0 0; font-size:9px; line-height:1.25; }
  #diagramBuilderModal .premium-stage { display:flex!important; flex-direction:column; align-items:stretch!important; justify-content:flex-start!important; min-width:0; min-height:0; padding:4px 6px 0!important; overflow:hidden; }
  #diagramBuilderModal .premium-table-wrap { flex:1 1 auto; align-items:center; justify-content:center; min-height:0; width:100%; height:auto!important; padding:0!important; display:flex!important; overflow:hidden; }
  #diagramBuilderModal .premium-table-wrap svg.beyond-table-svg { flex:0 1 auto; width:min(100%,calc(179.120879dvh - 277.637363px))!important; height:auto; max-width:100%; max-height:100%!important; margin:auto; }
  #diagramBuilderModal .builder-position-bar { position:static!important; flex:0 0 auto; flex-wrap:nowrap; width:100%; max-width:none!important; min-height:38px; max-height:none; margin:4px 0 0!important; padding:5px 7px!important; overflow:visible; }
  #diagramBuilderModal .builder-position-actions { flex-wrap:nowrap; min-width:0; }
  #diagramBuilderModal .builder-position-bar .btn { min-height:32px!important; padding:4px 7px!important; font-size:.73rem; white-space:nowrap; }
  #diagramBuilderModal .premium-builder-right .field { margin-bottom:7px; }
  #diagramBuilderModal .premium-prop-card { padding:8px; margin-bottom:7px; }
}

/* Coach exercises list: search + visible count (Production 4.5.32+) */
.bt-exercise-list-search { display:grid; gap:8px; margin:0 0 12px; }
.bt-exercise-list-search > label { font-size:.86rem; color:var(--v212-muted); }
.bt-exercise-list-search-controls { display:flex; gap:8px; align-items:center; min-width:0; }
#btExerciseListSearch { flex:1; min-width:0; min-height:44px; width:100%; }
.bt-exercise-list-search-clear { width:44px; min-height:44px; flex:0 0 auto; border:1px solid var(--v212-line); border-radius:10px; background:var(--v212-surface-raised); color:var(--v212-ink); font-size:1.25rem; line-height:1; cursor:pointer; }
#btExerciseListCount { margin:0; }
#btExerciseListEmpty { margin:0 0 8px; }
#coachExercises > article.item[data-exercise-id].hidden { display:none !important; }
