:root{--bg:#07111f;--bg2:#0a1524;--panel:#0d1b2e;--panel2:#12233a;--text:#eef6ff;--muted:#9db0c9;--line:#243a5d;--brand:#39e7dd;--brand2:#1677ff;--good:#79e49f;--warn:#ffd166;--danger:#ff7f87;--shadow:0 22px 65px rgba(0,0,0,.27);--r:18px;--side:250px}html[data-theme=light]{--bg:#f4f8fc;--bg2:#edf3fa;--panel:#fff;--panel2:#f1f6fb;--text:#162235;--muted:#66768a;--line:#d7e2ee;--brand:#0ea99b;--brand2:#356ee0;--shadow:0 18px 44px rgba(36,55,79,.10)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(850px 500px at 10% -10%,rgba(57,231,221,.09),transparent 58%),var(--bg);color:var(--text);font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:var(--side) 1fr}.sidebar{height:100vh;position:sticky;top:0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 94%,transparent);padding:17px 13px;display:flex;flex-direction:column;z-index:50}.brand{display:block;padding:5px 7px 21px}.brand img{width:100%;height:auto;display:block}.nav-label{font-size:9px;letter-spacing:1.5px;font-weight:900;color:var(--muted);text-transform:uppercase;padding:12px 10px 6px}.nav-link{display:block;padding:10px 11px;border-radius:11px;color:var(--muted);font-weight:800;border:1px solid transparent;margin:2px 0}.nav-link:hover,.nav-link.active{color:var(--text);background:linear-gradient(135deg,rgba(57,231,221,.08),rgba(22,119,255,.08));border-color:var(--line)}.sidebar-user{margin-top:auto;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:11px}.sidebar-user b,.sidebar-user span{display:block}.sidebar-user span{font-size:11px;color:var(--muted)}.link-btn{border:0;background:none;color:var(--brand);padding:8px 0 0;font-weight:900}.main{min-width:0}.topbar{height:67px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px)}.top-title{font-size:10px;letter-spacing:1.5px;font-weight:900;color:var(--muted)}.grow{flex:1}.icon-btn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--panel);color:var(--text)}.avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#06121e;font-weight:1000}.content{padding:27px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.kicker{font-size:10px;letter-spacing:1.5px;color:var(--brand);font-weight:1000;text-transform:uppercase}h1{font-size:clamp(29px,4vw,44px);line-height:1.05;letter-spacing:-1.6px;margin:6px 0}h2{font-size:23px;letter-spacing:-.7px;margin:4px 0 10px}p{color:var(--muted);margin:6px 0}.card{background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel2) 88%,var(--panel)));border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.pad{padding:21px}.grid{display:grid;gap:16px}.cards-4{grid-template-columns:repeat(4,1fr)}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-2{grid-template-columns:repeat(2,1fr)}.metric{padding:19px}.metric span,.metric small{display:block;color:var(--muted);font-weight:800}.metric b{font-size:27px;letter-spacing:-1px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;padding:10px 14px;background:var(--panel);color:var(--text);font-weight:900}.btn.primary{border:0;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#06121e}.full{width:100%}.hero{min-height:250px;padding:27px;display:grid;grid-template-columns:1fr 300px;align-items:center;overflow:hidden}.hero h2{font-size:clamp(31px,5vw,52px);line-height:1;letter-spacing:-2px}.hero img{max-height:210px;max-width:100%;justify-self:center;filter:drop-shadow(0 24px 45px rgba(0,100,255,.2))}.product-card{overflow:hidden}.cover{min-height:150px;padding:19px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(145deg,#102842,#173b62)}.course-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.video-frame{aspect-ratio:16/9;border:1px solid var(--line);border-radius:15px;background:radial-gradient(circle at 50% 48%,rgba(57,231,221,.14),transparent 34%),#081422;display:grid;place-items:center;position:relative;overflow:hidden}.video-frame>img{width:120px;opacity:.22}.watermark{position:absolute;right:16px;top:13px;font-size:9px;letter-spacing:1px;color:rgba(255,255,255,.25);font-weight:900}.play{position:absolute;width:67px;height:67px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;font-size:24px}.lesson-content{padding-top:18px}.lesson-list{display:grid;gap:8px}.lesson-link{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.lesson-link>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--panel);font-weight:1000}.lesson-link small{display:block;color:var(--muted)}.lesson-link.active{border-color:color-mix(in srgb,var(--brand) 52%,var(--line));background:linear-gradient(135deg,rgba(57,231,221,.08),rgba(22,119,255,.07))}.notice,.error{padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:rgba(22,119,255,.06);color:var(--muted);margin:12px 0}.error{border-color:rgba(255,127,135,.38);background:rgba(255,127,135,.07);color:#ffc3c7}.field{display:grid;gap:6px;margin:11px 0}.field label,.output-label{font-size:11px;font-weight:900;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border-radius:11px;border:1px solid var(--line);background:var(--panel2);color:var(--text);outline:none}.remember{display:flex;gap:8px;color:var(--muted);margin:12px 0}.tool-workspace{display:grid;grid-template-columns:1fr 1fr;gap:25px}.output{min-height:190px;border:1px dashed var(--line);border-radius:13px;background:var(--panel2);padding:15px;white-space:pre-wrap;margin:7px 0 12px}.detail{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}code{font-family:ui-monospace,monospace;color:var(--brand)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{border-collapse:collapse;width:100%;min-width:680px}th,td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted)}.tag{display:inline-block;padding:4px 7px;border-radius:8px;border:1px solid var(--line);font-size:10px;font-weight:900}.top-gap{margin-top:16px}.guest-body{overflow-x:hidden}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr}.login-visual{padding:8vw;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(650px 430px at 25% 35%,rgba(57,231,221,.13),transparent 56%),linear-gradient(145deg,#06101c,#0a1728)}.login-logo{width:min(460px,80%)}.login-visual h1{font-size:clamp(48px,7vw,82px);line-height:.94;letter-spacing:-3px}.login-visual h1 em{font-style:normal;color:var(--brand)}.login-visual p{font-size:18px;max-width:580px}.login-panel{display:grid;place-items:center;padding:25px;background:var(--bg2)}.login-card{width:min(440px,100%);padding:29px}.login-card small{display:block;color:var(--muted);text-align:center;margin-top:13px}.overlay{display:none}.mobile-only{display:none}@media(max-width:1050px){.cards-4{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero img{display:none}}@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:.24s}.sidebar.open{left:0}.overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:40}.mobile-only{display:inline-grid;place-items:center}.content{padding:18px}.topbar{padding:0 15px}.cards-3,.cards-2,.tool-workspace{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:16px}}@media(max-width:560px){.cards-4{grid-template-columns:1fr}.page-head{display:block}.hero{padding:20px}}


/* ===== Interaction baseline ===== */
button,.btn,.link-btn,.nav-link,.lesson-link,.brand,.play{cursor:pointer}
button:disabled,.btn:disabled{cursor:not-allowed;opacity:.62}
.btn,.icon-btn,.link-btn,.nav-link,.lesson-link{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.16)}
.btn.primary:hover:not(:disabled){box-shadow:0 12px 30px rgba(22,119,255,.22)}
.icon-btn:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand2) 45%,var(--line))}
.link-btn:hover{color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:color-mix(in srgb,var(--brand2) 62%,var(--line));box-shadow:0 0 0 3px rgba(22,119,255,.11)}

