/* Scoped functional fixes: retain the original course composition and palette. */
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role="button"]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid var(--green);outline-offset:3px}
.module[role="button"]{cursor:pointer}.module[role="button"]:focus-visible{outline-offset:5px}
.module>*,.lesson-top>*,.carrier-row>*,.verify-row>*,.dispatch-panel-head>*,.sim-step>*,.rpm-lab>*,.detention-lab>*{min-width:0}
.card,.lesson,.real-bol-wrap,.doc-sheet,.phone,.sim-step{min-width:0;max-width:100%}
.course-exercise-status{font-size:14px;line-height:1.55;margin-top:14px;color:var(--ink)}
.done-badge{display:inline-block;font-size:11px;white-space:normal;max-width:180px;line-height:1.4;background:transparent;color:var(--muted)}
.completed .done-badge{color:var(--green)}.course-module-count{font-size:12px;color:var(--green);grid-column:2}
#finalDecisionReport{padding-left:24px;margin-top:20px}#finalDecisionReport li{padding:14px 0;border-top:1px solid var(--line)}#finalDecisionReport p{margin:7px 0;font-size:14px}
.sim-choices button:disabled{cursor:default}.sim-step.locked button{pointer-events:none}
.course-quick-check{margin-top:16px}.course-quick-check .correct{background:var(--green-soft)}.course-quick-check .wrong{background:var(--accent-soft)}
#restartBrokerCall{margin-top:12px}.course-scenario-note{line-height:1.5}
#courseComponentPage{padding-top:16px}#courseComponentPage iframe{max-width:100%;min-width:0}
@media(max-width:640px){
 #courseComponentPage{width:calc(100% + 32px);max-width:none;margin-inline:-16px}

 input,select{font-size:16px;min-height:44px;max-width:100%;min-width:0}
 .search-fields label,.detention-fields label,.rpm-fields label{min-width:0}
 .choice,.call-choice,.clock-controls button,.complete-btn,.bol-field,.posting-field,.rc-term{min-height:44px}
 .verify-row b,.carrier-row b,.dispatch-info b,.call-card,.phone,.pod-row>*,.course-scenario-note{overflow-wrap:anywhere}
 .dispatch-panel-head{flex-wrap:wrap}.dispatch-info{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lesson-top{flex-wrap:wrap}.done-badge{max-width:100%}
 .clock-controls small,.posting-field span,.bol-field span,.dispatch-info span{font-size:12px;line-height:1.45}
 .real-bol-wrap{max-width:100%;overscroll-behavior-x:contain}
 .module{grid-template-columns:44px minmax(0,1fr);gap:12px}
 .module h3,.module p{overflow-wrap:break-word}
 .course-module-count{grid-column:2}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.page,.truck{animation:none!important}button,.module{transition:none!important}}

/* v70: landing entrance only. The interactive Intro keeps its original files. */
.page h1[tabindex="-1"]:focus,.page h2[tabindex="-1"]:focus{outline:none}
#homePage .course-entry{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"copy preview" "actions preview";align-items:start;gap:22px 42px;padding:42px 0 36px}
.course-entry>*{min-width:0}
.course-entry-copy{grid-area:copy;align-self:end}
#homePage .course-entry h1{font-size:clamp(36px,4.3vw,54px);line-height:1.1;margin-bottom:18px}
#homePage .course-entry .hero-copy{font-size:18px;line-height:1.55;margin:0}
.course-entry-actions{grid-area:actions;display:flex;align-items:flex-start;flex-direction:column;gap:12px}
.course-entry-actions .btn{max-width:100%;min-height:48px}
.course-entry-links{display:flex;flex-wrap:wrap;gap:0 22px}
.course-entry-links button{font:inherit;font-size:14px;color:var(--ink);background:none;border:0;padding:10px 0;min-height:44px;text-align:left;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
.course-entry-links button:hover{text-decoration-color:var(--ink)}
.course-intro-preview{grid-area:preview;margin:0;align-self:center}
.course-intro-poster{display:block;width:100%;border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:18px 22px;text-align:left;color:var(--ink);box-shadow:var(--shadow)}
.course-intro-poster .kicker{display:block;font-size:11px;margin:0}
.course-intro-poster img{display:block;width:100%;max-width:340px;height:auto;margin:8px auto 0;aspect-ratio:388/337}
html[lang="en"] .intro-poster-ru,html[lang="ru"] .intro-poster-en{display:none}
.course-intro-caption{display:grid;gap:4px;margin-top:8px}
.course-intro-caption strong{font-size:20px;line-height:1.2}
.course-intro-caption>span{font-size:14px;color:var(--muted);line-height:1.45}
.course-intro-poster:hover{border-color:var(--green)}
@media(max-width:900px){
 #homePage .course-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px;padding-top:30px}
 #homePage .course-entry h1{font-size:36px}
 .course-intro-poster{padding:16px}
}
@media(max-width:640px){
 #homePage .course-entry{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "preview" "actions";gap:18px;padding:24px 0 26px}
 #homePage .course-entry h1{font-size:32px;margin-bottom:12px}
 #homePage .course-entry .eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:10px}
 #homePage .course-entry .hero-copy{font-size:16px;line-height:1.5}
 .course-intro-poster{padding:14px 16px;border-radius:18px}
 .course-intro-poster img{max-width:260px;margin-top:4px}
 .course-intro-caption{margin-top:2px}
 .course-entry-actions,.course-entry-actions .btn{width:100%}
 .course-entry-links{gap:0 18px}
}

/* v70: HOS uses shrinkable tracks instead of auto/min-content minimums. */
.hos-explainer{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.hos-explainer,.hos-explainer *{min-width:0}
.hos-explainer>*{max-width:100%;align-self:start}
.eld-vs-hos{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin:0}
.eld-dashboard{margin-top:0}
.eld-dashboard-head{align-items:flex-start;flex-wrap:wrap}
.eld-dashboard-head>div{display:grid;gap:5px;flex:1 1 200px}
.eld-dashboard-head b{display:block;line-height:1.4}
.eld-dashboard-head span{display:block;font-size:12px;line-height:1.5}
.eld-dashboard-head .chip{flex:0 1 auto;white-space:normal}
.eld-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.eld-stat span{font-size:11px;line-height:1.4}
.eld-log-strip{grid-template-columns:minmax(0,1.1fr) minmax(0,2.2fr) minmax(0,.9fr) minmax(0,1.4fr) minmax(0,.9fr)}
.eld-log-block{overflow-wrap:break-word;line-height:1.4}
.duty-status{grid-template-columns:105px minmax(0,1fr)}
.hos-explain-item{grid-template-columns:58px minmax(0,1fr)}
.hos-day-row{grid-template-columns:92px 90px minmax(0,1fr)}
.logbook-strip{grid-template-columns:minmax(0,2fr) minmax(0,.45fr) minmax(0,1fr) minmax(0,.35fr) minmax(0,1fr)}
.hos-explainer-panel p,.hos-explainer-panel span,.eld-vs-hos span,.eld-dashboard-head>div{overflow-wrap:break-word}
@media(max-width:900px){.hos-explainer{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){
 .eld-vs-hos{grid-template-columns:minmax(0,1fr);gap:8px}
 .eld-vs-hos .vs{line-height:1}
 .eld-dashboard-head{padding:12px}
 .eld-dashboard-head>div{flex-basis:100%}
 .hos-explainer-panel{padding:14px}
 .duty-status{grid-template-columns:minmax(0,1fr);gap:4px;font-size:13px}
 .duty-status b{font-size:12px}
 .hos-explain-item{grid-template-columns:46px minmax(0,1fr);font-size:13px}
 .hos-day-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px}
 .hos-day-row>span{grid-column:1/-1;font-size:13px;line-height:1.5}
 .logbook-strip,.eld-log-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .logbook-seg,.eld-log-block{font-size:11px;min-height:44px;align-items:center;line-height:1.4}
 .hos-explainer-panel .micro,.eld-dashboard-note{font-size:13px;line-height:1.5}
}
