:root{--ink:#17212f;--muted:#647286;--navy:#183153;--blue:#2767c5;--teal:#0c8b83;--gold:#e2a72e;--paper:#f5f7fa;--white:#fff;--line:#dfe5ec;--danger:#a33131;--shadow:0 16px 44px rgba(23,33,47,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#f8fafc 0,#eef3f8 100%);line-height:1.55}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.13;margin:.25em 0 .5em}h1{font-size:clamp(2rem,4vw,3.7rem)}h2{font-size:1.5rem}p{margin:.4rem 0 1rem}.topbar{height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1220px)/2));gap:2rem;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:.65rem;color:var(--navy);font-weight:800;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--navy);color:white;border-radius:9px;font-family:Georgia,serif;font-size:1.25rem}.nav-links{display:flex;align-items:center;gap:1.25rem;margin-left:auto}.nav-links a,.link-button{font:inherit;font-weight:650;color:#3c4a5f;background:none;border:0;padding:0;cursor:pointer}.nav-links form{margin:0}.nav-toggle{display:none;margin-left:auto;background:none;border:0;font-size:1.4rem}.page-shell{max-width:1220px;margin:0 auto;padding:42px 24px 80px;min-height:calc(100vh - 140px)}footer{border-top:1px solid var(--line);max-width:1220px;margin:auto;padding:24px;display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}.hero{display:grid;grid-template-columns:1.5fr .8fr;gap:64px;align-items:center;min-height:510px}.hero h1{font-size:clamp(2.8rem,6vw,5.5rem);letter-spacing:-.045em;max-width:850px}.lead{font-size:1.23rem;color:var(--muted);max-width:750px}.eyebrow{font-size:.77rem;font-weight:900;letter-spacing:.15em;color:var(--teal)}.hero-panel{background:var(--navy);color:white;padding:28px;border-radius:22px;box-shadow:var(--shadow);transform:rotate(1.4deg)}.metric{padding:22px;border-bottom:1px solid rgba(255,255,255,.16)}.metric:last-child{border:0}.metric strong,.metric span{display:block}.metric strong{font-family:Georgia,serif;font-size:1.7rem}.metric span{color:#cbd9ea}.feature-grid,.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 5px 20px rgba(23,33,47,.045)}.icon{font-size:2rem;color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white!important;border:1px solid var(--blue);border-radius:9px;padding:.75rem 1.05rem;font:inherit;font-weight:750;cursor:pointer;text-decoration:none!important}.button:hover{filter:brightness(.94)}.button.secondary{background:white;color:var(--blue)!important}.button.ghost{background:transparent;color:var(--ink)!important;border-color:var(--line)}.button.small{padding:.5rem .75rem;font-size:.9rem}.button.full{width:100%}.actions,.row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:34px}.page-heading h1{margin-top:.15rem}.page-heading>div:first-child{max-width:800px}.tag{display:inline-block;color:var(--teal);font-size:.69rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.4rem}.muted,.hint,small{color:var(--muted)}small{display:block}.progress{height:8px;border-radius:20px;background:#e7ebf0;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,var(--teal),#53b8aa)}.course-card{display:flex;flex-direction:column;min-height:230px}.course-card .card-footer{margin-top:auto}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px}.list{display:grid;gap:9px}.list-row,.lesson-row{display:flex;align-items:center;justify-content:space-between;gap:18px;background:white;border:1px solid var(--line);border-radius:12px;padding:16px 18px}.list-row>span:first-child,.lesson-row>span:nth-child(2){flex:1}.list-row strong,.lesson-row strong{display:block}.lesson-row:hover{text-decoration:none;border-color:#aebfd2;transform:translateY(-1px)}.module{margin-bottom:22px}.module-heading{display:flex;justify-content:space-between;align-items:flex-start}.module .lesson-row{box-shadow:none;margin-top:8px}.course-outline{display:grid;gap:20px}.completion{width:28px;height:28px;border:2px solid #b9c4d1;border-radius:50%;display:grid;place-items:center;color:white;flex:0 0 auto}.completion.done{background:var(--teal);border-color:var(--teal)}.content-icon{display:grid;place-items:center;width:34px;height:34px;background:#e9f1fb;color:var(--blue);border-radius:8px;font-weight:800}.score-ring,.timer{min-width:120px;aspect-ratio:1;border:8px solid #d9ece9;border-top-color:var(--teal);border-radius:50%;display:grid;place-content:center;text-align:center}.score-ring strong,.timer strong{font-size:1.5rem}.score-ring span,.timer span{font-size:.72rem;color:var(--muted)}.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.studio-layout aside{display:grid;align-content:start;gap:18px}.form-card{display:grid;gap:10px;max-width:520px;margin:auto}.form-card.wide{max-width:850px}label{font-weight:720;font-size:.91rem}input,textarea,select{width:100%;border:1px solid #cbd4df;border-radius:8px;background:#fff;padding:.72rem .8rem;font:inherit;color:var(--ink);margin-top:4px}input:focus,textarea:focus,select:focus{outline:3px solid rgba(39,103,197,.16);border-color:var(--blue)}input[type=checkbox],input[type=radio],input[type=color]{width:auto}.check,.answer{display:flex;align-items:center;gap:9px;font-weight:550}.check input,.answer input{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.validation{color:var(--danger)}.auth-shell{min-height:65vh;display:grid;place-items:center}.empty-state{text-align:center;padding:46px;border:1px dashed #b8c5d4;border-radius:16px;color:var(--muted)}.alert{padding:14px 18px;border-radius:10px;margin-bottom:20px}.alert.error{background:#fdeaea;color:#7a2525}.alert.success{background:#e1f4ec;color:#155b43}.lesson-content{max-width:980px;margin:auto}.lesson-content video,.live-lesson video{width:100%;max-height:70vh;background:#111;border-radius:10px}.video-frame{position:relative;padding-top:56.25%;overflow:hidden;border-radius:10px;background:#111}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.rich-text{font-size:1.08rem}.lesson-complete{text-align:right;max-width:980px;margin:18px auto}.question{margin-bottom:18px}.question legend{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;padding:0 8px}.question .answer{padding:10px;border-radius:8px}.question .answer:hover{background:#f1f5f9}.result-card{max-width:620px;margin:80px auto;text-align:center;padding:50px;background:white;border-radius:22px;border-top:10px solid var(--danger);box-shadow:var(--shadow)}.result-card.passed{border-top-color:var(--teal)}.result-card>strong{display:block;font:700 5rem Georgia;color:var(--navy)}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;background:#aaa}.status-dot.active{background:#28a578}.danger{color:var(--danger)!important}.live-dot{display:inline-block;width:10px;height:10px;background:#e13c3c;border-radius:50%;box-shadow:0 0 0 5px rgba(225,60,60,.14);margin-right:10px}.classroom{max-width:1550px;margin:-20px calc((1220px - min(1550px,100vw - 24px))/2) 0}.classroom-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.classroom-header>div{display:flex;align-items:center;gap:10px}.classroom-header small{display:inline}.classroom-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.stage{padding:14px}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:12px}.video-grid video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#111;border-radius:9px}.stage-tabs{display:grid;grid-template-columns:auto auto 1fr}.stage-tabs>input{display:none}.stage-tabs>label{padding:9px 16px;background:#edf1f5;cursor:pointer}.stage-tabs>input:checked+label{background:var(--navy);color:white}.material-panel,.board-panel{grid-column:1/-1;display:none;border:1px solid var(--line);min-height:420px;background:white}.stage-tabs #tab-material:checked~.material-panel,.stage-tabs #tab-board:checked~.board-panel{display:block}.lesson-frame{padding:20px;min-height:420px}.board-panel{position:relative}.board-toolbar{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--line)}#whiteboard{display:block;width:100%;height:420px;touch-action:none;background-image:radial-gradient(#d9e0e8 1px,transparent 1px);background-size:20px 20px}.classroom-sidebar{display:grid;gap:12px;align-content:start}.classroom-sidebar .card{padding:16px}.people-list{list-style:none;padding:0;margin:0;max-height:140px;overflow:auto}.people-list li{padding:6px;border-bottom:1px solid var(--line)}.lesson-picker{display:grid;gap:4px;max-height:220px;overflow:auto}.lesson-picker strong{margin-top:8px}.lesson-picker button{text-align:left;border:0;background:#eef3f8;border-radius:6px;padding:7px;cursor:pointer}.chat-log{height:200px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fafbfd}.chat-row{padding:5px;border-bottom:1px solid #edf0f3}.chat form{display:flex;gap:6px;margin-top:8px}.chat form input{margin:0}.live-lesson h2{margin-top:0}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:24px}.hero-panel{transform:none}.feature-grid,.card-grid{grid-template-columns:1fr 1fr}.studio-layout,.classroom-grid{grid-template-columns:1fr}.classroom{margin:0}.classroom-sidebar{grid-template-columns:1fr 1fr}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:71px;left:0;right:0;background:white;padding:18px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}}
@media(max-width:620px){.page-shell{padding:26px 14px 60px}.feature-grid,.card-grid,.form-grid,.classroom-sidebar{grid-template-columns:1fr}.page-heading,.classroom-header{display:grid}.hero{min-height:auto}.hero h1{font-size:2.8rem}.list-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.topbar{padding:0 14px}.brand span:last-child{display:none}footer{display:grid;gap:4px}.score-ring{display:none}.classroom-header>div{flex-wrap:wrap}.video-grid{grid-template-columns:1fr}.stage-tabs{grid-template-columns:1fr 1fr}.stage{padding:8px}}
.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eef3f8;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.classroom{width:min(1550px,calc(100vw - 24px));position:relative;left:50%;transform:translateX(-50%);margin-top:-20px}
@media(max-width:900px){.classroom{width:auto;left:auto;transform:none;margin-top:0}}
.inactive-row{opacity:.64;background:#f1f3f5!important}.danger-button{background:var(--danger);border-color:var(--danger);margin-top:10px}.audio-player,.document-viewer,.image-viewer{display:grid;gap:12px}.audio-player audio{display:block;width:100%}.pdf-frame,.presentation-frame,.document-frame{display:block;width:100%;height:72vh;min-height:520px;border:1px solid var(--line);border-radius:10px;background:#eef1f5}.lesson-image{display:block;max-width:100%;width:auto;height:auto;max-height:75vh;object-fit:contain;margin:0 auto;border:1px solid var(--line);border-radius:10px;background:#f8fafc}@media(max-width:620px){.pdf-frame,.presentation-frame,.document-frame{height:65vh;min-height:420px}.lesson-image{max-height:65vh}}
.topbar{height:auto;min-height:72px;padding-top:8px;padding-bottom:8px}.brand-mark{display:none}.brand-logo{display:block;width:50px;height:50px;object-fit:contain;border-radius:8px;background:white}.logo-preview{display:grid;place-items:center;min-height:190px;padding:22px;border:1px dashed #b8c5d4;border-radius:14px;background:#f8fafc}.logo-preview img{display:block;max-width:100%;width:auto;height:auto;max-height:180px;object-fit:contain}.company-list-identity{display:flex!important;align-items:center;gap:14px}.company-list-logo{display:block;width:56px;height:56px;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:white;flex:0 0 auto}@media(max-width:620px){.brand-logo{width:44px;height:44px}.company-list-identity{align-items:flex-start}.logo-preview{min-height:150px}.logo-preview img{max-height:140px}}
.analytics-filter{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(220px,1.4fr) auto;gap:14px;align-items:end;margin-bottom:20px}.analytics-filter .button{min-height:48px}.report-context{color:var(--muted);margin:0 0 18px}.analytics-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:26px}.analytics-metrics .card{padding:18px}.analytics-metrics span,.analytics-metrics strong{display:block}.analytics-metrics span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.analytics-metrics strong{font:700 2rem Georgia;color:var(--navy);margin:.15rem 0}.report-section{margin:0 0 16px}.report-section>summary{cursor:pointer;list-style:none;background:var(--navy);color:white;border-radius:12px;padding:14px 18px;font-weight:800}.report-section>summary::-webkit-details-marker{display:none}.report-section>summary:before{content:'+';display:inline-block;width:24px}.report-section[open]>summary:before{content:'−'}.report-section>summary span{float:right;font-weight:500;color:#cbd9ea}.report-section[open]>summary{border-radius:12px 12px 0 0}.report-section .table-wrap{border-radius:0 0 14px 14px}.report-section td,.report-section th{white-space:nowrap}.report-section td:nth-child(2),.report-section td:nth-child(3),.report-section td:nth-child(4){white-space:normal;min-width:140px}.analytics-note{margin-top:24px}@media(max-width:900px){.analytics-filter{grid-template-columns:1fr 1fr}.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.analytics-filter,.analytics-metrics{grid-template-columns:1fr}.report-section>summary span{float:none;margin-left:8px}}