/* ===== Page reveal / preload lock ===== */
body.preload-lock{overflow:hidden}
.page-root{visibility:hidden;opacity:0}
body.app-ready .page-root{visibility:visible;opacity:1;transition:opacity .34s ease}

/* ===== NexoVault preloader ===== */
.preloader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 46%,rgba(22,119,255,.09),transparent 36%),radial-gradient(circle at 50% 50%,rgba(57,231,221,.04),transparent 56%),#06101c;transition:opacity .48s ease,visibility .48s ease}
.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.preloader-inner{width:min(340px,88vw);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.preloader-mark{position:relative;width:166px;height:166px;display:grid;place-items:center;margin:0 auto}
.preloader-mark img{position:relative;z-index:3;width:88px;height:88px;object-fit:contain;display:block;filter:drop-shadow(0 0 23px rgba(57,231,221,.25));animation:preloaderLogoPulse 1.8s ease-in-out infinite}
.preloader-ring,.preloader-ring-secondary{position:absolute;inset:0;border-radius:50%;pointer-events:none}
.preloader-ring{border:2px solid rgba(255,255,255,.055);border-top-color:#39e7dd;border-right-color:#1677ff;box-shadow:0 0 28px rgba(22,119,255,.08),inset 0 0 22px rgba(57,231,221,.035);animation:spin 1.15s linear infinite}
.preloader-ring-secondary{inset:11px;border:1px solid rgba(125,169,255,.10);border-left-color:rgba(57,231,221,.42);animation:spinReverse 2.3s linear infinite}
.preloader-brand{margin-top:18px;color:#dceaff;font-size:12px;line-height:1;letter-spacing:.36em;font-weight:1000;padding-left:.36em}
.preloader-progress{width:246px;max-width:78vw;height:7px;margin-top:20px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.065);border:1px solid rgba(125,169,255,.11);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}
.preloader-progress-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#39e7dd 0%,#1da9ff 52%,#1677ff 100%);box-shadow:0 0 14px rgba(57,231,221,.32);transition:width .16s linear}
.preloader-meta{width:246px;max-width:78vw;margin-top:9px;display:flex;justify-content:space-between;gap:12px;color:#718cae;font-size:10px;font-weight:800}
.preloader-meta strong{color:#bcd4f2;font-variant-numeric:tabular-nums}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinReverse{to{transform:rotate(-360deg)}}
@keyframes preloaderLogoPulse{50%{transform:scale(1.045);filter:drop-shadow(0 0 32px rgba(57,231,221,.38))}}

/* ===== Global animated action modal ===== */
.action-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.action-modal.show{opacity:1;visibility:visible;pointer-events:auto}
.action-modal-backdrop{position:absolute;inset:0;background:rgba(2,8,16,.70);backdrop-filter:blur(7px)}
.action-modal-card{position:relative;width:min(430px,100%);display:flex;align-items:center;gap:16px;padding:20px;border:1px solid color-mix(in srgb,var(--brand2) 24%,var(--line));border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,transparent),color-mix(in srgb,var(--panel2) 96%,transparent));box-shadow:0 28px 85px rgba(0,0,0,.38);transform:translateY(12px) scale(.975);transition:transform .24s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.action-modal.show .action-modal-card{transform:translateY(0) scale(1)}
.action-modal-icon{width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,rgba(57,231,221,.10),rgba(22,119,255,.12));border:1px solid var(--line)}
.action-spinner{width:27px;height:27px;border-radius:50%;border:3px solid rgba(255,255,255,.10);border-top-color:var(--brand);border-right-color:var(--brand2);animation:spin .8s linear infinite}
.action-check,.action-error-mark{display:none;font-size:25px;font-weight:1000}
.action-modal-icon.is-success{background:rgba(121,228,159,.10);border-color:rgba(121,228,159,.28)}
.action-modal-icon.is-success .action-spinner{display:none}.action-modal-icon.is-success .action-check{display:block;color:var(--good);animation:actionPop .34s cubic-bezier(.2,.9,.2,1.2)}
.action-modal-icon.is-error{background:rgba(255,127,135,.09);border-color:rgba(255,127,135,.30)}
.action-modal-icon.is-error .action-spinner{display:none}.action-modal-icon.is-error .action-error-mark{display:block;color:var(--danger);animation:actionPop .34s cubic-bezier(.2,.9,.2,1.2)}
.action-modal-copy{min-width:0;flex:1}.action-modal-kicker{font-size:9px;letter-spacing:1.7px;color:var(--brand);font-weight:1000}.action-modal-copy h3{margin:2px 0 3px;font-size:18px}.action-modal-copy p{font-size:12px;margin:0;line-height:1.45}
.action-modal-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.035);overflow:hidden}
.action-modal-progress span{display:block;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--brand),var(--brand2),transparent);animation:actionSweep 1.1s ease-in-out infinite}
.action-modal.is-success .action-modal-progress span{width:100%;animation:none;background:var(--good)}
.action-modal.is-error .action-modal-progress span{width:100%;animation:none;background:var(--danger)}
@keyframes actionSweep{from{transform:translateX(-120%)}to{transform:translateX(300%)}}
@keyframes actionPop{0%{transform:scale(.65);opacity:0}100%{transform:scale(1);opacity:1}}

