:root{--navy:#17365d;--blue:#1d73b8;--green:#3e9b68;--bg:#f3f6f9;--text:#1c2a39;--muted:#64748b;--border:#dbe3ea}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}.topbar{background:#fff;border-bottom:1px solid var(--border);padding:18px 6%}.brand{display:flex;align-items:center;gap:12px}.mark{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px}.brand b{display:block;color:var(--navy);letter-spacing:.5px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.container{width:min(980px,92%);margin:44px auto;min-height:70vh}.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:34px;box-shadow:0 12px 35px rgba(25,50,80,.07)}.hero{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:360px}.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:1.3px}h1{font-size:40px;line-height:1.1;color:var(--navy);max-width:650px;margin:12px 0}h2{color:var(--navy);font-size:28px}.muted{color:var(--muted);line-height:1.5}.actions{display:flex;flex-direction:column;gap:12px;min-width:220px}.btn{border:0;border-radius:9px;padding:13px 18px;font-weight:700;font-size:15px;cursor:pointer}.primary{background:var(--blue);color:#fff}.secondary{background:#edf3f8;color:var(--navy)}.full{width:100%;margin-top:22px}.form{max-width:850px;margin:auto}.hidden{display:none}.back{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer;padding:0}label{display:block;margin-top:14px;margin-bottom:6px;font-size:13px;font-weight:700}input,select{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:15px;background:#fff}.grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}.check{display:flex;align-items:flex-start;gap:8px;font-weight:400}.check input{width:auto;margin-top:2px}.msg{display:none;margin-top:16px;padding:12px;border-radius:8px;white-space:pre-wrap}.msg.ok{display:block;background:#eaf7ef;color:#23623e}.msg.error{display:block;background:#fff0f0;color:#9d2525}.dashhead{display:flex;justify-content:space-between;align-items:flex-start}.dashgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.dashgrid>div{border:1px solid var(--border);border-radius:12px;padding:20px}.dashgrid b{display:block;color:var(--navy)}.dashgrid span{display:block;color:var(--muted);margin-top:6px;font-size:13px}.notice{margin-top:25px;background:#eef7ff;border-left:4px solid #25b7c9;padding:15px;border-radius:8px}footer{text-align:center;color:var(--muted);font-size:12px;padding:25px}@media(max-width:700px){.hero{flex-direction:column;align-items:flex-start}h1{font-size:31px}.actions{width:100%}.grid,.dashgrid{grid-template-columns:1fr}.card{padding:23px}}
.dashlink{display:block;border:1px solid var(--border);border-radius:12px;padding:20px;text-decoration:none;background:#fff;color:inherit}.dashlink b{display:block;color:var(--navy)}.dashlink span{display:block;color:var(--muted);margin-top:6px;font-size:13px}.register-note{margin-top:20px;background:#eef7ff;border-left:4px solid #25b7c9;padding:14px;border-radius:8px;color:var(--navy);line-height:1.5}

/* Núcleo Educa — menu global padronizado V1.7 */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.topnav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.topnav .btn{white-space:nowrap}
@media(max-width:700px){.topbar{align-items:flex-start}.topnav{justify-content:flex-start}.topnav .btn{padding:9px 12px}}

/* Núcleo Educa — cabeçalho global V1.8 */
.topbar{position:fixed;top:0;left:0;right:0;z-index:5000;height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 6%;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 10px rgba(25,50,80,.04)}
.brand-link{text-decoration:none;flex:0 0 auto}.brand-link b{display:block}.brand-link small{display:block}.topbar .topnav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;margin-left:auto}.topbar .topnav .btn,.topbar .topnav .secondary{white-space:nowrap;text-decoration:none}
.container{padding-top:34px}
@media(max-width:700px){.topbar{height:auto;min-height:74px;padding:10px 4%}.topbar .topnav{gap:5px}.topbar .topnav .secondary{padding:9px 11px;font-size:12px}.container{padding-top:30px}}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px}.plan-card{border:1px solid #dce7f1;border-radius:16px;padding:20px;background:#fff;box-shadow:0 6px 18px rgba(24,55,88,.05)}.plan-card h2{margin:8px 0}.plan-price{font-size:28px;font-weight:800;color:#123c68}.plan-price small{font-size:14px;font-weight:500}.summary-box{display:flex;flex-direction:column;gap:7px;padding:18px;border-radius:14px;background:#f4f8fc;border:1px solid #dce7f1}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:11px;border-bottom:1px solid #e4ebf2;text-align:left;white-space:nowrap}.table-wrap th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#55708b}.msg{margin-top:12px}.msg.ok{color:#18794e;background:#e9f8ef;padding:10px 12px;border-radius:8px}.msg.error{color:#b42318;background:#fff0f0;padding:10px 12px;border-radius:8px}

/* Núcleo Educa — Cabeçalho global fixo do Módulo Usuário V2.0.1 */
body{padding-top:74px}
.topbar{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:5000;height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 6%;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 10px rgba(25,50,80,.04)}
.topbar .brand-link{display:flex;align-items:center;flex:0 0 auto}
.topbar .topnav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;margin-left:auto}
.topbar .topnav a,.topbar .topnav button{white-space:nowrap;text-decoration:none}
.container{padding-top:34px;margin-top:0}
@media(max-width:900px){.topbar{padding:0 3%;gap:10px}.topbar .topnav{gap:5px}.topbar .topnav .btn{padding:9px 10px;font-size:12px}}
@media(max-width:700px){body{padding-top:92px}.topbar{height:auto;min-height:74px;padding:10px 4%;align-items:flex-start}.topbar .topnav{justify-content:flex-end;flex-wrap:wrap}.container{padding-top:20px}}

