/* Páginas do domínio técnico (entrar, cadastro, painel do aluno, editor, admin) */
*{box-sizing:border-box}
:root{--navy:#0E1C30;--navy2:#13253F;--ink:#1E2A38;--muted:#5B6878;--orange:#F28A1E;--orange2:#FFAA4A;--line:rgba(255,255,255,.12);--ok:#2f9e6a;--err:#e2584b}
html,body{margin:0}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#EAF0F7;background:#0B1626;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}
body.board-bg{background:#0B1626 url(/img/board-bg.jpg) center top/cover fixed}
body.board-bg:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(140,180,230,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(140,180,230,.045) 1px,transparent 1px);background-size:44px 44px;z-index:0}
body>*{position:relative;z-index:1}
a{color:var(--orange2)}
button,input,select,textarea{font:inherit}
.hide{display:none!important}.mu{color:#5b6878}.sm{font-size:13px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;background:rgba(6,12,22,.72);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.brand{text-decoration:none;color:#fff;display:flex;flex-direction:column;line-height:1}
.brand .lg,.foot .lg{font-weight:900;letter-spacing:.22em;font-size:20px}.brand b,.foot b{color:var(--orange)}
.brand small{font-size:9.5px;letter-spacing:.32em;color:#9FB0C4;margin-top:5px;font-weight:600;text-transform:uppercase}
.topbar nav{display:flex;gap:6px;flex-wrap:wrap}
.topbar nav a{color:#C9D6E5;text-decoration:none;font-weight:600;font-size:14px;padding:8px 12px;border-radius:999px}
.topbar nav a:hover,.topbar nav a.on{background:rgba(255,255,255,.08);color:#fff}
.plaque{position:relative;margin:28px auto 10px;width:max-content;max-width:94%;text-align:center;padding:16px 46px 14px;border-radius:8px;background:#5a3a22 url(/img/wood.jpg) center/cover;box-shadow:0 14px 26px -10px rgba(0,0,0,.8),inset 0 0 0 2px rgba(0,0,0,.35),inset 0 2px 0 rgba(255,220,170,.3)}
.plaque h1{margin:0;font:400 44px/1 "Bebas Neue",Impact,sans-serif;letter-spacing:.02em;color:#F8EFE2;text-shadow:0 2px 0 rgba(0,0,0,.45)}.plaque h1 em{font-style:normal;color:var(--orange)}
.plaque p{margin:6px 0 0;font-size:12px;letter-spacing:.3em;color:#E9DCC8;font-weight:600}.plaque p b{color:var(--orange)}
.screw{position:absolute;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d9d3c8,#6d675e 60%,#3a352f);box-shadow:0 1px 2px rgba(0,0,0,.6)}.screw:after{content:"";position:absolute;left:2px;right:2px;top:4.5px;height:2px;background:#3a352f;transform:rotate(35deg)}
.screw.s1{left:12px;top:10px}.screw.s2{right:12px;top:10px}.screw.s3{left:12px;bottom:10px}.screw.s4{right:12px;bottom:10px}
.paper{position:relative;color:var(--ink);border-radius:3px;box-shadow:0 22px 40px -18px rgba(0,0,0,.85);background:#F3E8D2 url(/img/paper-creme.jpg) center/420px}
.paper-kraft{background:#E6D2A8 url(/img/paper-kraft.jpg) center/420px}
.paper-branco{background:#F7F6F2 url(/img/paper-branco.jpg) center/420px}
.paper h2{font:800 26px/1.15 "Roboto Slab",Georgia,serif;margin:0 0 6px;color:#1b2430}
.paper a{color:#b35f0e;font-weight:700}
.pin{position:absolute;left:50%;top:-8px;margin-left:-11px;width:22px;height:22px;border-radius:50%}
.pin-tacha-laranja{background:radial-gradient(circle at 34% 30%,#ffd29a,#f08a1e 45%,#a14f05 100%);box-shadow:0 5px 6px rgba(0,0,0,.45)}
.pin-tacha-preta{background:radial-gradient(circle at 34% 30%,#9aa3ad,#2a2f36 50%,#0b0d10);box-shadow:0 5px 6px rgba(0,0,0,.5)}
.hand{font-family:Caveat,cursive;color:#b35f0e;font-size:24px;transform:rotate(-3deg);margin:18px 0 0;text-align:right}
.auth-wrap{padding:10px 16px 60px}
.auth-card{max-width:480px;margin:26px auto 0;padding:34px 30px 26px}
.auth-card.wide{max-width:760px}
label{display:block;font-weight:700;font-size:14px;color:#2c3744;margin:14px 0 0}
label input,label textarea,label select{display:block;width:100%;margin-top:6px;background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.18);border-radius:10px;padding:12px 13px;color:#1b2430;font-size:15.5px;font-weight:500}
label input:focus,label textarea:focus,label select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,138,30,.25)}
.code-in{letter-spacing:.5em;text-align:center;font:800 26px "Roboto Slab",serif!important}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:18px;border:0;border-radius:999px;padding:14px 22px;background:var(--orange);color:#1A0E00;font-weight:800;font-size:16px;cursor:pointer;text-decoration:none;box-shadow:0 12px 22px -12px rgba(242,138,30,.95)}
.btn:hover{background:var(--orange2)}.btn:disabled{opacity:.6;cursor:wait}
.btn.ghost{background:transparent;border:2px solid #b35f0e;color:#7a3f06;box-shadow:none}
.btn.dark{background:var(--navy);color:#fff;box-shadow:none}
.btn.small{width:auto;margin:0;padding:9px 16px;font-size:14px}
.msg{min-height:22px;margin-top:12px;font-weight:600;font-size:14.5px}.msg.err{color:#b4281c}.msg.ok{color:#1f7a50}
.notice{margin-top:14px;padding:14px;border-radius:10px;background:rgba(255,255,255,.55);border:1px dashed rgba(0,0,0,.2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid2 .full{grid-column:1/-1}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;font-size:14px}.check input{width:20px!important;height:20px;margin:2px 0 0!important;accent-color:var(--orange);flex:0 0 auto;padding:0!important}
.hp{position:absolute!important;left:-9999px!important;opacity:0}
.doc-wrap{max-width:860px;margin:30px auto 60px;padding:0 16px}
.doc{padding:36px 40px}.doc h1{font:800 30px/1.15 "Roboto Slab",serif;margin:0 0 6px;color:#1b2430}.doc h2{font:800 19px "Roboto Slab",serif;margin:26px 0 8px;color:#7a3f06}.doc p,.doc li{font-size:15.5px;color:#2c3744}.doc li{margin:6px 0}
.foot{text-align:center;padding:36px 16px 40px;color:#9FB0C4}.foot p{margin:6px 0 0;font-size:11px;letter-spacing:.28em}.foot .links{letter-spacing:0;font-size:13px}.foot a{color:#C9D6E5}
/* painel do aluno */
.panel-wrap{max-width:1180px;margin:0 auto;padding:10px 18px 30px}
.dash-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin:26px 0 18px}
.dash-head h1{margin:0;font:400 46px/1 "Bebas Neue",sans-serif;letter-spacing:.02em}.dash-head h1 em{font-style:normal;color:var(--orange)}
.dash-head p{margin:6px 0 0;color:#A9BACE}
.new-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:8px 0 34px}
.new-card{all:unset;cursor:pointer;display:flex;gap:16px;align-items:center;padding:22px;border-radius:14px;background:rgba(9,19,33,.82);border:1px dashed rgba(242,138,30,.6);transition:transform .2s,border-color .2s}
.new-card:hover{transform:translateY(-3px);border-color:var(--orange)}.new-card[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.new-card .ic{width:58px;height:58px;border-radius:14px;background:var(--orange);color:#1A0E00;display:grid;place-items:center;flex:0 0 auto}.new-card .ic svg{width:30px;height:30px}
.new-card b{display:block;font:800 19px "Roboto Slab",serif;color:#fff}.new-card span{color:#A9BACE;font-size:14px}
.section-t{display:flex;align-items:center;gap:10px;font:800 21px "Roboto Slab",serif;margin:0 0 14px}
.my-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.my-item{background:rgba(9,19,33,.85);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.my-item .th{height:150px;background:#1a2a40 center/cover;position:relative}
.my-item .th .kind{position:absolute;left:12px;top:12px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.my-item .bd{padding:16px;flex:1;display:flex;flex-direction:column;gap:8px}
.my-item h3{margin:0;font:800 18px/1.2 "Roboto Slab",serif}
.st{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;border-radius:999px;padding:4px 10px;width:max-content}
.st:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st.draft{background:rgba(255,255,255,.08);color:#C9D6E5}.st.em_analise,.st.alteracao_em_analise{background:rgba(242,138,30,.16);color:var(--orange2)}.st.publicado{background:rgba(47,158,106,.18);color:#52d39a}.st.publicado_com_alteracoes{background:rgba(127,167,232,.18);color:#9cc0ff}.st.rejected{background:rgba(226,88,75,.18);color:#ff9b8a}.st.expirado,.st.unpublished{background:rgba(255,255,255,.08);color:#9FB0C4}
.my-item .meta{color:#8FA2B8;font-size:13px}
.my-item .reason{background:rgba(226,88,75,.12);border-left:3px solid var(--err);padding:8px 10px;font-size:13.5px;color:#ffd0c9;border-radius:4px;white-space:pre-wrap}
.my-item .acts{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 16px}
.chipbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#DCE6F2;border-radius:999px;padding:8px 13px;font-size:13.5px;font-weight:700;cursor:pointer;text-decoration:none}
.chipbtn:hover{border-color:var(--orange);color:#fff}.chipbtn.pri{background:var(--orange);border-color:var(--orange);color:#1A0E00}.chipbtn.danger:hover{border-color:var(--err);color:#ff9b8a}
.chipbtn svg{width:16px;height:16px}
.empty-note{padding:26px;text-align:center;color:#A9BACE;border:1px dashed var(--line);border-radius:14px}
.privacy-box{margin-top:40px;padding:20px;border-radius:14px;background:rgba(9,19,33,.7);border:1px solid var(--line);color:#A9BACE;font-size:14px}
.privacy-box b{color:#fff}
/* editor */
.editor-body .foot{display:none}
.editor-wrap{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;max-width:1380px;margin:0 auto;padding:18px}
.ed-form{display:grid;gap:18px;align-content:start}
.ed-sec{background:rgba(9,19,33,.88);border:1px solid var(--line);border-radius:14px;padding:18px 18px 20px}
.ed-sec>h3{display:flex;align-items:center;gap:10px;margin:0 0 4px;font:800 18px "Roboto Slab",serif;color:#fff}.ed-sec>h3 svg{color:var(--orange);width:22px;height:22px}
.ed-sec>p.hint{margin:0 0 10px;color:#8FA2B8;font-size:13.5px}
.ed-sec label{color:#C9D6E5;font-size:13.5px;margin-top:12px}
.ed-sec label input,.ed-sec label textarea,.ed-sec label select,.ed-sec .inp{background:#0A1626;border:1px solid rgba(255,255,255,.16);color:#EAF0F7;border-radius:10px;padding:10px 12px;font-size:15px;width:100%}
.ed-sec .inp:focus{outline:none;border-color:var(--orange)}
.ed-sec textarea{resize:vertical;min-height:90px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 12px}
.swatches{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.sw{all:unset;cursor:pointer;width:62px;height:62px;border-radius:8px;background:#ddd center/200px;box-shadow:0 4px 10px rgba(0,0,0,.4);position:relative;outline:3px solid transparent;outline-offset:2px}
.sw.on{outline-color:var(--orange)}.sw small{position:absolute;left:0;right:0;bottom:-20px;text-align:center;font-size:11.5px;color:#A9BACE}
.opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.opt{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:10px;padding:8px 12px;font-size:13.5px;font-weight:700;color:#DCE6F2}
.opt.on{border-color:var(--orange);background:rgba(242,138,30,.14);color:#fff}.opt svg{width:20px;height:20px;color:var(--orange)}
.icons .opt{padding:8px}
.rowed{display:grid;grid-template-columns:150px 120px 1fr auto;gap:8px;align-items:start;margin-top:8px}
.rowed .inp{padding:9px 10px;font-size:14px}
.rowed textarea.inp{min-height:42px;height:42px}
.iconbtn{all:unset;cursor:pointer;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#9FB0C4;border:1px solid var(--line)}.iconbtn:hover{color:#ff9b8a;border-color:#ff9b8a}.iconbtn svg{width:18px;height:18px}
.iconbtn.mv:hover{color:#fff;border-color:var(--orange)}
.addbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--orange2);font-weight:800;font-size:14px}.addbtn svg{width:18px;height:18px}
.block-ed{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px;background:rgba(255,255,255,.02)}
.block-ed .bh{display:grid;grid-template-columns:1fr 150px auto auto auto;gap:8px;align-items:center}
.tagsin{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#0A1626;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:6px 8px;margin-top:6px}
.tagsin span{display:inline-flex;align-items:center;gap:4px;background:rgba(242,138,30,.16);color:#ffd7ab;border-radius:999px;padding:4px 6px 4px 10px;font-size:13px;font-weight:700}
.tagsin span button{all:unset;cursor:pointer;width:18px;height:18px;display:grid;place-items:center;border-radius:50%}.tagsin span button:hover{background:rgba(0,0,0,.3)}
.tagsin input{all:unset;flex:1;min-width:120px;color:#fff;font-size:14px;padding:4px}
.drop{border:2px dashed rgba(242,138,30,.5);border-radius:12px;padding:18px;text-align:center;color:#A9BACE;cursor:pointer;transition:background .2s}
.drop.over,.drop:hover{background:rgba(242,138,30,.08);border-color:var(--orange)}
.drop b{color:#fff}
.thumbs-ed{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:12px}
.th-ed{position:relative;background:#0A1626;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.th-ed img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#1a2a40}
.th-ed .tb{position:absolute;top:6px;right:6px;display:flex;gap:4px}
.th-ed .tb button{all:unset;cursor:pointer;width:28px;height:28px;border-radius:8px;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center}.th-ed .tb button:hover{background:var(--orange);color:#1A0E00}.th-ed .tb svg{width:15px;height:15px}
.th-ed .cover{position:absolute;left:6px;top:6px;background:var(--orange);color:#1A0E00;font-size:11px;font-weight:800;padding:3px 7px;border-radius:6px}
.th-ed input{all:unset;display:block;width:100%;padding:6px 8px;font-size:12.5px;color:#fff;border-top:1px solid var(--line);box-sizing:border-box}
.th-ed input+input{color:#A9BACE}
.th-ed .prog{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.1)}.th-ed .prog b{display:block;height:100%;background:var(--orange);width:0}
.vid-ed{display:flex;gap:14px;align-items:center;margin-top:12px;background:#0A1626;border:1px solid var(--line);border-radius:12px;padding:10px}
.vid-ed img{width:140px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#1a2a40}
.avatar-ed{display:flex;gap:14px;align-items:center;margin-top:10px}.avatar-ed img{width:84px;height:84px;border-radius:50%;object-fit:cover;background:#1a2a40;border:3px solid #fff}
.ed-side{position:sticky;top:76px;align-self:start;display:grid;gap:14px}
.preview-box{position:relative;border-radius:14px;padding:30px 20px 34px;background:#0E1C30 url(/img/board-bg.jpg) center/cover;box-shadow:inset 0 0 0 10px #4a2c17,inset 0 0 0 12px rgba(0,0,0,.4),0 20px 40px -20px #000;display:flex;justify-content:center;min-height:300px}
.preview-box .am-card{position:relative!important;left:auto!important;top:auto!important;cursor:default}
.preview-label{display:flex;justify-content:space-between;align-items:center;color:#A9BACE;font-size:13px}
.savebar{background:rgba(6,12,22,.92);border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:10px}
.savebar .stline{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:#A9BACE}
.savebar .btn{margin:0}
.lim{font-size:12.5px;color:#8FA2B8;margin-top:8px}
.warn{background:rgba(242,138,30,.12);border:1px solid rgba(242,138,30,.4);color:#ffd7ab;padding:10px 12px;border-radius:10px;font-size:13.5px;margin-top:10px}
/* diálogo */
.dlg-bg{position:fixed;inset:0;z-index:5000;background:rgba(3,8,15,.8);display:grid;place-items:center;padding:16px;overflow:auto}
.dlg{width:min(680px,100%);max-height:92vh;overflow:auto;padding:30px 28px 24px}
.dlg h2{margin-bottom:4px}
.dlg .check{margin:12px 0;color:#2c3744;line-height:1.45}
.dlg .row{display:flex;gap:10px;margin-top:18px}.dlg .row .btn{margin:0}
/* admin */
.admin-wrap{max-width:1400px;margin:0 auto;padding:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:8px 0 22px}
.kpi{background:rgba(9,19,33,.85);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.kpi b{display:block;font:800 26px "Roboto Slab",serif;color:#fff}.kpi span{color:#A9BACE;font-size:13px}
.q-item{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;background:rgba(9,19,33,.88);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:18px}
.q-item .cardbox{background:#0E1C30 url(/img/board-bg.jpg) center/cover;border-radius:10px;padding:26px 14px;display:flex;justify-content:center}
.q-item .cardbox .am-card{position:relative!important;left:auto!important;top:auto!important}
.q-info h3{margin:0 0 6px;font:800 20px "Roboto Slab",serif}
.q-info .who{color:#A9BACE;font-size:14px}
.q-info .facts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.fact{background:rgba(255,255,255,.06);border-radius:999px;padding:4px 10px;font-size:12.5px;color:#C9D6E5}
.q-info textarea{width:100%;background:#0A1626;border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:10px;padding:10px;min-height:70px;margin-top:10px}
.q-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.contact-priv{background:rgba(127,167,232,.1);border:1px solid rgba(127,167,232,.3);border-radius:10px;padding:10px 12px;font-size:13.5px;color:#cfe0ff;margin-top:10px}
.mem-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;background:rgba(9,19,33,.88);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.mem-item .nm{font-weight:800;color:#fff}.mem-item .em{color:#A9BACE;font-size:14px}
.mem-item .rq{margin-top:8px;font-size:13.5px;color:#C9D6E5;white-space:pre-wrap}
.plug{display:inline-block;font-size:12px;border-radius:999px;padding:2px 9px;margin:3px 4px 0 0;background:rgba(47,158,106,.18);color:#52d39a}.plug.off{background:rgba(255,255,255,.08);color:#9FB0C4}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0 18px}
.toolbar .inp{background:#0A1626;border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:10px 16px;min-width:280px}
.toolbar select.inp{min-width:0}
table.tb{width:100%;border-collapse:collapse;font-size:14px}table.tb th,table.tb td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}table.tb th{color:#9FB0C4;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em}
table.tb img{width:64px;height:44px;object-fit:cover;border-radius:6px;background:#1a2a40;display:block}
.admin-wrap .am-root .am-frame{margin-top:6px}
@media(max-width:1100px){.editor-wrap{grid-template-columns:1fr}.ed-side{position:relative;top:0;order:-1}.q-item{grid-template-columns:1fr}}
@media(max-width:640px){.grid2,.g2,.g3{grid-template-columns:1fr}.rowed{grid-template-columns:1fr 1fr}.rowed .v{grid-column:1/-1}.block-ed .bh{grid-template-columns:1fr auto auto auto}.block-ed .bh select{grid-column:1/-1;grid-row:2}.plaque h1{font-size:30px}.dash-head h1{font-size:36px}.topbar{padding:10px 12px}.doc{padding:24px 20px}.auth-card{padding:28px 20px 22px}}
