:root{--ink: #122033;--muted: #5c6b7e;--line: #d5e0ea;--bg: #eef3f8;--card: #ffffff;--brand: #0f4c5c;--brand-2: #1b6b7a;--accent: #c2410c;--good: #166534;--good-bg: #dcfce7;--bad: #991b1b;--bad-bg: #fee2e2;--warn-bg: #ffedd5;--shadow: 0 10px 30px rgba(18, 32, 51, .06);font-family:Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:var(--brand)}.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-wrap{width:min(440px,100%)}.brand-mark{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-mark span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800}.app-header{background:var(--brand);color:#fff;padding:14px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.app-header a{color:#fff;text-decoration:none}.brand-link{font-weight:800;letter-spacing:.02em}.who{color:#d5e7ec;font-size:14px}.nav{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav a,.text-btn,.btn,.btn-primary,.btn-good,.btn-bad,.btn-ghost{border:1px solid transparent;border-radius:999px;padding:8px 14px;text-decoration:none;cursor:pointer;background:transparent;color:var(--ink)}.nav a.active,.nav a:hover{background:#e6f2f4;color:var(--brand)}.page{width:min(1100px,calc(100% - 32px));margin:20px auto 48px}.page h1{margin:0 0 6px;font-size:28px}.lede{color:var(--muted);margin:0 0 18px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.narrow{width:min(480px,100%)}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stack{display:grid;gap:12px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.split{display:flex;justify-content:space-between;gap:12px;align-items:center}label{display:grid;gap:6px;font-size:14px;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink)}textarea{min-height:90px;resize:vertical}.btn-primary,.btn-good,.btn-bad{color:#fff}.btn-primary{background:var(--brand)}.btn-good{background:var(--good)}.btn-bad{background:var(--bad)}.btn-ghost,.text-btn{border-color:var(--line);background:#fff}.btn:disabled,.btn-primary:disabled,.btn-good:disabled,.btn-bad:disabled{opacity:.55;cursor:not-allowed}.stat{font-size:28px;font-weight:800;margin:4px 0}.muted{color:var(--muted)}.error{background:var(--bad-bg);color:var(--bad);border-radius:10px;padding:10px 12px}.ok{background:var(--good-bg);color:var(--good);border-radius:10px;padding:10px 12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#1220338c;display:grid;place-items:center;padding:24px}.modal{width:min(420px,100%);background:#fff;border-radius:16px;padding:22px;box-shadow:0 20px 50px #12203340}.modal h2{margin:0}.score-lg{margin:0;font-size:48px;font-weight:800;line-height:1}.score-lg.pass{color:var(--good)}.score-lg.fail{color:var(--bad)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;background:#e8eef5}.badge.pass{background:var(--good-bg);color:var(--good)}.badge.fail{background:var(--bad-bg);color:var(--bad)}.badge.warn{background:var(--warn-bg);color:#9a3412}.badge.safety{background:#fee2e2;color:var(--bad)}.list-btn,.person{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;cursor:pointer}.person{cursor:default;display:grid;gap:10px}.person-select{width:100%;text-align:left;border:0;background:transparent;padding:0;cursor:pointer;color:inherit}.list-btn.active,.person.active{border-color:var(--brand);background:#e6f2f4;color:var(--brand);font-weight:700}.question-card{border-left:4px solid var(--brand);scroll-margin-top:84px}.question-card.correct{border-left-color:var(--good)}.question-card.correct .question-num{background:var(--good)}.question-card.missed{border-left-color:var(--bad);background:#fff8f8}.question-card.missed .question-num{background:var(--bad)}.question-card.missed .list-btn.active{border-color:var(--bad);background:var(--bad-bg);color:var(--bad)}.missed-label,.correct-label{margin-top:4px;font-size:13px;font-weight:700}.missed-label{color:var(--bad)}.correct-label{color:var(--good)}.missed-jumps{display:flex;flex-wrap:wrap;gap:8px}.modal .missed-jumps button{width:auto}.question-head{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}.question-head strong{min-width:0;line-height:1.4}.question-num{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800}.progress{height:8px;background:#e5edf3;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand-2)}.progress.complete>span{background:var(--good)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-grid .stat{font-size:26px}.progress-lesson{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:6px}.progress-lesson .split{align-items:flex-start;flex-wrap:wrap}.progress-lesson .split strong{min-width:0}.task-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.instructions{white-space:pre-wrap;color:#334155;line-height:1.45}.item-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.choice{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.choice.rank{justify-content:flex-start;margin-top:6px}.choice button{min-width:46px}.choice button.on-good{background:var(--good);color:#fff;border-color:var(--good)}.choice button.on-bad{background:var(--bad);color:#fff;border-color:var(--bad)}.choice button.on-skip{background:#9a3412;color:#fff;border-color:#9a3412}.choice button.on-skill{background:var(--brand);color:#fff;border-color:var(--brand)}.item-block{border-top:1px solid var(--line);padding:10px 0}.item-block .item-row{border-top:0;padding:0}.video-mount{position:relative;width:100%;aspect-ratio:16 / 9;background:#111;border-radius:12px;overflow:hidden}.video-host,.video-mount iframe,.video-mount video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;display:block}.video-error{position:absolute;left:12px;right:12px;bottom:12px;margin:0;color:#fff;background:#000000b8;padding:8px 10px;border-radius:8px}.video-frame,.pdf-frame{width:100%;aspect-ratio:16 / 9;border:0;border-radius:12px;background:#000}.pdf-frame{aspect-ratio:auto;height:480px;background:#fff}.html-body{line-height:1.5}.html-body img{max-width:100%;height:auto}.flashcard{min-height:180px;border-radius:16px;border:1px solid var(--line);display:grid;place-items:center;padding:20px;text-align:center;background:#f8fbfc;cursor:pointer}.lesson-layout{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}.lesson-outline{position:sticky;top:58px}.lesson-outline summary{display:none}.outline-list{display:grid;gap:2px;max-height:calc(100vh - 96px);overflow:auto;position:relative}.outline-list a{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;padding:8px;border-radius:10px;text-decoration:none;color:var(--ink);line-height:1.35}.outline-list a span{color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}.outline-list a.current{background:#e6f2f4;color:var(--brand);font-weight:700}.outline-list a.current span{color:var(--brand)}.outline-list .outline-locked{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;padding:8px;border-radius:10px;color:var(--muted)}.modal .row{display:grid;grid-template-columns:1fr}.modal a,.modal button{width:100%;text-align:center}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}.company-select{background:transparent;color:#fff;border-color:#ffffff59}.company-select option{color:var(--ink)}.practical-sheet{gap:16px}.task-jump{display:grid;gap:8px}.task-pills{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.task-pills button{width:36px;height:36px;flex:0 0 auto;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:800;cursor:pointer;color:var(--ink)}.task-pills button.done{background:var(--good-bg);color:var(--good);border-color:#86efac}.task-pills button.current{background:var(--brand);color:#fff;border-color:var(--brand)}.task-pills button.person-pill{width:auto;padding:0 12px}.practical-task{border-top:4px solid var(--brand);scroll-margin-top:72px}.practical-task .instructions{margin:0;background:#f4f8fa;border-radius:12px;padding:12px 14px}.practical-sheet .item-block{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fbfcfd}.practical-sheet .item-name{line-height:1.4;font-weight:650}.practical-sheet .item-block.scored-good{border-color:#86efac;background:#f0fdf4}.practical-sheet .item-block.scored-bad{border-color:#fca5a5;background:#fff7f7}.practical-sheet .item-block.scored-skip{border-color:#fdba74;background:#fff7ed}.practical-sheet .choice button{border-radius:10px}.skill-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;background:#f4f8fa;border-radius:14px;padding:12px 14px}.skill-row .choice.rank{margin:0}.skill-row .choice button,.trait-card .choice button{width:42px;height:42px;border-radius:12px;font-weight:800}.score-chip{font-weight:800;color:var(--muted)}.score-chip.pass{color:var(--good)}.score-chip.fail{color:var(--bad)}.person-sheet>.muted,.person-sheet p.muted{margin:4px 0 0}.trait-card textarea{min-height:68px}.trait-card.concern{background:#fffaf5}.trait-card.scored-skill{border-color:#7dd3c7}.trait-card.concern.scored-skill{border-color:#fdba74}.finish-sheet .confirm{display:flex;gap:10px;align-items:flex-start;font-weight:650}.finish-sheet .confirm input{width:auto;margin-top:3px}.photo-capture{display:grid;place-items:center;min-height:72px;border:2px dashed var(--brand);border-radius:14px;background:#f4f8fa;color:var(--brand);font-weight:800;cursor:pointer}.photo-capture input{display:none}.observation-photo{width:100%;max-height:320px;object-fit:cover;border-radius:12px;background:#111}.result-detail{margin-top:10px}.result-section{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.result-item{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:8px 10px;border-radius:10px;background:#f8fafc}.result-item .muted{grid-column:1 / -1}.result-item.good{background:#f0fdf4}.result-item.bad{background:#fff7f7}.result-item.skip{background:#fff7ed}@media(max-width:720px){.item-row{grid-template-columns:1fr}.page h1{font-size:24px;text-wrap:balance}.lesson-layout{grid-template-columns:1fr}.lesson-outline{position:static;padding:0}.lesson-outline summary{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:14px 16px;min-height:64px;cursor:pointer;list-style:none}.lesson-outline summary::-webkit-details-marker{display:none}.lesson-outline summary strong{grid-column:1 / -1;font-size:16px;line-height:1.3}.outline-chevron{width:9px;height:9px;margin-top:-4px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg);justify-self:end}.lesson-outline details[open] summary{border-bottom:1px solid var(--line)}.lesson-outline details[open] .outline-chevron{margin-top:4px;transform:rotate(-135deg)}.outline-list{max-height:min(52vh,380px);padding:6px 8px 10px}.outline-list a,.outline-list .outline-locked{padding:12px 8px}}
