:root{--roxo:#64109B;--roxo-d:#2E004F;--roxo-m:#470072;--mist:#E4DAFD;--verde:#21B8D5;--verde-d:#004859;--bg:#FBFAFF;--tx:#1a0a2e;--mut:#6b5f7d;--bd:#e5def3;--err:#b3261e;--ok:#0a7a4b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.5 Manrope,system-ui,sans-serif}
h1,h2,h3{font-family:Sora,Manrope,sans-serif;letter-spacing:-.01em;margin:0 0 .5rem}h1{font-size:1.9rem}h2{font-size:1.3rem}
a{color:var(--roxo)}.wrap{max-width:1100px;margin:0 auto;padding:28px 20px 60px;min-height:70vh}
.top{background:linear-gradient(120deg,var(--roxo-d),var(--roxo-m) 60%,var(--roxo));color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding:12px 20px}
.top a{color:#fff;text-decoration:none}.brand{font:700 1.25rem Sora,sans-serif}.brand span{color:var(--verde);font-weight:400}
.top nav{display:flex;flex-wrap:wrap;gap:4px}.top nav a{padding:7px 13px;border-radius:99px;font-size:.9rem;opacity:.85}.top nav a.on,.top nav a:hover{background:rgba(255,255,255,.16);opacity:1}
.who{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:.85rem}.who form{margin:0}
button.link{background:none;border:0;color:#fff;cursor:pointer;font:inherit;text-decoration:underline;padding:0}
.card{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 1px 3px rgba(46,0,79,.05)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
label{display:block;font-weight:600;font-size:.9rem;margin:12px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=file],input[type=number],select,textarea{width:100%;padding:11px 13px;border:1px solid #cfc5e4;border-radius:10px;font:inherit;background:#fff}
textarea{min-height:90px}input:focus,select:focus,textarea:focus{outline:2px solid var(--verde);border-color:var(--verde)}
.btn{display:inline-block;background:var(--roxo);color:#fff;border:0;border-radius:99px;padding:11px 22px;font:600 .95rem Manrope,sans-serif;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--roxo-m)}.btn.sec{background:var(--mist);color:var(--roxo)}.btn.sm{padding:6px 14px;font-size:.82rem}.btn.danger{background:#fff;color:var(--err);border:1px solid var(--err)}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:14px;font-weight:500}.flash.ok{background:#e6f6ee;color:var(--ok)}.flash.err{background:#fdeceb;color:var(--err)}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--bd);vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
.tag.ok{background:#e6f6ee;color:var(--ok)}.tag.err{background:#fdeceb;color:var(--err)}.tag{display:inline-block;background:var(--mist);color:var(--roxo);border-radius:99px;padding:2px 10px;font-size:.78rem;font-weight:600}.mut{color:var(--mut)}.small{font-size:.85rem}
.login{max-width:430px;margin:8vh auto}.login .card{padding:30px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:170px}
.foot{text-align:center;color:var(--mut);font-size:.8rem;padding:20px}.inline{display:inline}.code{font-family:ui-monospace,monospace;background:var(--mist);padding:2px 8px;border-radius:6px;word-break:break-all}

/* tabelas: rolam para o lado em vez de espremer */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tw table{min-width:680px}
.tw td .btn,.tw td form{white-space:nowrap}
.tw::-webkit-scrollbar{height:8px}.tw::-webkit-scrollbar-thumb{background:var(--bd);border-radius:99px}
.card{min-width:0}.wrap{min-width:0;overflow-wrap:break-word}
.row>*{min-width:min(170px,100%)}
@media(max-width:700px){.wrap{padding:20px 14px 50px}.top{padding:10px 14px}.card{padding:16px}h1{font-size:1.5rem}}

/* Roteiro da prova */
table.rt{width:100%;border-collapse:collapse;min-width:560px;background:#fff}
table.rt th{background:#9fc5e8;color:#3d3d1f;text-align:center;padding:10px;border:1px solid #1a1a1a;font-family:Sora,Arial,sans-serif;font-size:15px}
table.rt td{border:1px solid #1a1a1a;padding:10px 12px;vertical-align:top}
table.rt td.rs{background:#9fc5e8;font-weight:700;font-size:13px;width:28%;font-family:Arial,sans-serif}
table.rt .ri{margin-bottom:10px;line-height:1.5}
table.rt .ri:last-child{margin-bottom:0}
table.rt .ri b{font-family:'Times New Roman',serif}

/* Textos legais */
.legal{max-width:860px;line-height:1.6}
.legal h2{margin-top:28px;border-bottom:2px solid var(--roxo,#2b1b6b);padding-bottom:6px}
.legal h3{margin-top:18px}
.legal ul{padding-left:20px}
.legal table{min-width:560px}
.legal td,.legal th{vertical-align:top}

/* Notas: tutoriais */
.nt-hero{margin:10px 0 4px}.nt-big{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:560px;padding:20px 24px;border-radius:18px;background:var(--roxo);color:#fff;font:800 1.3rem Sora,sans-serif;text-decoration:none;box-shadow:0 14px 34px -16px rgba(100,16,155,.7)}.nt-big:hover{background:var(--roxo-m)}.nt-big.alt{display:inline-flex;width:auto;font-size:1.05rem;padding:14px 26px}
.nt-tuts{display:grid;gap:18px;grid-template-columns:1fr;margin-top:14px}@media(min-width:960px){.nt-tuts{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);align-items:start}}.nt-tuts>*{min-width:0}.nt-tuts h3{margin:10px 0 6px}
.nt-phone{max-width:300px;margin:0 auto;border-radius:20px;overflow:hidden;background:#000}.nt-phone video{display:block;width:100%;height:auto;aspect-ratio:716/1274;background:#000}
.nt-yt{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}.nt-yt iframe,.nt-yt .nt-play{position:absolute;inset:0;width:100%;height:100%;border:0}.nt-play{padding:0;cursor:pointer;background:#000}.nt-play img{width:100%;height:100%;object-fit:cover;opacity:.9}
.nt-pb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:#9DF0FF;color:var(--roxo-d);display:flex;align-items:center;justify-content:center}
.nt-ch{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.nt-ch a{display:flex;gap:10px;align-items:center;border:1px solid var(--bd);border-radius:12px;padding:9px 12px;font-size:.9rem;font-weight:600;color:var(--roxo-d);text-decoration:none}.nt-ch a b{color:var(--roxo);background:#F1ECF8;border-radius:8px;padding:2px 7px;font-size:.78rem}
.nt-ch a:hover,.nt-ch a.on{background:var(--roxo);color:#fff;border-color:var(--roxo)}.nt-ch a:hover b,.nt-ch a.on b{background:rgba(255,255,255,.2);color:#fff}
