:root{--p:#3D0856;--p2:#6B2A8C;--y:#FFBC00;--bg:#F6F4F9;--t:#1E1530;--m:#6B6380;--bd:#E7E2EE;--g:#1F9D63;--r:#D64545;--b:#2F6FDE;--tint:#F1E9F7}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;color:var(--t);background:var(--bg);font-size:15px;line-height:1.45}
a{color:var(--p2)}img{max-width:100%}
.ic{flex:none;vertical-align:middle}
.app{display:flex;min-height:100vh}
.side{width:240px;background:var(--p);color:#fff;display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh;flex:none}
.side.staff{background:#25063A}
.logo{display:flex;flex-direction:column;gap:6px;padding:0 6px 6px}.logo img{width:110px}.logo span{font-size:10.5px;color:var(--y);font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.nav{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.nav a,.nav button{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:rgba(255,255,255,.8);font-size:14px;font-weight:700;text-decoration:none;background:none;border:0;cursor:pointer;font-family:inherit;width:100%;text-align:left}
.nav a:hover{background:rgba(255,255,255,.07)}
.nav a.on{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 3px 0 0 var(--y)}.nav a.on .ic{color:var(--y)}
.nav .sec{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.45);padding:14px 12px 4px}
.side-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:10px}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{height:64px;background:#fff;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:14px;padding:0 26px;position:sticky;top:0;z-index:5}
.crumb{flex:1;font-size:13px;color:var(--m);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me{display:flex;align-items:center;gap:10px}.me b{display:block;font-size:13px}.me small{font-size:11.5px;color:var(--m)}
.menu-btn{display:none;background:none;border:0;color:var(--p);cursor:pointer}
.content{padding:24px 28px;max-width:1280px;width:100%}
.av{width:38px;height:38px;border-radius:50%;background:var(--p);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}.av.y{background:var(--y);color:var(--p)}.av.sm{width:32px;height:32px;font-size:11.5px}
h1{font-size:25px;margin-bottom:4px}h2{font-size:19px}h3{font-size:16px}
.mut{color:var(--m)}.sm{font-size:12.5px}.xs{font-size:11.5px}
.hrow{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.btn{font-family:inherit;border:0;border-radius:10px;padding:11px 18px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1.2}
.btn.pri{background:var(--p);color:#fff}.btn.yel{background:var(--y);color:var(--p)}.btn.ghost{background:#fff;color:var(--p);border:1.5px solid #d8cbe4}.btn.danger{background:#fff;color:var(--r);border:1.5px solid #f0c9c9}
.btn.sm{padding:8px 13px;font-size:13px}.btn.xs{padding:6px 10px;font-size:12px;border-radius:8px}.btn.full{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}
.card{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:18px}.card.np{padding:0;overflow:hidden}
.card h3,.card h4{margin-bottom:10px}
.ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.ch h3,.ch h4{margin:0}
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.gside{grid-template-columns:1fr 300px}
.tag{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:20px;background:#EFEBF4;color:var(--m);white-space:nowrap;display:inline-block}
.tag.r{background:#FCE8E8;color:var(--r)}.tag.g{background:#E3F5EC;color:var(--g)}.tag.b{background:#E6EEFC;color:var(--b)}.tag.y{background:#FFF3D1;color:#9a6a00}.tag.p{background:var(--tint);color:var(--p)}
.pbar{height:7px;background:#ECE5F3;border-radius:9px;overflow:hidden;flex:1}.pbar i{display:block;height:100%;background:linear-gradient(90deg,var(--p2),var(--p));border-radius:9px}.pbar.ok i{background:var(--g)}
.alert{border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:14px;display:flex;gap:10px;align-items:flex-start}
.alert.ok{background:#E3F5EC;color:#11663f}.alert.err{background:#FCE8E8;color:#9b2626}.alert.info{background:#FFF8E3;color:#5b4a22;border:1.5px solid #FFE08A}
.alert ul{padding-left:18px}
/* forms */
label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}
.inp,input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=date],input[type=search],select,textarea{width:100%;border:1.5px solid var(--bd);border-radius:10px;padding:11px 13px;font-size:14px;font-family:inherit;color:var(--t);background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid #cdb6e0;border-color:var(--p2)}
textarea{min-height:110px;resize:vertical}
input[type=color]{width:60px;height:40px;border:1.5px solid var(--bd);border-radius:8px;padding:2px;background:#fff}
.chk{display:flex;align-items:center;gap:8px;font-size:14px;margin:10px 0;font-weight:400}.chk input{width:18px;height:18px;accent-color:var(--p)}
.hint{font-size:12px;color:var(--m);margin-top:5px}
.err-t{color:var(--r);font-size:12.5px;margin-top:4px}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.r3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
/* tables */
.tb{width:100%;border-collapse:collapse;font-size:14px}.tb th{background:#FAF8FC;text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--m);padding:11px 14px;border-bottom:1px solid var(--bd)}
.tb td{padding:12px 14px;border-bottom:1px solid #F3EFF7;vertical-align:middle}.tb tr:last-child td{border-bottom:0}
.tb a{text-decoration:none;color:var(--t);font-weight:700}
/* login */
.login{display:flex;min-height:100vh}.lg-art{flex:1.1;background:var(--p);color:#fff;display:flex;align-items:center;padding:60px;position:relative;overflow:hidden}
.lg-art::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,188,0,.12);right:-140px;top:-140px}
.lg-in{position:relative}.lg-in img{width:150px}.lg-in h1{font-size:40px;line-height:1.1;margin:36px 0 16px}.lg-in p{font-size:17px;opacity:.85;max-width:430px}
.lg-feat{margin-top:30px;display:flex;flex-direction:column;gap:12px}.lg-feat span{display:flex;align-items:center;gap:10px;font-weight:700}.lg-feat .ic{color:var(--y)}
.lg-form{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:30px}.lgf{width:100%;max-width:400px}.lgf h2{font-size:28px;color:var(--p)}
/* dashboard */
.cont{border-radius:16px;background:linear-gradient(120deg,#3D0856 30%,#6B2A8C 70%,#F07F1A);color:#fff;padding:26px;margin-bottom:18px}
.cont .kick{font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--y)}.cont h2{font-size:22px;margin:8px 0 4px}.cont p{opacity:.85;font-size:13px;margin-bottom:16px}
.st{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:16px}.st b{font-size:26px;display:block}.st span{font-size:12.5px;color:var(--m)}
/* course cards */
.dc{background:#fff;border:1px solid var(--bd);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.thumb{height:96px;position:relative;background-image:radial-gradient(circle at 85% 20%,rgba(255,255,255,.25) 0 40px,transparent 41px),radial-gradient(circle at 15% 110%,rgba(255,255,255,.14) 0 70px,transparent 71px)}
.thumb .tag{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.95)}
.dcb{padding:13px 15px;display:flex;flex-direction:column;gap:6px;flex:1}.dcb b{font-size:15px;line-height:1.3}
.dcp{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;margin-top:auto}
.empty{text-align:center;padding:40px 20px;color:var(--m)}
/* course page */
.dhero{border-radius:16px;color:#fff;padding:22px 26px;display:flex;align-items:center;gap:20px;margin-bottom:16px}
.dhero h1{color:#fff}.dhero p{opacity:.9;font-size:13px}
.ring{width:84px;height:84px;position:relative;flex:none;margin-left:auto}.ring svg{width:84px;height:84px}.ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px}
.un{background:#fff;border:1px solid var(--bd);border-radius:12px;margin-bottom:10px;overflow:hidden}
.uh{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--tint);font-weight:700;font-size:14px}.uh span{margin-left:auto;font-weight:400}
.ls{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 22px;font-size:14px;border-top:1px solid #F3EFF7;text-decoration:none;color:var(--t)}
.ls:hover{background:#FCFAFD}.ls span{flex:1}.ls small{color:var(--m)}.ls.done span{color:var(--m)}.ls.now{background:#FFF8E3;font-weight:700;box-shadow:inset 3px 0 0 var(--y)}
.gr{color:var(--g)}.pp{color:var(--p2)}.mu{color:#b3abc2}
/* lesson */
.player{position:relative;padding-top:56.25%;border-radius:14px;overflow:hidden;background:#140421}.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pdfv{width:100%;height:72vh;border:1px solid var(--bd);border-radius:12px;background:#fff}
.art{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:26px 32px;font-size:16px;line-height:1.65}
.art h2{color:var(--p);margin:18px 0 8px}.art h3{margin:16px 0 6px}.art p{margin-bottom:10px}.art ul,.art ol{padding-left:22px;margin-bottom:10px}
.art blockquote{border-left:4px solid var(--p2);padding:6px 14px;color:var(--p);background:var(--tint);border-radius:0 8px 8px 0;margin:12px 0}
.art img{border-radius:10px;margin:8px 0}.art table{border-collapse:collapse;margin:10px 0}.art td,.art th{border:1px solid var(--bd);padding:6px 10px}
.vt{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:14px 0;flex-wrap:wrap}
.pll{max-height:70vh;overflow:auto;margin:0 -18px -18px}
.audio{background:linear-gradient(150deg,var(--p),#6B2A8C 60%,#E07A2E);border-radius:14px;padding:28px;color:#fff}.audio audio{width:100%;margin-top:14px}
/* instructor */
.it{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid #F3EFF7;font-size:14px}
.iti{width:34px;height:34px;border-radius:9px;background:var(--tint);color:var(--p);display:flex;align-items:center;justify-content:center;flex:none}
.it .grow{flex:1;min-width:0}.it small{display:block;color:var(--m);font-size:12px}
.inline{display:inline}
.modhead{display:flex;gap:8px;align-items:center;padding:10px 14px;background:var(--tint)}
.modhead input[type=text]{flex:1;padding:8px 10px}.modhead input[type=number]{width:70px;padding:8px}
.addrow{display:flex;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid #F3EFF7;flex-wrap:wrap;font-size:12.5px;color:var(--m);font-weight:700}
.chips a{border:1.5px dashed #cfc4dc;border-radius:8px;padding:5px 9px;color:var(--p);text-decoration:none;display:inline-flex;gap:5px;align-items:center}
.invite{background:#FFF8E3;border:1.5px solid #FFE08A;border-radius:12px;padding:14px 16px;margin-bottom:16px}
.invite input{margin-top:8px;font-size:12.5px}
.cbox{display:flex;flex-direction:column;gap:6px}.cbox label{display:flex;gap:9px;align-items:center;border:1px solid var(--bd);border-radius:9px;padding:8px 12px;margin:0;font-weight:700;font-size:13.5px;cursor:pointer}
.cbox input{accent-color:var(--p);width:17px;height:17px}.dot{width:14px;height:14px;border-radius:4px;flex:none}
#editor{min-height:340px;background:#fff;font-size:15px}.ql-toolbar.ql-snow{border-radius:10px 10px 0 0;border-color:var(--bd)}.ql-container.ql-snow{border-radius:0 0 10px 10px;border-color:var(--bd)}
.pagination{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.pagination a,.pagination span{padding:6px 11px;border:1px solid var(--bd);border-radius:8px;background:#fff;font-size:13px;text-decoration:none}
@media (max-width:900px){
 .side{position:fixed;left:-260px;z-index:20;transition:left .2s}.side.open{left:0}.menu-btn{display:block}
 .g3,.g4,.gside,.g2,.r2,.r3{grid-template-columns:1fr}.content{padding:18px 16px}.top{padding:0 16px}.me div{display:none}
 .login{flex-direction:column}.lg-art{padding:36px 26px}.lg-in h1{font-size:28px;margin:20px 0 10px}.lg-feat{display:none}.art{padding:18px}
}
/* fase 3 */
.badge{margin-left:auto;background:var(--y);color:var(--p);font-size:11px;font-weight:800;border-radius:20px;padding:1px 8px}
.ls.ev{background:#FBF8FD}
.ls.ev .pp{color:var(--y)}
.q{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:18px 20px;margin-bottom:14px}
.q .qn{font-size:12px;font-weight:800;color:var(--p2);letter-spacing:.5px;margin-bottom:6px}
.q .qs{font-size:15px;line-height:1.55;margin-bottom:12px;white-space:pre-line}
.opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1.5px solid var(--bd);border-radius:10px;margin-top:8px;cursor:pointer;font-size:14px;line-height:1.45;background:#fff}
.opt:hover{border-color:var(--p2)}
.opt input{margin-top:3px;accent-color:var(--p)}
.opt.right{border-color:var(--g);background:#F1FAF5}
.opt.wrong{border-color:var(--r);background:#FDF3F3}
.expl{margin-top:10px;font-size:13.5px;background:var(--tint);border-radius:10px;padding:10px 12px;color:var(--t)}
.score{display:flex;gap:18px;align-items:center;border-radius:16px;padding:22px 24px;color:#fff;margin-bottom:18px}
.score b{font-size:44px;line-height:1}
.score.ok{background:linear-gradient(120deg,#1F9D63,#167a4c)}
.score.no{background:linear-gradient(120deg,#6B2A8C,#3D0856)}
.req{list-style:none;padding:0;margin:8px 0 0}
.req li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;padding:6px 0;border-top:1px dashed var(--bd)}
.req li:first-child{border-top:0}
.req .s{width:18px;height:18px;border-radius:50%;flex:0 0 18px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;background:#C9C2D3;margin-top:1px}
.req .s.y{background:var(--g)}
.docprev{width:100%;max-height:560px;object-fit:contain;border-radius:12px;border:1px solid var(--bd);background:#fafafa}
iframe.docprev{height:560px}
.qedit{border:1px solid var(--bd);border-radius:12px;padding:14px;margin-bottom:12px;background:#fff}
.qedit summary{cursor:pointer;font-weight:700;font-size:14px;list-style:none;display:flex;gap:10px;align-items:center}
.qedit summary::-webkit-details-marker{display:none}
.optrow{display:flex;gap:8px;align-items:center;margin-top:6px}
.optrow input[type=radio]{width:auto;accent-color:var(--g)}
.optrow input[type=text]{flex:1}
.valid{max-width:640px;margin:40px auto;padding:0 16px}
.valid .card{padding:26px}
.sc{display:inline-block;min-width:44px;text-align:center;font-weight:700;border-radius:8px;padding:3px 6px;font-size:13px}
.sc.ok{background:#E3F5EC;color:var(--g)}.sc.no{background:#FCE8E8;color:var(--r)}.sc.na{color:var(--m)}
/* loja e financeiro */
body.pub{background:var(--bg)}
.wrap{max-width:1140px;margin:0 auto;padding:0 18px}
.pubtop{background:var(--p);padding:12px 0}
.pubtop .wrap{display:flex;justify-content:space-between;align-items:center}
.pubtop nav{display:flex;gap:14px;align-items:center}
.pubtop nav a{color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.pubtop nav a.btn{color:var(--p)}
.pubmain{padding-top:26px;padding-bottom:40px;min-height:60vh}
.pubhero{background:linear-gradient(120deg,var(--p),#6B2A8C);color:#fff;border-radius:18px;padding:30px 28px;margin-bottom:22px}
.pubhero .kick{color:var(--y);font-size:12px;font-weight:800;letter-spacing:1.5px}
.pubhero h1{color:#fff;margin:8px 0 6px;font-size:28px}
.pubhero p{opacity:.9;max-width:640px}
.pubfoot{background:#fff;border-top:1px solid var(--bd);padding:22px 0;font-size:13px;color:var(--m)}
.pubfoot .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.card.prod{padding:0;overflow:hidden;text-decoration:none;color:var(--t);display:flex;flex-direction:column}
.prodtop{height:90px;position:relative;padding:12px}
.prodtop .tag{position:static}
.prodbody{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.prodbody h3{font-size:17px}
.prodbody .btn{margin-top:auto}
.price{display:flex;flex-direction:column;gap:2px}
.price s{color:var(--m);font-size:13px}
.price b{font-size:22px;color:var(--p)}
.price small{color:var(--m);font-size:12.5px}
.paym{display:grid;gap:8px}
.paym label{display:flex;gap:10px;align-items:center;border:1.5px solid var(--bd);border-radius:12px;padding:10px 12px;cursor:pointer;margin:0;font-weight:400}
.paym label:has(input:checked){border-color:var(--p);background:var(--tint)}
.paym input{width:auto;accent-color:var(--p)}
.paym span{display:flex;flex-direction:column}
.paym small{color:var(--m);font-size:12px}
/* trilha de nove etapas */
.stepbar{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.roteiro .ls{font-size:13.5px}
.rating{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}
.rating label{margin:0;cursor:pointer}.rating input{position:absolute;opacity:0;width:1px;height:1px}
.rating span{display:inline-flex;width:38px;height:38px;border-radius:10px;border:1.5px solid var(--bd);align-items:center;justify-content:center;font-weight:700;color:var(--p);background:#fff}
.rating input:checked+span{background:var(--p);color:#fff;border-color:var(--p)}
.rating input:focus-visible+span{outline:2px solid var(--y);outline-offset:2px}
details.trailchk summary::-webkit-details-marker{color:var(--p2)}