/* ===== Login polish ===== */
.login-visual{position:relative;overflow:hidden}
.login-visual:after{content:"";position:absolute;width:440px;height:440px;right:-220px;bottom:-210px;border-radius:50%;background:radial-gradient(circle,rgba(22,119,255,.12),transparent 65%);pointer-events:none}
.login-message{position:relative;z-index:1}.login-logo{position:relative;z-index:1;filter:drop-shadow(0 18px 32px rgba(0,80,190,.10))}
.login-trust{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:#7f9cbe;font-size:12px;font-weight:800}.login-trust span{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 14px rgba(57,231,221,.65)}
.login-card{position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--brand),var(--brand2),transparent);opacity:.8}
.login-card-brand{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:13px}.login-card-brand img{width:28px;height:28px;object-fit:contain}.login-submit{gap:9px;min-height:42px}.login-submit span{transition:transform .18s ease}.login-submit:hover span{transform:translateX(3px)}

@media(max-width:560px){.preloader-mark{width:150px;height:150px}.preloader-mark img{width:80px;height:80px}.action-modal-card{padding:17px}.action-modal-icon{width:48px;height:48px;flex-basis:48px}}

/* ===== Brand lockup v0.2.1: high contrast on dark UI ===== */
.nv-brand-lockup{display:inline-flex;align-items:center;gap:13px;max-width:100%;vertical-align:middle}
.nv-brand-symbol{display:block;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 9px 22px rgba(20,130,255,.18)) drop-shadow(0 0 12px rgba(57,231,221,.12))}
.nv-brand-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;line-height:1}
.nv-brand-name{display:block;white-space:nowrap;font-weight:1000;letter-spacing:-.055em;line-height:.92}
.nv-brand-nexo{color:#edf6ff;text-shadow:0 1px 12px rgba(215,237,255,.04)}
.nv-brand-vault{background:linear-gradient(104deg,#43e7df 2%,#21b7ff 44%,#1778ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(31,157,255,.10))}
.nv-brand-tagline{display:block;align-self:flex-end;margin-top:7px;color:#8faecc;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.nv-brand-default .nv-brand-symbol{width:48px;height:48px}.nv-brand-default .nv-brand-name{font-size:31px}.nv-brand-default .nv-brand-tagline{font-size:10px}
.nv-brand-hero{gap:17px}.nv-brand-hero .nv-brand-symbol{width:84px;height:84px}.nv-brand-hero .nv-brand-name{font-size:58px}.nv-brand-hero .nv-brand-tagline{font-size:13px;margin-top:9px;color:#9ebad7}
.nv-brand-sidebar{gap:9px}.nv-brand-sidebar .nv-brand-symbol{width:39px;height:39px}.nv-brand-sidebar .nv-brand-name{font-size:23px;letter-spacing:-.05em}.nv-brand-sidebar .nv-brand-tagline{font-size:8px;margin-top:5px;color:#7895b4}
html[data-theme=light] .nv-brand-nexo{color:#0c1c32;text-shadow:none}
html[data-theme=light] .nv-brand-tagline{color:#60748d}
.login-brand{position:relative;z-index:1;max-width:min(520px,92%);filter:drop-shadow(0 18px 32px rgba(0,80,190,.08))}
.brand .nv-brand-lockup{width:100%}
.brand:hover .nv-brand-symbol{filter:drop-shadow(0 9px 24px rgba(20,130,255,.28)) drop-shadow(0 0 16px rgba(57,231,221,.20))}
.brand .nv-brand-symbol{transition:filter .18s ease,transform .18s ease}.brand:hover .nv-brand-symbol{transform:translateY(-1px)}
@media(max-width:1180px){.nv-brand-hero .nv-brand-symbol{width:72px;height:72px}.nv-brand-hero .nv-brand-name{font-size:49px}}
@media(max-width:900px){.nv-brand-hero .nv-brand-symbol{width:64px;height:64px}.nv-brand-hero .nv-brand-name{font-size:42px}}

/* ===== Admin users CRUD v0.3.0 ===== */
.actions,.row-actions,.filter-actions,.dialog-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.admin-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.grow-field{flex:1 1 330px}.compact-field{flex:0 1 170px}.filter-actions{padding-bottom:1px}
.section-inline-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.section-inline-head h2{margin-bottom:2px}
.admin-table td{vertical-align:middle}.table-actions-col{width:170px}.row-actions{flex-wrap:nowrap}.small-btn{padding:7px 10px;border-radius:9px;font-size:11px}.btn.danger{color:var(--danger);border-color:rgba(255,127,135,.25);background:rgba(255,127,135,.055)}
.btn.disabled{opacity:.45;pointer-events:none}.user-cell{display:flex;align-items:center;gap:11px;min-width:235px}.user-cell>div{display:flex;flex-direction:column}.user-cell small{color:var(--muted);font-size:11px}.user-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:0 0 38px;font-weight:1000;color:#06121e;background:linear-gradient(135deg,var(--brand),var(--brand2))}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;opacity:.7}.tag-good{color:var(--good);border-color:rgba(121,228,159,.22)}.tag-warn{color:var(--warn);border-color:rgba(255,209,102,.22)}.tag-admin{color:#c7b5ff;border-color:rgba(189,156,255,.24)}.empty-cell{text-align:center;color:var(--muted);padding:28px!important}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;color:var(--muted);font-size:12px}.admin-flash{display:flex;flex-direction:column;gap:2px;margin-bottom:15px}.notice-danger{border-color:rgba(255,127,135,.28)!important;background:rgba(255,127,135,.07)!important}.notice-danger b{color:var(--danger)}
.nv-dialog{position:fixed;inset:0;width:fit-content;height:fit-content;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);margin:auto;border:0;padding:0;background:transparent;color:var(--text);overflow:visible}.nv-dialog::backdrop{background:rgba(2,8,16,.74);backdrop-filter:blur(8px);animation:dialogBackdropIn .2s ease}.nv-dialog[open] .nv-dialog-card{animation:dialogCardIn .24s cubic-bezier(.2,.8,.2,1)}
.nv-dialog-card{width:min(720px,calc(100vw - 28px));max-height:min(84vh,760px);overflow:auto;border:1px solid color-mix(in srgb,var(--brand2) 25%,var(--line));border-radius:20px;background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel2) 94%,var(--panel)));box-shadow:0 34px 100px rgba(0,0,0,.48);padding:22px}.access-dialog-card{width:min(760px,calc(100vw - 28px))}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.dialog-head h2{margin:3px 0}.dialog-head p{font-size:12px;max-width:540px}.dialog-close{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--text);font-size:22px;line-height:1;cursor:pointer}.dialog-close:hover{border-color:var(--brand2)}.dialog-grid{gap:12px}.dialog-note{margin-top:14px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(22,119,255,.045);color:var(--muted);font-size:11px}.warn-note{border-color:rgba(255,209,102,.22);background:rgba(255,209,102,.055);color:#d9be78}.dialog-actions{justify-content:flex-end;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.access-list{display:grid;gap:9px}.access-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.access-row>div:first-child{display:flex;flex-direction:column;min-width:0}.access-row small{font-size:11px;color:var(--muted)}
@keyframes dialogBackdropIn{from{opacity:0}to{opacity:1}}@keyframes dialogCardIn{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.admin-filter{display:grid;grid-template-columns:1fr}.grow-field,.compact-field{width:100%}.filter-actions .btn{flex:1}.admin-stats{grid-template-columns:repeat(2,1fr)}.nv-dialog-card{padding:17px}.dialog-grid{grid-template-columns:1fr}.access-row{align-items:flex-start}.row-actions{flex-wrap:wrap}.pager{flex-wrap:wrap}}

/* ===== Admin products / curriculum v0.4.0 ===== */
.product-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-product-card{overflow:hidden;min-width:0}.admin-product-cover{min-height:205px;padding:18px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#0d2239,#102d4b 55%,#0c1a2d)}.admin-product-cover:after{content:"";position:absolute;inset:auto -60px -100px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(57,231,221,.18),rgba(22,119,255,.07) 45%,transparent 70%)}.product-cover-orb{position:absolute;width:150px;height:150px;right:-38px;top:-46px;border-radius:50%;border:1px solid rgba(125,169,255,.14);box-shadow:0 0 70px rgba(22,119,255,.12),inset 0 0 45px rgba(57,231,221,.05)}.product-cover-top{display:flex;gap:7px;position:relative;z-index:1}.product-cover-copy{position:relative;z-index:1;max-width:92%}.product-cover-copy h2{font-size:24px;margin:5px 0 7px}.product-cover-copy p{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-product-body{padding:17px}.product-admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.product-admin-metrics>div{padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);min-width:0}.product-admin-metrics span{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.product-admin-metrics b{display:block;margin-top:2px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-admin-slug{padding:11px 1px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis}.product-admin-actions{justify-content:flex-end}.product-empty-state{text-align:center;grid-column:1/-1;display:grid;justify-items:center;padding:42px!important}.product-empty-state .tool-icon{margin-bottom:8px}.field-span-2{grid-column:1/-1}
.product-editor-head{align-items:center}.editor-breadcrumb{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--muted);font-size:11px}.editor-breadcrumb a{text-decoration:none;color:var(--brand2)}.editor-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor-summary-card{min-width:0}.editor-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.editor-summary-grid>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);min-width:0}.editor-summary-grid span{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.editor-summary-grid b{display:block;margin-top:3px;font-size:12px;overflow:hidden;text-overflow:ellipsis}.editor-description{margin-top:12px;font-size:12px}.curriculum-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}.curriculum-head h2{margin-bottom:3px}.curriculum-list{display:grid;gap:13px}.curriculum-module{overflow:hidden}.curriculum-module-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(57,231,221,.035),rgba(22,119,255,.025),transparent)}.module-order{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);font-size:15px;font-weight:1000;color:var(--brand2)}.curriculum-module-copy{min-width:0}.module-title-line,.lesson-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.curriculum-module-copy h3{margin:0;font-size:17px}.curriculum-module-copy p{margin:3px 0 0;font-size:10px}.lesson-admin-list{display:grid}.lesson-admin-row{display:grid;grid-template-columns:30px 38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 17px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.lesson-admin-row:last-child{border-bottom:0}.lesson-admin-row:hover{background:rgba(125,169,255,.025)}.lesson-admin-order{color:var(--muted);font-size:10px;text-align:center;font-weight:900}.lesson-admin-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(57,231,221,.08),rgba(22,119,255,.10));border:1px solid var(--line);color:var(--brand2);font-size:10px}.lesson-admin-copy{min-width:0}.lesson-admin-copy>b,.lesson-title-line>b{font-size:13px}.lesson-admin-copy>small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.lesson-admin-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:9px}.curriculum-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;color:var(--muted);font-size:11px}.lesson-dialog-card{width:min(860px,calc(100vw - 28px))}.lesson-content-input{min-height:150px!important}.lesson-preview-check{grid-column:1/-1;margin:0}.lesson-preview-check span{display:flex;flex-direction:column}.lesson-preview-check small{color:var(--muted);font-size:10px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:13px;border:1px solid rgba(255,127,135,.20);border-radius:13px;background:rgba(255,127,135,.045)}.danger-zone>div{display:flex;flex-direction:column}.danger-zone b{color:var(--danger);font-size:12px}.danger-zone span{color:var(--muted);font-size:10px;margin-top:2px}
@media(max-width:1180px){.product-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-admin-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.product-admin-grid,.editor-overview{grid-template-columns:1fr}.curriculum-module-head{grid-template-columns:46px minmax(0,1fr)}.curriculum-module-head>.row-actions{grid-column:2}.lesson-admin-row{grid-template-columns:30px 34px minmax(0,1fr)}.lesson-admin-row>.row-actions{grid-column:3}.editor-summary-grid{grid-template-columns:1fr}.curriculum-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.product-admin-grid{grid-template-columns:1fr}.product-admin-metrics{grid-template-columns:repeat(2,1fr)}.curriculum-module-head{padding:13px}.lesson-admin-row{padding:11px 13px;grid-template-columns:26px 32px minmax(0,1fr)}.lesson-admin-meta{gap:7px}.curriculum-empty{align-items:flex-start;flex-direction:column}.danger-zone{align-items:flex-start;flex-direction:column}.danger-zone .btn{width:100%}}

