:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172235;background:#f4f6f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f6f8}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;letter-spacing:-.035em}h2{font-size:1.45rem;line-height:1.2}h3{font-size:1.05rem}p{line-height:1.62}.app-loading,.loading{min-height:45vh;display:grid;place-items:center;color:#637083}.app-shell{min-height:100vh}.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:40px 0 80px}.card{background:#fff;border:1px solid #dce2e9;border-radius:18px;box-shadow:0 8px 24px #1622340d}.muted{color:#6e7988}.eyebrow{margin-bottom:8px;font-size:.76rem;font-weight:800;letter-spacing:.11em;color:#677486}.topbar{height:72px;padding:0 max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:#132238;color:#fff;box-shadow:0 4px 20px #1322382e}.brand-button{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:inherit;text-align:left}.brand-button span:last-child{display:grid;line-height:1.05}.brand-button small{opacity:.74;margin-top:4px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#d4aa51;color:#132238;font-weight:900;font-size:.8rem}.topbar-user{display:flex;align-items:center;gap:12px;font-size:.9rem}.primary,.secondary,.text-button{border-radius:10px;border:0;padding:11px 16px;font-weight:750;transition:transform .12s ease,opacity .12s ease}.primary{background:#193b67;color:#fff}.secondary{background:#e8edf3;color:#22344b}.primary:hover,.secondary:hover{transform:translateY(-1px)}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.wide{width:100%}.compact{padding:8px 12px}.text-button{padding-left:0;background:transparent;color:#375b82}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);background:#132238;color:#fff}.login-intro{display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,8vw,110px);background:radial-gradient(circle at 15% 15%,rgba(212,170,81,.15),transparent 34%)}.login-intro h1{max-width:720px}.login-intro>p:not(.eyebrow){max-width:680px;color:#ccd6e3;font-size:1.07rem}.login-intro .eyebrow{color:#d4aa51}.integrity-note{display:grid;gap:4px;max-width:620px;margin-top:26px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#ffffff0d}.integrity-note span{color:#bec9d6}.login-card{align-self:center;margin:40px;padding:34px;color:#172235}.login-card h2{font-size:1.8rem;margin-bottom:8px}.login-card form{display:grid;gap:16px;margin-top:24px}.login-card label{display:grid;gap:7px;font-weight:700}.login-card input{width:100%;padding:12px 13px;border:1px solid #cbd4de;border-radius:10px;outline:0}.login-card input:focus{border-color:#3e6b9b;box-shadow:0 0 0 3px #3e6b9b1f}.form-message{padding:11px 12px;border-radius:9px;background:#fff5da;color:#654e13;font-size:.9rem}.form-message.error{background:#feecec;color:#8c2525;margin:14px 0}.dashboard-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px;padding:clamp(30px,5vw,58px);border-radius:24px;background:linear-gradient(135deg,#172a44,#20446d);color:#fff}.dashboard-hero h1{max-width:800px;margin-bottom:14px}.dashboard-hero p:not(.eyebrow){max-width:760px;margin-bottom:0;color:#d3deea}.dashboard-hero .eyebrow{color:#e1ba68}.progress-ring{width:138px;height:138px;display:grid;place-items:center;align-content:center;border-radius:50%;border:10px solid rgba(255,255,255,.16);background:#ffffff0f}.progress-ring strong{font-size:2rem}.progress-ring span{color:#c9d4df;font-size:.8rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.section-heading h2{margin-bottom:0}.lesson-card{padding:24px}.lesson-card+.lesson-card{margin-top:14px}.lesson-card h3{font-size:1.35rem;margin:14px 0 8px}.lesson-card-top,.lesson-card-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.lesson-card-footer{border-top:1px solid #e6ebf0;margin-top:20px;padding-top:17px;color:#657285;font-size:.9rem}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef1f5;color:#526172;font-size:.76rem;font-weight:800}.status-pill.complete{background:#ddf4e7;color:#1f6a40}.dashboard-side{display:grid;gap:14px;align-content:start}.dashboard-side .card{padding:22px}.metric-card strong{display:block;font-size:2.4rem;line-height:1;margin:8px 0 4px}.metric-card span{color:#6b7785}.integrity-mini{border-left:4px solid #d4aa51}.lesson-page{max-width:1080px}.lesson-hero{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:22px 0 30px}.lesson-hero h1{font-size:clamp(2rem,4.5vw,3.3rem);margin-bottom:12px}.lesson-hero p:not(.eyebrow){max-width:750px;color:#617083}.lesson-meta{min-width:180px;display:grid;gap:8px;justify-items:end;color:#667587;font-weight:700;font-size:.86rem}.section-label{display:inline-flex;padding:7px 10px;border-radius:7px;font-size:.72rem;font-weight:900;letter-spacing:.1em}.authority-label{background:#f7e5ae;color:#5d4712}.training-label{background:#dceaf7;color:#244f76}.authority-panel{padding:28px;border:2px solid #d4aa51;border-radius:20px;background:#fffdf7;box-shadow:0 10px 28px #382a080f}.authority-header{display:flex;justify-content:space-between;gap:18px;align-items:end;margin:22px 0 18px}.authority-header h2{margin-bottom:0;font-size:1.7rem}.source-link{color:#315e89;font-weight:800;white-space:nowrap}.authority-text{margin:0;padding:24px;overflow-x:auto;white-space:pre-wrap;font-family:Georgia,Times New Roman,serif;font-size:1.02rem;line-height:1.75;border:1px solid #eadbad;border-radius:12px;background:#fff;color:#282d33}.source-metadata{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 0}.source-metadata div{min-width:0}.source-metadata dt{font-size:.7rem;font-weight:850;letter-spacing:.08em;color:#7c6a3c;text-transform:uppercase}.source-metadata dd{margin:5px 0 0;font-size:.86rem;color:#5b6170}.audio-card{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:20px;align-items:center;margin-top:22px;padding:18px;border-radius:12px;background:#182b44;color:#fff}.audio-card p{margin:5px 0 0;color:#c9d4e0;font-size:.86rem}.audio-card audio{width:100%}.training-section{margin-top:34px}.training-warning{margin:14px 0 20px;padding:13px 15px;border-left:4px solid #4c7da8;border-radius:8px;background:#eef5fb;color:#3f5a72}.training-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.training-grid .card{padding:24px}.training-grid p:last-child{margin-bottom:0}.responsibility-block{margin-top:30px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.role-card{padding:20px;border:1px solid #dce4ec;border-radius:14px;background:#fff}.role-card h3{color:#244d74}.role-card p{margin-bottom:0;color:#5f6d7e}.scenario-card{margin-top:28px;padding:26px;border-radius:16px;background:#172a44;color:#fff}.scenario-card .eyebrow{color:#d9b365}.scenario-card p:last-child{color:#d5dfeb;margin-bottom:0}.assessment{margin-top:42px;padding-top:30px;border-top:1px solid #d9e0e7}.assessment>h2{margin-top:12px;font-size:1.8rem}.question-card{margin:14px 0;padding:22px;box-shadow:none}.question-card h3{line-height:1.45}.question-card.correct{border-color:#8acaa6}.question-card.incorrect{border-color:#e0a3a3}.choices{display:grid;gap:8px}.choices label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #dce2e8;border-radius:10px;background:#fafbfc;cursor:pointer}.choices label.selected{border-color:#4b729a;background:#edf4fa}.choices input{margin-top:3px}.answer-explanation{margin-top:14px;padding:12px 13px;border-radius:9px;background:#f0f4f8;color:#4d5d6e}.result-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;padding:18px 20px;border-radius:13px}.result-banner.passed{background:#e5f5eb;color:#205e3b}.result-banner.not-passed{background:#fff0e8;color:#814126}.result-banner div{display:flex;gap:12px;align-items:baseline}.result-banner strong{font-size:2rem}.result-banner p{margin:0}.error-card{padding:24px;margin-top:20px;border-color:#efb4b4}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-intro{padding:48px 28px 26px}.login-card{margin:20px 28px 48px}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(3,1fr)}.lesson-hero{align-items:start}.source-metadata{grid-template-columns:repeat(2,1fr)}.audio-card,.role-grid{grid-template-columns:1fr}}@media(max-width:680px){.topbar{height:auto;min-height:70px;padding:12px 16px}.topbar-user span,.brand-button small{display:none}.page{width:min(100% - 22px,1180px);padding-top:24px}.dashboard-hero{grid-template-columns:1fr;padding:28px 22px}.progress-ring{width:112px;height:112px}.dashboard-side{grid-template-columns:1fr}.lesson-card-footer,.lesson-card-top{align-items:flex-start;flex-direction:column}.lesson-card-footer .primary{width:100%}.lesson-hero{display:block}.lesson-meta{margin-top:14px;justify-items:start}.authority-panel{padding:18px}.authority-header{display:block}.source-link{display:inline-block;margin-top:12px}.source-metadata,.training-grid{grid-template-columns:1fr}.result-banner{align-items:flex-start;flex-direction:column}}
