:root{font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;color:#193144;background:#f4f7f9;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #35b8b1;outline-offset:2px}button:disabled{opacity:.48;cursor:not-allowed}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#102b3f;color:#d4e1e8;padding:27px 15px 20px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:12px;padding:0 10px;color:#fff;font-size:20px;font-weight:800;letter-spacing:.04em}.brand-mark{width:38px;height:38px;border-radius:11px;background:#30b8ae;color:#0b2e3d;display:grid;place-items:center;font-size:20px;font-weight:900;flex:none}.brand small{display:block;font-size:11px;letter-spacing:.16em;font-weight:500;color:#8fb1c0;margin-top:2px}.side-caption{padding:0 13px;color:#6f96a9;font-size:12px;font-weight:700;letter-spacing:.14em;margin:4px 0 10px}.side-nav{display:grid;gap:4px}.nav-btn{border:0;background:transparent;color:#b7cbd5;text-align:left;width:100%;padding:12px 14px;border-radius:10px;display:flex;align-items:center;gap:12px;font-size:15px}.nav-btn:hover,.nav-btn.active{background:#1b4255;color:#fff}.nav-btn.active{box-shadow:inset 3px 0 #38c6bb}.nav-icon{width:22px;text-align:center;font-size:17px}.sidebar-bottom{margin-top:auto;padding:16px 10px 0;border-top:1px solid #275064;color:#a7bfca;font-size:13px;line-height:1.7}.sidebar-bottom a{color:#5ee0d2;font-weight:700}.main{min-width:0}.topbar{min-height:82px;background:#fff;border-bottom:1px solid #e3ebef;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(20px,3vw,44px)}.topbar h1{font-size:22px;margin:0;letter-spacing:-.025em}.topbar .eyebrow{font-size:12px;color:#6f8794;margin:0 0 4px;font-weight:700;letter-spacing:.08em}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.top-pill{background:#e7f6f4;color:#087e78;padding:8px 12px;border-radius:99px;font-size:13px;font-weight:700}.content{max-width:1500px;margin:auto;padding:32px clamp(20px,3vw,44px) 70px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.page-head h2{font-size:26px;line-height:1.2;margin:0 0 7px;color:#143248}.page-head p{color:#627e8c;margin:0;line-height:1.6}.btn{border:1px solid #cedde3;background:#fff;color:#244456;border-radius:9px;padding:10px 15px;min-height:42px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{border-color:#36bcb2;color:#087e78}.btn-primary{background:#0b877f;border-color:#0b877f;color:#fff}.btn-primary:hover{background:#076c66;border-color:#076c66;color:#fff}.btn-soft{background:#e9f7f5;border-color:#c8ebe7;color:#087e78}.btn-danger{color:#bc4750;border-color:#e9c8cb}.btn-danger:hover{color:#a6333e;border-color:#dbabb0}.btn-sm{padding:6px 10px;min-height:34px;font-size:13px}.btn-ghost{border:0;background:transparent;color:#587583}.btn-ghost:hover{background:#edf4f6}.icon-btn{width:36px;height:36px;display:grid;place-items:center;padding:0}.panel{background:#fff;border:1px solid #e3ebef;border-radius:15px;box-shadow:0 9px 30px rgba(14,49,66,.035)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:25px}.summary-card{padding:20px 21px;min-height:105px}.summary-card strong{font-size:30px;display:block;color:#183b4f;line-height:1.25}.summary-card span{font-size:13px;color:#708a97}.summary-card.accent{background:#103e50;color:#fff;border-color:#103e50}.summary-card.accent strong,.summary-card.accent span{color:#fff}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .field{max-width:230px}.field,input,select,textarea{width:100%}input,select,textarea{border:1px solid #cbdbe2;background:#fff;color:#18394b;border-radius:9px;padding:10px 12px;min-height:42px}textarea{min-height:92px;resize:vertical}.field-label{display:block;font-size:13px;color:#486777;font-weight:700;margin-bottom:7px}.field{display:block}.field-hint{display:block;color:#7b929e;font-size:12px;line-height:1.5;margin-top:5px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.data-table th{background:#f7f9fa;color:#6c8592;font-size:13px;font-weight:700;padding:14px 16px;border-bottom:1px solid #e5ecef}.data-table td{padding:16px;border-bottom:1px solid #edf1f3;font-size:14px}.data-table tr:last-child td{border-bottom:0}.data-table td.wrap{white-space:normal;min-width:220px}.data-table strong{color:#19384a}.data-table small{display:block;color:#8aa0aa;margin-top:4px}.row-actions{display:flex;gap:5px}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700;background:#eaf2f5;color:#49697a;white-space:nowrap}.badge.published,.badge.done{background:#e1f5ed;color:#197755}.badge.draft{background:#fff2d9;color:#9c6a18}.badge.inactive{background:#f2e9ec;color:#975367}.course-title{font-weight:800;color:#17394d}.course-sub{color:#73909e;font-size:13px;margin-top:4px}.course-swatch{width:38px;height:38px;border-radius:9px;display:inline-grid;place-items:center;background:#e4f3f3;color:#0b8981;font-weight:900;margin-right:10px;vertical-align:middle}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.list-panel{padding:21px}.list-panel h3,.section-title{font-size:18px;margin:0 0 15px;color:#17384c}.item-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #edf1f3}.item-row:first-of-type{border-top:0}.item-row strong{display:block;font-size:15px}.item-row small{color:#78919d;font-size:12px}.item-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:end}.tabs{display:flex;gap:5px;padding:4px;background:#eaf0f3;border-radius:10px;width:max-content;max-width:100%;overflow:auto;margin-bottom:19px}.tab{border:0;background:transparent;color:#647f8c;border-radius:7px;padding:9px 16px;font-size:14px;font-weight:700;white-space:nowrap}.tab.active{background:#fff;color:#0c8179;box-shadow:0 2px 7px rgba(16,50,68,.09)}.empty{padding:50px 25px;text-align:center;color:#748f9c}.empty-symbol{font-size:32px;display:block;margin-bottom:12px;color:#36b7ac}.empty strong{display:block;color:#29495b;font-size:17px;margin-bottom:6px}.empty p{margin:0 auto 16px;max-width:440px;line-height:1.6}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dealer-card,.stage-card,.category-card{padding:20px}.dealer-card header,.stage-card header,.category-card header{display:flex;justify-content:space-between;align-items:start;gap:10px}.dealer-card h3,.stage-card h3,.category-card h3{margin:0;font-size:17px}.dealer-card p,.stage-card p,.category-card p{margin:9px 0;color:#708995;font-size:13px;line-height:1.55}.tag-row{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.muted{color:#7c949f}.section-split{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}.section-split h3{margin:0;font-size:17px}.lesson-list{padding:0 20px}.lesson-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ecf0f2;padding:13px 0}.lesson-item:first-child{border-top:0}.lesson-num{width:30px;height:30px;border-radius:8px;background:#e7f4f2;color:#07887d;display:grid;place-items:center;font-weight:800;flex:none}.lesson-main{display:flex;align-items:center;gap:11px;min-width:0;flex:1}.lesson-main strong{font-size:14px}.lesson-main small{display:block;color:#8399a4;font-size:12px;margin-top:3px}.lesson-actions{display:flex;gap:5px}.detail-head{display:flex;align-items:center;gap:13px;margin-bottom:20px}.detail-head h2{margin:0;font-size:23px}.detail-head p{margin:4px 0 0;color:#78909e}.info-callout{background:#e9f7f5;border:1px solid #c7ebe5;color:#23746f;padding:13px 15px;border-radius:10px;line-height:1.6;font-size:14px;margin:16px 0}.warning-callout{background:#fff7e8;border:1px solid #f2dfbd;color:#855d1e;padding:13px 15px;border-radius:10px;line-height:1.6;font-size:14px;margin:16px 0}.settings-form{padding:24px;max-width:740px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.checks{display:flex;flex-wrap:wrap;gap:8px}.check-chip{display:flex;align-items:center;gap:7px;border:1px solid #d6e2e7;border-radius:8px;padding:9px 11px;font-size:14px}.check-chip input{width:auto;min-height:auto;accent-color:#0b877f}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #edf1f3}.switch-row:last-child{border-bottom:0}.switch-row strong{display:block;font-size:15px}.switch-row small{display:block;color:#78929e;font-size:13px;margin-top:4px}.switch-row input{width:20px;min-height:20px;accent-color:#0b877f}.modal-backdrop{position:fixed;inset:0;background:rgba(8,28,39,.55);z-index:50;display:grid;place-items:center;padding:20px}.modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.modal header{padding:20px 24px;border-bottom:1px solid #e7edef;display:flex;justify-content:space-between;align-items:center;gap:15px}.modal h2{margin:0;font-size:19px}.modal form{padding:22px 24px}.modal .form-grid{gap:14px}.modal footer{padding:16px 24px;border-top:1px solid #edf1f3;display:flex;justify-content:flex-end;gap:9px}.modal p{line-height:1.6;color:#637f8c}.modal .checks{max-height:180px;overflow:auto}.modal-close{border:0;background:#edf3f5;border-radius:8px;font-size:22px;width:34px;height:34px;line-height:1}.notice{font-size:13px;color:#6d8795;line-height:1.6}.learner{min-height:100vh;background:#f3f7f8}.learn-header{background:#102b3f;color:#fff;padding:0 clamp(20px,4vw,64px);min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.learn-header .brand{padding:0}.learn-header nav{display:flex;align-items:center;gap:18px;font-size:14px}.learn-header button{background:transparent;border:0;color:#b8d4dd;font-weight:700}.learn-header button:hover{color:#fff}.learn-main{max-width:1280px;margin:auto;padding:32px clamp(20px,4vw,42px) 70px}.welcome{background:#123c4f;border-radius:18px;color:#fff;padding:27px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative;overflow:hidden}.welcome:after{content:"";width:230px;height:230px;border:1px solid rgba(88,217,204,.3);border-radius:50%;position:absolute;right:-48px;top:-88px;box-shadow:0 0 0 38px rgba(88,217,204,.05),0 0 0 78px rgba(88,217,204,.035)}.welcome>*{position:relative;z-index:1}.welcome .eyebrow{color:#79d8d0;font-size:13px;font-weight:800;letter-spacing:.13em}.welcome h1{font-size:29px;margin:5px 0 7px}.welcome p{color:#bdd4dd;margin:0;font-size:14px}.welcome .big-progress{font-size:34px;font-weight:900;white-space:nowrap}.welcome .big-progress small{display:block;font-size:12px;color:#afd0d9;font-weight:600;text-align:right}.learn-section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:29px 0 15px}.learn-section-head h2{font-size:21px;margin:0}.learn-section-head p{margin:5px 0 0;color:#7a929f;font-size:14px}.map{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.map-step{border:1px solid #dce9eb;border-radius:13px;background:#fff;padding:19px;text-align:left;min-height:116px;position:relative}.map-step:hover{border-color:#38c5b9}.map-step.active{background:#e7f7f5;border-color:#3dbdb4}.map-step .step-num{font-size:12px;font-weight:900;color:#0b8d84}.map-step strong{display:block;font-size:17px;margin:8px 0 6px;color:#183d50}.map-step small{color:#768f9a}.map-step .mini-progress{margin-top:12px}.mini-progress{height:6px;border-radius:99px;background:#e4edef;overflow:hidden}.mini-progress span{height:100%;background:#35bcb2;display:block;border-radius:99px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.learn-course{background:#fff;border:1px solid #e0e9ec;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.course-art{height:112px;background:linear-gradient(135deg,#116074,#173b58);color:#d6fff7;padding:18px;display:flex;align-items:end;justify-content:space-between}.course-art span{font-size:34px;font-weight:900;opacity:.2;line-height:1}.course-art small{font-size:12px;font-weight:800;letter-spacing:.1em}.learn-course:nth-child(3n+2) .course-art{background:linear-gradient(135deg,#13796d,#154b62)}.learn-course:nth-child(3n+3) .course-art{background:linear-gradient(135deg,#294d78,#453d70)}.course-body{padding:19px;display:flex;flex-direction:column;flex:1}.course-body h3{font-size:18px;line-height:1.45;margin:8px 0}.course-body p{color:#73909d;font-size:13px;line-height:1.6;margin:0 0 17px;flex:1}.course-body .meta{display:flex;justify-content:space-between;color:#78919d;font-size:13px;margin-bottom:11px}.course-body .btn{margin-top:16px}.login-wrap{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);padding:32px}.login-card .brand-mark{margin-bottom:20px}.login-card h1{margin:0 0 9px;font-size:27px}.login-card p{color:#6d8996;line-height:1.6;margin:0 0 25px}.login-card .btn{width:100%;margin-top:17px}.demo-box{margin-top:25px;background:#f2f7f8;border-radius:10px;padding:15px;font-size:13px;color:#6a8795;line-height:1.7}.demo-box strong{display:block;color:#294c5f}.learner-back{display:inline-flex;align-items:center;gap:8px;color:#408078;font-size:14px;font-weight:800;margin-bottom:18px}.player-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,.75fr);gap:19px}.player-panel{overflow:hidden}.video-shell{background:#0a1823;aspect-ratio:16/9;position:relative;display:grid;place-items:center;overflow:hidden}.video-shell video{width:100%;height:100%;display:block}.video-empty{text-align:center;color:#a9c2ce;padding:25px}.video-empty .play-glyph{width:64px;height:64px;border:1px solid #688796;color:#d3f0ec;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;font-size:24px}.video-empty strong{display:block;color:#e8f2f4;margin-bottom:5px}.watermark{position:absolute;right:16px;top:14px;background:rgba(7,25,34,.42);color:rgba(255,255,255,.66);font-size:12px;padding:6px 8px;border-radius:5px;pointer-events:none;z-index:2}.player-info{padding:22px}.player-info h1{font-size:23px;margin:5px 0 8px}.player-info p{color:#718b99;line-height:1.6;margin:0}.playlist{padding:19px}.playlist h2{font-size:17px;margin:0 0 13px}.play-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid #edf1f2;padding:14px 4px;color:#244357}.play-item.active{color:#07857c}.play-item .lesson-num{flex:none}.play-item strong{display:block;font-size:14px}.play-item small{display:block;margin-top:4px;color:#8aa0a9;font-size:12px}.play-item .check{margin-left:auto;color:#149e7d;font-size:18px}.course-detail-stats{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.course-detail-stats .badge{font-size:13px}.learn-footer{color:#8aa0aa;font-size:12px;text-align:center;padding:10px 20px 25px}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:#193a4a;color:#fff;border-radius:9px;padding:11px 17px;z-index:80;opacity:0;pointer-events:none;transition:.25s;max-width:min(500px,calc(100vw - 30px));text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-menu{display:none}.admin-student-link{white-space:nowrap}@media(max-width:1050px){.summary-grid,.card-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.brand{font-size:17px}}@media(max-width:760px){.app-shell{display:block}.sidebar{padding:13px 16px;gap:10px}.sidebar .brand{font-size:18px}.sidebar .brand small,.side-caption,.sidebar-bottom{display:none}.side-nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:2px}.nav-btn{width:auto;white-space:nowrap;padding:9px 11px;font-size:13px}.nav-icon{display:none}.topbar{min-height:70px;padding:14px 18px}.topbar h1{font-size:19px}.top-pill{display:none}.content{padding:21px 16px 45px}.page-head{align-items:start}.page-head h2{font-size:22px}.page-head p{font-size:13px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary-card{padding:16px;min-height:89px}.summary-card strong{font-size:24px}.grid-2,.player-layout{grid-template-columns:1fr}.card-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-header{padding:14px 17px;min-height:70px}.learn-header .brand{font-size:17px}.learn-header .brand small{display:none}.learn-header nav{gap:8px;font-size:12px}.learn-main{padding:20px 16px 45px}.welcome{padding:23px 21px}.welcome h1{font-size:23px}.welcome .big-progress{font-size:26px}.map{grid-template-columns:repeat(2,minmax(0,1fr))}.player-layout{gap:13px}}@media(max-width:520px){.top-actions .btn{font-size:12px;padding:8px 10px;min-height:36px}.topbar .eyebrow{display:none}.page-head{flex-direction:column;gap:12px}.page-head .btn{width:100%}.card-grid,.course-grid,.map{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.list-panel{padding:17px}.item-row{align-items:flex-start;flex-direction:column}.item-actions{justify-content:start}.welcome{display:block}.welcome .big-progress{margin-top:15px;display:inline-block}.welcome .big-progress small{text-align:left}.course-art{height:90px}.modal-backdrop{padding:9px}.modal{max-height:calc(100vh - 18px)}.modal header,.modal form,.modal footer{padding-left:17px;padding-right:17px}.learn-header nav .admin-student-link{display:none}}
@media(max-width:520px){.learn-header nav span{display:none}}