/* ===== Admin sales / checkout v0.5.0 ===== */
.checkout-info-card{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:center}.checkout-info-copy h2{margin-bottom:5px}.checkout-endpoint{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);min-width:0}.checkout-endpoint>span,.checkout-endpoint>small{display:block;color:var(--muted);font-size:10px;font-weight:800}.checkout-endpoint code{display:block;margin:7px 0;padding:10px;border-radius:9px;background:color-mix(in srgb,var(--bg) 75%,var(--panel2));white-space:nowrap;overflow:auto}.checkout-endpoint small b{color:var(--text)}.table-sub{display:block;color:var(--muted);font-size:9px;margin-top:3px}.tag-blue{color:var(--brand2)}.tag-refund{color:#ff9da5;border-color:rgba(255,127,135,.24);background:rgba(255,127,135,.055)}.sales-table td{vertical-align:middle}.sales-table .mono{font-size:10px}.notice-danger{border-color:rgba(255,127,135,.35)!important;background:rgba(255,127,135,.07)!important;color:#ffc3c7!important}
@media(max-width:900px){.checkout-info-card{grid-template-columns:1fr}}@media(max-width:560px){.checkout-endpoint code{font-size:10px}}

/* ===== Performance hotfix v0.5.3 =====
   Mantém o visual dos modais, mas evita efeitos full-screen caros. */
:root{--shadow:0 14px 36px rgba(0,0,0,.22)}
html[data-theme=light]{--shadow:0 12px 30px rgba(36,55,79,.09)}

/* Barra fixa: aparência quase igual, sem blur contínuo do viewport. */
.topbar{
  background:color-mix(in srgb,var(--bg) 96%,transparent);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

/* Modal compacto de ações: preserva fade/slide, remove blur full-screen. */
.action-modal{transition:opacity .16s ease,visibility .16s ease}
.action-modal-backdrop{
  background:rgba(2,8,16,.82);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.action-modal-card{
  box-shadow:0 18px 48px rgba(0,0,0,.32);
  transform:translate3d(0,8px,0) scale(.985);
  transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .18s ease;
  contain:paint;
}
.action-modal.show .action-modal-card{
  transform:translate3d(0,0,0) scale(1);
  will-change:transform,opacity;
}
.action-modal:not(.show) .action-modal-card{will-change:auto}
.action-modal-progress span{animation-duration:1.25s}

/* Dialogs administrativos: sem blur no backdrop, mesma profundidade visual. */
.nv-dialog::backdrop{
  background:rgba(2,8,16,.84);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  animation:dialogBackdropIn .15s ease;
}
.nv-dialog[open] .nv-dialog-card{
  animation:dialogCardInFast .18s cubic-bezier(.2,.8,.2,1);
  will-change:transform,opacity;
}
.nv-dialog-card{
  box-shadow:0 22px 58px rgba(0,0,0,.36);
  contain:paint;
}
@keyframes dialogCardInFast{
  from{opacity:0;transform:translate3d(0,8px,0) scale(.985)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

/* Efeitos estáticos mais baratos. */
.hero img{filter:drop-shadow(0 14px 28px rgba(0,100,255,.15))}
.nv-brand-symbol{filter:drop-shadow(0 6px 14px rgba(20,130,255,.15))}
.brand:hover .nv-brand-symbol{filter:drop-shadow(0 7px 17px rgba(20,130,255,.20))}
.product-cover-orb{box-shadow:0 0 34px rgba(22,119,255,.08),inset 0 0 22px rgba(57,231,221,.035)}

/* Em hardware/OS que pede menos movimento, corta o custo sem quebrar UX. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  .action-modal,.action-modal-card,.btn,.nav-link,.nv-brand-symbol{transition-duration:.01ms!important}
  .action-spinner,.action-modal-progress span,.preloader-ring,.preloader-ring-secondary,.preloader-mark img,.nv-dialog[open] .nv-dialog-card,.nv-dialog::backdrop{animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ===== Eduzz / onboarding v0.6.0 ===== */
.integration-status-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.checkout-dev-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.checkout-dev-card h3{margin:3px 0 4px}.compact-endpoint{min-width:min(520px,50vw)}.notice-success{border-color:rgba(121,228,159,.28)!important;background:rgba(121,228,159,.07)!important;color:#bdf4cf!important}
@media(max-width:900px){.checkout-dev-card{align-items:stretch;flex-direction:column}.compact-endpoint{min-width:0;width:100%}}

/* ===== Student UX + password trail v0.6.2 ===== */
.student-page{padding-top:4px}
.student-page .page-head{margin-bottom:26px}
.student-dashboard .hero{margin-top:2px}
.student-metrics{margin-top:18px}

.password-field{margin-top:13px}
.password-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:1px;color:var(--muted);font-size:10px;font-weight:800}
.password-meta strong{color:var(--text);font-size:10px}
.password-trail{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px}
.password-trail span{height:5px;border-radius:999px;background:color-mix(in srgb,var(--line) 82%,transparent);transition:background .16s ease,transform .16s ease}
.password-trail span.done{background:linear-gradient(90deg,var(--brand),var(--brand2));transform:scaleY(1.08)}
.password-rules{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:10px}
.password-rules span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;transition:color .16s ease}
.password-rules i{width:16px;height:16px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:9px;color:transparent;transition:all .16s ease}
.password-rules span.done{color:var(--good)}
.password-rules span.done i{border-color:rgba(121,228,159,.42);background:rgba(121,228,159,.10);color:var(--good)}
.password-match{margin-top:2px;color:var(--muted);font-size:10px;font-weight:800;transition:color .16s ease}
.password-match.done{color:var(--good)}
.password-match.bad{color:var(--danger)}
.login-submit:disabled{filter:saturate(.55);opacity:.55}

@media(max-width:560px){
  .student-metrics{margin-top:14px}
  .password-rules{grid-template-columns:1fr}
}

/* ===== Production readiness v0.7.0 ===== */
.system-readiness-pill{min-width:220px;border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:12px 15px;display:flex;align-items:center;gap:11px;box-shadow:var(--shadow)}
.system-readiness-pill span{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:rgba(38,210,221,.10);border:1px solid rgba(38,210,221,.22);font-size:14px;font-weight:900;color:var(--brand)}
.system-readiness-pill b{font-size:12px;line-height:1.25}.system-readiness-pill.ready{border-color:rgba(121,228,159,.30)}.system-readiness-pill.blocked{border-color:rgba(255,101,123,.26)}.system-readiness-pill.attention{border-color:rgba(255,200,93,.24)}
.metric-text{font-size:18px!important}.system-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;align-items:start}.system-side{display:grid;gap:18px}.readiness-list{display:grid;gap:9px;margin-top:18px}.readiness-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel2) 86%,transparent)}
.readiness-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:950;border:1px solid var(--line)}.readiness-row b{display:block;font-size:12px}.readiness-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.45}.readiness-row.status-ok .readiness-icon{color:var(--good);background:rgba(121,228,159,.08);border-color:rgba(121,228,159,.24)}.readiness-row.status-warn .readiness-icon{color:#ffc85d;background:rgba(255,200,93,.08);border-color:rgba(255,200,93,.22)}.readiness-row.status-fail .readiness-icon{color:var(--danger);background:rgba(255,101,123,.08);border-color:rgba(255,101,123,.22)}
.runtime-list{display:grid;gap:0;margin:13px 0 0}.runtime-list div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line)}.runtime-list div:last-child{border-bottom:0}.runtime-list dt{color:var(--muted);font-size:10px;font-weight:800}.runtime-list dd{margin:0;font-size:10px;font-weight:900;text-align:right}.system-mail-btn{width:100%;margin-top:10px}.production-next-card code{display:block;overflow-wrap:anywhere;margin:11px 0;padding:11px;border-radius:10px;border:1px solid var(--line);background:rgba(2,10,20,.28);font-size:10px;color:var(--brand)}.production-next-card small{display:block;color:var(--muted);line-height:1.5}
@media(max-width:1050px){.system-grid{grid-template-columns:1fr}.system-side{grid-template-columns:repeat(2,1fr)}.production-next-card{grid-column:1/-1}}
@media(max-width:700px){.system-readiness-pill{width:100%;min-width:0}.system-side{grid-template-columns:1fr}.production-next-card{grid-column:auto}.readiness-row{grid-template-columns:30px 1fr}.readiness-row>.tag{grid-column:2;justify-self:start}.system-stats{grid-template-columns:repeat(2,1fr)!important}}


