.epga-front{font-family:Inter,Arial,sans-serif;max-width:1180px;margin:28px auto 46px;color:#24364a}.epga-front *{box-sizing:border-box}.epga-front .hero{background:linear-gradient(125deg,#123A6F 0%,#0B3768 48%,#061D35 100%);color:#fff;padding:34px 38px;border-radius:26px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 48px rgba(18,58,111,.16)}.hero span,.section-head span{font-size:11px;letter-spacing:1.8px;color:#e4c77f;font-weight:900}.hero h2{font-family:Georgia,serif;font-size:34px;margin:8px 0 5px;color:#fff}.hero p{margin:0;opacity:.9}.hero-mark{border:1px solid rgba(255,255,255,.25);padding:10px 14px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:1.2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 18px}.stats>div{background:#fff;border:1px solid #dfe7ef;border-radius:18px;padding:18px 20px;box-shadow:0 8px 26px rgba(18,58,111,.05)}.stats small{display:block;color:#708195;font-size:10px;font-weight:800;letter-spacing:.8px}.stats strong{display:block;color:#123A6F;font-size:24px;margin-top:6px}.portal-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}.portal-actions a,.front-card button,.course-card a{display:inline-block;background:#123A6F;color:#fff!important;border:0;border-radius:11px;padding:12px 17px;font-weight:800;text-decoration:none;cursor:pointer}.portal-actions .ghost{background:#fff;color:#123A6F!important;border:1px solid #cfdae5}.front-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.forms-area{margin-top:20px}.front-card,.course-card{background:#fff;border:1px solid #dce5ee;border-radius:22px;padding:24px;box-shadow:0 12px 34px rgba(18,58,111,.065)}.front-card h3,.course-card h3{font-family:Georgia,serif;color:#123A6F;font-size:24px;margin:5px 0 6px}.hint{margin:0 0 18px;color:#6f8091}.card-icon{width:38px;height:38px;border-radius:11px;background:#f2ead8;color:#8c6b2d;display:flex;align-items:center;justify-content:center;font-weight:900}.front-card label{display:block;font-size:12px;font-weight:800;margin:12px 0;color:#33475b}.front-card input,.front-card select{width:100%;padding:12px 13px;border:1px solid #ccd8e4;border-radius:10px;margin-top:6px;background:#fbfdff;color:#26394c}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{margin-top:0}.premium-section{padding:25px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:17px}.section-head h3{margin:5px 0 0}.section-head small{color:#758699;max-width:420px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.class-box{border:1px solid #e0e7ee;border-radius:16px;padding:17px;background:linear-gradient(180deg,#fff,#fbfcfe)}.class-top{display:flex;justify-content:space-between}.class-top span,.class-top em{font-size:10px;text-transform:uppercase;font-style:normal;font-weight:900;color:#8a6c35}.class-top em{color:#60758a}.class-box h4{color:#123A6F;font-size:16px;margin:12px 0 5px}.class-box p{font-size:12px;color:#6c7d8e;min-height:32px}.class-meta{display:flex;justify-content:space-between;border-top:1px solid #edf1f5;padding-top:11px;margin-top:11px}.class-meta b,.class-meta small{font-size:11px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card span{font-size:11px;color:#8a6c35;font-weight:800;text-transform:uppercase}.course-card button[disabled]{padding:10px 14px;border:0;border-radius:10px}.empty{background:#fff;border:1px dashed #cdd9e5;padding:25px;border-radius:16px;color:#6b7d90}@media(max-width:850px){.front-grid,.course-grid,.class-grid,.stats{grid-template-columns:1fr}.hero-mark{display:none}.field-row{grid-template-columns:1fr}.section-head{display:block}}

.finance-note{margin:14px 0;padding:13px 14px;border-radius:12px;background:#f8f2e5;border:1px solid #ead9b5;color:#66502a;font-size:12px}.finance-note b{color:#123A6F}
.epga-front .class-link{display:block;text-decoration:none;color:inherit;transition:.2s ease}.epga-front .class-link:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(17,58,111,.10)}.epga-front .open-class{margin-top:14px;padding-top:12px;border-top:1px solid #e8edf4;color:#123A6F;font-weight:700;font-size:12px}.epga-front .back-link{display:inline-block;margin:0 0 14px;color:#123A6F;text-decoration:none;font-weight:700}.epga-front .stats.four{grid-template-columns:repeat(4,1fr)}.epga-front .alert-strip{margin:14px 0;padding:13px 16px;border-radius:12px;font-weight:700}.epga-front .alert-strip.ok{background:#edf8f3;color:#176b5a}.epga-front .alert-strip.danger{background:#fff1ef;color:#9b2c2c}.epga-front .tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.epga-front .tabs span{padding:10px 14px;border:1px solid #dbe4ef;border-radius:999px;font-size:12px;font-weight:700}.epga-front .tabs .active{background:#123A6F;color:#fff;border-color:#123A6F}.epga-front .responsive-table{overflow:auto}.epga-front table{width:100%;border-collapse:collapse}.epga-front th,.epga-front td{text-align:left;padding:13px;border-bottom:1px solid #edf1f5}.epga-front th{font-size:11px;color:#64748b;text-transform:uppercase}.epga-front td small{display:block;color:#64748b;margin-top:3px}@media(max-width:850px){.epga-front .stats.four{grid-template-columns:1fr 1fr}}
.epga-front .tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.epga-front .tabs a{padding:10px 14px;border-radius:10px;text-decoration:none;color:#0B3768;background:#F5F7FA;font-weight:700}.epga-front .tabs a.active{background:#061D35;color:#fff}.epga-front .overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.epga-front .overview-grid>div{padding:16px;border:1px solid #e2e8f0;border-radius:14px}.epga-front .overview-grid b,.epga-front .overview-grid span{display:block}.epga-front textarea{width:100%;border:1px solid #d9e2ec;border-radius:10px;padding:10px}@media(max-width:700px){.epga-front .overview-grid{grid-template-columns:1fr}}
/* v0.9.0 — refinamento visual e acesso do parceiro */
.epga-front{max-width:1160px;margin:22px auto 44px;padding:0 18px}.epga-front .hero{padding:26px 30px;border-radius:20px;margin-bottom:16px;min-height:132px}.epga-front .hero h2{font-family:Inter,Arial,sans-serif;font-size:29px;line-height:1.15;margin:7px 0 5px;font-weight:750;letter-spacing:-.5px}.epga-front .partner-hero,.epga-front .student-hero{box-shadow:0 14px 36px rgba(18,58,111,.13)}.epga-front .stats>div{border-radius:15px;padding:16px 18px}.epga-front .premium-section{border-radius:18px}.epga-front .front-card{border-radius:18px}.epga-front .class-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr))}.epga-front .course-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.student-courses .course-card{position:relative;overflow:hidden}.student-courses .course-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#c5a365}.student-courses .empty{grid-column:1/-1;min-height:110px;display:flex;align-items:center;background:#fff;border-style:solid;box-shadow:0 8px 26px rgba(18,58,111,.05)}
.epga-access{font-family:Inter,Arial,sans-serif;max-width:1040px;margin:46px auto;padding:0 20px;color:#24364a}.epga-access *{box-sizing:border-box}.access-shell{display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid #dfe7ef;border-radius:26px;overflow:hidden;box-shadow:0 24px 70px rgba(18,58,111,.13)}.access-brand{background:linear-gradient(135deg,#123A6F 0%,#0B3768 52%,#061D35 100%);color:#fff;padding:54px 48px;min-height:480px;display:flex;flex-direction:column;justify-content:center}.access-brand>span,.access-card .eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:900;color:#e4c77f}.access-brand h2{font-size:38px;line-height:1.08;margin:12px 0 12px;color:#fff;letter-spacing:-.7px}.access-brand p{font-size:16px;line-height:1.6;opacity:.9;max-width:410px}.access-features{display:grid;gap:10px;margin-top:28px}.access-features b{font-size:13px;font-weight:650;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.06)}.access-card{padding:50px 44px;display:flex;flex-direction:column;justify-content:center}.access-card h3{font-size:28px;color:#123A6F;margin:9px 0 7px}.access-card>p{color:#718195;line-height:1.5;margin:0 0 22px}.access-card label{font-size:12px;font-weight:800;color:#40546a}.access-card input[type=text],.access-card input[type=password]{width:100%;padding:13px 14px;border:1px solid #ccd8e4;border-radius:11px;background:#fbfdff;margin:7px 0 14px}.access-card .login-remember{font-size:12px;color:#60758a}.access-card input[type=submit],.access-button{width:100%;border:0;border-radius:11px;background:#123A6F;color:#fff!important;padding:13px 18px;font-weight:850;cursor:pointer;text-decoration:none;text-align:center;display:block}.access-card .lost{display:block;text-align:center;margin-top:16px;color:#123A6F;text-decoration:none;font-size:13px;font-weight:700}.access-button{margin-top:12px}@media(max-width:760px){.access-shell{grid-template-columns:1fr}.access-brand{min-height:auto;padding:38px 28px}.access-brand h2{font-size:31px}.access-card{padding:36px 28px}.epga-front .hero{padding:23px 22px}.epga-front .hero h2{font-size:25px}}
/* v1.0.0 — portal premium */
body .epga-front{max-width:1240px;margin:34px auto 60px;padding:0 22px}.epga-front .hero{min-height:0;padding:28px 32px;border-radius:24px;background:radial-gradient(circle at 88% 12%,rgba(197,163,101,.16),transparent 25%),linear-gradient(120deg,#061D35,#123A6F 44%,#061D35);box-shadow:0 22px 55px rgba(18,58,111,.16);border:1px solid rgba(255,255,255,.08)}.epga-front .hero h2{font-size:30px;color:#fff}.epga-front .hero-mark{background:rgba(255,255,255,.06);border-color:rgba(216,185,104,.45);color:#f1dfaa}.epga-front .stats{gap:12px;margin-top:14px}.epga-front .stats>div{border:1px solid #e0e7ee;border-radius:17px;padding:17px 19px;box-shadow:0 10px 30px rgba(18,58,111,.06)}.epga-front .portal-actions a{border-radius:12px;padding:12px 18px;background:linear-gradient(135deg,#123A6F,#124B84);box-shadow:0 8px 18px rgba(18,58,111,.12)}.epga-front .premium-section{padding:26px;border-radius:20px}.epga-front .class-box{border-radius:18px;padding:19px;box-shadow:0 7px 20px rgba(18,58,111,.04)}.epga-front .class-box:hover{border-color:#c9ad73}.epga-front .front-card{border-radius:20px}.student-courses .course-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.student-courses .course-card{min-height:225px;border-radius:22px;padding:26px 27px;border:1px solid #e0e6ed;box-shadow:0 14px 38px rgba(18,58,111,.075);background:radial-gradient(circle at 95% 5%,rgba(197,163,101,.10),transparent 30%),#fff}.student-courses .course-card:before{width:5px;background:linear-gradient(#c5a365,#8f6b31)}.student-courses .course-card h3{font-family:Inter,Arial,sans-serif;font-size:23px;letter-spacing:-.3px;margin-top:10px}.student-courses .course-card a{margin-top:10px;background:linear-gradient(135deg,#123A6F,#061D35);border-radius:12px;padding:12px 18px}.student-courses .course-card button[disabled]{margin-top:10px;background:#eef2f6;color:#607187}.student-courses .empty{min-height:150px;border-radius:20px;justify-content:center;text-align:center}.epga-access{max-width:1120px;margin:55px auto;padding:0 22px}.access-shell{border:0;border-radius:30px;box-shadow:0 30px 85px rgba(12,42,77,.18);min-height:530px}.access-brand{padding:62px 54px;background:radial-gradient(circle at 15% 10%,rgba(197,163,101,.18),transparent 28%),linear-gradient(145deg,#061D35,#123A6F 48%,#061D35)}.access-brand h2{font-size:43px;letter-spacing:-1.2px}.access-brand p{font-size:15px}.access-features b{border-color:rgba(197,163,101,.25);background:rgba(255,255,255,.055);padding:13px 15px}.access-card{padding:58px 52px}.access-card h3{font-size:31px;letter-spacing:-.5px}.access-card input[type=text],.access-card input[type=password]{padding:14px 15px;border-radius:12px}.access-card input[type=submit],.access-button{background:linear-gradient(135deg,#123A6F,#061D35);padding:14px 18px;border-radius:12px}.access-card:before{content:"EP";width:46px;height:46px;border-radius:14px;background:#f4ecdc;color:#987333;display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:18px}@media(max-width:760px){body .epga-front{padding:0 14px}.epga-front .hero{padding:24px 22px}.access-brand{padding:40px 30px}.access-card{padding:40px 30px}.access-brand h2{font-size:34px}}
/* v1.1.0 — central de turmas e acessos */
.epga-front .portal-actions a.ghost.admin-turmas{background:#fff!important;color:#123A6F!important;border:1px solid #bfcfe0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;text-shadow:none!important}
.epga-front .portal-actions a.ghost.admin-turmas:hover{background:#f5f8fb!important;border-color:#c5a365!important;color:#061D35!important}
.epga-front #epga-minhas-turmas{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);border:1px solid #d7e1eb;box-shadow:0 18px 46px rgba(18,58,111,.075)}
.epga-front #epga-minhas-turmas .section-head{padding-bottom:17px;border-bottom:1px solid #edf1f5}
.epga-front #epga-minhas-turmas .section-head h3{font-size:28px;font-weight:800;letter-spacing:-.5px}
.epga-front #epga-minhas-turmas .class-box{position:relative;border:1px solid #dbe4ed;background:radial-gradient(circle at 95% 5%,rgba(197,163,101,.10),transparent 27%),#fff;box-shadow:0 10px 28px rgba(18,58,111,.06);padding:22px}
.epga-front #epga-minhas-turmas .class-box:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(#c5a365,#8e6b32)}
.epga-front #epga-minhas-turmas .class-box h4{font-size:21px;margin-top:14px}
.epga-front .open-class{display:flex!important;align-items:center;justify-content:space-between;gap:14px;margin-top:16px!important;padding:14px 0 0!important;color:#123A6F!important}
.epga-front .open-class b{font-size:13px}.epga-front .open-class span{font-size:10px;color:#758699;font-weight:700;text-align:right}
.epga-student-access .access-brand{background:radial-gradient(circle at 16% 10%,rgba(197,163,101,.20),transparent 28%),linear-gradient(145deg,#061D35,#123A6F 52%,#0B3768)}
.epga-student-access .access-card:before{content:"AL"}
@media(max-width:760px){.epga-front .open-class{align-items:flex-start;flex-direction:column}.epga-front .open-class span{text-align:left}}

/* v1.2.0 — identidade visual alinhada ao Portal do Aluno */
.epga-front,.epga-access{--ep-navy:#061D35;--ep-blue:#0B3768;--ep-blue-2:#124B84;--ep-gold:#C5A365;--ep-bg:#F5F7FA;--ep-text:#071D35;--ep-muted:#65758B;color:var(--ep-text)!important}
body .epga-front .hero{background:linear-gradient(135deg,var(--ep-navy) 0%,var(--ep-blue) 68%,#0A2A4A 100%)!important;border-top:3px solid var(--ep-gold)!important}
.epga-front .hero h2,.epga-front .hero p{color:#fff!important}.epga-front .hero span{color:#E2C477!important}.epga-front .hero-mark{color:#F3DFAC!important;border-color:rgba(197,163,101,.55)!important}
.epga-front .portal-actions a,.epga-front .front-card button,.epga-front .course-card a{background:var(--ep-blue)!important;color:#fff!important;border-color:var(--ep-blue)!important;box-shadow:0 8px 20px rgba(6,29,53,.14)!important}
.epga-front .portal-actions a:hover,.epga-front .front-card button:hover,.epga-front .course-card a:hover{background:var(--ep-navy)!important;color:#fff!important}
.epga-front .portal-actions .ghost,.epga-front .portal-actions a.ghost.admin-turmas{background:#fff!important;color:var(--ep-navy)!important;border:1px solid #ccd8e4!important;box-shadow:none!important}
.epga-front .portal-actions .ghost:hover,.epga-front .portal-actions a.ghost.admin-turmas:hover{background:#F8FAFC!important;border-color:var(--ep-gold)!important;color:var(--ep-navy)!important}
.epga-front .stats strong,.epga-front .front-card h3,.epga-front .course-card h3,.epga-front .class-box h4,.epga-front .section-head h3{color:var(--ep-navy)!important}
.epga-front .tabs a{color:var(--ep-blue)!important;background:#F3F6FA!important}.epga-front .tabs a.active{background:var(--ep-navy)!important;color:#fff!important}
.epga-front #epga-minhas-turmas{border-top:3px solid var(--ep-gold)!important}.epga-front #epga-minhas-turmas .class-box:before{background:var(--ep-gold)!important}
.epga-access .access-brand,.epga-student-access .access-brand{background:linear-gradient(145deg,var(--ep-navy) 0%,var(--ep-blue) 72%,#0A2A4A 100%)!important;border-right:1px solid rgba(197,163,101,.32)!important}
.epga-access .access-brand>span,.epga-access .access-card .eyebrow{color:#E2C477!important}.epga-access .access-brand h2,.epga-access .access-brand p,.epga-access .access-features b{color:#fff!important}
.epga-access .access-card h3{color:var(--ep-navy)!important}.epga-access .access-card>p{color:var(--ep-muted)!important}
.epga-access .access-card input[type=submit],.epga-access .access-button{background:var(--ep-navy)!important;color:#fff!important}.epga-access .access-card input[type=submit]:hover,.epga-access .access-button:hover{background:var(--ep-blue)!important}
.epga-access .access-card .lost{color:var(--ep-blue)!important}.epga-access .access-card:before{background:#F4ECDD!important;color:#8C6727!important;border:1px solid #E5D4AF!important}
.student-courses .course-card{border-top:3px solid var(--ep-gold)!important}.student-courses .course-card:before{background:var(--ep-gold)!important}.student-courses .course-card a{background:var(--ep-navy)!important}
/* v1.4.1 - senha personalizada */
.epga-access .epga-password-form label{display:block;font-weight:700;color:#071d35;margin:16px 0 6px}
.epga-access .epga-password-form input[type=password]{width:100%;box-sizing:border-box;border:1px solid #dce4ec;border-radius:10px;padding:13px 14px;background:#fff;color:#071d35;outline:none}
.epga-access .epga-password-form input[type=password]:focus{border-color:#0b3768;box-shadow:0 0 0 3px rgba(11,55,104,.10)}
.epga-access .epga-password-form .access-button{width:100%;border:0;cursor:pointer;margin-top:18px}
.epga-access .epga-password-error{background:#fff3f3;border:1px solid #f0c8c8;border-radius:10px;padding:12px 14px;color:#8b2525;margin:14px 0}
.epga-access .password-help{font-size:13px;color:#65758b;margin-top:15px;line-height:1.55}
.epga-front .epga-front-error{max-width:1200px;margin:0 auto 18px;padding:15px 18px;border:1px solid #ead3d3;border-left:4px solid #a72f2f;border-radius:12px;background:#fff7f7;color:#6f1f1f;box-sizing:border-box}.epga-front .epga-front-error b{color:#6f1f1f}
.epga-front .epga-front-error{max-width:1200px;margin:0 auto 18px;padding:15px 18px;border:1px solid #ead3d3;border-left:4px solid #a72f2f;border-radius:12px;background:#fff7f7;color:#6f1f1f;box-sizing:border-box}.epga-front .epga-front-error b{color:#6f1f1f}
