:root { color-scheme: dark; }
body.selector-open { margin: 0; background: #06130e; }
.academy-selector { min-height: 100vh; color: #f7f7f2; background: radial-gradient(circle at 88% 30%, #453000 0, transparent 35%), linear-gradient(115deg, #03120d 0%, #0a1c14 55%, #241c06 100%); font-family: Arial, Helvetica, sans-serif; display: flex; flex-direction: column; }
.selector-header { height: 88px; padding: 0 max(5vw, 32px); display: flex; align-items: center; justify-content: space-between; background: rgba(1, 7, 5, .86); border-bottom: 1px solid rgba(255,255,255,.04); }
.selector-brand { display: flex; align-items: center; gap: 18px; }
.selector-brand img { width: 50px; height: 50px; object-fit: contain; }
.selector-brand span { color: #ffd000; border-left: 1px solid #ff8a00; padding-left: 18px; font-size: 10px; font-weight: 900; letter-spacing: .25em; }
.language-switch { border: 1px solid #6d5421; padding: 2px; display: flex; }
.language-switch button { cursor: pointer; color: #b8b09b; padding: 8px 11px; font-size: 10px; font-weight: 900; }
.language-switch button.active { color: #171006; background: #ffb400; }
.selector-main { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 70px 0 64px; flex: 1; }
.selector-intro { max-width: 720px; margin-bottom: 32px; }
.selector-intro > span, .card-status span, .primary-copy small, .future-card > small { color: #ff8a00; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.selector-intro h1 { max-width: 650px; margin: 24px 0 20px; font-size: clamp(42px, 5vw, 68px); line-height: .98; font-weight: 500; letter-spacing: -.045em; }
.selector-intro p { max-width: 690px; color: #b7c6b9; font-size: 15px; line-height: 1.65; }
.selector-intro b { color: #ffc400; display: block; margin-top: 18px; font-size: 9px; }
.selector-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .9fr); gap: 18px; align-items: stretch; }
.primary-course { color: #161a16; background: #f8f6f0; border-top: 5px solid #ff8a00; padding: 30px; display: flex; flex-direction: column; align-self: start; min-height: 500px; }
.card-status { display: flex; justify-content: space-between; align-items: start; }
.card-status strong { color: #d4cec2; font-size: 22px; }
.primary-content { display: grid; grid-template-columns: 205px 1fr; gap: 34px; align-items: center; flex: 1; padding: 30px 0 24px; }
.primary-machine-photo { height: 232px; background: #ebece7; border: 1px solid #d8dbd4; display: grid; place-items: center; overflow: hidden; }
.primary-machine-photo img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.primary-copy h2, .future-card h2 { margin: 12px 0 14px; font-size: 32px; line-height: 1.05; }
.primary-copy p { color: #687169; font-size: 11px; line-height: 1.65; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.tags span { color: #ffc400; background: #241d0e; padding: 9px 11px; font-size: 8px; font-weight: 900; }
.study-button { cursor: pointer; color: #171006; background: linear-gradient(90deg, #ffd400, #ff8a00); border: 0; padding: 17px; font-size: 16px; font-weight: 900; }
.future-courses { display: grid; grid-template-rows: repeat(3, 1fr); gap: 14px; }
.future-card { border: 1px solid #80620f; background: rgba(21, 24, 10, .82); padding: 24px; display: flex; flex-direction: column; }
.future-card .card-status span { color: #ffd000; font-size: 8px; }
.future-card-body { display: grid; grid-template-columns: 108px 1fr; gap: 17px; align-items: center; flex: 1; margin-top: 10px; }
.future-card-body img { width: 108px; height: 105px; object-fit: contain; background: #f3f3ee; }
.future-card-body > div { min-width: 0; }
.future-card h2 { margin: 10px 0; font-size: 23px; }
.future-card p { color: #aab3a3; font-size: 10px; line-height: 1.5; flex: 1; }
.future-card button { color: #aaa58e; border: 1px solid #4e4d3e; margin-top: 14px; padding: 10px; font-size: 8px; font-weight: 900; }
.selector-footer { min-height: 58px; padding: 0 max(5vw, 32px); color: #75947f; background: #010705; display: flex; align-items: center; justify-content: space-between; font-size: 8px; }
.academy-back { position: fixed; z-index: 9999; top: 92px; left: 18px; cursor: pointer; color: #ffc400; background: #17130d; border: 1px solid #634b16; padding: 10px 13px; font-size: 9px; font-weight: 900; box-shadow: 0 8px 24px #0005; }
.course-machine-reference { color: #152019; background: #f3f0e8; border-left: 5px solid #ff8a00; display: grid; grid-template-columns: 160px 1fr; align-items: center; gap: 20px; margin-bottom: 22px; padding: 16px; }
.course-machine-reference img { width: 160px; height: 130px; object-fit: contain; background: #fff; }
.course-machine-reference small, .course-machine-reference strong { display: block; }
.course-machine-reference small { color: #a85d00; font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.course-machine-reference strong { margin: 7px 0 12px; font-size: 18px; }
@media (max-width: 850px) { .selector-grid { grid-template-columns: 1fr; } .future-courses { grid-template-rows: none; } }
@media (max-width: 620px) { .selector-main { width: min(100% - 30px, 1120px); padding-top: 45px; } .selector-header { height: 74px; padding: 0 18px; } .selector-intro h1 { font-size: 42px; } .primary-course { padding: 20px; } .primary-content { grid-template-columns: 1fr; } .primary-machine-photo { width: 100%; } .future-card-body { grid-template-columns: 90px 1fr; } .future-card-body img { width: 90px; height: 90px; } .selector-footer { padding: 18px; gap: 16px; } .course-machine-reference { grid-template-columns: 1fr; } }

/* Academy-wide visual system based on the approved machine-course reference. */
body:not(.selector-open) { background: #f7f2e8; color: #171812; }
body:not(.selector-open) header { background: linear-gradient(90deg, #020907, #111209 70%, #191104); border-bottom: 3px solid #ffc400; }
body:not(.selector-open) header nav a,
body:not(.selector-open) header nav button { color: #9eafa9; font-weight: 800; }
body:not(.selector-open) header nav a:hover,
body:not(.selector-open) header nav button:hover,
body:not(.selector-open) header nav .active { color: #fff; }
body:not(.selector-open) .hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 80% 35%, #573000 0, transparent 38%), linear-gradient(105deg, #020b08 0%, #0a110b 52%, #2b1700 100%); border-bottom: 5px solid #ff9400; }
body:not(.selector-open) .hero::after { content: ''; pointer-events: none; position: absolute; width: 52%; height: 145%; right: -4%; top: -24%; opacity: .22; transform: rotate(-8deg); background-image: linear-gradient(#ff9d002e 1px, transparent 1px), linear-gradient(90deg, #ff9d002e 1px, transparent 1px); background-size: 52px 52px; }
body:not(.selector-open) .hero > * { position: relative; z-index: 1; }
body:not(.selector-open) .hero h1 { letter-spacing: -.045em; line-height: .98; }
body:not(.selector-open) .hero h1 em { color: #ffc400; }
body:not(.selector-open) .hero p { color: #b9c8c4; line-height: 1.65; }
body:not(.selector-open) button.primary,
body:not(.selector-open) a.primary { color: #161006; background: linear-gradient(100deg, #ffd400, #ff8a00); border: 0; font-weight: 900; box-shadow: none; }
body:not(.selector-open) .dashboard { background: #f7f2e8; }
body:not(.selector-open) .dashboard > .title-row,
body:not(.selector-open) .route,
body:not(.selector-open) .resources > .title-row { max-width: 1180px; margin-left: auto; margin-right: auto; }
body:not(.selector-open) .kicker,
body:not(.selector-open) .eyebrow { color: #c66400; letter-spacing: .18em; font-weight: 900; }
body:not(.selector-open) .progress { border: 1px solid #dfd5c4; background: #fff; box-shadow: 0 14px 38px #3b25000b; }
body:not(.selector-open) .bar { background: #eee7dc; }
body:not(.selector-open) .bar i { background: linear-gradient(90deg, #ffd000, #ff7900); }
body:not(.selector-open) .ring { border-color: #ff9800; }
body:not(.selector-open) .modules { gap: 12px; }
body:not(.selector-open) .module { color: #171812; background: #fff; border: 1px solid #ded5c7; border-left: 4px solid #ff9800; box-shadow: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
body:not(.selector-open) .module:hover { transform: translateY(-2px); border-color: #ff9800; box-shadow: 0 12px 28px #4b2a0012; }
body:not(.selector-open) .module .num { color: #171006; background: linear-gradient(135deg, #ffd000, #ff8b00); }
body:not(.selector-open) .module.complete .num { color: #152009; }
body:not(.selector-open) .module small { color: #87938d; letter-spacing: .12em; }
body:not(.selector-open) .module p { color: #707a74; }
body:not(.selector-open) .lesson-wrap { background: #f7f2e8; }
body:not(.selector-open) .lesson { background: #fff; border-top: 5px solid #ff9200; box-shadow: 0 22px 55px #3c240015; }
body:not(.selector-open) .lesson h1,
body:not(.selector-open) .lesson h2,
body:not(.selector-open) .lesson h3 { color: #161812; }
body:not(.selector-open) .lesson p,
body:not(.selector-open) .lesson li { color: #5f6c65; line-height: 1.65; }
body:not(.selector-open) .lesson .warning { color: #f8eee2; background: #241207; border-left: 5px solid #ff8a00; }
body:not(.selector-open) .resources { background: #eee8dc; border-top: 1px solid #dcd1bf; }
body:not(.selector-open) .resource-grid article { background: #fff; border: 1px solid #ddd2c0; border-top: 4px solid #ff9200; }
body:not(.selector-open) .resource-grid h3 { color: #171812; }
body:not(.selector-open) .resource-grid p { color: #67736c; }
body:not(.selector-open) .admin-panel,
body:not(.selector-open) .instructor-panel,
body:not(.selector-open) .inspection-workspace,
body:not(.selector-open) .organization-grid { border-color: #d9cebc; box-shadow: 0 16px 38px #3a25000d; }
body:not(.selector-open) footer { color: #9aa79f; background: #020806; border-top: 3px solid #ff9800; }
@media (max-width: 760px) {
  body:not(.selector-open) .hero::after { width: 100%; right: -35%; opacity: .12; }
  body:not(.selector-open) .academy-back { top: 78px; }
  body:not(.selector-open) .module { min-height: 118px; }
}
.admin-access { position: fixed; z-index: 9998; right: 300px; top: 22px; cursor: pointer; color: #ffc400 !important; background: #17130d; border: 1px solid #735719; padding: 9px 12px; font-size: 9px; font-weight: 900; white-space: nowrap; }
.selector-open .admin-access { display: none; }
.admin-login-backdrop { position: fixed; z-index: 10000; inset: 0; background: #020806d9; display: grid; place-items: center; padding: 20px; }
.admin-login { position: relative; width: min(440px, 100%); color: #171812; background: #fff; border-top: 6px solid #ff9200; padding: 38px; box-shadow: 0 30px 90px #000b; }
.admin-login > img { width: 68px; height: 68px; object-fit: contain; margin-bottom: 18px; }
.admin-login > small { color: #b85d00; font-size: 8px; font-weight: 900; letter-spacing: .15em; }
.admin-login h2 { margin: 8px 0; font-size: 28px; }
.admin-login p { color: #687169; font-size: 11px; }
.admin-login label { display: block; margin-top: 16px; font-size: 9px; font-weight: 900; }
.admin-login input { display: block; width: 100%; color: #171812; background: #fff; border: 1px solid #d7cdbc; margin-top: 7px; padding: 12px; font-size: 13px; }
.admin-login-submit { width: 100%; cursor: pointer; color: #171006; background: linear-gradient(90deg, #ffd000, #ff8500); border: 0; margin-top: 18px; padding: 14px; font-size: 11px; font-weight: 900; }
.admin-login-submit:disabled { opacity: .55; cursor: wait; }
.admin-login-close { position: absolute; right: 12px; top: 10px; cursor: pointer; color: #745c35; font-size: 24px; }
.admin-login-error { min-height: 18px; color: #a52e0d; margin-top: 10px; font-size: 9px; font-weight: 800; }
@media (max-width: 900px) { .admin-access { right: 14px; bottom: 14px; top: auto; } }
.student-access { cursor: pointer; color: #ffc400; background: #17130d; border: 1px solid #735719; padding: 9px 12px; font-size: 9px; font-weight: 900; white-space: nowrap; }
.selector-header > .student-access { position: absolute; right: 155px; }
.course-student-access { position: fixed; z-index: 9997; right: 18px; bottom: 18px; }
.password-help { display: block; color: #7b7468; margin-top: 7px; font-size: 8px; }
.generated-invite { width: 100%; margin: 9px 0 15px; padding: 11px; border: 1px solid #d7cdbc; background: #fff; color: #171812; font-size: 10px; }
.invitation-page { min-height: 100vh; padding: 30px; display: grid; place-items: center; background: radial-gradient(circle at 80% 20%, #4a2a00, transparent 35%), linear-gradient(125deg,#03110c,#171805); }
.invitation-page section { width: min(560px, 100%); color: #171812; background: #fff; border-top: 6px solid #ff9200; padding: 46px; box-shadow: 0 30px 90px #0009; }
.invitation-page img { width: 78px; height: 78px; object-fit: contain; margin-bottom: 20px; }
.invitation-page small { color: #b85d00; font-size: 8px; font-weight: 900; letter-spacing: .16em; }
.invitation-page h1 { margin: 10px 0; font-size: 36px; line-height: 1.05; }
.invitation-page p { color: #667169; line-height: 1.6; }
.invitation-page button { cursor: pointer; color: #171006; background: linear-gradient(90deg,#ffd000,#ff8500); border: 0; margin-top: 20px; padding: 14px 18px; font-weight: 900; }
@media (max-width: 700px) { .selector-header > .student-access { position: fixed; right: 14px; bottom: 62px; z-index: 9997; } }
