:root{font-family:Inter,Arial,sans-serif;background:#f6f8fc;color:#17233d}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{width:246px;background:#14213a;color:#cfdaee;display:flex;flex-direction:column;padding:26px 14px}.brand{display:flex;align-items:center;gap:10px;color:#fff;padding:0 10px 36px;font-size:19px}.brand span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#477df5;font-size:12px}.eyebrow,.workspace{font-size:10px;font-weight:800;letter-spacing:.14em;margin:0;color:#8294b6}.sidebar nav{display:grid;grid-gap:5px;gap:5px}.sidebar nav button{color:#aebed7;background:transparent;border:0;border-radius:8px;text-align:left;padding:11px 12px;font-size:14px;cursor:pointer}.sidebar nav .active,.sidebar nav button:hover{background:#253653;color:#fff}.user{margin-top:auto;border-top:1px solid #2b3b57;padding:18px 9px 3px;display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;width:34px;height:34px;background:#f2bb76;border-radius:50%;color:#5d3512;font-size:12px;font-weight:700}.user small,.user strong{display:block;font-size:12px}.user small{color:#8fa1c0;margin-top:3px}.content{width:min(100%,1360px);padding:44px 55px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:flex-start}.topbar h1{font-size:30px;margin:8px 0}.muted,.topbar p{color:#73819a;margin:0;line-height:1.5}.notification{border:0;border-radius:50%;width:38px;height:38px;background:white;color:#e06672;box-shadow:0 2px 10px #13264710}.notice{margin:30px 0 23px;padding:15px 18px;border:1px solid #dce6fe;background:#eff4ff;border-radius:12px;display:flex;gap:12px;align-items:center}.notice span{font-size:22px;color:#477df5}.notice strong{font-size:13px}.notice p{margin:3px 0 0;font-size:12px;color:#60718e}.notice button{margin-left:auto;border:0;background:transparent;color:#326ce5;font-weight:700;cursor:pointer}.metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.metric,.panel{background:#fff;border:1px solid #e5eaf3;border-radius:14px;box-shadow:0 8px 24px #182c5510}.metric{padding:17px;border-top:3px solid #477df5}.metric.violet{border-color:#9673eb}.metric.green{border-color:#33ad82}.metric.orange{border-color:#e5a552}.metric p{font-size:12px;color:#70809b;margin:0}.metric h2{font-size:27px;margin:8px 0 4px}.metric small{font-size:11px;color:#5f8a77}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:16px;gap:16px;margin:17px 0}.panel{padding:21px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel h2{font-size:16px;margin:0 0 4px}.panel-head p{font-size:12px;color:#73819a;margin:0}.text-button{border:0;background:transparent;color:#4674d9;font-weight:700;cursor:pointer}.chart-area{height:245px;display:grid;grid-template-columns:27px 1fr;grid-template-rows:210px 25px;margin-top:20px}.y-labels{display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:#92a0b5}.chart-area svg{height:210px;width:100%;background:repeating-linear-gradient(180deg,#fff 0,#fff 51px,#eef2f8 52px)}.months{grid-column:2;display:flex;justify-content:space-between;color:#92a0b5;font-size:10px;padding-top:6px}.next{background:linear-gradient(150deg,#1f3670,#325bb1);color:#fff;display:flex;flex-direction:column;align-items:flex-start}.next .eyebrow{color:#b6c9ff}.next h2{font-size:21px;margin-top:35px}.next .muted{color:#cedbff}.progress{height:6px;width:100%;margin:auto 0 18px;background:#5c73a7;border-radius:5px}.progress span{display:block;background:#fff;width:57%;height:100%;border-radius:5px}.primary{background:#fff;color:#254b9a;border:0;border-radius:8px;width:100%;padding:11px;font-weight:800;cursor:pointer}.activity{margin-top:16px}.activity-list{margin-top:10px}.activity-row{display:grid;grid-template-columns:16px 1.6fr .7fr .8fr;align-items:center;padding:14px 0;border-top:1px solid #edf0f6;grid-gap:10px;gap:10px}.event-dot{width:8px;height:8px;background:#4d7df1;border-radius:50%}.activity-row b,.activity-row p,.activity-row strong,.activity-row time{font-size:12px}.activity-row p{color:#78869e;margin:3px 0 0}.activity-row b{color:#3a7b60}.activity-row time{color:#8a96a9;text-align:right}@media(max-width:850px){.sidebar{width:70px;padding:22px 8px}.brand strong,.sidebar nav button,.user div+div,.workspace{display:none}.brand{padding:0 10px 34px}.content{padding:28px 18px}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.activity-row{grid-template-columns:12px 1fr auto}.activity-row time{display:none}}@media(max-width:480px){.metrics{grid-template-columns:1fr}.notice button{display:none}.content{padding:20px 12px}}.workspace-shell{max-width:1120px;margin:0 auto;padding:44px 28px}.workspace-header{display:flex;justify-content:space-between;align-items:center}.back{display:inline-block;text-decoration:none;color:#3568d0;font-size:13px;margin-bottom:26px}.workspace-header h1{font-size:36px;margin:8px 0}.workspace-header p{color:#71809a;margin:0}.xp{padding:14px 18px;border-radius:12px;background:#17294d;color:white;font-size:22px;font-weight:800}.xp small{font-size:10px;color:#b9cced}.tabs{display:flex;gap:25px;border-bottom:1px solid #e0e6f0;margin:38px 0 22px}.tabs button{background:transparent;border:0;padding:0 3px 13px;color:#71809a;font-weight:700;cursor:pointer}.tabs .selected{color:#2e65dc;border-bottom:2px solid #2e65dc}.learning-layout{display:grid;grid-template-columns:340px 1fr;grid-gap:20px;gap:20px}.assessment,.exam-form,.exam-info,.lesson-detail,.lesson-list{background:#fff;border:1px solid #e3e9f3;border-radius:15px}.lesson-list{padding:20px}.lesson-detail h2,.lesson-list h2{margin:0;font-size:19px}.lesson-list>p{font-size:12px;color:#71809a}.lesson{width:100%;background:transparent;border:0;border-radius:9px;display:flex;gap:11px;text-align:left;padding:12px 8px;cursor:pointer;color:#17233d}.lesson:hover,.selected-lesson{background:#f1f5ff}.lesson small,.lesson strong{display:block}.lesson strong{font-size:12px}.lesson small{font-size:11px;color:#8290a7;margin-top:4px}.check{display:grid;place-items:center;flex:none;width:20px;height:20px;border:1px solid #b6c2d5;border-radius:50%;color:white;font-size:12px}.check.done{background:#35a77f;border-color:#35a77f}.lesson-detail{padding:29px}.lesson-copy{line-height:1.7;color:#71809a;max-width:620px}.video-placeholder{height:220px;margin:25px 0;border-radius:12px;background:linear-gradient(135deg,#233d78,#5a89d5);color:white;display:grid;place-content:center;text-align:center}.video-placeholder span{font-size:38px}.video-placeholder p{font-size:12px}.completion>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px}.progress{height:7px;background:#e8edf6;border-radius:10px}.progress i{display:block;height:100%;background:#3c75eb;border-radius:10px}.wide{width:100%;margin-top:24px}.assessment{display:grid;grid-template-columns:.9fr 1.5fr;overflow:hidden}.exam-info{border:0;border-radius:0;background:#213a72;color:white;padding:35px}.exam-info .eyebrow{color:#b4c9f8}.exam-info h2{font-size:25px}.exam-info p{color:#c7d4ee;line-height:1.6}.exam-form{border:0;border-radius:0;padding:30px}.exam-form fieldset{border:0;border-bottom:1px solid #ebeff5;margin:0 0 25px;padding:0 0 18px}.exam-form legend{font-weight:750;font-size:14px;margin-bottom:12px}.exam-form label{display:block;padding:9px 10px;margin:6px 0;border:1px solid #e1e7f0;border-radius:8px;font-size:13px;cursor:pointer}.exam-form input{margin-right:9px}.result{padding:14px;border-radius:9px}.passed{background:#e8f8f1;color:#176645}.failed{background:#fff1f1;color:#a23b44}@media(max-width:720px){.workspace-shell{padding:28px 17px}.assessment,.learning-layout{grid-template-columns:1fr}.workspace-header{align-items:flex-start}.xp{font-size:16px}.workspace-header h1{font-size:27px}}.monitor{max-width:1040px;margin:0 auto;padding:46px 28px}.monitor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.monitor-header h1{font-size:34px;margin:8px 0}.monitor-header>div>p{color:#71809a;margin:0}.live{border:1px solid #bde7d7;color:#217a5b;background:#effcf6;border-radius:30px;padding:9px 13px;font-size:12px;font-weight:800;text-transform:uppercase}.live i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#29b77f;margin-right:5px}.monitor-grid{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:16px;gap:16px;margin-bottom:16px}.monitor-card{background:#fff;border:1px solid #e2e8f2;border-radius:14px;padding:22px;margin-bottom:16px;box-shadow:0 7px 25px #1d31510b}.progress-card strong{font-size:45px}.active-card p,.progress-card p{font-size:13px;color:#6c7b94}.monitor-bar{height:9px;background:#e8edf6;border-radius:10px;margin:19px 0 9px}.monitor-bar span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#3a74eb,#7b65df)}.progress-card small{color:#8793a8;font-size:11px}.active-card h2{font-size:18px;line-height:1.4;margin:17px 0}.monitor-title{display:flex;justify-content:space-between;align-items:flex-start}.checks h2,.monitor-title h2{margin:5px 0 18px;font-size:19px}.poll{font-size:11px;color:#287f61}.stage-list{display:grid;grid-gap:2px;gap:2px}.stage{display:grid;grid-template-columns:80px 1fr;grid-gap:15px;gap:15px;padding:14px 0;border-top:1px solid #edf0f5}.state{height:max-content;border-radius:13px;padding:5px 8px;text-align:center;text-transform:capitalize;font-size:10px;font-weight:800}.state.complete{color:#177254;background:#e9f9f1}.state.blocked{color:#a26915;background:#fff5df}.state.queued{color:#64738c;background:#eef2f7}.stage strong{font-size:13px}.stage p{font-size:12px;color:#71809a;margin:4px 0 0}.checks>div{display:flex;align-items:center;gap:10px;border-top:1px solid #edf0f5;padding:11px 0;font-size:13px}.checks span{display:grid;place-items:center;color:#fff;background:#36aa7f;width:18px;height:18px;border-radius:50%;font-size:11px}.checks b{margin-left:auto;color:#288060;font-size:11px;text-transform:uppercase}.monitor-nav{color:#aebed7;text-decoration:none;border-radius:8px;padding:11px 12px;font-size:14px}.monitor-nav:hover{color:#fff;background:#253653}.error{color:#af3641}@media(max-width:720px){.monitor{padding:28px 17px}.monitor-grid,.monitor-header{display:block}.live{display:inline-block;margin-top:17px}}.auth-shell{display:grid;place-items:center;min-height:100vh}.auth-card{width:min(100%,430px);background:#fff;border:1px solid #e2e8f2;border-radius:14px;box-shadow:0 12px 35px #1d31511c}.auth-card h1{margin:8px 0}.auth-card form{display:grid;grid-gap:15px;gap:15px;margin-top:24px}.auth-card label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:700}.auth-card input{width:100%;padding:11px;border:1px solid #c7d1e2;border-radius:8px;font:inherit}.auth-card .primary,.workspace-shell .primary{background:#3974e7;color:#fff}.workspace-shell .primary:disabled{opacity:.5;cursor:not-allowed}.workspace-header>div:last-child{text-align:right}.exam-entry{padding:16px 0;border-bottom:1px solid #58709c}.exam-entry h2{font-size:18px}.exam-entry .primary{max-width:220px}.results-table{border-collapse:collapse;margin-top:20px;font-size:13px}.results-table td,.results-table th{padding:12px;border-bottom:1px solid #e7edf5;text-align:left}.results-table th{color:#596a85}.lesson-copy{white-space:pre-wrap}.state.partial{color:#8555a3;background:#f4eefd}.staff-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(380px,1.4fr);grid-gap:20px;gap:20px;align-items:start}.staff-item{border-bottom:1px solid #e4eaf3;padding:14px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.staff-item strong{width:100%;font-size:14px}.staff-item small{color:#6d7e99;margin-right:auto}.staff-workspace button:not(.primary):not(.text-button){cursor:pointer}.staff-form{display:grid;grid-gap:13px;gap:13px}.staff-form label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:650}.results-table input,.staff-form input,.staff-form select,.staff-form textarea{width:100%;padding:9px;border:1px solid #cbd5e5;border-radius:7px;font:inherit}.staff-form textarea{min-height:85px}.staff-form fieldset{border:1px solid #dce3ef;border-radius:10px;display:grid;grid-gap:10px;gap:10px}.staff-form .check-label{display:flex;align-items:center}.staff-form .check-label input{width:auto}.staff-form .primary{margin:0}.staff-workspace .results-table{min-width:700px}.staff-workspace section.lesson-detail{overflow-x:auto}@media(max-width:850px){.staff-grid{grid-template-columns:1fr}}:root,body,button,input,select,textarea{font-family:Prompt,Noto Sans Thai,sans-serif}:root{background:#f3f4f6}:root,body{color:#1e293b}body{background:#032d60}button,input,select,textarea{font-size:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #0176d3;outline-offset:2px}.workspace-shell{max-width:none;padding:24px 16px 40px;background:#f3f4f6;color:#1e293b;border-radius:24px}.workspace-header{gap:16px;flex-wrap:wrap;margin-bottom:18px}.workspace-header h1{color:#032d60;line-height:1.25}.workspace-header>div:first-child{text-align:left}.workspace-header p{color:#475569}.workspace-shell .primary{background:#0176d3;color:#fff;border-radius:12px;width:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;line-height:1.3}.auth-card .primary,.exam-form .primary,.workspace-shell .wide.primary{width:100%}.workspace-shell .primary:hover:not(:disabled){background:#014486}.workspace-shell .lesson-detail button:not(.primary):not(.text-button){background:#f8fafc;color:#032d60;border:1px solid #cbd5e1;border-radius:10px;padding:8px 14px;font-weight:700;cursor:pointer;margin-right:8px;margin-top:6px;transition:background-color .15s,border-color .15s}.workspace-shell .lesson-detail button:not(.primary):not(.text-button):hover:not(:disabled){background:#e0f2fe;border-color:#0176d3;color:#0176d3}.tabs{flex-wrap:wrap;gap:12px;margin:20px 0}.tabs .selected{color:#0176d3;border-bottom-color:#0176d3}.xp{background:#032d60;color:#fff}.assessment,.exam-form,.exam-info,.lesson-detail,.lesson-list{border-color:#cbd5e1}.workspace-shell .lesson-detail{background:#fff;color:#1e293b;margin-bottom:16px;overflow-x:auto;box-shadow:0 1px 3px rgba(3,45,96,.06)}.workspace-shell .lesson-detail label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:700;color:#032d60;margin-bottom:12px}.results-table input,.staff-form input,.staff-form select,.staff-form textarea,.workspace-shell .lesson-detail input:not([type=checkbox]):not([type=radio]),.workspace-shell .lesson-detail select,.workspace-shell .lesson-detail textarea{width:100%;padding:9px 12px;background:#f8fafc;color:#032d60;border:1px solid #cbd5e1;border-radius:12px;font:inherit}.staff-form input:focus,.staff-form select:focus,.staff-form textarea:focus,.workspace-shell .lesson-detail input:focus,.workspace-shell .lesson-detail select:focus,.workspace-shell .lesson-detail textarea:focus{background:#fff;border-color:#0176d3;outline:2px solid #0176d355}.workspace-shell .lesson-detail .exam-entry{border-bottom:1px solid #e2e8f0;padding:14px 0}.workspace-shell .lesson-detail .exam-entry:last-child{border-bottom:0}.results-table{width:100%;display:table;background:#fff;border-radius:12px}.results-table th{background:#f8fafc;color:#032d60;font-weight:800}.results-table td,.results-table th{border-color:#e2e8f0;color:#1e293b;vertical-align:middle}@media(max-width:800px){.workspace-shell{padding:18px 10px 36px;border-radius:16px}.workspace-header h1{font-size:24px}.results-table{min-width:650px}}