:root{--bg:#f7f7fb;--card:#fff;--text:#181824;--muted:#6d6d7a;--line:#e8e8ef;--accent:#ff7a1a;--accent2:#161622;--good:#0a8f55;--bad:#c62828;--shadow:0 18px 50px rgba(20,20,35,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:310px 1fr}.sidebar{background:#15151f;color:#fff;padding:28px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:14px;align-items:center;margin-bottom:34px}.logo{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#ff8a22,#ffcf59);display:grid;place-items:center;color:#171717;font-weight:900}.brand h1{font-size:21px;margin:0}.brand p{margin:4px 0 0;color:#b9bac7;font-size:13px}.nav{display:grid;gap:10px}.nav button,.sidebar button{border:0;border-radius:14px;padding:13px 15px;text-align:left;background:#222232;color:#fff;cursor:pointer}.nav button:hover{background:#303044}.hint{margin-top:30px;padding:16px;border:1px solid #313145;border-radius:16px;color:#d7d7df;font-size:13px;line-height:1.6}.main{padding:34px;max-width:1180px;width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow);margin-bottom:22px}.login-card{max-width:460px;margin:80px auto}.hidden{display:none!important}h2,h3{margin:0 0 10px}p{line-height:1.6}.muted{color:var(--muted)}label{display:block;margin:14px 0 7px;font-weight:700}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff}textarea{min-height:90px}button{border:0;border-radius:13px;padding:12px 16px;cursor:pointer;font-weight:800}.primary{background:var(--accent);color:#fff}.dark{background:var(--accent2);color:#fff}.soft{background:#f0f0f6;color:#1d1d2d}.danger{background:#ffe8e8;color:var(--bad)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.stat{padding:18px;border-radius:18px;background:#fafafa;border:1px solid var(--line)}.stat b{font-size:32px;display:block}.course-card{display:flex;flex-direction:column;gap:10px}.progress-wrap{height:10px;background:#ececf2;border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#ff7a1a,#ffc14d);width:0}.row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:16px;margin:10px 0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;background:#f0f0f6;color:#505064;font-weight:800;font-size:12px}.ok{background:#e8fff4;color:var(--good)}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.tabs button{background:#f2f2f7}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.video-shell{position:relative;background:#000;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}#player{aspect-ratio:16/9;width:100%}.watermark{position:absolute;top:18px;left:22px;z-index:3;color:#fff;background:rgba(0,0,0,.36);backdrop-filter:blur(4px);padding:8px 12px;border-radius:999px;font-size:13px;animation:floatmark 18s infinite alternate ease-in-out;pointer-events:none}@keyframes floatmark{0%{transform:translate(0,0)}30%{transform:translate(45vw,7vh)}60%{transform:translate(20vw,38vh)}100%{transform:translate(2vw,20vh)}}#toast{position:fixed;right:24px;top:20px;z-index:10}.toast{background:#1f1f2b;color:#fff;padding:13px 15px;border-radius:14px;margin-bottom:10px;box-shadow:var(--shadow)}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main{padding:18px}.admin-grid{grid-template-columns:1fr}.topbar{display:block}.watermark{font-size:11px;max-width:70%}}

/* Custom LMS video player skin */
.custom-video{background:#050508;min-height:220px}.custom-video #player{position:relative;z-index:1;aspect-ratio:16/9;width:100%;pointer-events:none}.custom-video iframe{width:100%;height:100%;filter:saturate(1.04) contrast(1.02)}.video-brand{position:absolute;top:18px;right:22px;z-index:5;background:rgba(255,122,26,.92);color:#fff;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.2px}.player-cover{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.68));color:#fff;text-align:center;cursor:pointer;transition:.25s}.player-cover span{display:block;margin-top:12px;font-weight:800}.hidden-cover{opacity:0;pointer-events:none}.big-play{width:86px;height:86px;border-radius:999px;background:linear-gradient(135deg,#ff7a1a,#ffc14d);color:#fff;font-size:34px;box-shadow:0 18px 60px rgba(255,122,26,.35);padding-left:21px;text-align:center}.custom-controls{position:absolute;left:14px;right:14px;bottom:14px;z-index:6;display:grid;grid-template-columns:auto auto 1fr auto auto auto;gap:10px;align-items:center;background:rgba(8,8,12,.78);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px 12px;color:#fff;box-shadow:0 15px 40px rgba(0,0,0,.28)}.control-btn{background:rgba(255,255,255,.12);color:#fff;min-width:42px;height:40px;border-radius:12px;padding:0;text-align:center}.control-btn:hover{background:rgba(255,255,255,.2)}.seek{accent-color:#ff7a1a;padding:0;border:0;background:transparent}.custom-controls span{font-size:12px;font-weight:800;color:#f2f2f5;min-width:42px;text-align:center}.custom-video:fullscreen{border-radius:0}.custom-video:fullscreen #player{height:100vh;aspect-ratio:auto}.custom-video:fullscreen .custom-controls{bottom:24px;left:24px;right:24px}.custom-video:fullscreen .watermark{font-size:16px}@media(max-width:650px){.custom-controls{grid-template-columns:auto 1fr auto;gap:8px}.custom-controls span,#muteBtn{display:none}.video-brand{font-size:10px;right:12px;top:12px}.big-play{width:68px;height:68px;font-size:26px}.custom-video .watermark{top:12px;left:12px}}

/* Clean poster-first video player update */
.custom-video{aspect-ratio:16/9;min-height:auto;background:#050508}.custom-video #player{position:absolute;inset:0;z-index:1;width:100%;height:100%;aspect-ratio:auto;pointer-events:none}.custom-video iframe{width:100%;height:100%}.watermark{display:none!important}.player-cover{display:none!important}.player-poster{position:absolute;inset:0;z-index:8;background-size:cover;background-position:center;display:grid;place-items:center;cursor:pointer;transition:opacity .25s ease,visibility .25s ease}.poster-shade{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,0,0,.15),rgba(0,0,0,.72)),linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,122,26,.12));z-index:1}.center-only{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;margin:0;padding-left:8px;display:flex;align-items:center;justify-content:center}.poster-caption{position:absolute;left:50%;top:calc(50% + 76px);transform:translateX(-50%);z-index:2;color:#fff;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.55);letter-spacing:.2px}.poster-hide{opacity:0;visibility:hidden;pointer-events:none}.hidden-player{opacity:0}.hidden-controls{display:none!important}.video-brand{z-index:9}.custom-controls{z-index:10}@media(max-width:650px){.poster-caption{top:calc(50% + 58px)}.center-only{padding-left:6px}}

/* DLC Graphy-style homepage + improved player update */
.public-home{display:grid;gap:22px}.hero-card,.lms-home-hero{background:radial-gradient(circle at top right,rgba(255,122,26,.24),transparent 35%),linear-gradient(135deg,#11111c,#252235);color:#fff;border-radius:28px;padding:36px;box-shadow:var(--shadow);overflow:hidden}.hero-card h2,.lms-home-hero h2{font-size:clamp(30px,4vw,54px);line-height:1.05;margin:14px 0 14px;max-width:760px}.hero-card p,.lms-home-hero p{max-width:720px;color:#d7d7df}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.fake-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.orange-pill{background:rgba(255,122,26,.14);color:#ff7a1a;border:1px solid rgba(255,122,26,.25)}.inline-login{max-width:none;margin:0}.public-section{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.landing-course,.feature-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(20,20,35,.06)}.landing-course b,.feature-card b{font-size:18px}.feature-grid{margin-top:18px}.demo-card{position:relative;overflow:hidden}.demo-card:before{content:'';position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#ff7a1a,#ffc14d)}.chat-card{padding:0;overflow:hidden}.chat-list{max-height:420px;overflow:auto;padding:20px;display:grid;gap:12px;background:#fbfbfd}.chat-msg{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.chat-msg b{display:block}.chat-msg small{color:var(--muted);font-size:11px}.chat-msg p{margin:8px 0 0}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px;border-top:1px solid var(--line);background:#fff}
.video-brand{background:rgba(255,122,26,.96);font-size:13px;padding:10px 16px;text-transform:none}.big-play{position:relative;width:96px;height:96px;padding:0!important;display:flex;align-items:center;justify-content:center}.big-play::before{content:'';display:block;width:0;height:0;border-top:17px solid transparent;border-bottom:17px solid transparent;border-left:25px solid #fff;transform:translateX(3px)}.center-only{top:50%;left:50%;transform:translate(-50%,-50%);padding:0!important}.poster-caption{top:calc(50% + 72px)}
@media(max-width:650px){.hero-card,.lms-home-hero{padding:24px}.chat-compose{grid-template-columns:1fr}.big-play{width:74px;height:74px}.big-play::before{border-top-width:13px;border-bottom-width:13px;border-left-width:20px}.poster-caption{top:calc(50% + 58px)}}

/* Production wording + community/admin upgrade */
.danger-pill{background:#ffe8e8!important;color:#c62828!important}.compact{padding:16px}.chat-tools{display:grid;grid-template-columns:1fr 150px auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:14px}.chat-compose.advanced{grid-template-columns:1.2fr .9fr .7fr .9fr auto}.chat-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.chat-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.chat-links a{color:#ff7a1a;font-weight:800;text-decoration:none}.chat-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.mini{padding:7px 10px;border-radius:10px;font-size:12px}.chat-msg.resolved{border-color:#bcebd3;background:#f3fff8}.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.user-row{grid-template-columns:1fr auto}.brand h1{font-size:18px}.brand p{font-size:12px}.public-home .muted{color:#d7d7df}.public-section .muted,.card .muted{color:var(--muted)}

/* Fixed centered play button - prevents bottom-right drift */
.player-poster{display:block!important;position:absolute!important}.player-poster.poster-hide{display:block!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}.big-play.center-only{position:absolute!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;margin:0!important;padding:0!important;z-index:3!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}.poster-caption{left:50%!important;right:auto!important;text-align:center!important;white-space:nowrap}.video-brand{z-index:9!important}.custom-video{position:relative!important}.custom-controls{z-index:10!important}
@media(max-width:700px){.chat-compose.advanced,.chat-tools{grid-template-columns:1fr}.row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}}

/* Public homepage polish: fixed CTA buttons, public demos, buy course and offers */
.fake-btn{border-radius:14px;padding:13px 18px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;border:1px solid transparent;min-height:46px}.fake-btn.primary,.hero-actions .primary{background:var(--accent);color:#fff}.fake-btn.soft,.hero-actions .soft{background:#fff;color:#161622;border-color:#ececf3}.hero-actions a:hover,.full-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(20,20,35,.12)}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.section-head h2{margin-bottom:4px}.course-buy-card,.offer-card,.demo-card{display:flex;flex-direction:column;gap:10px}.price-line{font-size:24px;font-weight:950;color:#161622;margin-top:auto}.old-price{text-decoration:line-through;color:#8b8b99;font-size:16px;margin-right:8px}.full-btn{width:100%;text-align:center;justify-content:center}.public-player-wrap{margin-top:18px}.public-demo-video{margin-top:14px}.public-demo-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}.public-demo-video .player-poster{z-index:5}.app-section{margin-top:22px}.inline-login .primary{min-width:150px;text-align:center}.public-section{scroll-margin-top:24px}.hero-actions{align-items:center}.hero-card{padding-bottom:42px}@media(max-width:650px){.fake-btn,.hero-actions a,.hero-actions button{width:100%;}.section-head{display:block}.hero-card h2{font-size:34px}.price-line{font-size:21px}}


/* DLC responsive + video control fixes */
.video-click-layer{
  position:absolute!important;
  inset:0!important;
  z-index:7!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  cursor:pointer!important;
  padding:0!important;
}
.video-click-layer:focus{outline:2px solid rgba(255,122,26,.55);outline-offset:-6px}
.video-click-layer::after{
  content:'Click to pause / play';
  position:absolute;
  left:50%;top:50%;transform:translate(-50%,-50%);
  color:#fff;background:rgba(0,0,0,.42);padding:9px 13px;border-radius:999px;
  opacity:0;transition:.2s;font-size:12px;font-weight:900;pointer-events:none;
}
.video-click-layer:hover::after{opacity:1}
.custom-controls{pointer-events:auto!important}.custom-controls *{pointer-events:auto!important}
.player-poster{border-radius:inherit}.custom-video{max-width:100%;touch-action:manipulation}
.custom-video iframe,#player{border:0!important;display:block!important}
.big-play.center-only{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}

@media(max-width:1024px){
  .app-shell{grid-template-columns:260px 1fr}.main{padding:24px}.hero-card h2,.lms-home-hero h2{font-size:clamp(30px,5vw,58px);line-height:1.08}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}
@media(max-width:820px){
  .app-shell{display:block}.sidebar{position:relative;height:auto;padding:18px}.brand{margin-bottom:16px}.nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.nav button,.sidebar button{text-align:center;padding:12px 10px}.main{padding:16px}.card{border-radius:18px;padding:18px}.row{grid-template-columns:1fr}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.topbar .pill{margin-top:10px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-actions button,.hero-actions a{width:100%;text-align:center;justify-content:center}
}
@media(max-width:650px){
  .custom-video{border-radius:18px}.video-brand{font-size:10px!important;padding:7px 10px!important;top:10px!important;right:10px!important}.poster-caption{font-size:13px;top:calc(50% + 55px)!important}.big-play{width:70px!important;height:70px!important}.custom-controls{left:8px!important;right:8px!important;bottom:8px!important;padding:8px!important;border-radius:14px!important;grid-template-columns:auto 1fr auto!important}.custom-controls #timeNow,.custom-controls #timeTotal{display:none!important}.control-btn{min-width:40px!important;height:38px!important}.video-click-layer::after{display:none}.login-card{margin:28px 0}.public-section,.app-section{padding-left:0;padding-right:0}.section-head{display:block!important}.course-buy-card,.offer-card,.demo-card{min-width:0}
}
@media(max-width:420px){
  .nav{grid-template-columns:1fr}.logo{width:48px;height:48px}.brand h1{font-size:18px}.main{padding:12px}.card{padding:15px}.hero-card,.lms-home-hero{padding:20px!important}.hero-card h2,.lms-home-hero h2{font-size:32px!important}.grid{grid-template-columns:1fr}.custom-controls{grid-template-columns:auto 1fr auto!important}.custom-controls button:last-child{display:none}
}

/* Buy course / offers image management */
.card-img{width:100%;height:150px;border-radius:18px;background-size:cover;background-position:center;margin-bottom:12px;box-shadow:inset 0 -55px 80px rgba(0,0,0,.28);overflow:hidden}
.card-img-fallback{background:linear-gradient(135deg,#151523,#ff7a1a);display:flex;align-items:flex-end;padding:16px;color:#fff;font-weight:950;font-size:20px}
.mini-img{width:74px;height:54px;border-radius:12px;background:#f2f2f6;background-size:cover;background-position:center;flex:0 0 auto;border:1px solid #ececf3}
.offer-admin-row{align-items:center;gap:14px}.offer-admin-row .row-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.course-buy-card,.offer-card{overflow:hidden}.course-buy-card h3,.offer-card h3{margin-top:2px}
@media(max-width:650px){.card-img{height:125px}.offer-admin-row{align-items:flex-start}.mini-img{width:100%;height:120px}.offer-admin-row .row-actions{margin-left:0;width:100%}.offer-admin-row .row-actions button{flex:1}}

/* DLC admin panel UX upgrade */
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.admin-tabs button{border-radius:15px;padding:12px 16px}.clean-tabs{display:flex;gap:12px;padding:16px 16px 0}.clean-tabs button{border-radius:15px;padding:12px 18px;min-width:150px}.admin-editor-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:20px;align-items:start}.admin-form-card label{display:block;margin:12px 0 6px;font-weight:850;color:#252238}.admin-form-card input,.admin-form-card textarea,.admin-form-card select,.access-actions input{width:100%;border:1px solid #e7e7ef;background:#fafafe;border-radius:14px;padding:12px 13px;font:inherit;outline:none}.admin-form-card textarea{min-height:96px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row{display:flex;align-items:center;gap:10px;margin-top:28px}.check-row input{width:auto}.admin-list{display:grid;gap:12px}.admin-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid #ececf3;background:#fff;border-radius:20px;padding:14px;margin:10px 0}.admin-item-main b{font-size:16px;margin-right:8px}.admin-item-main small{display:block;color:var(--muted);margin-top:5px;line-height:1.45}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-actions button{border-radius:13px;padding:10px 13px}.admin-order{width:38px;height:38px;border-radius:14px;background:#f2f2f7;display:flex;align-items:center;justify-content:center;font-weight:950}.avatar-mini{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#151523,#ff7a1a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950}.centered-form{max-width:760px;margin:auto}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.access-actions{display:grid;grid-template-columns:150px 110px auto auto auto;gap:8px;align-items:center}.chat-top{padding:20px 20px 0}.chat-top h3{margin:0 0 6px}.chat-list{max-height:520px}.chat-compose.advanced textarea{min-height:48px}.chat-compose.advanced input,.chat-compose.advanced textarea{border:1px solid #e7e7ef;background:#fafafe;border-radius:14px;padding:12px}.chat-tools input,.chat-tools select{border:1px solid #e7e7ef;background:#fafafe;border-radius:14px;padding:12px}.lesson-item{border-left:5px solid #ff7a1a}.danger-pill{background:#ffe7e7!important;color:#b42318!important}.ok{background:#e8fff2!important;color:#177245!important}.soft[disabled],.mini[disabled]{opacity:.45;cursor:not-allowed}.admin-wide{grid-column:1 / -1}.row-actions .soft,.row-actions .dark,.row-actions .danger,.admin-actions .soft,.admin-actions .dark,.admin-actions .danger{white-space:nowrap}.chat-msg{box-shadow:0 8px 22px rgba(20,20,35,.04)}.chat-msg.resolved{opacity:.72}
@media(max-width:1000px){.admin-editor-grid{grid-template-columns:1fr}.access-actions{grid-template-columns:1fr 1fr}.access-actions button{width:100%}.admin-wide{grid-column:auto}}
@media(max-width:700px){.admin-item{grid-template-columns:1fr}.admin-actions{justify-content:flex-start}.two-col{grid-template-columns:1fr}.check-row{margin-top:8px}.clean-tabs button,.admin-tabs button{flex:1;min-width:130px}.chat-compose.advanced{grid-template-columns:1fr}.access-actions{grid-template-columns:1fr}.mini-img{width:100%;height:140px}.admin-form-card{padding:18px}.admin-tabs{display:grid;grid-template-columns:1fr 1fr}.clean-tabs{display:grid;grid-template-columns:1fr}}

/* Support tabs contrast + cleaner support inbox UI fix */
.tabs button.primary,
.clean-tabs button.primary,
.admin-tabs button.primary{
  background:linear-gradient(135deg,#ff7a1a,#ffad36)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(255,122,26,.22)!important;
}
.tabs button.soft,
.clean-tabs button.soft,
.admin-tabs button.soft{
  background:#f2f3f8!important;
  color:#171724!important;
}
.tabs button:hover,
.clean-tabs button:hover,
.admin-tabs button:hover{
  transform:translateY(-1px);
}
.clean-tabs{
  padding:18px 20px 4px!important;
  gap:10px!important;
}
.clean-tabs button{
  min-width:0!important;
  border:1px solid #ececf3!important;
  box-shadow:none!important;
}
.chat-card{
  border-radius:24px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.chat-top{
  background:linear-gradient(135deg,#ffffff,#fbfbff)!important;
  border-bottom:1px solid #eeeeF5!important;
  padding:22px 24px 14px!important;
}
.chat-tools{
  margin:16px 18px 8px!important;
  border-radius:18px!important;
  background:#fbfbfe!important;
  border:1px solid #ececf3!important;
}
.chat-list{
  background:linear-gradient(180deg,#fbfbfe,#ffffff)!important;
}
.chat-msg.resolved{
  background:#f0fff7!important;
  border-color:#ccefdc!important;
}

/* User role + course thumbnail upgrade */
.course-card-head{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:4px}.my-course-card .card-img{height:155px;margin:-4px -4px 12px}.orange-pill{background:#fff1e5!important;color:#c25008!important}.admin-item-main .pill{margin-left:6px}.role-note{font-size:12px;color:var(--muted);display:block;margin-top:6px}
@media(max-width:700px){.my-course-card .card-img{height:130px}.course-card-head{justify-content:flex-start}}

/* DLC public homepage content upgrade */
.public-hero-xl{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch;background:linear-gradient(135deg,#151423,#24172b 70%,#ff7a1a 160%);border-radius:32px;padding:34px;margin-bottom:28px;color:#fff;box-shadow:0 24px 55px rgba(18,15,35,.18)}
.public-hero-xl h2{font-size:clamp(36px,6vw,72px);line-height:1.02;margin:16px 0 18px;color:#fff;letter-spacing:-1.5px}.public-hero-xl .muted{color:#f4f0ff;font-size:18px;max-width:800px}.hero-copy{display:flex;flex-direction:column;justify-content:center}.hero-carousel{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:145px;gap:12px}.carousel-tile{position:relative;border-radius:22px;background-size:cover;background-position:center;overflow:hidden;box-shadow:inset 0 -60px 90px rgba(0,0,0,.45)}.carousel-tile.wide{grid-row:span 2}.carousel-tile span{position:absolute;left:14px;bottom:12px;background:rgba(255,255,255,.92);color:#171523;border-radius:999px;padding:6px 11px;font-weight:800;font-size:12px}.about-card{background:#fff;border-radius:28px;padding:30px;border:1px solid #eeeef5;box-shadow:0 18px 45px rgba(20,17,35,.07)}.public-footer{text-align:center;color:#69677a;padding:26px 0 8px;font-weight:700}.feature-edit-row{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;border:1px solid #eeeef5;border-radius:16px;padding:12px;margin:10px 0;background:#fbfbfe}.admin-wide{grid-column:1/-1}.public-section{scroll-margin-top:20px}
@media(max-width:900px){.public-hero-xl{grid-template-columns:1fr;padding:24px}.hero-carousel{grid-auto-rows:120px}.feature-edit-row{grid-template-columns:1fr}.public-hero-xl h2{font-size:38px}}
@media(max-width:600px){.public-hero-xl{border-radius:22px;margin:0 0 18px;padding:20px}.hero-actions{display:flex;flex-direction:column}.hero-actions a,.hero-actions button{width:100%;text-align:center}.hero-carousel{grid-template-columns:1fr;grid-auto-rows:150px}.carousel-tile.wide{grid-row:auto}.public-hero-xl h2{font-size:32px}}

/* Editable homepage builder */
.cms-builder-head { margin-bottom: 18px; }
.cms-add-row { display:flex; gap:12px; align-items:end; flex-wrap:wrap; margin-top:14px; }
.cms-add-row select { min-width: 260px; }
.home-builder-list { display:grid; gap:16px; }
.cms-section-card { border:1px solid rgba(18,18,35,.08); box-shadow:0 18px 45px rgba(17,18,38,.06); }
.cms-section-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid rgba(18,18,35,.08); }
.cms-fields { display:grid; gap:12px; }
.cms-sub-box { background:#f7f7fb; border:1px solid #ececf5; border-radius:18px; padding:14px; display:grid; gap:12px; }
.cms-mini-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cms-row { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; }
.cms-item-edit { background:#fff; border:1px solid #e7e7f2; border-radius:16px; padding:14px; display:grid; gap:10px; }
.cms-note { background:#fff7ed; border:1px solid #fed7aa; border-radius:14px; padding:12px; }
.section-image { min-height:240px; border-radius:24px; background-size:cover; background-position:center; box-shadow: inset 0 0 0 1px rgba(0,0,0,.04); }
@media(max-width:760px){ .cms-section-top{align-items:flex-start; flex-direction:column;} .cms-row{grid-template-columns:1fr;} .cms-add-row select{min-width:100%;} }

/* Player auto-hide, real quality menu, mini player and spacing polish */
.video-shell.ui-hidden .custom-controls,
.video-shell.ui-hidden .video-brand,
.video-shell.ui-hidden .poster-caption{
  opacity:0!important;
  transform:translateY(10px);
  pointer-events:none!important;
}
.video-shell.ui-hidden .video-click-layer{
  opacity:0!important;
}
.video-shell.ui-visible .custom-controls,
.video-shell.ui-visible .video-brand,
.video-shell.ui-visible .poster-caption{
  opacity:1;
  transition:opacity .22s ease, transform .22s ease;
}
.video-click-layer{position:absolute;inset:0;z-index:5;background:transparent;border:0;border-radius:0;padding:0;cursor:pointer;opacity:1;transition:opacity .22s ease}.video-click-layer:focus{outline:none}.quality-select{width:auto;min-width:84px;height:40px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:0 9px;font-weight:850}.quality-select option{background:#15151f;color:#fff}.lesson-layout-spacious{display:grid;gap:22px}.lesson-info-card{margin-top:0}.compact-head{margin-bottom:14px}.custom-controls{transition:opacity .22s ease, transform .22s ease}.video-brand{transition:opacity .22s ease, transform .22s ease}.lesson-mini-active #videoShell{position:fixed!important;right:22px;bottom:22px;width:min(420px,calc(100vw - 28px));z-index:9999;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.35)}.lesson-mini-active #videoShell .custom-controls{left:10px;right:10px;bottom:10px;padding:8px;gap:7px;grid-template-columns:auto 1fr auto auto}.lesson-mini-active #videoShell #timeNow,.lesson-mini-active #videoShell #timeTotal,.lesson-mini-active #videoShell #muteBtn,.lesson-mini-active #videoShell .quality-select{display:none}.lesson-mini-active #videoShell .video-brand{font-size:11px;padding:7px 10px;top:10px;right:10px}.lesson-mini-active #videoShell .big-play{width:62px;height:62px}.lesson-mini-active #videoShell .poster-caption{display:none}.card,.public-section,.admin-form-card,.chat-card{margin-bottom:26px}.section-head{gap:18px}.section-head h2,.section-head h3{line-height:1.2}.grid{gap:20px}.admin-grid{gap:24px}.admin-editor-grid{gap:26px}.admin-list{gap:16px}.admin-item{padding:18px;gap:18px}.row{gap:18px;padding:17px}.row-actions,.admin-actions{gap:10px}.public-home,.logged-home-builder{display:grid;gap:28px}.landing-course,.feature-card{display:flex;flex-direction:column;gap:10px}.hero-actions{gap:14px}.topbar{padding-bottom:8px}.chat-compose.advanced{gap:14px}.chat-tools{display:grid;gap:12px}@media(max-width:760px){.custom-controls{grid-template-columns:auto 1fr auto auto!important;left:10px;right:10px;bottom:10px;padding:8px}.quality-select{min-width:74px;font-size:12px}.lesson-mini-active #videoShell{right:12px;bottom:12px}.video-click-layer{z-index:5}.app-shell{display:block}.main{max-width:100%;}.card,.public-section{margin-bottom:18px}.admin-item,.row{gap:12px;padding:14px}.grid{gap:14px}}

/* Admin pagination, AJAX loading and spacing deep polish */
.admin-search-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto;
  gap:12px;
  align-items:center;
  margin:16px 0 18px;
  padding:14px;
  border-radius:18px;
  background:#fafafe;
  border:1px solid #ececf5;
}
.admin-search-row input{
  margin:0!important;
  min-height:44px;
}
.loadmore-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:54px;
  padding:16px 0 4px;
}
.load-more-btn{
  min-width:180px;
  justify-content:center;
}
.loading-row{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-weight:800;
}
.loader-dot{
  width:18px;
  height:18px;
  border-radius:50%;
  border:3px solid rgba(255,122,26,.25);
  border-top-color:#ff7a1a;
  animation:spin .75s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.empty-state{
  padding:22px;
  border-radius:18px;
  background:#fafafe;
  color:#67677a;
  border:1px dashed #dadae8;
  text-align:center;
  font-weight:750;
}
.small-note{
  display:inline-flex;
  padding:10px 14px;
  border-radius:999px;
  background:#f5f6fb;
}
.admin-tabs-spacious{
  margin-bottom:24px!important;
  row-gap:12px!important;
}
.admin-editor-grid{
  align-items:start;
}
.admin-form-card label{
  margin-top:14px;
  margin-bottom:7px;
}
.admin-form-card input,
.admin-form-card textarea,
.admin-form-card select,
.cms-section-card input,
.cms-section-card textarea,
.cms-section-card select{
  margin-bottom:4px;
}
.admin-item-main{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  min-width:0;
}
.admin-item-main b{
  margin-right:4px;
}
.admin-item-main small{
  flex-basis:100%;
  line-height:1.55;
  margin-top:2px;
}
.admin-actions{
  align-items:center;
}
.admin-actions button,
.row-actions button{
  min-height:38px;
}
.admin-wide > h3,
.admin-form-card > h3,
.card > h3{
  margin-bottom:8px;
}
.admin-wide > p.muted,
.admin-form-card > p.muted{
  margin-top:0;
  line-height:1.55;
}
.access-actions{
  grid-template-columns:150px 100px auto auto!important;
}
@media(max-width:900px){
  .admin-search-row{grid-template-columns:1fr;}
  .admin-actions{width:100%;justify-content:flex-start;}
  .access-actions{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:560px){
  .admin-tabs-spacious{grid-template-columns:1fr!important;}
  .admin-search-row{padding:12px;}
  .admin-item{padding:16px!important;}
  .admin-actions button{flex:1;}
  .load-more-btn{width:100%;}
  .access-actions{grid-template-columns:1fr!important;}
}

/* Global section loading animation */
.page-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(6px);
  transition:opacity .18s ease, visibility .18s ease;
}
.page-loader.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.loader-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 22px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(255,132,0,.18);
  box-shadow:0 22px 70px rgba(30,25,20,.16);
  color:#1f2330;
  min-width:210px;
}
.loader-card small{display:block;color:#777c8c;margin-top:3px;}
.loader-spinner{
  width:34px;
  height:34px;
  border-radius:50%;
  border:4px solid #ffe2c4;
  border-top-color:#ff8a00;
  animation:dlcSpin .8s linear infinite;
  flex:0 0 auto;
}
@keyframes dlcSpin{to{transform:rotate(360deg)}}

/* Extra spacing pass for crowded admin/content areas */
#appView > .card,
#appView > .admin-editor-grid,
#appView > .admin-tabs,
#appView > .home-builder-list,
#appView > .logged-home-builder{
  margin-top:18px;
}
.card + .card,
.admin-item + .admin-item,
.cms-section-card + .cms-section-card,
.chat-msg + .chat-msg{
  margin-top:16px;
}
.admin-editor-grid{
  gap:24px!important;
}
.admin-form-card,
.cms-section-card,
.chat-card,
.lesson-info-card{
  padding:24px!important;
}
.cms-fields{display:grid;gap:14px;}
.cms-sub-box{
  margin-top:14px;
  padding:16px;
  border-radius:18px;
  background:#fafafa;
  border:1px solid #ececf2;
}
.cms-mini-head,
.cms-row,
.form-actions,
.chat-tools,
.chat-compose.advanced{
  gap:12px!important;
}
.cms-row{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:10px;}
.cms-item-edit{
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  border:1px solid #ededf4;
  background:#fff;
}
.cms-section-top{
  gap:14px;
}
@media(max-width:720px){
  .loader-card{width:calc(100% - 44px);max-width:320px;}
  .cms-row{grid-template-columns:1fr;}
  .admin-form-card,
  .cms-section-card,
  .chat-card,
  .lesson-info-card{padding:18px!important;}
}

/* Video loading overlay */
.video-loading{
  position:absolute;
  inset:0;
  z-index:8;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(3px);
  pointer-events:none;
}
.video-loading.hidden{display:none!important;}
.video-loading .loader-spinner{
  border-color:rgba(255,255,255,.28);
  border-top-color:#ff8a00;
}
.video-loading b{font-size:14px;letter-spacing:.2px;}

/* Homepage builder advanced controls */
.cms-audience-box{
  margin:14px 0;
  padding:14px;
  border:1px solid #ececf2;
  border-radius:16px;
  background:#fffaf4;
}
.toggle-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.toggle-grid label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px;
  border:1px solid #ececf2;
  border-radius:14px;
  background:#fff;
  font-weight:700;
}
.toggle-grid input{width:auto!important;}
.cms-section-card input,
.cms-section-card textarea,
.cms-section-card select,
.admin-form-card input,
.admin-form-card textarea,
.admin-form-card select{
  margin-bottom:12px;
}
.lesson-info-card p{line-height:1.6;}
@media(max-width:760px){.toggle-grid{grid-template-columns:1fr}.cms-audience-box{padding:12px}}

/* Final premium UI polish - spacing, structure and professional alignment */
:root{
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --navy:#07182f;
  --navy2:#0e2444;
  --orange:#ff7517;
  --orange2:#ff9a32;
}
body{background:linear-gradient(180deg,#f8f9fd 0%,#f3f5fa 100%);font-size:16px;-webkit-font-smoothing:antialiased;}
.main{max-width:1320px;padding:38px clamp(20px,3vw,48px);}
.sidebar{background:linear-gradient(180deg,#080d1d 0%,#121428 100%);box-shadow:18px 0 45px rgba(10,14,30,.08);}
.nav button,.sidebar button{min-height:52px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.04);box-shadow:0 6px 14px rgba(0,0,0,.05);}
.nav button:hover,.nav button.primary{background:linear-gradient(135deg,#242842,#303654);}
.card,.public-section,.admin-form-card,.landing-course,.feature-card,.course-card,.chat-card{
  border-radius:var(--radius-xl)!important;
  border:1px solid rgba(18,24,44,.075)!important;
  box-shadow:0 18px 45px rgba(15,23,42,.06)!important;
}
.card,.public-section,.admin-form-card{padding:clamp(22px,2.4vw,32px)!important;}
.section-head,.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;}
.section-head h2,.topbar h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.5px;}
.section-head p,.topbar p{margin-top:8px;max-width:720px;}
.grid{gap:26px!important;}

/* Premium course cards */
.course-card,.landing-course,.my-course-card{
  padding:0!important;
  overflow:hidden;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%;
  background:#fff!important;
}
.card-img,.course-card img,.landing-course img{width:100%;height:190px;object-fit:cover;border-radius:22px;margin:0!important;display:block;}
.course-card .card-img,.landing-course .card-img,.my-course-card .card-img{border-radius:22px 22px 0 0!important;}
.course-card > *:not(.card-img),.landing-course > *:not(.card-img),.my-course-card > *:not(.card-img){margin-left:24px!important;margin-right:24px!important;}
.course-card .pill,.landing-course .pill{align-self:flex-start;margin-top:20px!important;}
.course-card h3,.landing-course b,.my-course-card h3{font-size:22px;line-height:1.22;margin-top:12px!important;margin-bottom:8px!important;letter-spacing:-.25px;}
.course-card p,.landing-course p,.my-course-card p{color:#62677a;line-height:1.75;margin-bottom:18px!important;}
.course-card .primary,.landing-course .primary,.my-course-card .primary{margin-top:auto!important;margin-bottom:24px!important;width:calc(100% - 48px);min-height:52px;border-radius:16px;background:linear-gradient(135deg,var(--orange),var(--orange2));box-shadow:0 14px 25px rgba(255,117,23,.18);}

/* Premium forms */
.admin-grid,.admin-editor-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(520px,1.35fr);gap:30px!important;align-items:start;}
.admin-form-card{position:sticky;top:24px;background:linear-gradient(180deg,#fff,#fbfcff)!important;}
.admin-form-card h3,.admin-form-card h2{padding-left:14px;border-left:4px solid var(--orange);letter-spacing:-.2px;}
label{font-size:14px;color:#12182a;margin-top:18px!important;}
input,textarea,select{min-height:50px;border-radius:16px!important;background:#fbfcff!important;border:1px solid #e5e8f1!important;transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;}
textarea{min-height:128px;line-height:1.6;resize:vertical;}
input:focus,textarea:focus,select:focus{outline:none;border-color:rgba(255,117,23,.55)!important;box-shadow:0 0 0 4px rgba(255,117,23,.1);background:#fff!important;}
.primary{background:linear-gradient(135deg,var(--orange),var(--orange2))!important;color:#fff!important;box-shadow:0 12px 24px rgba(255,117,23,.16);}
.dark{background:linear-gradient(135deg,#07182f,#10264a)!important;color:#fff!important;}
.soft{background:#f3f5fa!important;color:#10172a!important;}
button{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.2;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
button:hover{transform:translateY(-1px);}

/* Cleaner admin list/table/card management */
.admin-list{display:grid;gap:16px!important;}
.admin-item,.row{background:#fff;border:1px solid #e8ebf3!important;border-radius:20px!important;padding:20px!important;box-shadow:0 10px 26px rgba(15,23,42,.035);}
.admin-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px!important;}
.admin-actions,.row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px!important;}
.admin-actions button,.row-actions button{min-height:42px;border-radius:14px;padding:10px 14px;}
.admin-search-row{grid-template-columns:minmax(260px,1fr) auto auto!important;background:#fff!important;box-shadow:0 12px 28px rgba(15,23,42,.04);padding:18px!important;border-radius:22px!important;}
.loadmore-wrap{padding:24px 0 8px!important;}
.loading-row{box-shadow:0 10px 24px rgba(255,117,23,.12);}

/* Public/home builder sections */
.public-hero-xl,.hero-card,.lms-home-hero{border-radius:34px!important;padding:clamp(28px,4vw,52px)!important;box-shadow:0 26px 70px rgba(8,13,29,.14)!important;}
.feature-grid{gap:22px!important;}
.feature-card{padding:26px!important;min-height:170px;background:linear-gradient(180deg,#fff,#fbfcff)!important;}
.feature-card b{font-size:20px;line-height:1.3;}
.cms-section-card{padding:24px!important;border-radius:24px!important;background:linear-gradient(180deg,#fff,#fcfdff)!important;}
.cms-section-top{align-items:flex-start!important;padding-bottom:18px!important;margin-bottom:20px!important;}
.cms-fields{gap:16px!important;}
.cms-sub-box,.cms-item-edit{border-radius:20px!important;padding:18px!important;}
.cms-add-row{background:#fbfcff;border:1px solid #e8ebf3;border-radius:20px;padding:16px;}

/* Chat/support spacing */
.chat-card{overflow:hidden!important;}
.chat-top{padding:26px 28px 18px!important;}
.chat-list{padding:24px!important;gap:16px!important;}
.chat-msg{padding:18px!important;border-radius:18px!important;}
.chat-compose,.chat-compose.advanced{padding:20px!important;gap:14px!important;}

/* Lesson/player polish */
.video-shell{border-radius:30px!important;box-shadow:0 24px 60px rgba(0,0,0,.16)!important;}
.custom-controls{border-radius:22px!important;padding:12px 14px!important;}
.video-brand{border-radius:999px!important;box-shadow:0 10px 22px rgba(255,117,23,.18);}

/* Responsive polish */
@media(max-width:1100px){
  .admin-grid,.admin-editor-grid{grid-template-columns:1fr;}
  .admin-form-card{position:relative;top:auto;}
  .card-img,.course-card img,.landing-course img{height:170px;}
}
@media(max-width:850px){
  .app-shell{grid-template-columns:1fr!important;}
  .sidebar{position:relative!important;height:auto!important;padding:22px!important;}
  .nav{grid-template-columns:repeat(2,minmax(0,1fr));}
  .main{padding:22px!important;}
  .section-head,.topbar{display:block;}
  .admin-search-row{grid-template-columns:1fr!important;}
  .admin-item,.row{grid-template-columns:1fr!important;}
  .admin-actions,.row-actions{justify-content:flex-start;}
}
@media(max-width:560px){
  .nav{grid-template-columns:1fr;}
  .main{padding:16px!important;}
  .card,.public-section,.admin-form-card{padding:18px!important;border-radius:22px!important;}
  .course-card > *:not(.card-img),.landing-course > *:not(.card-img),.my-course-card > *:not(.card-img){margin-left:18px!important;margin-right:18px!important;}
  .course-card .primary,.landing-course .primary,.my-course-card .primary{width:calc(100% - 36px);margin-bottom:18px!important;}
  .card-img,.course-card img,.landing-course img{height:155px;}
}

/* Professional layout repair - keep same content, fix structure/spacing */
:root{--dlc-navy:#07182f;--dlc-orange:#ff7517;--dlc-soft:#f6f7fb;--dlc-line:#e7eaf2;--dlc-text:#0f172a;--dlc-muted:#647084;}
body{background:linear-gradient(180deg,#f8f9fd 0%,#f3f5fa 100%)!important;color:var(--dlc-text)!important;}
.main{max-width:1360px!important;width:100%!important;padding:36px clamp(18px,3vw,46px)!important;overflow-x:hidden!important;}
.card,.public-section,.admin-form-card{background:#fff!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 18px 46px rgba(15,23,42,.055)!important;border-radius:26px!important;}

/* Stop sticky form overlapping the list while scrolling */
.admin-form-card{position:relative!important;top:auto!important;z-index:1!important;}
.admin-editor-grid,.admin-grid{display:grid!important;grid-template-columns:minmax(340px,430px) minmax(0,1fr)!important;gap:28px!important;align-items:start!important;}
.admin-wide{grid-column:1 / -1!important;}
.centered-form{max-width:760px!important;margin:0 auto!important;width:100%!important;}

/* Cleaner form rhythm */
.admin-form-card h3{font-size:23px!important;line-height:1.25!important;margin-bottom:10px!important;}
.admin-form-card p.muted{margin:0 0 20px!important;line-height:1.65!important;}
.admin-form-card label{margin:18px 0 8px!important;font-size:14px!important;font-weight:850!important;letter-spacing:.01em!important;color:#17172a!important;}
.admin-form-card input,.admin-form-card textarea,.admin-form-card select{width:100%!important;min-height:54px!important;border-radius:16px!important;background:#fbfcff!important;border:1px solid #e3e7f0!important;padding:14px 16px!important;}
.admin-form-card textarea{min-height:132px!important;}
.two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;align-items:end!important;}
.check-row{display:flex!important;align-items:center!important;gap:10px!important;min-height:54px!important;padding-top:28px!important;}
.check-row input{width:auto!important;min-height:auto!important;}
.check-row label{margin:0!important;}
.full-btn{width:100%!important;min-height:54px!important;margin-top:18px!important;}

/* Student/course grid: premium but compact, equal and aligned */
#courseGrid.grid,.course-grid,.landing-grid,.feature-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:26px!important;align-items:stretch!important;}
#courseGrid .course-card,.landing-course,.my-course-card{min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important;padding:0!important;overflow:hidden!important;border-radius:26px!important;background:#fff!important;}
.card-img,.course-card .card-img,.landing-course .card-img,.my-course-card .card-img{height:180px!important;width:100%!important;object-fit:cover!important;background-size:cover!important;background-position:center!important;border-radius:26px 26px 0 0!important;margin:0!important;flex:0 0 auto!important;}
#courseGrid .course-card > *:not(.card-img),.landing-course > *:not(.card-img),.my-course-card > *:not(.card-img){margin-left:26px!important;margin-right:26px!important;}
.course-card-head{margin-top:22px!important;margin-bottom:8px!important;gap:8px!important;}
#courseGrid .course-card h3,.landing-course b,.my-course-card h3{font-size:22px!important;line-height:1.22!important;margin:12px 26px 10px!important;letter-spacing:-.25px!important;}
#courseGrid .course-card p,.landing-course p,.my-course-card p{line-height:1.65!important;color:#606b80!important;margin-top:6px!important;margin-bottom:18px!important;}
#courseGrid .course-card .primary,.landing-course .primary,.my-course-card .primary{margin-top:auto!important;margin-left:26px!important;margin-right:26px!important;margin-bottom:26px!important;width:calc(100% - 52px)!important;min-height:54px!important;border-radius:16px!important;}
.progress-wrap{margin-top:auto!important;}
.my-course-card small{display:block;margin:8px 26px 16px!important;color:#657087!important;}

/* Admin list no cramped buttons */
.admin-search-row{display:grid!important;grid-template-columns:minmax(260px,1fr) auto auto!important;gap:14px!important;align-items:center!important;margin:18px 0 22px!important;padding:18px!important;border-radius:22px!important;background:#fbfcff!important;border:1px solid #e5e8f1!important;box-shadow:none!important;}
.admin-list{display:grid!important;gap:18px!important;}
.admin-item,.row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;padding:20px!important;border-radius:22px!important;background:#fff!important;border:1px solid #e6e9f2!important;box-shadow:0 10px 28px rgba(15,23,42,.04)!important;}
.admin-item-main{min-width:0!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 10px!important;}
.admin-item-main b{font-size:17px!important;line-height:1.3!important;}
.admin-item-main small{flex-basis:100%!important;color:#647084!important;line-height:1.55!important;}
.admin-actions,.row-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;align-items:center!important;}
.admin-actions button,.row-actions button{min-height:42px!important;padding:10px 14px!important;border-radius:14px!important;white-space:nowrap!important;}
.mini-img{width:82px!important;height:64px!important;border-radius:16px!important;background-size:cover!important;background-position:center!important;flex:0 0 auto!important;}
.lecture-item{grid-template-columns:auto minmax(0,1fr) auto!important;}
.admin-order{width:44px!important;height:44px!important;border-radius:14px!important;background:#fff4ea!important;color:#c45108!important;display:grid!important;place-items:center!important;font-weight:900!important;}

/* Better section headers */
.topbar,.section-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:22px!important;margin-bottom:26px!important;}
.topbar h2,.section-head h2{font-size:clamp(28px,3vw,42px)!important;line-height:1.08!important;margin:0 0 10px!important;letter-spacing:-.7px!important;}
.topbar p,.section-head p{max-width:760px!important;color:#647084!important;margin:0!important;}

/* Homepage builder cards stay tidy */
.home-builder-list{display:grid!important;gap:22px!important;}
.cms-section-card{position:relative!important;overflow:visible!important;padding:24px!important;}
.cms-section-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin-bottom:22px!important;padding-bottom:18px!important;border-bottom:1px solid #edf0f6!important;}
.cms-fields{display:grid!important;gap:16px!important;}
.cms-sub-box,.cms-item-edit{border-radius:20px!important;background:#fbfcff!important;border:1px solid #e6e9f2!important;padding:18px!important;}

/* Video and support spacing */
.lesson-layout-spacious{display:grid!important;gap:26px!important;}
.chat-card,.chat-top,.chat-list,.chat-compose{border-radius:24px!important;}
.chat-list{display:grid!important;gap:16px!important;padding:22px!important;}
.chat-compose.advanced{display:grid!important;grid-template-columns:2fr 1fr 1fr 1fr auto!important;gap:14px!important;align-items:end!important;}

/* Global loading overlay */
.view-loading{position:relative;min-height:160px;}
.view-loading:after{content:'Loading...';position:absolute;inset:0;display:grid;place-items:center;background:rgba(247,248,252,.72);backdrop-filter:blur(2px);font-weight:900;color:#ff7517;border-radius:24px;}

/* Responsiveness without overlap */
@media(max-width:1100px){
  .admin-editor-grid,.admin-grid{grid-template-columns:1fr!important;}
  .admin-form-card{max-width:none!important;}
  #courseGrid.grid,.course-grid,.landing-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;}
}
@media(max-width:760px){
  .main{padding:18px!important;}
  .card,.public-section,.admin-form-card{padding:20px!important;border-radius:22px!important;}
  #courseGrid.grid,.course-grid,.landing-grid,.feature-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .card-img,.course-card .card-img,.landing-course .card-img,.my-course-card .card-img{height:165px!important;}
  .admin-search-row,.admin-item,.row,.lecture-item,.chat-compose.advanced{grid-template-columns:1fr!important;}
  .admin-actions,.row-actions{justify-content:flex-start!important;}
  .two-col{grid-template-columns:1fr!important;}
  .check-row{padding-top:4px!important;}
  .topbar,.section-head,.cms-section-top{display:block!important;}
  .nav{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:520px){
  .nav{grid-template-columns:1fr!important;}
  #courseGrid .course-card > *:not(.card-img),.landing-course > *:not(.card-img),.my-course-card > *:not(.card-img){margin-left:20px!important;margin-right:20px!important;}
  #courseGrid .course-card .primary,.landing-course .primary,.my-course-card .primary{margin-left:20px!important;margin-right:20px!important;width:calc(100% - 40px)!important;}
}

/* Final professional layout correction: equal cards + full-width admin editors */
.main{
  max-width:none!important;
  width:100%!important;
  padding:36px clamp(22px,3vw,52px)!important;
}

/* Admin top editor cards should use full width, no empty right side */
.admin-editor-grid,
.admin-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:28px!important;
  align-items:stretch!important;
}
.admin-form-card:not(.centered-form){
  width:100%!important;
  max-width:none!important;
  position:relative!important;
  top:auto!important;
}
.admin-form-card:not(.centered-form) .two-col{
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;
}
.admin-wide{grid-column:1 / -1!important;width:100%!important;}

/* Course grid: all cards same height, same baseline, same CTA alignment */
#courseGrid.grid,
#publicCourseGrid.grid,
#publicOfferGrid.grid,
#publicDemoGrid.grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important;
  gap:28px!important;
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
#courseGrid .card.course-card,
.my-course-card,
.landing-course,
.course-buy-card,
.offer-card,
.demo-card{
  height:100%!important;
  min-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(15,23,42,.06)!important;
}
.my-course-card .card-img,
.landing-course .card-img,
.course-buy-card .card-img,
.offer-card .card-img,
.demo-card .card-img{
  height:190px!important;
  flex:0 0 190px!important;
  width:100%!important;
  margin:0!important;
  border-radius:28px 28px 0 0!important;
  background-size:cover!important;
  background-position:center!important;
}
.course-card-head{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  margin:22px 26px 8px!important;
}
.my-course-card h3,
#courseGrid .course-card h3,
.landing-course h3{
  min-height:58px!important;
  display:flex!important;
  align-items:flex-start!important;
  margin:12px 26px 8px!important;
  line-height:1.22!important;
}
.my-course-card p,
#courseGrid .course-card p,
.landing-course p{
  min-height:116px!important;
  margin:10px 26px 18px!important;
  line-height:1.65!important;
  color:#606b80!important;
}
.my-course-card .progress-wrap{
  margin:0 26px 8px!important;
}
.my-course-card small{
  margin:0 26px 16px!important;
}
.my-course-card button.primary,
.my-course-card a.primary,
#courseGrid .course-card button.primary,
.landing-course .primary,
.course-buy-card .primary,
.offer-card .primary,
.demo-card .primary{
  margin-top:auto!important;
  margin-left:26px!important;
  margin-right:26px!important;
  margin-bottom:26px!important;
  width:calc(100% - 52px)!important;
  min-height:54px!important;
  border-radius:16px!important;
}

/* Admin cards/list: balanced width and no awkward unused column */
.admin-search-row{
  width:100%!important;
  grid-template-columns:minmax(280px,1fr) auto auto!important;
}
.admin-list{width:100%!important;}
.admin-item{
  width:100%!important;
}

/* Form sections: more professional layout on wide screens */
@media(min-width:1101px){
  .admin-form-card:not(.centered-form){
    padding:32px 36px!important;
  }
  .admin-form-card:not(.centered-form) textarea{
    min-height:118px!important;
  }
}

@media(max-width:900px){
  .main{padding:22px!important;}
  .admin-form-card:not(.centered-form) .two-col{
    grid-template-columns:1fr!important;
  }
  #courseGrid.grid,
  #publicCourseGrid.grid,
  #publicOfferGrid.grid,
  #publicDemoGrid.grid{
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
    gap:20px!important;
  }
}
@media(max-width:560px){
  #courseGrid.grid,
  #publicCourseGrid.grid,
  #publicOfferGrid.grid,
  #publicDemoGrid.grid{
    grid-template-columns:1fr!important;
  }
  #courseGrid .card.course-card,
  .my-course-card,
  .landing-course,
  .course-buy-card,
  .offer-card,
  .demo-card{
    min-height:auto!important;
  }
  .my-course-card h3,
  #courseGrid .course-card h3,
  .landing-course h3,
  .my-course-card p,
  #courseGrid .course-card p,
  .landing-course p{
    min-height:auto!important;
  }
}

/* FINAL STABILITY PATCH - course card alignment + admin row action layout */
/* Keep all course cards on the exact same baseline and stop first/long cards from visually jumping. */
#courseGrid.grid,
#publicCourseGrid.grid,
#publicOfferGrid.grid,
#publicDemoGrid.grid{
  align-items:stretch!important;
  justify-items:stretch!important;
  grid-auto-rows:minmax(0,auto)!important;
}
#courseGrid.grid > *,
#publicCourseGrid.grid > *,
#publicOfferGrid.grid > *,
#publicDemoGrid.grid > *{
  align-self:stretch!important;
  margin-top:0!important;
  transform:none!important;
}
#courseGrid .card.course-card,
.my-course-card,
.landing-course,
.course-buy-card,
.offer-card,
.demo-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-self:stretch!important;
  height:100%!important;
  margin-top:0!important;
  transform:none!important;
}
.my-course-card .card-img,
#courseGrid .course-card .card-img,
.landing-course .card-img,
.course-buy-card .card-img,
.offer-card .card-img,
.demo-card .card-img{
  display:block!important;
  width:100%!important;
  margin:0!important;
  flex-shrink:0!important;
}
/* Consistent internal rhythm for student course cards */
#courseGrid .course-card .course-card-head,
.my-course-card .course-card-head{
  margin:22px 26px 8px!important;
}
#courseGrid .course-card h3,
.my-course-card h3{
  margin:12px 26px 8px!important;
}
#courseGrid .course-card p,
.my-course-card p{
  margin:10px 26px 18px!important;
}
#courseGrid .course-card .primary,
.my-course-card .primary{
  margin-top:auto!important;
}

/* Admin list rows with thumbnail + content + actions must be 3 clean columns, not wrapping actions to the left. */
.offer-admin-row,
.admin-item.with-image,
.row.with-image{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
}
.offer-admin-row > .mini-img{
  grid-column:1!important;
}
.offer-admin-row > div:not(.mini-img):not(.row-actions){
  grid-column:2!important;
  min-width:0!important;
}
.offer-admin-row > .row-actions{
  grid-column:3!important;
  justify-self:end!important;
  margin-left:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  max-width:360px!important;
}
.offer-admin-row .row-actions button{
  position:static!important;
}
/* Normal lecture rows without images stay two-column and do not overflow. */
.lesson-admin-row,
.row:not(.offer-admin-row){
  min-width:0!important;
}
.lesson-admin-row .row-actions{
  justify-self:end!important;
}

/* Forms/admin top sections should use full available width, never a narrow block with empty right space. */
.admin-editor-grid,
.admin-grid{
  width:100%!important;
}
.admin-form-card,
.admin-wide,
.card.admin-wide{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:900px){
  .offer-admin-row,
  .admin-item.with-image,
  .row.with-image{
    grid-template-columns:1fr!important;
  }
  .offer-admin-row > .mini-img,
  .offer-admin-row > div:not(.mini-img):not(.row-actions),
  .offer-admin-row > .row-actions{
    grid-column:auto!important;
    justify-self:stretch!important;
    max-width:none!important;
  }
  .offer-admin-row > .row-actions{
    justify-content:flex-start!important;
  }
}


/* Final request polish: login spacing, stable course cards, consistent image/button layout */
.login-card .primary,
.login-card button.primary,
.auth-card .primary,
.auth-card button.primary,
#loginForm .primary,
.login-form .primary {
  margin-top: 22px !important;
}
.login-card label + input,
.auth-card label + input,
#loginForm label + input,
.login-form label + input {
  margin-bottom: 18px !important;
}
.course-grid,
.landing-grid,
.cards-grid {
  align-items: stretch !important;
}
.course-card,
.landing-course {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  transform: none !important;
  margin-top: 0 !important;
}
.course-card .card-img,
.landing-course .card-img {
  flex: 0 0 auto !important;
}
.course-card .primary,
.landing-course .primary,
.course-card .full-btn,
.landing-course .full-btn {
  margin-top: auto !important;
}
.admin-editor-grid,
.admin-grid,
.admin-layout-grid {
  align-items: start !important;
}
.admin-form-card,
.admin-wide,
.card.admin-form-card,
.card.admin-wide {
  min-width: 0 !important;
}


/* === Final deep layout repair: admin rows, demo cards, course alignment === */
/* Keep card grids perfectly aligned and stop first card from appearing raised. */
#courseGrid.grid,
.grid.demo-grid,
.public-section .grid,
.logged-home-builder .grid{
  align-items:stretch!important;
}
#courseGrid > .course-card,
.demo-grid > .course-card,
.landing-course,
.course-buy-card,
.my-course-card{
  align-self:stretch!important;
  height:auto!important;
  min-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  transform:none!important;
  top:auto!important;
}
#courseGrid > .course-card .card-img,
.demo-grid > .course-card .card-img,
.landing-course .card-img,
.course-buy-card .card-img,
.my-course-card .card-img{
  width:100%!important;
  height:190px!important;
  min-height:190px!important;
  flex:0 0 190px!important;
  object-fit:cover!important;
  background-size:cover!important;
  background-position:center!important;
  border-radius:24px 24px 0 0!important;
  margin:0!important;
}
#courseGrid > .course-card .primary,
.demo-grid > .course-card .primary,
.landing-course .primary,
.course-buy-card .primary,
.my-course-card .primary{
  margin-top:auto!important;
  margin-bottom:24px!important;
}
.demo-grid > .demo-card{
  min-height:460px!important;
}
.demo-grid > .demo-card p{
  min-height:80px!important;
}

/* Admin course/offer rows: image, content and action buttons stay in proper columns. */
.admin-list .admin-item.media-admin-item,
.admin-list .admin-item:has(> .mini-img),
.row.offer-admin-row{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr) minmax(260px,auto)!important;
  align-items:center!important;
  column-gap:18px!important;
  row-gap:14px!important;
  min-height:126px!important;
  overflow:visible!important;
}
.admin-list .admin-item.media-admin-item > .mini-img,
.admin-list .admin-item:has(> .mini-img) > .mini-img,
.row.offer-admin-row > .mini-img{
  grid-column:1!important;
  grid-row:1!important;
  width:82px!important;
  height:72px!important;
  border-radius:16px!important;
  position:static!important;
  align-self:center!important;
  justify-self:center!important;
  background-color:#eef2f7!important;
}
.admin-list .admin-item.media-admin-item > .admin-item-main,
.admin-list .admin-item:has(> .mini-img) > .admin-item-main,
.row.offer-admin-row > div:not(.mini-img):not(.row-actions):not(.admin-actions){
  grid-column:2!important;
  min-width:0!important;
  position:static!important;
  padding:0!important;
  margin:0!important;
}
.admin-list .admin-item.media-admin-item > .admin-actions,
.admin-list .admin-item:has(> .mini-img) > .admin-actions,
.row.offer-admin-row > .row-actions,
.row.offer-admin-row > .admin-actions{
  grid-column:3!important;
  justify-self:end!important;
  align-self:center!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:10px!important;
  max-width:360px!important;
  position:static!important;
  margin:0!important;
  padding:0!important;
}
.admin-list .admin-item.media-admin-item > .admin-actions button,
.admin-list .admin-item:has(> .mini-img) > .admin-actions button,
.row.offer-admin-row .row-actions button{
  position:static!important;
  margin:0!important;
  white-space:nowrap!important;
}
.admin-item-main b{
  overflow-wrap:anywhere!important;
}
.admin-item-main small{
  display:block!important;
  overflow-wrap:anywhere!important;
  max-width:100%!important;
}

/* Lecture rows should not become giant empty boxes. */
.admin-list .lecture-item{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) minmax(230px,auto)!important;
  align-items:center!important;
  min-height:auto!important;
}
.admin-list .lecture-item .admin-actions{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
}

/* Forms and admin panels should use width consistently and avoid blank right-side gaps. */
.admin-editor-grid,
.admin-grid{
  width:100%!important;
  grid-template-columns:minmax(360px,460px) minmax(0,1fr)!important;
}
.admin-wide,
.card.admin-wide{
  grid-column:1 / -1!important;
}
.centered-form{
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.form-actions{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:18px!important;
}

@media(max-width:980px){
  .admin-editor-grid,
  .admin-grid{
    grid-template-columns:1fr!important;
  }
  .admin-list .admin-item.media-admin-item,
  .admin-list .admin-item:has(> .mini-img),
  .row.offer-admin-row{
    grid-template-columns:86px minmax(0,1fr)!important;
  }
  .admin-list .admin-item.media-admin-item > .admin-actions,
  .admin-list .admin-item:has(> .mini-img) > .admin-actions,
  .row.offer-admin-row > .row-actions,
  .row.offer-admin-row > .admin-actions{
    grid-column:1 / -1!important;
    justify-self:stretch!important;
    justify-content:flex-start!important;
    max-width:none!important;
    padding-top:6px!important;
  }
  .admin-list .lecture-item{
    grid-template-columns:48px minmax(0,1fr)!important;
  }
  .admin-list .lecture-item .admin-actions{
    grid-column:1 / -1!important;
    justify-self:stretch!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:640px){
  #courseGrid > .course-card,
  .demo-grid > .course-card,
  .landing-course,
  .course-buy-card,
  .my-course-card{
    min-height:430px!important;
  }
  #courseGrid > .course-card .card-img,
  .demo-grid > .course-card .card-img,
  .landing-course .card-img,
  .course-buy-card .card-img,
  .my-course-card .card-img{
    height:160px!important;
    min-height:160px!important;
    flex-basis:160px!important;
  }
  .admin-list .admin-item.media-admin-item,
  .admin-list .admin-item:has(> .mini-img),
  .row.offer-admin-row{
    grid-template-columns:1fr!important;
  }
  .admin-list .admin-item.media-admin-item > .mini-img,
  .admin-list .admin-item:has(> .mini-img) > .mini-img,
  .row.offer-admin-row > .mini-img{
    grid-column:1!important;
    justify-self:start!important;
    width:100%!important;
    max-width:180px!important;
    height:95px!important;
  }
  .admin-list .admin-item.media-admin-item > .admin-item-main,
  .admin-list .admin-item:has(> .mini-img) > .admin-item-main,
  .row.offer-admin-row > div:not(.mini-img):not(.row-actions):not(.admin-actions){
    grid-column:1!important;
  }
}

/* === FINAL ADMIN WIDTH + FORM OVERFLOW REPAIR === */
*, *::before, *::after { box-sizing: border-box; }

/* Admin top editor panels should use the full content width instead of leaving empty right-side gaps. */
.admin-editor-grid,
.admin-grid{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
}
.admin-editor-grid > .card,
.admin-grid > .card,
.admin-form-card,
.card.admin-wide,
.admin-wide{
  width:100%!important;
  max-width:none!important;
  grid-column:1 / -1!important;
}
.admin-form-card{
  overflow:hidden!important;
  padding:clamp(22px,2.4vw,34px)!important;
}
.admin-form-card .two-col,
.two-col{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:start!important;
}
.two-col > *,
.two-col > div{
  min-width:0!important;
  max-width:100%!important;
}
.admin-form-card input,
.admin-form-card textarea,
.admin-form-card select,
.card input,
.card textarea,
.card select{
  max-width:100%!important;
  min-width:0!important;
}
.admin-form-card .check-row{
  min-height:54px!important;
  align-items:center!important;
  margin-top:30px!important;
}
.admin-form-card .check-row input{
  width:auto!important;
  min-height:auto!important;
  flex:0 0 auto!important;
}

/* Admin course/offer rows: keep thumbnail, content, and actions in proper columns. */
.admin-list .admin-item.media-admin-item,
.admin-list .admin-item:has(> .mini-img),
.row.offer-admin-row{
  width:100%!important;
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr) minmax(280px,max-content)!important;
  gap:18px!important;
  align-items:center!important;
  padding:18px 20px!important;
  min-height:118px!important;
  overflow:hidden!important;
}
.admin-list .admin-item.media-admin-item > .mini-img,
.admin-list .admin-item:has(> .mini-img) > .mini-img,
.row.offer-admin-row > .mini-img{
  grid-column:1!important;
  width:78px!important;
  height:78px!important;
  border-radius:18px!important;
  align-self:center!important;
  justify-self:center!important;
  position:static!important;
  background-size:cover!important;
  background-position:center!important;
}
.admin-list .admin-item.media-admin-item > .admin-item-main,
.admin-list .admin-item:has(> .mini-img) > .admin-item-main,
.row.offer-admin-row > div:not(.mini-img):not(.row-actions):not(.admin-actions){
  grid-column:2!important;
  min-width:0!important;
  max-width:100%!important;
  position:static!important;
  padding:0!important;
  margin:0!important;
}
.admin-list .admin-item.media-admin-item > .admin-actions,
.admin-list .admin-item:has(> .mini-img) > .admin-actions,
.row.offer-admin-row > .row-actions,
.row.offer-admin-row > .admin-actions{
  grid-column:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  width:auto!important;
  max-width:390px!important;
  min-width:260px!important;
  position:static!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  justify-self:end!important;
}
.admin-list .admin-item.media-admin-item button,
.admin-list .admin-item:has(> .mini-img) button,
.row.offer-admin-row button{
  position:static!important;
  margin:0!important;
  white-space:nowrap!important;
}
.admin-item-main b,
.row.offer-admin-row b{
  display:inline-block!important;
  max-width:100%!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
.admin-item-main small,
.row.offer-admin-row small{
  display:block!important;
  line-height:1.6!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

/* Course and demo cards: equal, aligned, and no empty tall gaps. */
#courseGrid,
.demo-grid,
#publicCourseGrid,
#publicOfferGrid,
#publicDemoGrid{
  align-items:stretch!important;
}
#courseGrid > .course-card,
.demo-grid > .course-card,
#publicDemoGrid > .landing-course,
#publicCourseGrid > .landing-course,
#publicOfferGrid > .landing-course,
.landing-course.course-buy-card,
.my-course-card{
  align-self:stretch!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#courseGrid > .course-card .card-img,
.demo-grid > .course-card .card-img,
#publicDemoGrid .card-img,
#publicCourseGrid .card-img,
#publicOfferGrid .card-img,
.landing-course .card-img,
.my-course-card .card-img{
  width:100%!important;
  height:180px!important;
  min-height:180px!important;
  flex:0 0 180px!important;
  border-radius:22px 22px 0 0!important;
  margin:0 0 18px 0!important;
  background-size:cover!important;
  background-position:center!important;
}
#courseGrid > .course-card h3,
.demo-grid > .course-card h3,
.landing-course h3{
  margin-top:8px!important;
  line-height:1.22!important;
}
#courseGrid > .course-card p,
.demo-grid > .course-card p,
.landing-course p{
  min-height:0!important;
  line-height:1.62!important;
}
#courseGrid > .course-card .primary,
.demo-grid > .course-card .primary,
.landing-course .primary,
.landing-course .fake-btn,
.my-course-card .primary{
  margin-top:auto!important;
  margin-bottom:0!important;
}
.demo-grid > .demo-card,
#publicDemoGrid > .demo-card,
#publicDemoGrid > .landing-course{
  min-height:0!important;
}
.demo-grid > .demo-card p,
#publicDemoGrid .demo-card p,
#publicDemoGrid .landing-course p{
  min-height:0!important;
}

@media(max-width:980px){
  .admin-list .admin-item.media-admin-item,
  .admin-list .admin-item:has(> .mini-img),
  .row.offer-admin-row{
    grid-template-columns:92px minmax(0,1fr)!important;
  }
  .admin-list .admin-item.media-admin-item > .admin-actions,
  .admin-list .admin-item:has(> .mini-img) > .admin-actions,
  .row.offer-admin-row > .row-actions,
  .row.offer-admin-row > .admin-actions{
    grid-column:1 / -1!important;
    justify-content:flex-start!important;
    justify-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}
@media(max-width:700px){
  .admin-form-card .two-col,
  .two-col{
    grid-template-columns:1fr!important;
  }
  .admin-form-card .check-row{margin-top:8px!important;}
  .admin-list .admin-item.media-admin-item,
  .admin-list .admin-item:has(> .mini-img),
  .row.offer-admin-row{
    grid-template-columns:1fr!important;
  }
  .admin-list .admin-item.media-admin-item > .mini-img,
  .admin-list .admin-item:has(> .mini-img) > .mini-img,
  .row.offer-admin-row > .mini-img{
    grid-column:1!important;
    justify-self:start!important;
    width:130px!important;
    height:90px!important;
  }
  .admin-list .admin-item.media-admin-item > .admin-item-main,
  .admin-list .admin-item:has(> .mini-img) > .admin-item-main,
  .row.offer-admin-row > div:not(.mini-img):not(.row-actions):not(.admin-actions){grid-column:1!important;}
  .admin-list .admin-item.media-admin-item > .admin-actions,
  .admin-list .admin-item:has(> .mini-img) > .admin-actions,
  .row.offer-admin-row > .row-actions,
  .row.offer-admin-row > .admin-actions{grid-column:1!important;}
}

/* Quality selector visibility polish */
.quality-control{
  height:44px;
  min-width:166px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-weight:850;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.18);
  position:relative;
  overflow:hidden;
}
.quality-icon{font-size:15px;line-height:1;opacity:.95;display:inline-flex;align-items:center;justify-content:center;width:18px}
.quality-label{font-size:12px;letter-spacing:.2px;color:#fff;white-space:nowrap;opacity:.95}
.quality-value-wrap{
  position:relative;
  margin-left:auto;
  min-width:72px;
  height:32px;
  border-radius:12px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.13);
  display:flex;
  align-items:center;
}
.quality-control .quality-select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:32px;
  margin:0;
  padding:0 23px 0 10px;
  border:0;
  border-radius:12px;
  background:transparent!important;
  color:#fff!important;
  font-size:13px;
  font-weight:900;
  line-height:32px;
  cursor:pointer;
  outline:none!important;
  box-shadow:none!important;
}
.quality-value-wrap::after{
  content:'⌄';
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-54%);
  font-size:14px;
  color:#fff;
  pointer-events:none;
  opacity:.85;
}
.quality-control .quality-select:focus,
.quality-control .quality-select:active,
.quality-control:focus-within{
  outline:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.18)!important;
  border-color:rgba(255,255,255,.22)!important;
}
.quality-control .quality-select option{background:#15151f;color:#fff}
.quality-control:hover{background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.11))}
.quality-note{font-size:11px;color:rgba(255,255,255,.74);margin-left:4px;white-space:nowrap}
@media(max-width:760px){
  .quality-control{min-width:128px;height:40px;padding:0 8px;gap:6px}
  .quality-label{display:none}
  .quality-value-wrap{min-width:68px;height:30px}
  .quality-control .quality-select{font-size:12px;height:30px;line-height:30px;padding-left:8px}
}
.lesson-mini-active #videoShell .quality-control{display:none!important}


/* Final real quality selector + demo thumbnail stability */
.quality-control{
  min-width:260px;
  height:44px;
  padding:0 9px 0 11px;
  gap:8px;
  overflow:visible!important;
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.quality-control *{outline:none!important;box-shadow:none!important}
.quality-value-wrap{min-width:82px;height:31px;border-radius:11px;flex:0 0 auto;margin-left:2px;}
.quality-control .quality-select{height:31px;line-height:31px;font-size:13px;padding-left:9px;padding-right:22px;}
.quality-set-btn{
  height:31px;
  min-width:42px;
  border:0;
  border-radius:11px;
  padding:0 12px;
  background:#ff7417;
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 16px rgba(255,116,23,.25)!important;
}
.quality-set-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.quality-set-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:none}
.quality-status{font-size:11px;color:rgba(255,255,255,.78);font-weight:800;white-space:nowrap;min-width:58px;text-align:left;}
.quality-control .quality-select:focus,.quality-control .quality-select:active,.quality-control:focus-within,.quality-set-btn:focus{outline:none!important;box-shadow:none!important;border-color:rgba(255,255,255,.20)!important;}
@media(max-width:920px){.quality-status{display:none}.quality-control{min-width:210px}.quality-label{display:none}}
@media(max-width:760px){.quality-control{min-width:144px;padding:0 7px}.quality-set-btn{min-width:36px;padding:0 9px;font-size:12px}.quality-value-wrap{min-width:65px}.quality-icon{display:none}}
.lesson-mini-active #videoShell .quality-control{display:none!important}

/* Final thumbnail rendering fix: use real images instead of delayed background repaint */
.card-img-real{background:#f5f7fb;overflow:hidden;}
.card-img-real img{width:100%;height:100%;object-fit:cover;display:block;}
.card-img-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff3e8,#eef4ff);color:#0b1833;font-weight:800;text-align:center;padding:14px;}
.quality-control{outline:none!important;}
.quality-control *{outline:none!important;box-shadow:none!important;}
.quality-set-btn{white-space:nowrap;}


/* Real quality mode: use native player settings because embedded YouTube does not reliably accept custom quality forcing */
.quality-native-btn{
  height:42px;
  min-width:104px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
  color:#fff;
  font-weight:950;
  letter-spacing:.1px;
  padding:0 14px;
  box-shadow:0 10px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
  white-space:nowrap;
}
.quality-native-btn:hover{background:linear-gradient(180deg, rgba(255,255,255,.25), rgba(255,255,255,.12));transform:translateY(-1px)}
.native-quality-hint{
  position:absolute;
  left:18px;
  top:18px;
  z-index:12;
  max-width:min(520px,calc(100% - 120px));
  background:rgba(10,12,18,.88);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:10px 12px;
  font-size:13px;
  font-weight:800;
  box-shadow:0 14px 34px rgba(0,0,0,.3);
}
.native-quality-hint button{
  margin-left:8px;
  background:#ff7417;
  color:#fff;
  border:0;
  border-radius:10px;
  padding:7px 10px;
  font-weight:900;
}
.custom-video.native-quality-mode #player{pointer-events:auto!important;z-index:7!important;}
.custom-video.native-quality-mode .video-click-layer{display:none!important;}
.custom-video.native-quality-mode .custom-controls{grid-template-columns:auto auto 1fr auto auto auto!important;}
.custom-video.native-quality-mode .video-brand{display:none!important;}
@media(max-width:760px){
  .quality-native-btn{min-width:84px;height:38px;padding:0 10px;font-size:12px}
  .native-quality-hint{left:10px;top:10px;max-width:calc(100% - 20px);font-size:12px;padding:9px}
  .native-quality-hint button{display:block;margin:8px 0 0;padding:7px 9px}
}

/* Quality controls removed for stable clean player */
.quality-control,.quality-native-btn,.native-quality-hint,.quality-select,.quality-set-btn,.quality-status{display:none!important;}
/* Demo/homepage thumbnail stability */
.demo-card .card-img-real img,.landing-course .card-img-real img{opacity:1;visibility:visible;display:block;}

/* Serious launch patch: keep demo class CTA close to content, not pushed far downward. */
#publicDemoGrid > .landing-course.demo-card,
.demo-grid > .course-card.demo-card{
  min-height:0!important;
  height:auto!important;
}
#publicDemoGrid > .landing-course.demo-card .primary,
#publicDemoGrid > .landing-course.demo-card .fake-btn,
.demo-grid > .course-card.demo-card .primary{
  margin-top:14px!important;
  margin-left:26px!important;
  margin-right:26px!important;
  margin-bottom:26px!important;
  width:calc(100% - 52px)!important;
}
#publicDemoGrid > .landing-course.demo-card p,
.demo-grid > .course-card.demo-card p{
  min-height:0!important;
  margin-bottom:0!important;
}

/* DLC requested updates */
.logo.logo-img{padding:0;background:#fff;overflow:hidden;border-radius:18px;width:66px;height:66px;box-shadow:0 10px 24px rgba(255,117,23,.18)}
.logo.logo-img img{width:100%;height:100%;object-fit:contain;display:block}
.nav button.active-nav{background:linear-gradient(135deg,#ff7517,#ffc04d)!important;color:#101522!important;border-color:rgba(255,255,255,.28)!important;box-shadow:0 12px 28px rgba(255,117,23,.25)!important}
.admin-tabs .active-tab,.tabs button.primary{background:linear-gradient(135deg,#ff7517,#ffad3b)!important;color:#fff!important;box-shadow:0 12px 24px rgba(255,117,23,.18)!important}
#publicDemoGrid.grid,.demo-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.analytics-wrap{display:grid;gap:22px}.analytics-top{display:flex;align-items:end;justify-content:space-between;gap:18px}.analytics-top select{min-width:180px}.analytics-stats .stat{background:#fff}.analytics-bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:125px 1fr 110px 80px;gap:12px;align-items:center}.bar-track{height:14px;background:#f1f2f7;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,#ff7517,#ffc04d);border-radius:999px}.bar-row b{text-align:right}.bar-row small{color:#647084;font-weight:800}.analytics-price-row .price-actions{grid-template-columns:140px auto!important}.analytics-price-row input{min-width:120px}.admin-item-main small{line-height:1.55}.page-loader .loader-card b::after{content:'...';animation:dlcDots 1.1s infinite steps(4,end)}@keyframes dlcDots{0%{content:''}25%{content:'.'}50%{content:'..'}75%,100%{content:'...'}}
@media(max-width:1000px){#publicDemoGrid.grid,.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bar-row{grid-template-columns:1fr}.bar-row b{text-align:left}.analytics-top{display:grid}.analytics-price-row .price-actions{grid-template-columns:1fr!important}}
@media(max-width:650px){#publicDemoGrid.grid,.demo-grid{grid-template-columns:1fr!important}}


/* === DLC hotfix v2: prevent large logo overflow even if browser cached old layout rules === */
.brand{position:relative!important;z-index:2!important;overflow:visible!important;}
.brand-logo-frame{width:58px!important;height:58px!important;min-width:58px!important;max-width:58px!important;flex:0 0 58px!important;overflow:hidden!important;border-radius:18px!important;background:linear-gradient(135deg,#ff8a22,#ffcf59)!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 10px 24px rgba(255,117,23,.18)!important;}
.brand-logo-frame img,.brand img[src*="dlc-logo"]{width:100%!important;height:100%!important;max-width:58px!important;max-height:58px!important;object-fit:contain!important;display:block!important;position:static!important;inset:auto!important;transform:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.logo.logo-img{overflow:hidden!important;position:relative!important;}
.logo.logo-img img{width:100%!important;height:100%!important;max-width:66px!important;max-height:66px!important;object-fit:contain!important;position:static!important;transform:none!important;margin:0!important;}

/* Keep admin pages readable and make selected sections obvious */
.nav button.active-nav,.admin-tabs .active-tab,.tabs button.primary{background:linear-gradient(135deg,#ff781f,#ffc04d)!important;color:#101522!important;box-shadow:0 14px 30px rgba(255,117,23,.24)!important;}
.admin-tabs .active-tab{color:#fff!important;}

/* Admin demo cards: 3 cards per row on desktop, 2 tablet, 1 mobile */
.demo-grid,#publicDemoGrid.grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:1000px){.demo-grid,#publicDemoGrid.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:650px){.demo-grid,#publicDemoGrid.grid{grid-template-columns:1fr!important;}.brand-logo-frame{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important}.brand-logo-frame img{max-width:48px!important;max-height:48px!important}}


/* === DLC Clean UI Polish v4: structure-safe visual refinement === */
/* This layer only changes colors, spacing feel, shadows, and readability. No feature logic or layout structure is changed. */
:root{
  --dlc-orange:#ff7a1a;
  --dlc-orange-deep:#e75f16;
  --dlc-orange-dark:#c84410;
  --dlc-cream:#fff7ef;
  --dlc-ink:#111827;
  --dlc-soft-ink:#536073;
  --dlc-border:#e9ecf3;
  --dlc-card-shadow:0 16px 42px rgba(17,24,39,.075);
  --dlc-card-shadow-hover:0 22px 54px rgba(17,24,39,.105);
}

body{
  background:
    linear-gradient(180deg,#fbfcff 0%,#f6f8fc 48%,#f7f7fb 100%)!important;
  color:var(--dlc-ink)!important;
}

/* Make the active orange blocks premium and readable */
.nav button.active-nav,
.admin-tabs .active-tab,
.tabs button.primary{
  background:linear-gradient(135deg,var(--dlc-orange) 0%,var(--dlc-orange-deep) 62%,var(--dlc-orange-dark) 100%)!important;
  color:#ffffff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.22)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 14px 30px rgba(255,122,26,.26), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.nav button.active-nav:hover,
.admin-tabs .active-tab:hover,
.tabs button.primary:hover{
  color:#ffffff!important;
  filter:saturate(1.03) brightness(.99);
}

/* Keep normal nav dark and calm so active item feels selected */
.nav button,
.sidebar button{
  background:#232436!important;
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10)!important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.nav button:hover{
  background:#2b2d42!important;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,0,0,.16)!important;
}

/* Buttons: orange should always carry white text */
.primary,
.fake-btn,
button.primary{
  color:#ffffff!important;
  background:linear-gradient(135deg,var(--dlc-orange),var(--dlc-orange-deep))!important;
  box-shadow:0 14px 26px rgba(255,122,26,.20)!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.primary:hover,
.fake-btn:hover,
button.primary:hover{
  color:#ffffff!important;
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(255,122,26,.26)!important;
}
.soft{
  background:#f3f5fa!important;
  color:#20283a!important;
  border:1px solid #e7eaf2!important;
}
.dark{
  background:#171827!important;
  color:#ffffff!important;
}

/* Cards and panels: cleaner, softer, more professional */
.card,
.public-section,
.admin-form-card,
.chat-card,
.stat,
.landing-course,
.feature-card{
  border:1px solid rgba(17,24,39,.07)!important;
  box-shadow:var(--dlc-card-shadow)!important;
  background:#ffffff!important;
}
.card:hover,
.public-section:hover,
.landing-course:hover,
.feature-card:hover{
  box-shadow:var(--dlc-card-shadow-hover)!important;
}
.stat{
  background:linear-gradient(180deg,#ffffff 0%,#fffaf6 100%)!important;
}
.stat b{
  color:#111827!important;
}
.stat span,
.muted,
p.muted{
  color:var(--dlc-soft-ink)!important;
}

/* Pills and badges: avoid harsh black-on-orange feeling */
.orange-pill{
  background:#fff0e3!important;
  color:#ba4a0f!important;
  border:1px solid #ffd8b8!important;
}
.pill{
  border:1px solid #e7eaf2!important;
  background:#f5f6fa!important;
  color:#4a5568!important;
}

/* Active admin tab and selected controls should be clear but not harsh */
.admin-tabs{
  gap:12px!important;
}
.admin-tabs button{
  min-height:52px;
  border-radius:16px!important;
}
.admin-tabs button.soft{
  background:#f3f5fa!important;
}
.tabs button{
  border-radius:16px!important;
}

/* Inputs: more modern focus without changing behavior */
input,
textarea,
select{
  border:1px solid #e3e7f0!important;
  background:#ffffff!important;
  box-shadow:none!important;
}
input:focus,
textarea:focus,
select:focus{
  outline:none!important;
  border-color:#ffb06a!important;
  box-shadow:0 0 0 4px rgba(255,122,26,.12)!important;
}

/* Course/demo cards: more refined but same grid/structure */
.course-card,
.my-course-card,
.demo-card,
.landing-course{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.course-card:hover,
.my-course-card:hover,
.demo-card:hover,
.landing-course:hover{
  transform:translateY(-2px);
  border-color:rgba(255,122,26,.18)!important;
}
.progress-wrap{
  background:#edf0f5!important;
}
.progress-bar{
  background:linear-gradient(90deg,var(--dlc-orange),#ffba4d)!important;
}

/* Admin list rows: cleaner separation and readability */
.admin-item,
.row{
  background:#ffffff!important;
  border:1px solid #e8ebf2!important;
  box-shadow:0 8px 24px rgba(17,24,39,.045)!important;
}
.admin-item-main b,
.row b,
h2,h3{
  color:#101828!important;
}
.admin-item-main small,
.row small{
  color:#5d687c!important;
}

/* Hero / public orange sections: keep orange identity but improve text contrast */
.hero-card,
.lms-home-hero{
  background:linear-gradient(135deg,#111827 0%,#1d2437 52%,#332017 100%)!important;
  color:#ffffff!important;
}
.hero-card h2,
.lms-home-hero h2,
.hero-card h3,
.lms-home-hero h3{
  color:#ffffff!important;
}
.hero-card p,
.lms-home-hero p{
  color:rgba(255,255,255,.78)!important;
}

/* Loader polish */
.page-loader .loader-card{
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 18px 50px rgba(17,24,39,.18)!important;
}
.loader-spinner{
  border-top-color:var(--dlc-orange)!important;
}

/* Logo stays constrained and clean */
.brand-logo-frame{
  box-shadow:0 12px 26px rgba(255,122,26,.18)!important;
}

/* Mobile keeps same structure, just slightly better breathing */
@media(max-width:650px){
  .nav button{min-height:50px;}
  .card,.public-section{border-radius:20px!important;}
  .admin-tabs button{min-height:48px;}
}


/* Very light moving user watermark inside lesson video.
   It stays subtle so learning is not disturbed, but screen recordings still show the logged-in user. */
.user-video-watermark{
  position:absolute!important;
  z-index:4!important;
  left:7%!important;
  top:12%!important;
  pointer-events:none!important;
  user-select:none!important;
  white-space:nowrap!important;
  max-width:78%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  color:rgba(255,255,255,.20)!important;
  background:rgba(0,0,0,.055)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  font-size:clamp(11px,1.25vw,15px)!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
  text-shadow:0 1px 4px rgba(0,0,0,.32)!important;
  backdrop-filter:blur(1px)!important;
  animation:dlcUserWatermarkDrift 70s ease-in-out infinite alternate!important;
}
@keyframes dlcUserWatermarkDrift{
  0%{left:6%;top:12%;transform:translate(0,0) rotate(-2deg);}
  20%{left:63%;top:18%;transform:translate(-18%,0) rotate(1deg);}
  42%{left:34%;top:42%;transform:translate(-10%,-8%) rotate(-1deg);}
  64%{left:70%;top:64%;transform:translate(-30%,-10%) rotate(2deg);}
  82%{left:14%;top:70%;transform:translate(0,-8%) rotate(-1deg);}
  100%{left:54%;top:28%;transform:translate(-12%,0) rotate(1deg);}
}
.video-shell.ui-hidden .user-video-watermark,
.video-shell.ui-visible .user-video-watermark{
  opacity:1!important;
}
.custom-video:fullscreen .user-video-watermark{
  font-size:clamp(13px,1.15vw,18px)!important;
  color:rgba(255,255,255,.18)!important;
}
.lesson-mini-active #videoShell .user-video-watermark{
  font-size:10px!important;
  padding:4px 7px!important;
  color:rgba(255,255,255,.18)!important;
}
@media(max-width:650px){
  .user-video-watermark{
    font-size:10px!important;
    padding:4px 7px!important;
    color:rgba(255,255,255,.18)!important;
  }
}


/* v7 cache + homepage + subtle moving watermark final fix */
.public-hero-xl,
.hero-card,
.lms-home-hero{
  background:radial-gradient(circle at top right,rgba(255,122,26,.24),transparent 35%),linear-gradient(135deg,#151423,#24172b 70%,#ff7a1a 160%)!important;
  color:#fff!important;
}
.public-hero-xl h2,
.hero-card h2,
.lms-home-hero h2,
.public-hero-xl .hero-copy h2{
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.public-hero-xl p,
.public-hero-xl .muted,
.hero-card p,
.lms-home-hero p{
  color:rgba(255,255,255,.88)!important;
  opacity:1!important;
}
.public-hero-xl .orange-pill,
.hero-card .orange-pill,
.lms-home-hero .orange-pill{
  background:#fff1e5!important;
  color:#c25008!important;
  border-color:rgba(255,122,26,.22)!important;
}
.public-hero-xl .soft.fake-btn,
.hero-card .soft.fake-btn,
.lms-home-hero .soft.fake-btn{
  background:#f7f7fb!important;
  color:#111827!important;
}

/* Lesson video watermark: light text only, no heavy pill/badge look. */
.custom-video .user-video-watermark{
  position:absolute!important;
  z-index:7!important;
  left:7%!important;
  top:10%!important;
  max-width:86%!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  user-select:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  color:rgba(255,255,255,.17)!important;
  font-size:clamp(13px,1.7vw,22px)!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 14px rgba(0,0,0,.34)!important;
  opacity:1!important;
  animation:dlcLightCornerWatermark 54s linear infinite!important;
}
@keyframes dlcLightCornerWatermark{
  0%,10%{left:7%;top:10%;transform:rotate(-2deg);}
  12%,24%{left:58%;top:10%;transform:rotate(2deg);}
  26%,38%{left:56%;top:78%;transform:rotate(-2deg);}
  40%,52%{left:7%;top:78%;transform:rotate(2deg);}
  54%,66%{left:34%;top:44%;transform:translate(-10%,-10%) rotate(-1deg);}
  68%,80%{left:62%;top:48%;transform:translate(-15%,-10%) rotate(1deg);}
  82%,94%{left:16%;top:52%;transform:translate(0,-10%) rotate(-1deg);}
  100%{left:7%;top:10%;transform:rotate(-2deg);}
}
.video-shell.ui-hidden .user-video-watermark,
.video-shell.ui-visible .user-video-watermark{
  opacity:1!important;
}
.custom-video:fullscreen .user-video-watermark{
  font-size:clamp(16px,1.8vw,28px)!important;
  color:rgba(255,255,255,.15)!important;
}
.lesson-mini-active #videoShell .user-video-watermark{
  font-size:11px!important;
  color:rgba(255,255,255,.15)!important;
}
@media(max-width:650px){
  .custom-video .user-video-watermark{
    font-size:10px!important;
    max-width:70%!important;
    color:rgba(255,255,255,.15)!important;
  }
}


/* v8 moving text watermark refinement: smaller, cleaner, always moving across screen. */
.custom-video .user-video-watermark{
  position:absolute!important;
  z-index:7!important;
  left:6%!important;
  top:12%!important;
  display:inline-block!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  pointer-events:none!important;
  user-select:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  color:rgba(255,255,255,.26)!important;
  font-size:clamp(10px,1.05vw,15px)!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-shadow:0 1px 8px rgba(0,0,0,.22)!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  animation:dlcMovingTextWatermark 72s linear infinite!important;
}
@keyframes dlcMovingTextWatermark{
  0%{left:6%;top:12%;transform:translate3d(0,0,0);}
  14%{left:56%;top:12%;transform:translate3d(0,0,0);}
  28%{left:74%;top:36%;transform:translate3d(0,0,0);}
  42%{left:52%;top:58%;transform:translate3d(0,0,0);}
  56%{left:18%;top:72%;transform:translate3d(0,0,0);}
  70%{left:8%;top:46%;transform:translate3d(0,0,0);}
  84%{left:34%;top:28%;transform:translate3d(0,0,0);}
  100%{left:6%;top:12%;transform:translate3d(0,0,0);}
}
.custom-video:fullscreen .user-video-watermark{
  color:rgba(255,255,255,.24)!important;
  font-size:clamp(11px,1.0vw,17px)!important;
}
.lesson-mini-active #videoShell .user-video-watermark{
  color:rgba(255,255,255,.22)!important;
  font-size:10px!important;
}
@media(max-width:900px){
  .custom-video .user-video-watermark{
    font-size:11px!important;
    letter-spacing:.06em!important;
    color:rgba(255,255,255,.24)!important;
    animation-duration:64s!important;
  }
}
@media(max-width:650px){
  .custom-video .user-video-watermark{
    font-size:9px!important;
    letter-spacing:.05em!important;
    color:rgba(255,255,255,.22)!important;
    animation-duration:56s!important;
  }
}


/* v9 card button spacing fix: keep public course/offer CTAs above card base. */
#publicCourseGrid > .landing-course.course-buy-card,
#publicOfferGrid > .landing-course.offer-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  padding-bottom:0!important;
  overflow:hidden!important;
}
#publicCourseGrid > .landing-course.course-buy-card .price-line,
#publicOfferGrid > .landing-course.offer-card .price-line{
  margin-top:auto!important;
  margin-left:26px!important;
  margin-right:26px!important;
  margin-bottom:14px!important;
  flex:0 0 auto!important;
}
#publicCourseGrid > .landing-course.course-buy-card .primary.fake-btn.full-btn,
#publicOfferGrid > .landing-course.offer-card .primary.fake-btn.full-btn{
  margin-top:0!important;
  margin-left:26px!important;
  margin-right:26px!important;
  margin-bottom:26px!important;
  width:calc(100% - 52px)!important;
  min-height:54px!important;
  flex:0 0 auto!important;
  align-self:center!important;
}
#publicCourseGrid > .landing-course.course-buy-card p,
#publicOfferGrid > .landing-course.offer-card p{
  margin-bottom:20px!important;
}
@media(max-width:560px){
  #publicCourseGrid > .landing-course.course-buy-card .price-line,
  #publicOfferGrid > .landing-course.offer-card .price-line{
    margin-left:20px!important;
    margin-right:20px!important;
    margin-bottom:12px!important;
  }
  #publicCourseGrid > .landing-course.course-buy-card .primary.fake-btn.full-btn,
  #publicOfferGrid > .landing-course.offer-card .primary.fake-btn.full-btn{
    margin-left:20px!important;
    margin-right:20px!important;
    margin-bottom:20px!important;
    width:calc(100% - 40px)!important;
  }
}