.profile-layout,.security-layout{width:min(1240px,94%);margin:35px auto;display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}.profile-side{position:sticky;top:94px;padding:22px}.profile-side h2{font-size:23px;margin:8px 0}.profile-side p{font-size:12px;color:var(--muted);line-height:1.5}.profile-nav{display:flex;flex-direction:column;gap:6px;margin-top:20px}.profile-nav a{padding:10px 11px;border-radius:9px;color:var(--navy);text-decoration:none;font-weight:700;font-size:13px}.profile-nav a:hover,.profile-nav a.active{background:#eef5fa;color:var(--blue)}.profile-main{display:flex;flex-direction:column;gap:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-head h2{margin:8px 0}.compact{margin-top:8px}.full{grid-column:1/-1}.subform{margin:15px 0;padding:18px;background:#f7fafc;border:1px solid var(--border);border-radius:12px}.curriculum-item{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid #e5edf3}.curriculum-item:last-child{border-bottom:0}.curriculum-item b,.curriculum-item span,.curriculum-item small{display:block}.curriculum-item b{color:var(--navy);font-size:16px}.curriculum-item span{margin-top:5px;color:#3d556c}.curriculum-item small{margin-top:4px;color:var(--muted)}.curriculum-item p{color:var(--muted);line-height:1.5;margin:8px 0 0}.btn.small{padding:8px 11px;font-size:12px;height:max-content}.btn.danger{background:#fff0f0;color:#9d2525}.security-layout{grid-template-columns:260px 1fr}.security-card{max-width:700px}.disabled-link{opacity:.55;position:relative}.disabled-link::after{content:'🔒';font-size:10px;margin-left:5px}.small-note{font-size:12px;text-align:center}.link-button{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer;padding:0}.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.payment-option{border:1px solid var(--border);background:#fff;border-radius:12px;padding:16px;text-align:left;cursor:pointer}.payment-option b,.payment-option span{display:block}.payment-option b{color:var(--navy);font-size:16px}.payment-option span{font-size:12px;color:var(--muted);margin-top:5px}.payment-option.selected{border:2px solid var(--blue);background:#eef7ff}.hidden{display:none!important}@media(max-width:850px){.profile-layout,.security-layout{grid-template-columns:1fr}.profile-side{position:static}.profile-nav{flex-direction:row;flex-wrap:wrap}.payment-methods{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}}
.payment-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.payment-guide article{padding:15px;border:1px solid var(--border);border-radius:12px;background:#f7fafc}.payment-guide b,.payment-guide span{display:block}.payment-guide b{color:var(--navy)}.payment-guide span{font-size:12px;color:var(--muted);margin-top:5px}.selected-order{margin:18px 0}@media(max-width:700px){.payment-guide{grid-template-columns:1fr}}
/* Núcleo Educa V2.2.6 — modais e ambientes profissionais */
.modal{position:fixed;inset:0;z-index:6000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(18,39,60,.48);overflow:auto}
.modal.show{display:flex}
.modal>.box{width:min(900px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 70px rgba(18,39,60,.24);padding:24px}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.modal-head h2{margin:6px 0 0}
.modal .actions{display:flex;flex-direction:row;justify-content:flex-end;gap:10px;min-width:0;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.field textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--border);border-radius:8px;font:inherit;resize:vertical}
.toolbar{width:100%;box-sizing:border-box}
@media(max-width:700px){.modal{padding:10px}.modal>.box{max-height:94vh;padding:18px}.modal .actions{flex-direction:column}.modal .actions .btn{width:100%}}