/* =========================================================
   IA que Vende / Student course polish v1.0
   ========================================================= */
.course-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.course-head-meta{display:flex;gap:10px;flex-wrap:wrap}
.course-head-meta span,.materials-count,.lesson-duration{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:34px;padding:0 12px;border:1px solid rgba(84,151,226,.28);
    background:rgba(10,35,66,.78);border-radius:999px;color:#b8d7f8;
    font-size:.78rem;font-weight:800;letter-spacing:.02em
}
.course-grid-v2{align-items:start}
.course-main{display:grid;gap:18px;min-width:0}
.course-lesson-card{overflow:hidden}
.video-frame-pending{
    min-height:330px;display:grid;place-items:center;position:relative;
    background:
      radial-gradient(circle at 50% 35%,rgba(31,211,231,.18),transparent 34%),
      linear-gradient(145deg,#071422,#0a2340 56%,#071422);
    border-bottom:1px solid rgba(72,134,203,.22)
}
.video-pending-content{text-align:center;max-width:520px;padding:44px 28px}
.video-pending-content img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(22,213,236,.22));margin:0 auto 18px}
.video-pending-content h2{font-size:1.6rem;margin:0 0 9px;color:#f4f8ff}
.video-pending-content p{margin:0;color:#9bb9d9;line-height:1.65}
.video-pending-badge{
    display:inline-flex;padding:7px 11px;margin-bottom:18px;border-radius:999px;
    border:1px solid rgba(41,224,232,.3);background:rgba(20,222,227,.1);
    color:#4ee8e9;font-size:.72rem;font-weight:900;letter-spacing:.08em
}
.lesson-content-v2{padding:28px}
.lesson-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}
.lesson-title-row h2{margin:6px 0 0;font-size:1.55rem}
.lesson-prose{
    color:#c2d3e8;font-size:1rem;line-height:1.78;
    max-width:880px
}
.lesson-prose h1,.lesson-prose h2,.lesson-prose h3{
    color:#f5f9ff;line-height:1.25;margin:28px 0 12px
}
.lesson-prose h1{font-size:1.6rem}
.lesson-prose h2{font-size:1.28rem}
.lesson-prose h3{font-size:1.08rem}
.lesson-prose p{margin:0 0 14px}
.lesson-prose ul,.lesson-prose ol{margin:0 0 18px 22px;padding:0}
.lesson-prose li{margin:7px 0}
.lesson-prose blockquote{
    margin:18px 0;padding:14px 16px;border-left:3px solid #33dde7;
    background:rgba(20,49,83,.62);border-radius:0 10px 10px 0
}
.lesson-prose code{
    padding:2px 6px;border-radius:6px;background:#07131f;color:#75edf0;
    border:1px solid rgba(52,211,224,.16)
}
.lesson-prose strong{color:#eef8ff}
.lesson-actions{display:flex;gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(76,138,205,.18)}
.course-materials{padding:26px}
.materials-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px}
.materials-head h2{font-size:1.45rem;margin:6px 0 6px}
.materials-head p{margin:0;color:#92b1d2;max-width:680px}
.materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.material-card{
    display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;
    padding:16px;border:1px solid rgba(72,136,205,.24);border-radius:14px;
    background:linear-gradient(145deg,rgba(13,34,60,.92),rgba(10,26,48,.92));
    color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease
}
.material-card:hover{transform:translateY(-2px);border-color:rgba(48,224,234,.48);background:linear-gradient(145deg,rgba(14,42,72,.98),rgba(10,29,53,.98))}
.material-icon{
    width:46px;height:46px;display:grid;place-items:center;border-radius:12px;
    background:linear-gradient(135deg,#33dfe7,#258aff);color:#03111f;
    font-weight:1000;font-size:1.3rem;box-shadow:0 10px 24px rgba(34,164,236,.18)
}
.material-card b{display:block;color:#f3f8ff;margin-bottom:5px}
.material-card span{display:block;color:#94b2d2;font-size:.88rem;line-height:1.5}
.material-card small{display:block;color:#51e2e7;font-size:.75rem;font-weight:800;margin-top:8px;text-transform:uppercase;letter-spacing:.05em}
.course-sidebar{position:sticky;top:94px;max-height:calc(100vh - 112px);overflow:auto}
.course-sidebar-head{margin-bottom:14px}
.module-nav{display:grid;gap:16px}
.module-nav-block{padding-top:2px}
.module-nav-title{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:10px 8px 10px}
.module-nav-title>span{
    width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
    background:rgba(28,105,189,.14);border:1px solid rgba(66,143,226,.24);
    color:#55b8ff;font-weight:900;font-size:.77rem
}
.module-nav-title b{display:block;color:#dfeeff;font-size:.82rem;line-height:1.35}
.module-nav-title small{display:block;color:#6f91b5;margin-top:3px;font-size:.72rem}
.lesson-list-v2{display:grid;gap:5px}
.lesson-list-v2 .lesson-link{
    display:grid;grid-template-columns:28px 1fr;gap:10px;padding:9px 10px;border-radius:10px;
    border:1px solid transparent
}
.lesson-list-v2 .lesson-link:hover{background:rgba(20,54,91,.58)}
.lesson-list-v2 .lesson-link.active{background:rgba(19,78,128,.54);border-color:rgba(54,180,231,.28)}
.lesson-state{
    width:28px;height:28px;display:grid;place-items:center;border-radius:8px;
    background:#0b223c;color:#6fb9f1;font-size:.72rem;font-weight:900
}
.lesson-list-v2 .lesson-link.active .lesson-state{background:linear-gradient(135deg,#35dfe5,#278dfd);color:#03111e}
.lesson-list-v2 .lesson-link b{font-size:.78rem}
.lesson-list-v2 .lesson-link small{font-size:.69rem;color:#799abd}
@media(max-width:980px){
    .course-head{align-items:flex-start;flex-direction:column}
    .course-grid-v2{grid-template-columns:1fr}
    .course-sidebar{position:static;max-height:none}
    .materials-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
    .lesson-content-v2,.course-materials{padding:20px}
    .lesson-title-row,.materials-head{flex-direction:column}
    .video-frame-pending{min-height:270px}
}


/* =========================================================
   Navigation icons + modern scrollbars v1.4
   ========================================================= */
.nav-link{
    display:flex;
    align-items:center;
    gap:10px;
}
.nav-link i{
    width:18px;
    min-width:18px;
    text-align:center;
    font-size:13px;
    color:color-mix(in srgb,var(--muted) 88%,var(--text));
    opacity:.96;
}
.nav-link span{
    min-width:0;
}
.nav-link:hover i,
.nav-link.active i{
    color:var(--brand);
}
.icon-btn{
    display:inline-grid;
    place-items:center;
}
.icon-btn i{
    font-size:14px;
}

/* Firefox */
html,
body,
.sidebar,
.course-sidebar,
.table-wrap,
textarea{
    scrollbar-width:thin;
    scrollbar-color:color-mix(in srgb,var(--brand2) 72%,var(--brand)) color-mix(in srgb,var(--panel2) 88%,transparent);
}

/* Chromium / Edge / Chrome */
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
.course-sidebar::-webkit-scrollbar,
.table-wrap::-webkit-scrollbar,
textarea::-webkit-scrollbar{
    width:10px;
    height:10px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
.sidebar::-webkit-scrollbar-track,
.course-sidebar::-webkit-scrollbar-track,
.table-wrap::-webkit-scrollbar-track,
textarea::-webkit-scrollbar-track{
    background:color-mix(in srgb,var(--panel2) 88%,transparent);
    border-radius:999px;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar-thumb,
.course-sidebar::-webkit-scrollbar-thumb,
.table-wrap::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,var(--brand2),var(--brand));
    border:2px solid color-mix(in srgb,var(--panel2) 88%,transparent);
    border-radius:999px;
    min-height:46px;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
.sidebar::-webkit-scrollbar-thumb:hover,
.course-sidebar::-webkit-scrollbar-thumb:hover,
.table-wrap::-webkit-scrollbar-thumb:hover,
textarea::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#3198ff,#4aebe3);
}

/* Remove os botões antigos de seta da scrollbar no Chromium */
::-webkit-scrollbar-button{
    width:0;
    height:0;
    display:none;
}
