:root{--orange:#e8751a;--orange-dark:#cd5d09;--ink:#222;--muted:#828282;--line:#e6e6e6;--soft:#f7f7f7;--cream:#faf5f0;--peach:#ffe8e0;--white:#fff;--green:#28c840;--shadow:0 10px 32px rgba(34,34,34,.07)}
.recipient-section{grid-column:1/-1}.recipient-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.learning-form .recipient-columns fieldset{grid-column:auto}.recipient-columns label{display:flex;align-items:flex-start;gap:10px;padding:10px;border-bottom:1px solid #eee}.recipient-columns input[type=checkbox]{width:18px;min-width:18px;margin:0}.recipient-columns small{display:block;font-size:11px;font-weight:400;color:#68766f;margin-top:5px}.recipient-section[hidden]{display:none}@media(max-width:650px){.recipient-columns{grid-template-columns:1fr}}
.learning-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.learning-form label{display:grid;gap:8px;font-size:13px;font-weight:600}.learning-form input,.learning-form select,.learning-form textarea{width:100%;min-width:0;padding:12px;border:1px solid #dce3e0;border-radius:8px;background:#fff}.learning-form textarea{min-height:90px}.learning-form fieldset,.learning-form>p{grid-column:1/-1}.learning-form fieldset{display:grid;gap:12px;border:1px solid #dce3e0;border-radius:12px;padding:18px}.learning-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin:24px 0}.learning-cards h2{font-size:18px;overflow-wrap:anywhere}.learning-cards p{font-size:13px;line-height:1.6}.learning-test-row{padding:18px 0;border-bottom:1px solid #e8ecea;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.learning-test-row p{flex-basis:100%;margin:0}.learning-dialog{width:min(820px,94vw);max-height:90vh;overflow:auto;border:1px solid #dce3e0;border-radius:16px;padding:28px}.learning-dialog::backdrop{background:#14251a99}.learning-dialog img,.learning-dialog video{display:block;max-width:100%;max-height:440px;margin:16px auto}.learning-dialog iframe{width:100%;height:460px;border:1px solid #ddd}.learning-dialog label{display:block;margin:14px 0}.learning-dialog fieldset{margin:18px 0;border:1px solid #ddd;border-radius:10px;padding:16px}.learning-dialog>button{float:right}.learning-dialog input{margin-right:10px}.learning-dialog h2{padding-right:60px}.learning-dialog p{line-height:1.7}.learning-dialog .primary{margin-top:16px}.learning-dialog .icon{width:20px;height:20px}@media(max-width:650px){.learning-form{grid-template-columns:1fr}.learning-dialog{padding:18px}.learning-test-row button{padding:10px;font-size:12px}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}button,input,select{font:inherit}button{cursor:pointer}a{cursor:pointer}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:100%;height:100%;object-fit:contain}.site-header{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(32px,calc((100vw - 1280px)/2));gap:46px;position:sticky;top:0;z-index:50}.brand{border:0;background:transparent;padding:0;width:155px;height:72px;display:flex;align-items:center}.brand img{width:100%;height:100%;object-fit:contain}.main-nav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.main-nav button{border:0;background:transparent;color:var(--ink);font-weight:600;font-size:14px;padding:12px 0;white-space:nowrap;position:relative}.main-nav button.active,.main-nav button:hover{color:var(--orange)}.main-nav button.active:after{content:'';position:absolute;width:16px;height:3px;background:var(--orange);border-radius:3px;bottom:2px;left:50%;transform:translateX(-50%)}.user-actions{display:flex;align-items:center;gap:16px}.round-button{width:40px;height:40px;border:0;border-radius:50%;background:var(--soft);padding:10px;position:relative}.notify-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--orange);right:4px;top:4px;border:2px solid #fff}.profile-button{border:0;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;padding:0}.profile-button img{width:40px;height:40px;border-radius:50%;object-fit:cover}.profile-button span{display:flex;flex-direction:column}.profile-button b{font-size:13px}.profile-button small{font-size:10px;color:var(--muted);margin-top:3px}.menu-button{display:none;border:0;background:var(--soft);border-radius:8px;font-size:22px;width:42px;height:42px}.page-heading{background:var(--cream);padding:48px max(32px,calc((100vw - 1280px)/2))}.page-heading h1{font-size:36px;margin:8px 0}.page-heading p{color:var(--muted);margin:0}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.3px;color:var(--orange)}.primary,.secondary{border-radius:9px;padding:14px 22px;font-weight:700;border:1px solid var(--orange);transition:.2s}.primary{background:var(--orange);color:#fff}.primary:hover{background:var(--orange-dark);transform:translateY(-1px)}.secondary{background:#fff;color:var(--orange)}.secondary:hover{background:var(--peach)}.full{width:100%}.text-link{border:0;background:transparent;color:var(--orange);font-weight:700;padding:0}.section-title{text-align:center}.section-title h2{font-size:36px;margin:0 0 14px}.section-title p{color:var(--muted);font-size:18px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-row h1,.section-row h2{margin:0}.section-row>button{border:0;background:transparent;color:var(--orange);font-weight:700}.pill{display:inline-block;color:var(--orange);background:var(--peach);border-radius:100px;padding:8px 16px;font-size:12px;font-weight:800}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:white;padding:14px 20px;border-radius:10px;box-shadow:var(--shadow);z-index:100;transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:none;opacity:1}

/* Login */
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) 640px}.login-visual{background:linear-gradient(rgba(34,34,34,.55),rgba(34,34,34,.65)),url('assets/login-farm.png') center/cover;position:relative}.login-copy{position:absolute;left:4vw;right:4vw;bottom:54px;color:#fff}.login-copy h1{font-size:48px;line-height:1.2;margin:0 0 16px;max-width:720px}.login-copy h1 span{color:var(--orange)}.login-copy p{opacity:.82;font-size:18px;line-height:1.6;max-width:690px}.login-panel{display:flex;align-items:center;justify-content:center;padding:50px 80px}.login-box{width:100%;max-width:400px;text-align:center}.login-box .brand{margin:0 auto 10px;width:174px;height:129px}.login-box h2{font-size:24px;margin:0 0 12px}.login-box>p{color:var(--muted);font-size:14px;margin-bottom:34px}.login-box form{text-align:left}.login-box form>label{display:block;font-size:14px;font-weight:600;margin:0 0 20px}.login-box input[type=text],.login-box input[type=password],.login-box input[type=email],.login-box form>label>input{width:100%;height:52px;border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:0 16px;margin-top:8px;outline:none}.login-box input:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--peach)}.password-wrap{position:relative}.password-wrap input{padding-right:50px!important}.password-wrap button{position:absolute;right:10px;top:17px;width:34px;height:34px;border:0;background:transparent;padding:7px}.remember{display:flex;justify-content:space-between;align-items:center;margin:4px 0 24px;font-size:13px}.remember label{display:flex;gap:8px;align-items:center}.remember button{border:0;background:transparent;color:var(--orange);font-weight:600}.demo-row{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;font-size:11px;color:var(--muted)}.demo-row button{border:1px solid var(--line);border-radius:6px;background:#fff;font-size:11px;padding:5px 7px;color:var(--orange)}

/* Landing */
.hero{background:var(--cream);padding:120px max(32px,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr 600px;gap:64px;align-items:center}.hero-copy h1{font-size:56px;line-height:1.2;margin:28px 0 20px;letter-spacing:-2px}.hero-copy h1 span{color:var(--orange)}.hero-copy>p{font-size:18px;line-height:1.65;color:var(--muted);margin:0 0 26px}.hero-actions{display:flex;gap:16px}.hero>img{width:600px;height:450px;object-fit:cover;border-radius:24px}.features{padding:96px max(32px,calc((100vw - 1280px)/2))}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}.feature-card{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:32px;min-height:230px}.feature-card>span,.metric-grid article>span{width:56px;height:56px;background:var(--peach);border-radius:12px;padding:16px;display:block}.feature-card h3{font-size:18px;margin:20px 0}.feature-card p{font-size:14px;color:var(--muted);line-height:1.55}.stats{padding:70px max(32px,calc((100vw - 1280px)/2));background:var(--orange);color:#fff;display:grid;grid-template-columns:repeat(4,1fr)}.stats div{text-align:center}.stats b{display:block;font-size:44px}.stats span{font-size:14px;font-weight:600;opacity:.9}.testimonial{text-align:center;background:#fff9f5;padding:92px 20px}.testimonial h2{font-size:32px}.testimonial blockquote{max-width:800px;margin:36px auto 24px;font-size:19px;line-height:1.65;font-style:italic}.testimonial>div{display:flex;align-items:center;justify-content:center;gap:14px;text-align:left}.testimonial img{width:56px;height:56px;border-radius:50%;object-fit:cover}.testimonial span{display:flex;flex-direction:column}.testimonial small{color:var(--muted);margin-top:4px}.site-footer{background:var(--ink);color:#fff;padding:60px max(32px,calc((100vw - 1280px)/2)) 34px}.footer-top{display:flex;justify-content:space-between;gap:60px;padding-bottom:40px}.footer-brand{max-width:370px}.japfa{display:flex;gap:8px;align-items:center}.japfa>b{background:var(--orange);border-radius:10px;width:42px;height:42px;display:grid;place-items:center;font-size:18px}.japfa span{display:flex;flex-direction:column}.japfa strong{font-size:18px}.japfa small{color:var(--orange);font-weight:700;letter-spacing:1px}.footer-brand p,.footer-links a,.footer-bottom{color:var(--muted);font-size:13px;line-height:1.6}.footer-links{display:flex;gap:64px}.footer-links>div{display:flex;flex-direction:column;gap:12px}.footer-links b{font-size:14px;margin-bottom:3px}.footer-bottom{padding-top:28px;border-top:1px solid #383838;display:flex;justify-content:space-between;align-items:center}.footer-bottom img{width:20px;height:20px;margin-left:14px}

/* Dashboard */
.dashboard-layout{padding:48px max(32px,calc((100vw - 1280px)/2));background:var(--soft);display:grid;grid-template-columns:minmax(0,2.2fr) minmax(330px,1fr);gap:32px}.welcome-card{background:var(--cream);border-radius:16px;padding:28px 32px}.welcome-card h1{font-size:28px;margin:0 0 8px}.welcome-card p{margin:0;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0 36px}.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;align-items:center;gap:15px}.metric-grid article>span{width:48px;height:48px;padding:13px;flex:none}.metric-grid article div{display:flex;flex-direction:column}.metric-grid small{color:var(--muted);font-size:11px}.metric-grid b{font-size:26px;margin-top:4px}.continue-list{margin-top:16px;display:flex;flex-direction:column;gap:14px}.continue-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:0 18px 0 0;display:grid;grid-template-columns:132px 1fr auto;align-items:center;gap:20px;text-align:left;overflow:hidden}.continue-card>img{width:132px;height:106px;object-fit:cover}.continue-card h3{margin:0 0 8px;font-size:15px}.continue-card p{font-size:12px;color:var(--muted);margin:0 0 12px}.continue-card>b{color:var(--orange)}.progress-track{height:7px;background:#ededed;border-radius:10px;overflow:hidden}.progress-track i{display:block;background:var(--orange);height:100%;border-radius:10px}.dashboard-aside{display:flex;flex-direction:column;gap:16px}.quiz-preview{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.date{width:62px;height:65px;background:var(--peach);color:var(--orange);border-radius:10px;text-align:center;padding:8px;font-size:10px;flex:none}.date b{font-size:22px;display:block}.quiz-preview h3{font-size:14px;margin:0 0 8px}.quiz-preview p,.quiz-preview small{font-size:11px;color:var(--muted);display:block;margin:4px 0}.quiz-preview button{font-size:12px;margin-top:10px}.ai-promo{background:var(--ink);color:#fff;border-radius:16px;padding:24px}.ai-promo>span{width:44px;height:44px;display:block;background:var(--orange);border-radius:10px;padding:11px}.ai-promo h3{margin:16px 0 8px}.ai-promo p{color:#aaa;font-size:13px;line-height:1.5}.ai-promo .primary{margin-top:8px}

/* Catalog */
.catalog-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;padding:52px max(32px,calc((100vw - 1280px)/2))}.filters{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:24px;height:max-content;position:sticky;top:110px}.filters h2{font-size:18px;margin:0 0 24px}.filters>label{font-size:13px;font-weight:600}.filters>label input{width:100%;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px;margin-top:8px}.filters fieldset{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:20px 0 0}.filters legend{font-weight:700;font-size:13px;padding-top:20px}.filters fieldset label{display:block;font-size:13px;color:#555;margin-top:12px}.filters input{accent-color:var(--orange)}.catalog-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.catalog-title h1{font-size:30px;margin:0 0 8px}.catalog-title p{margin:0;color:var(--muted)}select{height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.03)}.course-image{height:180px;width:100%;border:0;padding:0;position:relative}.course-image img{width:100%;height:100%;object-fit:cover}.course-image span{position:absolute;left:12px;top:12px;background:#fff;color:var(--orange);font-size:10px;font-weight:700;padding:6px 9px;border-radius:20px}.course-content{padding:18px}.course-content>small,.course-content>p{color:var(--muted);font-size:12px}.course-content h3{font-size:16px;line-height:1.4;min-height:45px}.course-content .progress-track{margin:12px 0}.course-content button{margin-top:14px;padding:10px}.empty-state{grid-column:1/-1;text-align:center;padding:80px;color:var(--muted);background:var(--soft);border-radius:14px}

/* Course detail */
.course-hero{padding:56px max(32px,calc((100vw - 1280px)/2));background:var(--cream)}.course-hero>span{font-size:12px;font-weight:800;color:var(--orange)}.course-hero h1{font-size:38px;margin:12px 0}.course-hero p{color:var(--muted)}.course-detail-layout{display:grid;grid-template-columns:minmax(0,2fr) 390px;gap:32px;padding:36px max(32px,calc((100vw - 1280px)/2)) 70px}.tabbar{display:flex;border-bottom:1px solid var(--line);margin-bottom:20px}.tabbar button{border:0;background:transparent;padding:14px 20px;font-weight:600}.tabbar .active{color:var(--orange);border-bottom:3px solid var(--orange)}.video-player{position:relative;border-radius:14px;overflow:hidden;background:#111;aspect-ratio:16/9}.video-player>img{width:100%;height:100%;object-fit:cover;transition:.3s}.video-player.playing>img{filter:brightness(.75)}.video-player>button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;border:0;background:rgba(232,117,26,.95);color:#fff;font-size:25px}.video-caption{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;font-size:13px}.video-caption span{float:right}.lesson-description{padding:24px 4px}.lesson-description p{color:var(--muted);line-height:1.6}.lesson-panel{border:1px solid var(--line);border-radius:14px;padding:22px;height:max-content}.lesson-panel h2{font-size:20px;margin:0 0 20px}.lesson-panel h3{font-size:12px;background:var(--soft);padding:12px;margin:12px -6px}.lesson{width:100%;border:0;background:#fff;padding:12px 4px;display:flex;gap:12px;text-align:left;border-bottom:1px solid var(--line)}.lesson>span{width:26px;height:26px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:11px;flex:none}.lesson div{display:flex;flex-direction:column;gap:5px}.lesson b{font-size:12px;line-height:1.35}.lesson small{color:var(--muted);font-size:10px}.lesson.active{background:var(--peach);margin:0 -8px;padding-left:12px;padding-right:12px;width:calc(100% + 16px)}.lesson.active>span{background:var(--orange);color:#fff}

/* Quiz */
.quiz-header{padding:34px max(32px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.quiz-header h1{font-size:28px;margin:14px 0 8px}.quiz-header p{color:var(--muted);margin:0}.timer{display:flex;gap:12px;align-items:center;background:var(--peach);color:var(--orange);padding:12px 18px;border-radius:12px}.timer>.icon{width:28px;height:28px}.timer span{display:flex;flex-direction:column}.timer small{font-size:10px}.timer b{font-size:22px}.quiz-layout{background:var(--soft);padding:36px max(32px,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr 280px;gap:28px}.question-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;margin-bottom:20px}.question-card>span{font-size:11px;color:var(--orange);font-weight:700}.question-card h2{font-size:19px;line-height:1.45}.question-card label{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;align-items:center;gap:12px;margin-top:10px;cursor:pointer}.question-card label:has(input:checked){border-color:var(--orange);background:var(--peach)}.question-card input{display:none}.question-card label>i{width:28px;height:28px;border-radius:7px;background:var(--soft);display:grid;place-items:center;font-style:normal;font-size:12px}.question-card.correct{border-left:5px solid var(--green)}.question-card.incorrect{border-left:5px solid #e23d3d}.submit-quiz{float:right;margin-bottom:20px}.quiz-map{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;height:max-content;position:sticky;top:110px}.quiz-map h3{margin-top:0}.quiz-map>div{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.quiz-map>div button{width:36px;height:36px;border:1px solid var(--line);background:var(--soft);border-radius:7px}.quiz-map p{font-size:10px;color:var(--muted);display:flex;gap:7px;align-items:center}.quiz-map p span{margin-left:8px}.quiz-map p i{display:inline-block;width:10px;height:10px;background:var(--orange);border-radius:2px}

/* Progress */
.progress-summary{padding:40px max(32px,calc((100vw - 1280px)/2));display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.progress-summary>div{border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;gap:16px;align-items:center}.progress-summary>div>span{width:48px;height:48px;background:var(--peach);padding:12px;border-radius:10px}.progress-summary p{margin:0;color:var(--muted);font-size:12px;display:flex;flex-direction:column}.progress-summary b{font-size:24px;color:var(--ink);margin-top:5px}.progress-content{padding:0 max(32px,calc((100vw - 1280px)/2)) 38px;display:grid;grid-template-columns:2fr 1fr;gap:24px}.progress-chart,.goal-card{border:1px solid var(--line);border-radius:14px;padding:24px}.bar-chart{height:230px;display:flex;align-items:end;gap:18px;padding-top:28px}.bar-chart>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;text-align:center}.bar-chart span{background:linear-gradient(var(--orange),#f5a262);border-radius:8px 8px 0 0;position:relative}.bar-chart b{position:absolute;top:-20px;left:0;right:0;font-size:10px}.bar-chart small{padding-top:8px;color:var(--muted)}.goal-card{background:var(--cream)}.goal-card h2{margin:18px 0 8px}.goal-card p{color:var(--muted);line-height:1.6}.goal-card .progress-track{margin:24px 0 8px;height:9px}.goal-card>small{color:var(--orange);font-weight:700}.certificates{margin:0 max(32px,calc((100vw - 1280px)/2)) 60px}.certificates>.section-row{margin-bottom:14px}.certificates article{display:flex;align-items:center;gap:16px;border:1px solid var(--line);padding:16px 20px;margin-top:10px;border-radius:12px}.certificates article>span{width:44px;height:44px;padding:10px;background:var(--peach);border-radius:9px}.certificates article>div{flex:1}.certificates h3{font-size:14px;margin:0 0 6px}.certificates p{font-size:11px;color:var(--muted);margin:0}.certificates button{display:flex;align-items:center;gap:8px;padding:10px 13px}.certificates button .icon{width:16px;height:16px}

/* Chat */
.chat-layout{height:calc(100vh - 88px);min-height:680px;display:grid;grid-template-columns:290px 1fr;background:var(--soft)}.chat-history{border-right:1px solid var(--line);padding:24px;background:#fff}.chat-history h3{font-size:13px;margin:28px 0 12px}.chat-history>button:not(.primary){width:100%;border:0;background:transparent;border-radius:8px;padding:12px 10px;text-align:left;display:flex;gap:10px;align-items:center;font-size:12px;color:#555}.chat-history>button.active{background:var(--peach);color:var(--orange)}.chat-history .icon{width:18px;height:18px}.chat-panel{margin:24px;max-width:940px;width:calc(100% - 48px);justify-self:center;background:#fff;border:1px solid var(--line);border-radius:16px;display:grid;grid-template-rows:auto 1fr auto auto;overflow:hidden}.chat-panel>header{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.chat-panel>header img{width:46px;height:46px;border-radius:50%;object-fit:cover}.chat-panel>header span{display:flex;flex-direction:column}.chat-panel>header small{color:var(--green);font-size:11px;margin-top:4px}.messages{padding:24px;overflow-y:auto}.message{max-width:78%;padding:14px 16px;border-radius:12px;margin-bottom:16px;font-size:13px;line-height:1.6}.user-message{background:var(--orange);color:#fff;margin-left:auto;border-bottom-right-radius:3px}.ai-message{background:var(--soft);border-bottom-left-radius:3px}.ai-message p{margin:8px 0}.ai-message ol{padding-left:20px}.ai-message li{margin:7px 0}.quick-prompts{display:flex;gap:8px;padding:0 20px 14px;flex-wrap:wrap}.quick-prompts button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px 12px;font-size:11px;color:#555}.chat-input{display:flex;align-items:center;border-top:1px solid var(--line);padding:12px}.chat-input input{flex:1;height:44px;border:0;outline:none;padding:0 12px}.chat-input button{width:40px;height:40px;border:0;background:transparent;padding:9px}.chat-input .send-button{background:var(--orange);border-radius:9px}.chat-empty{text-align:center;color:var(--muted);padding:80px 20px}

/* Resources */
.resource-search{text-align:center;background:var(--cream);padding:60px 20px}.resource-search h1{font-size:36px;margin:0 0 12px}.resource-search p{color:var(--muted)}.resource-search>div{height:52px;max-width:620px;margin:26px auto 0;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;padding:0 16px}.resource-search .icon{width:22px;height:22px}.resource-search input{border:0;outline:none;flex:1;height:100%;padding:0 12px}.resource-body{padding:36px max(32px,calc((100vw - 1280px)/2)) 70px}.resource-categories{display:flex;gap:10px;margin-bottom:26px;flex-wrap:wrap}.resource-categories button{border:1px solid var(--line);background:#fff;border-radius:24px;padding:9px 14px;font-size:12px}.resource-categories button.active{background:var(--orange);color:#fff;border-color:var(--orange)}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.resource-card{border:1px solid var(--line);border-radius:14px;overflow:hidden}.resource-thumb{height:140px;background:var(--soft);display:flex;align-items:center;justify-content:center;position:relative}.resource-thumb>span{width:58px;height:58px;background:var(--peach);padding:15px;border-radius:12px}.resource-thumb small{position:absolute;top:12px;left:12px;background:#fff;color:var(--orange);padding:5px 8px;border-radius:15px;font-weight:700}.resource-card>div:last-child{padding:18px}.resource-card h3{font-size:15px;min-height:38px}.resource-card p{color:var(--muted);font-size:12px}.resource-card button{display:flex;align-items:center;gap:8px;padding:9px 12px;margin-top:14px}.resource-card button .icon{width:15px;height:15px}

/* Notifications */
.notifications{padding:40px max(32px,calc((100vw - 1280px)/2)) 70px}.notifications>.section-row{margin-bottom:22px}.notification{display:flex;gap:20px;border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:14px;position:relative}.notification.unread{background:#fffaf7;border-color:#f8c9a7}.notification.unread:after{content:'';position:absolute;right:16px;top:16px;width:8px;height:8px;border-radius:50%;background:var(--orange)}.notification>span{width:44px;height:44px;background:var(--peach);padding:12px;border-radius:10px;flex:none}.notification>div{flex:1}.notification>div>div{display:flex;justify-content:space-between;gap:20px}.notification h3{font-size:15px;margin:0}.notification time,.notification p{font-size:12px;color:var(--muted)}.notification p{margin:8px 0 0;line-height:1.5}

/* Profile */
.profile-layout{background:var(--soft);padding:48px max(32px,calc((100vw - 1280px)/2));display:grid;grid-template-columns:360px 1fr;gap:32px}.profile-card,.learning-index,.personal-card,.activity-list{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}.profile-card{text-align:center}.profile-card>img{width:120px;height:120px;border-radius:50%;object-fit:cover}.profile-card h2{margin:20px 0 5px}.profile-card>p{color:var(--muted);font-size:13px}.profile-card hr{border:0;border-top:1px solid var(--line);margin:22px 0}.profile-card dl{margin:0}.profile-card dl div{display:flex;justify-content:space-between;margin-top:16px;font-size:12px}.profile-card dt{color:var(--muted)}.profile-card dd{margin:0;font-weight:600}.learning-index{margin-top:20px}.learning-index h3{margin-top:0}.learning-index p{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.learning-index b{color:var(--ink)}.logout-button{width:100%;margin-top:18px;border:1px solid #d34;background:#fff;color:#c23;border-radius:9px;padding:12px;font-weight:700}.personal-card .section-row{margin-bottom:24px}.personal-card form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.personal-card label{font-size:12px;color:var(--muted)}.personal-card input{display:block;width:100%;height:45px;border:1px solid var(--line);border-radius:8px;padding:0 13px;margin-top:7px;background:var(--soft)}.personal-card input:not(:disabled){background:#fff;border-color:var(--orange)}.personal-card #saveProfile{grid-column:2;justify-self:end}.activity-title{font-size:20px;margin:30px 0 14px}.activity-list>div{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.activity-list>div:last-child{border:0}.activity-list i{width:12px;height:12px;border-radius:50%;background:var(--green);margin-top:4px}.activity-list span{display:flex;flex-direction:column;gap:5px}.activity-list b{font-size:13px}.activity-list small{font-size:11px;color:var(--muted)}

@media(max-width:1100px){.site-header{gap:18px}.main-nav{gap:15px}.main-nav button{font-size:12px}.profile-button span{display:none}.hero{grid-template-columns:1fr 46%;gap:35px}.hero>img{width:100%;height:370px}.hero-copy h1{font-size:44px}.course-grid,.resource-grid{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header{height:74px;padding:0 18px}.site-header .brand{width:120px;height:60px}.menu-button{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:14px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav button{text-align:left;padding:10px 16px}.main-nav button.active:after{display:none}.user-actions .profile-button{display:none}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:36px 22px}.hero{grid-template-columns:1fr;padding:70px 24px}.hero>img{width:100%;height:auto}.feature-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr);gap:35px}.footer-top{flex-direction:column}.dashboard-layout,.course-detail-layout,.quiz-layout,.progress-content,.profile-layout{grid-template-columns:1fr}.catalog-layout{grid-template-columns:1fr}.filters{position:static}.course-grid,.resource-grid{grid-template-columns:repeat(2,1fr)}.quiz-map{position:static;order:-1}.chat-layout{grid-template-columns:1fr;height:auto}.chat-history{display:none}.chat-panel{min-height:680px}.progress-summary{grid-template-columns:repeat(2,1fr)}.profile-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-layout>aside .learning-index{margin:0}.logout-button{grid-column:1/-1}.site-footer{padding-left:24px;padding-right:24px}}
@media(max-width:560px){.page-heading{padding:34px 20px}.page-heading h1{font-size:28px}.login-box h2{font-size:20px}.hero{padding:50px 20px}.hero-copy h1{font-size:38px}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column}.features{padding:64px 20px}.section-title h2{font-size:29px}.feature-grid,.course-grid,.resource-grid{grid-template-columns:1fr}.stats{padding:55px 20px}.stats b{font-size:34px}.testimonial{padding:60px 20px}.testimonial blockquote{font-size:16px}.footer-links{gap:30px;flex-direction:column}.footer-bottom{align-items:flex-start;gap:16px}.dashboard-layout,.catalog-layout,.course-detail-layout,.quiz-layout,.profile-layout{padding-left:16px;padding-right:16px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-grid article{padding:12px;gap:10px}.metric-grid article>span{width:38px;height:38px;padding:10px}.continue-card{grid-template-columns:92px 1fr}.continue-card>img{width:92px}.continue-card>b{display:none}.catalog-title{flex-direction:column;gap:16px}.course-hero{padding:42px 20px}.course-hero h1{font-size:30px}.tabbar{overflow-x:auto}.quiz-header{padding:24px 18px;align-items:flex-start;gap:18px}.timer{padding:10px}.progress-summary{grid-template-columns:1fr;padding:28px 16px}.progress-content{padding-left:16px;padding-right:16px}.certificates{margin-left:16px;margin-right:16px}.certificates article{align-items:flex-start;flex-wrap:wrap}.certificates article>div{min-width:calc(100% - 70px)}.certificates article button{width:100%;justify-content:center}.resource-search h1{font-size:29px}.notifications{padding:30px 16px}.notification>div>div{flex-direction:column;gap:5px}.profile-layout>aside{grid-template-columns:1fr}.logout-button{grid-column:auto}.personal-card form{grid-template-columns:1fr}.personal-card #saveProfile{grid-column:auto}.chat-panel{margin:12px;width:calc(100% - 24px)}.quick-prompts{overflow-x:auto;flex-wrap:nowrap}.quick-prompts button{white-space:nowrap}.message{max-width:92%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.attempt-history{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.attempt-history>b{font-size:14px;color:var(--ink)}
.attempt-history>span{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:var(--soft);font-size:13px;font-weight:700}
.attempt-history small{color:var(--muted);font-weight:500}
.permission-chip{align-self:center;padding:9px 13px;border:1px solid #cfe5dc;border-radius:999px;background:#effaf5;color:#18704f;font-size:13px;font-weight:800}
.lesson.completed{background:#f1faf6;border-color:#b8dfce}
.manager-quiz button:disabled,.submit-quiz:disabled{cursor:not-allowed;opacity:.55}

.rejection-dialog{width:min(560px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 28px 90px rgba(20,24,27,.28);color:var(--ink)}
.rejection-dialog::backdrop{background:rgba(20,24,27,.55);backdrop-filter:blur(3px)}
.rejection-dialog form{padding:26px}
.rejection-dialog-head{display:grid;grid-template-columns:46px 1fr 34px;align-items:center;gap:13px}
.rejection-dialog-head>span{width:46px;height:46px;padding:12px;border-radius:12px;background:#fee9e5}
.rejection-dialog-head small{font-size:9px;font-weight:800;letter-spacing:1px;color:#bd3b29}
.rejection-dialog-head h2{font-size:21px;margin:4px 0 0}
.rejection-dialog-head>button{width:34px;height:34px;border:0;border-radius:9px;background:#f3f4f5;font-size:20px;color:#60686d}
.rejection-dialog form>p{font-size:12px;line-height:1.6;color:var(--muted);margin:20px 0}
.rejection-dialog form>label{display:block;font-size:11px;font-weight:800}
.rejection-dialog textarea{width:100%;min-height:130px;margin-top:8px;padding:13px;border:1px solid var(--line);border-radius:10px;resize:vertical;font:inherit;font-size:13px;line-height:1.5;outline:none}
.rejection-dialog textarea:focus{border-color:#bd3b29;box-shadow:0 0 0 3px #fee9e5}
.rejection-dialog label>small{display:block;text-align:right;color:var(--muted);font-size:9px;margin-top:5px}
.rejection-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.confirm-rejection{border:1px solid #bd3b29;border-radius:9px;background:#bd3b29;color:#fff;padding:12px 16px;font-weight:800;font-size:11px}
.table-rejection-note{display:block!important;max-width:210px;color:#a43b2d!important;line-height:1.4;white-space:normal}
.rejection-reason{margin-top:12px;padding:12px 14px;border-left:4px solid #bd3b29;border-radius:8px;background:#fff3f0}
.rejection-reason>b{font-size:10px;color:#a83224}
.rejection-reason>p{margin:5px 0 0!important;color:#63372f!important;font-size:11px!important;line-height:1.55}
.registration-revision-note{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px;padding:15px 17px;border:1px solid #f0c4bc;border-radius:12px;background:#fff5f2}
.registration-revision-note>span{width:38px;height:38px;padding:10px;border-radius:9px;background:#fff;flex:none}
.registration-revision-note>div{flex:1}.registration-revision-note b{font-size:12px}.registration-revision-note p{margin:5px 0;font-size:10px;color:#713d34}.registration-revision-note small{font-size:9px;color:var(--muted)}
.registration-revision-note>button{border:0;background:transparent;color:#a83224;font-size:10px;font-weight:800}
@media(max-width:560px){.rejection-dialog form{padding:20px}.rejection-dialog-actions{flex-direction:column-reverse}.rejection-dialog-actions button{width:100%}.registration-revision-note{align-items:center}.registration-revision-note>button{align-self:flex-start}}

/* Uploads, evidence and easier task feedback */
.upload-status,.upload-help,.completion-hint{display:block;color:var(--muted);font-size:9px;margin-top:10px}.upload-zone.dragging{border-color:var(--role-accent);background:#f0ebff;box-shadow:0 0 0 4px color-mix(in srgb,var(--role-accent) 12%,transparent)}.local-storage-note{font-size:9px;color:#13764e;background:#e6f7ee;border-radius:14px;padding:6px 9px;align-self:flex-start}.recent-uploads{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.recent-uploads>b{display:block;font-size:10px;margin-bottom:7px}.recent-uploads>span{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:8px 0}.recent-uploads .icon{width:22px;height:22px}.recent-uploads i{font-style:normal;font-size:9px;min-width:0;overflow:hidden;text-overflow:ellipsis}.recent-uploads small{display:block;color:var(--muted);margin-top:2px}.recent-uploads button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 8px;font-size:8px}.course-cover-field{grid-column:1/3}.course-cover-field input{padding:8px;height:auto}.course-cover-field small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.course-cover-preview{height:68px;border:1px dashed var(--line);border-radius:9px;display:flex;align-items:center;gap:10px;padding:7px;color:var(--muted);font-size:8px}.course-cover-preview img{width:72px;height:52px;border-radius:6px;object-fit:cover}.avatar-editor{width:132px;margin:auto;position:relative}.avatar-editor>img{width:120px;height:120px;border-radius:50%;object-fit:cover}.avatar-editor>button{position:absolute;right:0;bottom:3px;border:0;border-radius:16px;background:var(--orange);color:#fff;padding:7px 9px;font-size:8px;font-weight:700;box-shadow:0 3px 10px rgba(0,0,0,.18)}.evidence-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.evidence-panel>div>b,.evidence-panel>div>small{display:block}.evidence-panel>div>b{font-size:11px}.evidence-panel>div>small{font-size:8px;color:var(--muted);margin-top:3px}.evidence-grid{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px}.evidence-grid figure{margin:0;position:relative;border-radius:8px;overflow:hidden;background:#f1f3f4;min-height:90px}.evidence-grid img{width:100%;height:90px;display:block;object-fit:cover}.evidence-grid figcaption{font-size:7px;padding:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.evidence-grid figure>button{position:absolute;right:5px;top:5px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(20,20,20,.72);color:#fff}.empty-evidence{grid-column:1/-1;color:var(--muted);font-size:9px;border:1px dashed var(--line);border-radius:8px;padding:18px;text-align:center}.completion-hint{text-align:center}.chat-attachment{padding:8px 14px;border-top:1px solid var(--line);background:#fff8f3;display:flex;align-items:center;justify-content:space-between}.chat-attachment[hidden]{display:none}.chat-attachment>span{display:flex;align-items:center;gap:8px;font-size:9px}.chat-attachment .icon{width:20px;height:20px}.chat-attachment small{color:var(--muted)}.chat-attachment>button{border:0;background:transparent;font-size:20px;color:var(--muted)}.message-image{display:block;max-width:240px;width:100%;max-height:220px;object-fit:cover;border-radius:8px;margin-bottom:7px}.user-message .message-image{margin-left:auto}

@media(min-width:1181px){.quick-form #courseCreateForm{grid-template-columns:1fr 2fr 1fr 1fr 1.35fr auto}}
@media(max-width:600px){.course-cover-field{grid-column:auto}.course-cover-preview{height:82px}.evidence-grid{grid-template-columns:repeat(2,1fr)}}

/* Role-based application shell */
[hidden]{display:none!important}.portal-shell{min-height:100vh;background:#f4f6f8;display:grid;grid-template-columns:264px minmax(0,1fr)}.portal-sidebar{height:100vh;position:sticky;top:0;background:#202326;color:#fff;padding:20px 16px 16px;display:flex;flex-direction:column;z-index:70;overflow-y:auto}.sidebar-brand{padding:0 8px 18px;border-bottom:1px solid #373b3e}.sidebar-brand .brand{width:150px;height:76px;filter:brightness(1.6)}.sidebar-brand>span{display:inline-block;color:#fff;background:var(--role-accent);font-size:10px;font-weight:800;letter-spacing:1.2px;padding:6px 9px;border-radius:6px}.portal-sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:18px}.portal-sidebar nav button{width:100%;min-height:43px;border:0;background:transparent;color:#aeb5ba;border-radius:9px;padding:9px 11px;display:flex;align-items:center;gap:12px;text-align:left;font-size:12px;font-weight:600}.portal-sidebar nav button:hover{background:#2c3034;color:#fff}.portal-sidebar nav button.active{background:var(--role-accent);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--role-accent) 35%,transparent)}.portal-sidebar nav .icon{width:19px;height:19px;filter:grayscale(1) brightness(2);opacity:.8;flex:none}.portal-sidebar nav button.active .icon{filter:brightness(0) invert(1);opacity:1}.portal-sidebar nav button>b{margin-left:auto;background:#fff;color:var(--role-accent);min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;font-size:10px}.sidebar-support{margin-top:auto;background:#2a2e32;border:1px solid #393e42;border-radius:10px;padding:12px;display:flex;gap:10px;align-items:center}.sidebar-support>span{width:34px;height:34px;padding:8px;border-radius:8px;background:#373c40}.sidebar-support b,.sidebar-support small{display:block}.sidebar-support b{font-size:11px}.sidebar-support small{font-size:9px;color:#8f989e;margin-top:4px}.sidebar-logout{border:0;background:transparent;color:#929ca3;text-align:left;padding:14px 12px 3px;font-size:12px;display:flex;gap:12px}.sidebar-logout:hover{color:#fff}.portal-workspace{min-width:0}.portal-topbar{height:76px;background:#fff;border-bottom:1px solid #e7eaec;display:flex;align-items:center;padding:0 28px;gap:22px;position:sticky;top:0;z-index:45}.portal-menu{display:none;width:40px;height:40px;border:0;border-radius:8px;background:var(--soft);font-size:20px}.portal-search{height:42px;max-width:500px;flex:1;background:#f5f6f7;border:1px solid #e4e7e9;border-radius:9px;display:flex;align-items:center;padding:0 13px}.portal-search .icon{width:18px;height:18px;opacity:.6}.portal-search input{min-width:0;flex:1;border:0;background:transparent;outline:none;padding:0 10px;font-size:12px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.context-chip{font-size:10px;font-weight:700;color:#69747b;background:#f2f4f5;border-radius:20px;padding:7px 10px}.avatar-initials{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--role-accent) 15%,white);color:var(--role-accent);border:1px solid color-mix(in srgb,var(--role-accent) 30%,white);font-size:12px;font-weight:800}.portal-content{min-height:calc(100vh - 76px);padding:30px clamp(20px,3vw,42px) 52px;max-width:1600px}.portal-heading{margin-bottom:26px}.portal-heading h1{font-size:30px;letter-spacing:-.7px;margin:7px 0}.portal-heading p{color:var(--muted);margin:0;font-size:13px}.portal-shell[data-role=admin]{--role-accent:#7857d8}.portal-shell[data-role=manager]{--role-accent:#16875f}.portal-shell[data-role=employee]{--role-accent:#e8751a}.sidebar-scrim{display:none}.portal-content>.dashboard-layout,.portal-content>.catalog-layout,.portal-content>.course-detail-layout,.portal-content>.quiz-layout,.portal-content>.progress-summary,.portal-content>.progress-content,.portal-content>.profile-layout,.portal-content>.notifications,.portal-content>.resource-body{padding-left:0;padding-right:0}.portal-content>.certificates{margin-left:0;margin-right:0}.portal-content>.page-heading{margin:-30px calc(clamp(20px,3vw,42px)*-1) 30px;padding-left:clamp(20px,3vw,42px);padding-right:clamp(20px,3vw,42px)}.portal-content .dashboard-layout{padding-top:0;padding-bottom:0}.portal-content .chat-layout{height:calc(100vh - 136px);min-height:650px;margin:-30px calc(clamp(20px,3vw,42px)*-1) -52px}.portal-content .course-hero,.portal-content .resource-search{margin:-30px calc(clamp(20px,3vw,42px)*-1) 30px;padding-left:clamp(20px,3vw,42px);padding-right:clamp(20px,3vw,42px)}

/* Shared role components */
.role-hero,.report-toolbar,.fourq-intro{border-radius:17px;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:22px;background:#fff;border:1px solid var(--line)}.role-hero h1,.report-toolbar h1,.fourq-intro h1{font-size:28px;margin:8px 0}.role-hero p,.report-toolbar p,.fourq-intro p{margin:0;color:var(--muted);font-size:13px}.admin-hero{background:linear-gradient(120deg,#f7f2ff,#fff)}.manager-hero{background:linear-gradient(120deg,#eaf8f2,#fff)}.compact-hero{background:linear-gradient(120deg,#fff8f3,#fff)}.role-hero .hero-actions{display:flex;flex:none}.role-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.role-kpi-grid.compact{margin-bottom:24px}.role-kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;display:flex;gap:13px;align-items:center;min-width:0}.role-kpi>span{width:45px;height:45px;border-radius:10px;padding:12px;flex:none}.role-kpi.orange>span{background:#fff0e5}.role-kpi.blue>span{background:#e5f3ff}.role-kpi.green>span{background:#e5f8ed}.role-kpi.purple>span{background:#f0eaff}.role-kpi small{font-size:10px;color:var(--muted);display:block}.role-kpi b{display:block;font-size:24px;margin:3px 0}.role-kpi p{font-size:9px;color:var(--muted);margin:0;white-space:nowrap}.data-panel{background:#fff;border:1px solid #e2e6e8;border-radius:14px;padding:22px}.role-dashboard-grid,.report-grid,.certificate-admin-grid,.assessment-layout,.video-session-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px;margin-bottom:20px}.role-dashboard-grid.lower{grid-template-columns:1fr 1fr}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading>div>span,.quiz-heading>span{font-size:9px;font-weight:800;color:var(--role-accent,var(--orange));letter-spacing:1.1px}.panel-heading h2{font-size:17px;margin:5px 0}.panel-heading p{font-size:11px;color:var(--muted);margin:0}.panel-heading>button{border:0;background:transparent;color:var(--role-accent,var(--orange));font-size:11px;font-weight:700}.approval-preview>div{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #edf0f1}.request-code{font-size:10px;font-weight:700;background:#f3f0ff;color:#7254cd;border-radius:7px;padding:7px}.approval-preview b,.approval-preview p,.approval-preview small{display:block}.approval-preview b{font-size:12px}.approval-preview p{font-size:11px;margin:3px 0}.approval-preview small{font-size:9px;color:var(--muted)}.approval-preview button{border:0;background:transparent;color:var(--role-accent);font-weight:700;font-size:10px}.farm-bars>div{display:grid;grid-template-columns:105px 1fr 38px;gap:10px;align-items:center;margin:16px 0}.farm-bars b,.farm-bars span{font-size:10px}.farm-bars span{text-align:right;font-weight:700;color:var(--role-accent)}.task-list button{width:100%;border:0;border-top:1px solid #edf0f1;background:#fff;display:grid;grid-template-columns:36px 1fr auto;align-items:center;text-align:left;gap:12px;padding:14px 0}.task-list i{width:30px;height:30px;border-radius:8px;background:#f1f3f4;display:grid;place-items:center;font-style:normal}.task-list i.critical{background:#ffe9e4;color:#d64c32;font-weight:800}.task-list b,.task-list small{display:block}.task-list b{font-size:11px}.task-list small{font-size:9px;color:var(--muted);margin-top:4px}.task-list strong{color:var(--role-accent)}.health-badge{font-size:10px;color:#16875f;background:#e8f8f1;padding:6px 8px;border-radius:15px}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.health-grid span{background:#f7f8f9;padding:13px;border-radius:9px}.health-grid b,.health-grid small{display:block}.health-grid b{font-size:17px}.health-grid small{font-size:9px;color:var(--muted);margin-top:5px}.toolbar-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;margin-bottom:18px}.segmented{display:flex;background:#f2f4f5;padding:4px;border-radius:8px}.segmented button{border:0;background:transparent;padding:8px 12px;border-radius:6px;font-size:10px;font-weight:700;color:#677178}.segmented button.active{background:#fff;color:var(--role-accent);box-shadow:0 2px 7px rgba(0,0,0,.07)}.inline-search{height:38px;min-width:220px;max-width:340px;margin-left:auto;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;padding:0 10px;background:#fff}.inline-search .icon{width:16px;height:16px;opacity:.55}.inline-search input{border:0;outline:none;min-width:0;flex:1;padding-left:8px;font-size:10px}.table-panel{padding:0;overflow:hidden;margin-bottom:20px}.table-panel>.panel-heading{padding:20px 22px 0}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{background:#f6f7f8;color:#747e84;text-align:left;font-size:8px;letter-spacing:.6px;padding:11px 14px;white-space:nowrap}.data-table td{padding:13px 14px;border-top:1px solid #edf0f1;vertical-align:middle}.data-table td small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.data-table select{height:32px;min-width:112px;font-size:9px;padding:0 7px}.status-badge{display:inline-block;border-radius:14px;padding:5px 8px;font-size:8px;font-weight:700;white-space:nowrap}.status-badge.pending{background:#fff4d7;color:#956800}.status-badge.approved{background:#e6f7ee;color:#13764e}.status-badge.rejected{background:#fee9e5;color:#bd3b29}.row-actions{display:flex;gap:5px;white-space:nowrap}.row-actions button,.table-more{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 8px;font-size:8px}.row-actions .approve-request{background:#e9f8f1;color:#147751;border-color:#c9ebda}.row-actions .reject-request,.row-actions .delete-user{color:#bd3b29}.empty-inline{color:var(--muted);font-size:11px;padding:15px 0}.quick-form{background:#fff;border:1px solid color-mix(in srgb,var(--role-accent) 35%,#e3e6e8);border-radius:14px;padding:22px;margin-bottom:20px}.quick-form form,.account-create form,.assessment-builder form,.certificate-admin-grid form{display:grid;gap:14px}.quick-form form{grid-template-columns:1fr 2fr 1fr 1fr auto;align-items:end}.quick-form label,.account-create label,.assessment-builder label,.certificate-admin-grid label,.registration-form label{font-size:10px;font-weight:700}.quick-form input,.quick-form select,.account-create input,.account-create select,.assessment-builder input,.assessment-builder select,.assessment-builder textarea,.certificate-admin-grid input,.certificate-admin-grid select,.registration-form input,.registration-form select{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;background:#fafbfb;padding:0 10px;margin-top:6px;font-size:11px}.managed-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.managed-course{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.managed-course>img{width:100%;height:145px;object-fit:cover}.managed-course>div{padding:16px}.course-flags{display:flex;justify-content:space-between;align-items:center}.course-flags span{font-size:8px;color:var(--orange);font-weight:700}.course-flags b{font-size:8px;color:#18805b;background:#e6f7ef;padding:4px 6px;border-radius:10px}.managed-course h3{font-size:13px;line-height:1.45;min-height:38px}.managed-course p{font-size:9px;color:var(--muted)}.course-admin-actions{display:flex;border-top:1px solid var(--line);padding-top:10px;gap:5px}.course-admin-actions button{border:0;background:#f6f7f8;border-radius:6px;padding:7px 8px;font-size:8px}.course-admin-actions button:first-child{flex:1;color:var(--role-accent);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.assessment-builder textarea{height:92px;padding:10px;resize:vertical}.upload-drop{border:1px dashed #cbd1d5;border-radius:10px;padding:18px;display:grid;place-items:center;text-align:center;gap:5px;color:var(--muted);cursor:pointer}.upload-drop .icon{width:30px;height:30px}.upload-drop b{font-size:10px;color:var(--ink)}.upload-drop span{font-size:8px}.upload-drop input{display:none}.test-list>div,.certificate-expiring>div{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.test-list>div>span,.certificate-expiring>div>span{width:36px;height:36px;padding:9px;border-radius:8px;background:#fff0e7}.test-list b,.test-list small,.certificate-expiring b,.certificate-expiring small{display:block}.test-list b,.certificate-expiring b{font-size:10px}.test-list small,.certificate-expiring small{font-size:8px;color:var(--muted);margin-top:4px}.test-list i{font-size:9px;font-style:normal;color:#16875f}.content-overview{display:grid;grid-template-columns:1.6fr .8fr;gap:18px;margin-bottom:20px}.upload-zone{background:linear-gradient(135deg,#fff,#f4f0ff);border:1px dashed #bdaee9;border-radius:14px;padding:34px;text-align:center}.upload-zone>span{width:48px;height:48px;padding:12px;background:#eee8ff;border-radius:12px;display:block;margin:auto}.upload-zone h2{font-size:18px}.upload-zone p{font-size:11px;color:var(--muted);max-width:500px;margin:0 auto 18px}.content-overview aside{display:grid;gap:12px}.content-overview .role-kpi{height:100%}.file-type{width:34px;height:30px;border-radius:6px;background:#f1edff;color:#6f51c8;font-weight:800;display:grid;place-items:center;font-size:8px}.fourq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.fourq-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;position:relative}.fourq-grid article>b{font-size:28px;color:color-mix(in srgb,var(--role-accent) 24%,white);position:absolute;right:14px;top:10px}.fourq-grid article>span{display:block;width:40px;height:40px;padding:10px;background:#fff0e7;border-radius:9px}.fourq-grid h2{font-size:14px;margin:16px 0 8px}.fourq-grid p{font-size:10px;color:var(--muted);line-height:1.55}.instruction-list{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.instruction-list article{display:grid;grid-template-columns:38px 1fr auto auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.instruction-index{font-size:11px;font-weight:800;color:var(--role-accent)}.instruction-list h3{font-size:11px;margin:0 0 4px}.instruction-list p{font-size:9px;color:var(--muted);margin:0}.use-count{font-size:9px;color:var(--muted)}.instruction-list button{padding:8px 10px;font-size:8px}.user-admin-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}.account-create .primary{width:100%}.permission-note{background:#f6f3ff;border-radius:9px;padding:12px;margin-top:16px}.permission-note b{font-size:10px}.permission-note p{font-size:9px;color:var(--muted);line-height:1.5}.report-toolbar>div:last-child{display:flex;gap:10px}.report-chart{height:220px;display:flex;align-items:end;gap:15px;padding:20px 10px 0}.report-chart>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;text-align:center}.report-chart span{background:linear-gradient(#7e62d3,#aa95e9);border-radius:7px 7px 0 0;position:relative}.report-chart b{position:absolute;left:0;right:0;top:-17px;font-size:8px}.report-chart small{font-size:8px;color:var(--muted);padding-top:7px}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:35px;padding:12px}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#16875f 0 68%,#e8751a 68% 90%,#dce1e3 90%);position:relative;display:grid;place-items:center}.donut:after{content:'';position:absolute;inset:25px;background:#fff;border-radius:50%}.donut b,.donut small{z-index:1;position:absolute}.donut b{font-size:18px;transform:translateY(-7px)}.donut small{font-size:8px;color:var(--muted);transform:translateY(12px)}.donut-wrap ul{list-style:none;padding:0;margin:0}.donut-wrap li{font-size:9px;margin:12px 0;display:flex;align-items:center;gap:7px}.donut-wrap li b{margin-left:auto}.donut-wrap li i{width:9px;height:9px;border-radius:50%}.green-dot{background:#16875f}.orange-dot{background:#e8751a}.gray-dot{background:#dce1e3}.certificate-admin-grid{grid-template-columns:.8fr 1.3fr}.certificate-expiring button{border:1px solid var(--line);background:#fff;border-radius:7px;color:var(--role-accent);font-size:8px;padding:7px}.certificate-expiring button:disabled{color:#16875f;background:#e9f8f1}.manager-session{background:linear-gradient(125deg,#147b5a,#1d9a70);color:#fff;border-radius:16px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.manager-session .eyebrow{color:#aff2d4}.manager-session h2{font-size:20px;margin:8px 0}.manager-session p{font-size:11px;opacity:.8}.manager-session button{border:0;background:transparent;color:#fff;font-weight:700;font-size:10px;margin-right:10px}.manager-session .white-button{background:#fff;color:#157c5b;border-radius:8px;padding:10px 13px}.session-date{width:82px;height:82px;border-radius:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center}.session-date b{font-size:30px;line-height:1}.session-date small{font-size:8px}.member-progress-list>div{display:grid;grid-template-columns:36px 1fr 150px 36px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.member-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f7f1;color:#147b59;font-size:9px;font-weight:800;flex:none}.member-progress-list b,.member-progress-list small{display:block}.member-progress-list b{font-size:10px}.member-progress-list small{font-size:8px;color:var(--muted);margin-top:3px}.member-progress-list strong{font-size:9px}.registration-form{margin-bottom:20px}.registration-form>.form-grid{grid-template-columns:2fr 1.2fr 1fr 1fr 1.5fr}.employee-picker-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.employee-picker-head h3{font-size:13px;margin:0}.employee-picker-head p{font-size:9px;color:var(--muted);margin:4px 0}.employee-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.employee-picker label{border:1px solid var(--line);border-radius:9px;padding:10px;display:flex;align-items:center;gap:10px;cursor:pointer}.employee-picker label:has(input:checked){border-color:var(--role-accent);background:#eef9f4}.employee-picker label>input{width:auto;height:auto;margin:0;accent-color:var(--role-accent)}.employee-picker b,.employee-picker small{display:block}.employee-picker b{font-size:10px}.employee-picker small{font-size:8px;color:var(--muted);margin-top:4px}.form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.form-footer small{color:var(--muted);font-size:9px}.manager-test-layout{display:grid;grid-template-columns:290px 1fr;gap:20px}.test-selector>button{width:100%;border:0;border-top:1px solid var(--line);background:#fff;display:flex;gap:10px;text-align:left;padding:12px 0}.test-selector>button.active{background:#eef9f4;margin:0 -10px;padding:12px 10px;width:calc(100% + 20px);border-radius:8px}.test-selector>button>span{width:34px;height:34px;padding:8px;background:#e7f7f0;border-radius:8px}.test-selector b,.test-selector small{display:block}.test-selector b{font-size:9px;line-height:1.4}.test-selector small{font-size:8px;color:var(--muted);margin-top:4px}.manager-quiz fieldset{border:0;border-top:1px solid var(--line);padding:18px 0}.manager-quiz legend{font-size:11px;font-weight:700}.manager-quiz fieldset label{display:block;border:1px solid var(--line);border-radius:8px;padding:9px;margin-top:7px;font-size:9px}.manager-quiz input{accent-color:var(--role-accent)}.live-screen{aspect-ratio:16/9;position:relative;border-radius:11px;overflow:hidden;background:#111}.live-screen>img{width:100%;height:100%;object-fit:cover}.live-screen>button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border:0;border-radius:50%;background:var(--role-accent);color:#fff;font-size:20px}.live-screen>span{position:absolute;left:14px;bottom:12px;background:rgba(0,0,0,.65);color:#fff;border-radius:6px;padding:6px 8px;font-size:8px}.session-info{padding:18px 4px 0}.live-badge{font-size:8px;color:#16875f;font-weight:800}.session-info h2{font-size:18px}.session-info p{font-size:10px;color:var(--muted)}.attendance>label{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:11px 0}.attendance label>div{flex:1}.attendance label b,.attendance label small{display:block}.attendance label b{font-size:10px}.attendance label small{font-size:8px;color:var(--muted)}.attendance input{accent-color:var(--role-accent)}.attendance>.primary{margin-top:14px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-head>div{display:flex;align-items:center;gap:15px}.calendar-head h2{font-size:18px}.calendar-head>div button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:7px}.schedule-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.mini-calendar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.mini-calendar b,.mini-calendar span{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;font-size:10px;position:relative}.mini-calendar b{color:var(--muted);font-size:8px}.mini-calendar span:hover{background:#f3f5f6}.mini-calendar span.has-event:after{content:'';position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--role-accent)}.mini-calendar span.today{background:var(--role-accent);color:#fff}.mini-calendar span.today:after{background:#fff}.schedule-event{display:flex;gap:12px;border-top:1px solid var(--line);padding:12px 0}.schedule-event>span{width:48px;height:48px;background:#eaf8f2;border-radius:9px;color:#157b59;display:grid;place-items:center}.schedule-event>span b{font-size:17px;line-height:1}.schedule-event>span small{font-size:7px}.schedule-event>div>b{font-size:10px}.schedule-event p{font-size:8px;color:var(--muted);margin:4px 0}.table-progress{display:flex;align-items:center;gap:7px;min-width:110px}.table-progress .progress-track{width:76px}.table-progress span{font-size:8px}.danger-text{color:#c43b2d}.competency-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.competency-summary>article{background:linear-gradient(135deg,#e8f8f1,#fff);border:1px solid #cfeade;border-radius:14px;padding:24px;display:flex;align-items:center;gap:20px}.competency-summary>article h2{font-size:17px}.competency-summary>article p{font-size:10px;color:var(--muted)}.competency-summary>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.competency-ring{--value:75;width:110px;height:110px;border-radius:50%;background:conic-gradient(var(--role-accent,var(--orange)) calc(var(--value)*1%),#e5e9eb 0);display:grid;place-items:center;position:relative;flex:none}.competency-ring:after{content:'';position:absolute;inset:12px;background:#fff;border-radius:50%}.competency-ring b{z-index:1;font-size:20px}.competency-table th:not(:first-child),.competency-table td:not(:first-child){text-align:center}.skill-score{width:28px;height:28px;border-radius:7px;display:inline-grid;place-items:center;font-weight:800}.skill-score.s2{background:#fee9e5;color:#bd3b29}.skill-score.s3{background:#fff4d7;color:#956800}.skill-score.s4,.skill-score.s5{background:#e6f7ee;color:#13764e}.employee-competency-hero{display:flex;align-items:center;gap:26px;background:linear-gradient(130deg,#fff0e6,#fff);border:1px solid #f2d4bf;border-radius:16px;padding:28px;margin-bottom:20px}.employee-competency-hero h1{font-size:24px;margin:8px 0}.employee-competency-hero p{font-size:11px;color:var(--muted)}.my-skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:20px}.my-skill-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;display:flex;gap:14px}.my-skill-grid article>span{width:42px;height:42px;padding:10px;background:#fff0e7;border-radius:9px}.my-skill-grid article>div{flex:1;position:relative}.my-skill-grid h3{font-size:12px;margin:0 0 3px}.my-skill-grid p{font-size:9px;color:var(--muted);margin:0 0 10px}.my-skill-grid small{position:absolute;right:0;top:0;color:var(--orange);font-weight:800}.recommendation-panel{display:flex;align-items:center;gap:16px;background:#202326;color:#fff;border-radius:14px;padding:20px}.recommendation-panel>span{width:45px;height:45px;padding:11px;background:#32373b;border-radius:10px}.recommendation-panel>div{flex:1}.recommendation-panel h2{font-size:15px;margin:0 0 5px}.recommendation-panel p{font-size:10px;color:#aab1b5;margin:0}.recommendation-panel button{flex:none}.portal-content .profile-layout{background:transparent;padding-top:0;padding-bottom:0}

@media(max-width:1180px){.portal-shell{grid-template-columns:228px}.portal-sidebar nav button{font-size:10px}.role-kpi-grid{grid-template-columns:repeat(2,1fr)}.managed-course-grid{grid-template-columns:repeat(2,1fr)}.registration-form>.form-grid{grid-template-columns:repeat(2,1fr)}.quick-form form{grid-template-columns:1fr 1fr}.quick-form form button{align-self:end}.user-admin-layout{grid-template-columns:1fr}.content-overview{grid-template-columns:1fr}.fourq-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.portal-shell{display:block}.portal-sidebar{position:fixed;left:0;top:0;width:264px;transform:translateX(-105%);transition:transform .25s;box-shadow:18px 0 45px rgba(0,0,0,.25)}.portal-sidebar.open{transform:none}.portal-menu{display:grid;place-items:center}.sidebar-scrim{display:block;position:fixed;inset:0;border:0;background:rgba(19,23,25,.45);z-index:60;opacity:0;pointer-events:none}.sidebar-scrim.show{opacity:1;pointer-events:auto}.portal-topbar{padding:0 16px}.context-chip{display:none}.profile-button span:last-child{display:none}.portal-content{padding:24px 18px 40px}.role-dashboard-grid,.role-dashboard-grid.lower,.report-grid,.certificate-admin-grid,.assessment-layout,.video-session-grid,.schedule-grid,.competency-summary,.manager-test-layout{grid-template-columns:1fr}.portal-content .chat-layout{margin-left:-18px;margin-right:-18px}.instruction-list article{grid-template-columns:38px 1fr auto}.instruction-list .use-count{display:none}}
@media(max-width:600px){.portal-search{display:none}.top-actions{margin-left:auto}.portal-heading h1{font-size:25px}.role-hero,.report-toolbar,.fourq-intro{padding:22px;align-items:flex-start;flex-direction:column}.role-hero .hero-actions,.report-toolbar>div:last-child{width:100%;flex-wrap:wrap}.role-hero .hero-actions button{flex:1}.role-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.role-kpi{padding:12px}.role-kpi>span{width:38px;height:38px;padding:10px}.role-kpi b{font-size:19px}.role-kpi p{white-space:normal}.managed-course-grid,.fourq-grid,.employee-picker,.my-skill-grid{grid-template-columns:1fr}.toolbar-panel{align-items:stretch;flex-direction:column}.inline-search{margin:0;max-width:none;width:100%}.segmented{overflow-x:auto}.segmented button{white-space:nowrap}.form-grid,.registration-form>.form-grid,.quick-form form{grid-template-columns:1fr}.member-progress-list>div{grid-template-columns:34px 1fr 40px}.member-progress-list .progress-track{grid-column:2/4;width:100%}.health-grid{grid-template-columns:1fr 1fr}.instruction-list article{grid-template-columns:32px 1fr}.instruction-list button{grid-column:2;width:max-content}.schedule-grid>.data-panel{padding:16px}.mini-calendar{padding:10px;gap:3px}.competency-summary>div{grid-template-columns:1fr}.employee-competency-hero{align-items:flex-start}.employee-competency-hero .competency-ring{width:80px;height:80px}.recommendation-panel{align-items:flex-start;flex-wrap:wrap}.recommendation-panel>div{min-width:calc(100% - 65px)}.recommendation-panel button{width:100%}.user-admin-layout{display:block}.account-create{margin-bottom:18px}.portal-content .catalog-layout,.portal-content .course-detail-layout,.portal-content .quiz-layout,.portal-content .profile-layout{padding-left:0;padding-right:0}.portal-content .dashboard-layout{padding-left:0;padding-right:0}}

/* Approval workflow: Manager registration -> Admin -> notifications and calendar */
.portal-topbar .notify-dot{width:18px;height:18px;right:-3px;top:-4px;border-radius:9px;display:grid;place-items:center;color:#fff}.portal-topbar .notify-dot b{font-size:8px;line-height:1}.manager-approval-alert{display:flex;align-items:center;gap:13px;background:#e7f7ef;border:1px solid #bde5d2;border-radius:12px;padding:13px 16px;margin-bottom:16px}.manager-approval-alert>span{width:38px;height:38px;padding:10px;border-radius:9px;background:#fff}.manager-approval-alert>div{flex:1}.manager-approval-alert b{font-size:12px}.manager-approval-alert p{font-size:9px;color:#527165;margin:4px 0 0}.manager-approval-alert button{border:0;background:transparent;color:#13764e;font-size:10px;font-weight:800}.registration-guide{display:flex;align-items:center;justify-content:center;gap:13px;background:#eef8f4;border:1px solid #cfe9dd;border-radius:12px;padding:13px;margin-bottom:18px;color:#365a4d;font-size:10px;font-weight:700}.registration-guide span{display:flex;align-items:center;gap:7px}.registration-guide b{width:24px;height:24px;border-radius:50%;background:#16875f;color:#fff;display:grid;place-items:center}.registration-guide i{font-style:normal;color:#82aa9b}.calendar-legend{display:flex;gap:18px;justify-content:flex-end;margin:-8px 0 14px;font-size:9px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:8px;height:8px;border-radius:50%}.approved-dot{background:#16875f}.pending-dot{background:#e6a61c}.rejected-dot{background:#c94a3b}.mini-calendar span.has-event{font-weight:800}.mini-calendar span.event-approved:not(.today){background:#e7f7ef;color:#13764e}.mini-calendar span.event-pending:not(.today){box-shadow:inset 0 0 0 2px #efbd4d;background:#fff9e9;color:#8a6413}.mini-calendar span.event-approved.event-pending:not(.today){background:linear-gradient(135deg,#e7f7ef 50%,#fff4cf 50%)}.mini-calendar span.has-event small{position:absolute;right:5px;top:4px;width:16px;height:16px;display:grid;place-items:center;border-radius:8px;background:#fff;font-size:7px;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}.mini-calendar span.has-event:after{display:none}.schedule-event.pending>span{background:#fff4d7;color:#956800}.schedule-event.rejected>span{background:#fee9e5;color:#bd3b29}.manager-notifications>.section-row{margin-bottom:18px}.manager-notifications>.section-row p{color:var(--muted);font-size:11px;margin:5px 0 0}.notification-actions{margin-top:10px}.notification-actions .secondary{padding:8px 11px;font-size:9px}.empty-session{min-height:132px}.empty-state{padding:28px;text-align:center;color:var(--muted)}.empty-state b{display:block;color:var(--ink);margin-bottom:6px}.empty-state p{margin:0;font-size:10px}

@media(max-width:600px){.registration-guide{align-items:flex-start;flex-direction:column}.registration-guide i{display:none}.calendar-head{align-items:flex-start;gap:12px;flex-direction:column}.calendar-head>.primary{width:100%}.calendar-legend{justify-content:flex-start;flex-wrap:wrap}.manager-approval-alert{align-items:flex-start;flex-wrap:wrap}.manager-approval-alert>div{min-width:calc(100% - 55px)}.manager-approval-alert button{margin-left:50px}}

/* Training calendar layout fix */
.schedule-grid{
  grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);
  align-items:start;
  width:100%;
  min-width:0;
}
.schedule-grid>*{min-width:0}
.mini-calendar{
  grid-template-rows:30px;
  grid-auto-rows:76px;
  align-content:start;
  min-width:0;
  overflow:hidden;
}
.mini-calendar b,
.mini-calendar span{
  aspect-ratio:auto;
  min-width:0;
  min-height:0;
}
.mini-calendar b{height:30px}
.mini-calendar span{
  height:100%;
  padding:8px;
  border:1px solid transparent;
}
.schedule-grid>.data-panel{
  width:100%;
  max-height:570px;
  overflow:auto;
}
.schedule-event>div{min-width:0;flex:1}
.schedule-event>div>b,
.schedule-event p{overflow-wrap:anywhere}

@media(max-width:1180px){
  .schedule-grid{grid-template-columns:minmax(0,1fr)}
  .schedule-grid>.data-panel{max-height:none}
}

@media(max-width:600px){
  .mini-calendar{
    grid-template-rows:26px;
    grid-auto-rows:48px;
  }
  .mini-calendar b{height:26px}
  .mini-calendar span{padding:4px;font-size:9px;border-radius:6px}
  .mini-calendar span.has-event small{right:2px;top:2px;width:13px;height:13px;font-size:6px}
}

/* Monthly manager registration planner */
.planner-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.planner-summary article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.planner-summary small,.planner-summary span{font-size:9px;color:var(--muted)}.planner-summary b{display:inline-block;font-size:24px;margin:0 7px}.calendar-legend .planner-dot{background:#5a7fe8}.calendar-legend>small{margin-left:auto;color:var(--muted)}.planner-grid{grid-template-columns:1.2fr 1fr;align-items:start}.planner-calendar{display:grid}.planner-calendar .calendar-day{min-height:72px;border:1px solid transparent;background:#fff;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--ink);cursor:pointer}.planner-calendar .calendar-day:hover,.planner-calendar .calendar-day.selected{border-color:var(--role-accent);background:#eef9f4}.planner-calendar .calendar-day.today>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--role-accent);color:#fff}.planner-calendar .calendar-day small{font-size:7px;color:var(--role-accent);font-weight:700}.planner-calendar .calendar-day.has-draft{box-shadow:inset 0 -4px #5a7fe8}.planner-editor{position:sticky;top:12px}.employee-picker.compact{max-height:180px;overflow:auto}.planner-lower{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;margin-top:20px}.planner-progress-head{display:flex;justify-content:space-between;gap:20px}.planner-progress-head span{font-size:9px;font-weight:800;color:var(--role-accent)}.planner-progress-head h2{margin:6px 0}.planner-progress-head p{font-size:10px;color:var(--muted)}.planner-progress-head>strong{font-size:24px;color:var(--role-accent)}.planner-progress-track{height:9px;background:#edf0f1;border-radius:10px;overflow:hidden;margin:10px 0}.planner-progress-track i{display:block;height:100%;background:var(--role-accent);border-radius:10px}.planner-warning,.planner-ready{padding:11px 13px;border-radius:9px;font-size:10px;font-weight:700;margin-bottom:10px}.planner-warning{background:#fff5da;color:#8b6500}.planner-ready{background:#e7f8ef;color:#11754e}.planner-draft-list{max-height:420px;overflow:auto}.planner-draft-list article{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:11px 0}.planner-draft-list article>span{width:42px;height:42px;background:#eef3ff;color:#3e62c6;border-radius:8px;display:grid;place-items:center}.planner-draft-list article>span b{font-size:15px}.planner-draft-list article>span small{font-size:6px}.planner-draft-list article p{font-size:8px;color:var(--muted);margin:4px 0}.planner-submit-note{display:block;text-align:center;color:var(--muted);font-size:8px;margin-top:8px}@media(max-width:1000px){.planner-grid,.planner-lower{grid-template-columns:1fr}.planner-editor{position:static}}@media(max-width:620px){.planner-summary{grid-template-columns:1fr}.planner-calendar .calendar-day{min-height:52px}.calendar-legend>small{width:100%;margin-top:8px}}

/* Admin batch approval and video history */
.approval-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.approval-type-tabs button{border:1px solid var(--line);border-radius:12px;background:#fff;padding:17px;text-align:left}.approval-type-tabs button.active{border-color:var(--role-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--role-accent) 12%,transparent)}.approval-type-tabs b,.approval-type-tabs span{display:block}.approval-type-tabs b{font-size:14px}.approval-type-tabs span{font-size:9px;color:var(--muted);margin-top:5px}.approval-batch-list{display:grid;gap:16px;margin-bottom:20px}.approval-batch>header{display:flex;justify-content:space-between;gap:15px}.approval-batch>header small{color:var(--role-accent);font-weight:800}.approval-batch>header h2{margin:5px 0}.approval-batch>header p{font-size:9px;color:var(--muted)}.batch-actions{display:flex;align-items:center;gap:9px;padding:12px;margin:14px 0;background:#f7f8f9;border-radius:9px}.batch-actions label{font-size:10px;font-weight:700;margin-right:auto}.batch-lessons{max-height:410px;overflow:auto}.batch-lesson{display:grid;grid-template-columns:auto 42px 1fr auto;gap:11px;align-items:center;border-top:1px solid var(--line);padding:10px}.batch-lesson>input{accent-color:var(--role-accent)}.batch-date{height:38px;border-radius:8px;background:#eef3ff;display:grid;place-items:center}.batch-date b{font-size:14px}.batch-date small{font-size:6px}.batch-lesson>span:nth-of-type(2)>b,.batch-lesson>span:nth-of-type(2)>small{display:block}.batch-lesson>span:nth-of-type(2)>small{font-size:8px;color:var(--muted);margin-top:4px}.batch-lesson>i{font-style:normal}.video-history-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;border-top:1px solid var(--line);padding:14px 0}.video-history-card small,.video-history-card p{font-size:8px;color:var(--muted)}.video-history-card h3{font-size:11px;margin:4px 0}.video-history-card>span{font-size:9px;color:var(--role-accent);font-weight:700}.history-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.history-evidence img{width:100%;height:150px;object-fit:cover;border-radius:9px}.planner-draft-list article.needs-revision{background:#fff7f5;border:1px solid #f3c8bf;border-radius:9px;padding:10px}.planner-draft-list article>div:last-child{display:flex;gap:5px}@media(max-width:700px){.approval-type-tabs{grid-template-columns:1fr}.batch-actions{align-items:stretch;flex-direction:column}.batch-actions label{margin-right:0}.batch-lesson{grid-template-columns:auto 38px 1fr}.batch-lesson>i{grid-column:2/4}.video-history-card{grid-template-columns:1fr auto}.video-history-card button{grid-column:1/-1}.history-evidence{grid-template-columns:1fr}}
.approval-overview{display:grid;gap:12px;margin-bottom:22px}.approval-overview>.panel-heading{margin-bottom:2px}.approval-overview-card{display:grid;grid-template-columns:58px 1fr auto auto;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 5px 18px rgba(30,43,50,.04)}.approval-overview-icon{width:54px;height:54px;border-radius:13px;background:linear-gradient(135deg,#ebe5ff,#f7f5ff);color:var(--role-accent);display:grid;place-items:center;font-weight:800}.approval-overview-card small{font-size:8px;color:var(--muted)}.approval-overview-card h2{font-size:15px;margin:5px 0}.approval-overview-card p{font-size:9px;color:var(--muted);margin:0}.approval-detail-head{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:14px}.approval-detail-head h1{font-size:24px;margin:5px 0}.approval-detail-head small,.approval-detail-head p{font-size:9px;color:var(--muted)}.approval-detail-toolbar{position:sticky;top:8px;z-index:3;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 25px rgba(25,35,42,.08);border-radius:12px;padding:12px 15px;margin-bottom:14px}.approval-detail-toolbar label{font-size:10px;font-weight:700;margin-right:auto}.approval-detail-list{display:grid;gap:9px}.approval-detail-lesson{display:grid;grid-template-columns:auto 46px 1fr auto auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.approval-detail-lesson.rejected{border-color:#f1c7bf;background:#fff8f6}.approval-detail-lesson.approved{background:#fbfefc}.approval-detail-lesson input{accent-color:var(--role-accent)}.approval-order{width:20px;text-align:center;font-size:9px;color:var(--muted)}.approval-detail-lesson h3{font-size:12px;margin:4px 0}.approval-detail-lesson>div>small,.approval-detail-lesson p{font-size:8px;color:var(--muted)}.approval-detail-lesson p{margin:0}.planner-revision-submit{display:grid;grid-template-columns:1fr auto;gap:5px 14px;align-items:center;background:#fff1ed;border:1px solid #f3c6bc;border-radius:10px;padding:13px;margin-bottom:12px}.planner-revision-submit b{font-size:11px}.planner-revision-submit span{font-size:8px;color:#884235}.planner-revision-submit button{grid-column:2;grid-row:1/3}@media(max-width:760px){.approval-overview-card{grid-template-columns:48px 1fr}.approval-overview-card>.status-badge,.approval-overview-card>button{grid-column:2}.approval-detail-toolbar{position:static;align-items:stretch;flex-direction:column}.approval-detail-toolbar label{margin-right:0}.approval-detail-lesson{grid-template-columns:auto 42px 1fr}.approval-detail-lesson>.status-badge,.approval-detail-lesson>.row-actions{grid-column:2/4}.planner-revision-submit{grid-template-columns:1fr}.planner-revision-submit button{grid-column:1;grid-row:auto}}

/* Manager scope permissions and guided training registration */
.account-create label>small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:8px;
  font-weight:500;
  line-height:1.45;
}
.scope-na{font-size:9px;color:var(--muted)}
.permission-chip{
  flex:none;
  align-self:flex-start;
  padding:7px 10px;
  border-radius:20px;
  background:#e8f7f0;
  color:#147b59;
  font-size:9px;
  font-weight:800;
}
.training-scope-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:4px 0 20px;
  padding:16px;
  border:1px solid #cfe8dd;
  border-radius:12px;
  background:linear-gradient(135deg,#f2faf6,#fff);
}
.training-scope-flow label{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  column-gap:9px;
  align-items:start;
  min-width:0;
}
.training-scope-flow label>b{
  grid-row:1/3;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--role-accent);
  color:#fff;
  font-size:10px;
}
.training-scope-flow label>span{font-size:10px;font-weight:800;line-height:1.3}
.training-scope-flow label>span small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  font-weight:500;
}
.training-scope-flow select{
  grid-column:2;
  width:100%;
  height:40px;
  margin-top:8px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font-size:10px;
}
.training-scope-flow select:disabled{background:#f0f2f3;color:#8a9398;cursor:not-allowed}
.session-detail-grid{grid-template-columns:1.25fr 1fr 1fr 1.6fr!important}

@media(max-width:1000px){
  .training-scope-flow{grid-template-columns:1fr}
  .session-detail-grid{grid-template-columns:1fr 1fr!important}
}

@media(max-width:600px){
  .registration-form .panel-heading{flex-direction:column}
  .training-scope-flow{padding:12px}
  .session-detail-grid{grid-template-columns:1fr!important}
  .permission-chip{white-space:normal}
}
