:root{--green:#0f5132;--green-dark:#073b25;--green-soft:#eaf4ee;--gold:#c9a227;--gold-dark:#8c6d0d;--gold-soft:#fff7d6;--bg:#f5f7f3;--card:#fff;--text:#183126;--muted:#66756d;--danger:#b52b42;--ok:#16845b;--line:#dce5de;--shadow:0 8px 28px rgba(15,81,50,.10)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}a{color:var(--green)}.login-wrap,.install-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--green-dark),var(--green),var(--gold-dark))}.login-card,.install-card{width:min(460px,92vw);background:#fff;padding:32px;border-radius:18px;border-top:5px solid var(--gold);box-shadow:0 22px 65px #0005}.brand{font-size:32px;font-weight:900;color:var(--green)}.brand span{color:var(--gold-dark)}label{display:block;font-size:14px;font-weight:700;margin:14px 0 6px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(201,162,39,.18);border-color:var(--gold)}textarea{min-height:90px}button{border:0;border-radius:10px;padding:10px 14px;background:var(--green);color:#fff;font-weight:800;cursor:pointer;transition:.18s}button:hover{filter:brightness(1.06);transform:translateY(-1px)}button.danger{background:var(--danger)}button.ghost{background:var(--gold-soft);color:var(--green-dark);border:1px solid #e7d48b}button.small{padding:6px 9px;font-size:12px}.alert{padding:12px;border-radius:10px;margin:12px 0}.alert.danger{background:#ffe8ec;color:#8c1f34}.alert.success{background:#e5f8f0;color:#116444}.layout{min-height:100vh}.header{position:sticky;top:0;z-index:50;background:linear-gradient(90deg,var(--green-dark),var(--green));color:#fff;box-shadow:0 5px 18px #0002}.header-main{min-height:72px;display:flex;align-items:center;gap:22px;padding:10px 24px}.header-brand{font-size:27px;font-weight:900;white-space:nowrap}.header-brand span{color:#f4d769}.nav-horizontal{display:flex;align-items:center;gap:5px;flex:1;overflow-x:auto;scrollbar-width:thin}.nav-horizontal button{background:transparent;color:#e8f2ec;white-space:nowrap;border-radius:8px;padding:10px 12px}.nav-horizontal button:hover,.nav-horizontal button.active{background:var(--gold);color:var(--green-dark)}.user-area{display:flex;align-items:center;gap:12px;white-space:nowrap}.user-meta{text-align:right;font-size:13px}.user-meta strong{display:block;font-size:14px}.main{padding:26px;max-width:1500px;margin:auto}.topbar-mobile{display:none}.home-hero{position:relative;overflow:visible;background:linear-gradient(120deg,var(--green-dark),var(--green));color:#fff;border-radius:22px;padding:38px;box-shadow:var(--shadow);border-bottom:5px solid var(--gold);margin-bottom:22px}.home-hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:-85px;top:-100px;background:rgba(201,162,39,.18)}.welcome{position:relative;z-index:1}.welcome h1{font-size:clamp(26px,4vw,42px);margin:0 0 10px}.welcome-name{color:#f4d769}.date-time{display:flex;gap:14px;flex-wrap:wrap;font-size:15px;opacity:.95;margin-bottom:25px}.search-wrap{position:relative;z-index:5;max-width:860px}.global-search{display:flex;background:#fff;border-radius:999px;padding:6px 7px 6px 19px;box-shadow:0 10px 28px #0003}.global-search input{border:0;padding:13px 8px;font-size:16px}.global-search input:focus{outline:0}.global-search button{border-radius:999px;background:var(--gold);color:var(--green-dark);padding:10px 23px}.search-results{position:absolute;top:62px;left:0;right:0;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px #0003;max-height:390px;overflow:auto;display:none}.search-results.show{display:block}.search-item{display:block;width:100%;background:#fff;color:var(--text);text-align:left;border-radius:0;padding:12px 16px;border-bottom:1px solid var(--line)}.search-item:hover{background:var(--green-soft);transform:none}.search-item small{display:block;color:var(--muted);margin-top:3px}.section-title{display:flex;align-items:center;gap:10px}.section-title:before{content:'';width:6px;height:25px;background:var(--gold);border-radius:5px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 4px 14px rgba(31,42,68,.06)}.metric{font-size:30px;font-weight:900;color:var(--green)}.muted{color:var(--muted)}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px;margin-top:18px}.quick-action{background:#fff;color:var(--green-dark);border:1px solid var(--line);border-left:4px solid var(--gold);text-align:left;padding:16px}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:14px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}th{background:var(--green-soft);color:var(--green-dark)}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:100}.modal-box{background:#fff;width:min(700px,96vw);max-height:90vh;overflow:auto;border-radius:14px;padding:22px;border-top:5px solid var(--gold)}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.course-card{border-top:4px solid var(--gold)}.course-card h3{margin:6px 0}.progress{height:8px;background:#e8ecf4;border-radius:8px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green)}@media(max-width:1100px){.header-main{flex-wrap:wrap}.nav-horizontal{order:3;width:100%}.user-area{margin-left:auto}.grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.header-main{padding:10px 14px}.header-brand{font-size:22px}.user-meta{display:none}.main{padding:14px}.home-hero{padding:25px 18px}.global-search{border-radius:15px}.global-search button{padding:10px 14px}.grid,.row{grid-template-columns:1fr}.nav-horizontal button{padding:9px 10px}.quick-actions{grid-template-columns:1fr 1fr}}@media(max-width:460px){.quick-actions{grid-template-columns:1fr}.date-time{display:block}.date-time span{display:block;margin:5px 0}}
/* ECPB - CURSOS E TREINAMENTOS 1.2 — correção definitiva de cache e layout */
.layout{display:block!important;min-height:100vh!important}
.header{display:block!important;width:100%!important;background:linear-gradient(90deg,#063d27 0%,#0f6741 65%,#0b5135 100%)!important;border-bottom:3px solid #d4af37!important}
.header-main{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;width:100%!important;max-width:none!important;min-height:76px!important;padding:10px 22px!important}
.nav-horizontal{display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;width:auto!important;overflow-x:auto!important}
.nav-horizontal button{display:inline-flex!important;width:auto!important;margin:0!important;background:transparent!important;color:#fff!important;border:1px solid transparent!important}
.nav-horizontal button:hover,.nav-horizontal button.active{background:#d4af37!important;color:#083c28!important;border-color:#f3dd91!important}
.user-area{display:flex!important;margin-left:auto!important}
.main{display:block!important;width:100%!important;max-width:1500px!important;margin:0 auto!important;padding:26px!important}
.home-hero{background:linear-gradient(125deg,#063d27,#0f6741)!important;border:1px solid rgba(212,175,55,.55)!important;border-bottom:5px solid #d4af37!important}
.global-search button{background:#d4af37!important;color:#073b25!important}
.quick-action{background:#fff!important;color:#073b25!important;border-left:5px solid #d4af37!important}
button{background:#0f6741!important;color:#fff!important}
button.ghost{background:#fff8dc!important;color:#073b25!important;border:1px solid #d4af37!important}
button.danger{background:#b52b42!important;color:#fff!important}
@media(max-width:1100px){.header-main{flex-wrap:wrap!important}.nav-horizontal{order:3!important;flex-basis:100%!important}.user-area{margin-left:auto!important}}
/* ECPB - CURSOS E TREINAMENTOS 1.3 — início centralizado e novos módulos */
.home-centered{text-align:center;display:flex;flex-direction:column;align-items:center}.date-time.centered{justify-content:center}.centered-search{width:min(900px,100%);margin:0 auto}.home-content{max-width:1250px;margin:0 auto;text-align:center}.centered-title{justify-content:center;margin-top:28px}.centered-actions{justify-content:center}.home-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px auto 30px}.home-metric{background:#fff!important;color:var(--green-dark)!important;border:1px solid var(--line)!important;border-top:4px solid var(--gold)!important;padding:20px;text-align:center}.home-metric span{display:block;color:var(--muted);font-weight:700}.home-metric strong{display:block;font-size:30px;margin-top:8px;color:var(--green)}.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px;text-align:left}.feed-item{padding:13px 0;border-bottom:1px solid var(--line)}.feed-item:last-child{border-bottom:0}.feed-item p{margin:6px 0}.feed-item small{color:var(--muted)}.feed-list{display:grid;gap:12px}.feed-list .card{margin:0}.feed-item.unread{border-left:5px solid var(--gold)}.topic-card{display:block;width:100%;text-align:left;background:#fff!important;color:var(--text)!important;border:1px solid var(--line)!important}.topic-card:hover{border-color:var(--gold)!important}.home-hero .welcome h1,.home-hero .date-time{width:100%;text-align:center}@media(max-width:850px){.home-columns{grid-template-columns:1fr}.home-metrics{grid-template-columns:1fr 1fr}}@media(max-width:520px){.home-metrics{grid-template-columns:1fr}}

/* ECPB - CURSOS E TREINAMENTOS 1.4 — matrícula profissional */
.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.filters{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:14px 0}.form-section{border:1px solid var(--line);border-radius:13px;padding:15px;margin:14px 0;background:#fbfdfb}.form-section h4{margin:0 0 10px;color:var(--green-dark);border-bottom:2px solid var(--gold);padding-bottom:8px}.student-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:12px;padding:12px;border-radius:10px;background:var(--green-soft);text-align:left}.student-preview span,.student-preview strong{display:block}.cell-sub{display:block;color:var(--muted);margin-top:4px}.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.status-active{background:#daf4e5;color:#12633b}.status-pending{background:#fff2bf;color:#755700}.status-suspended{background:#ffe4bd;color:#7d4600}.status-completed{background:#dcecff;color:#234f88}.status-cancelled{background:#ffe1e6;color:#8c2638}.enrollment-sheet h3{color:var(--green);border-bottom:3px solid var(--gold);padding-bottom:10px}.sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.sheet-grid>div{background:var(--green-soft);padding:12px;border-radius:10px}.sheet-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.sheet-grid strong{display:block}@media(max-width:850px){.filters,.sheet-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.filters,.sheet-grid{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}}
.nav-dropdown{position:relative;display:inline-flex}.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;width:260px;max-height:70vh;overflow:auto;background:#fff;border:1px solid rgba(184,134,11,.35);border-radius:12px;padding:8px;box-shadow:0 18px 45px rgba(0,0,0,.18);z-index:1000}.nav-dropdown.open .nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu{display:grid}.nav-dropdown-menu button{display:block;width:100%;text-align:left;background:transparent;color:#174c36;border:0;border-radius:8px;padding:10px 12px;font-weight:700}.nav-dropdown-menu button:hover{background:#f6efcf;color:#7b5b00}.assignment-card{margin-bottom:16px}.assignment-upload{display:grid;gap:10px;background:#f8faf8;padding:15px;border-radius:12px;border:1px solid #dbe7df}@media(max-width:900px){.nav-dropdown-menu{position:fixed;left:12px;right:12px;top:120px;width:auto;max-height:65vh}.nav-horizontal{overflow:visible}}

/* ECPB - CURSOS E TREINAMENTOS 1.7 — Central de Cursos */
.course-hub-hero{background:linear-gradient(125deg,#063d27,#0f6741);color:#fff;border:1px solid rgba(212,175,55,.55);border-bottom:5px solid #d4af37;border-radius:20px;padding:30px 34px;margin-bottom:24px;box-shadow:var(--shadow)}
.course-hub-hero .eyebrow{display:inline-block;color:#f4d769;font-weight:900;letter-spacing:.12em;font-size:12px;margin-bottom:8px}
.course-hub-hero h1{margin:0 0 8px;font-size:34px}.course-hub-hero p{margin:0;opacity:.92}
.course-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.course-hub-card{display:grid!important;grid-template-columns:54px 1fr 22px;align-items:center;gap:14px;width:100%!important;min-height:116px;padding:18px!important;background:#fff!important;color:#073b25!important;border:1px solid #d9e4dc!important;border-left:5px solid #d4af37!important;border-radius:15px!important;text-align:left!important;box-shadow:0 5px 16px rgba(6,61,39,.07)!important}
.course-hub-card:hover{transform:translateY(-3px)!important;border-color:#d4af37!important;box-shadow:0 12px 24px rgba(6,61,39,.13)!important}
.course-hub-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#e8f3ed;font-size:25px}
.course-hub-text strong{display:block;font-size:17px;color:#063d27;margin-bottom:5px}.course-hub-text small{display:block;color:#68776e;line-height:1.35;font-weight:500}.course-hub-arrow{font-size:30px;color:#b8860b;text-align:right}
@media(max-width:1050px){.course-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.course-hub-grid{grid-template-columns:1fr}.course-hub-hero{padding:24px 20px}.course-hub-hero h1{font-size:28px}}

/* Financeiro 1.9 */
.finance-summary{margin:18px 0}.charge-sheet{max-width:720px;margin:auto}.pix-box{text-align:center;margin-top:20px;padding:18px;border:1px solid #d7c16b;border-radius:14px;background:#fffdf4}.pix-box img{display:block;width:260px;height:260px;max-width:100%;margin:0 auto 16px}.pix-box textarea{min-height:105px;font-family:monospace;font-size:12px;word-break:break-all}.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.status-overdue{background:#fee2e2;color:#991b1b}.status-paid{background:#dcfce7;color:#166534}.status-open{background:#fef3c7;color:#92400e}.status-cancelled{background:#e5e7eb;color:#374151}
.lesson-box{border-top:1px solid #d7e2da;padding:18px 0}.lesson-content{background:#fffdf4;border-left:4px solid #d5a514;padding:18px;border-radius:8px;line-height:1.7}.video-frame{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;margin:15px 0;background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.materials-list{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}.materials-list a{padding:8px 12px;border:1px solid #d5a514;border-radius:8px;text-decoration:none}.quiz-option{display:block;padding:12px;border:1px solid #d7e2da;border-radius:8px;margin:8px 0;cursor:pointer}.quiz-option:hover{background:#fff9df}.badge.success{background:#dff4e8;color:#0a6b42}

/* Editor de conteúdo formatado */
.rich-field{border:1px solid #cbd9cf;border-radius:12px;background:#fff;overflow:hidden;margin-top:6px}.rich-toolbar{display:flex;gap:5px;flex-wrap:wrap;padding:8px;background:#edf5ef;border-bottom:1px solid #cbd9cf}.rich-toolbar button{padding:6px 9px;border:1px solid #b8cbbd;background:#fff;color:#174a32;border-radius:6px;font-size:12px}.rich-editor{padding:14px;outline:none;overflow:auto;line-height:1.55;color:#243b2e}.rich-editor table,.lesson-content table{border-collapse:collapse;width:100%;margin:12px 0}.rich-editor th,.rich-editor td,.lesson-content th,.lesson-content td{border:1px solid #9fb5a5;padding:8px;vertical-align:top}.rich-editor th,.lesson-content th{background:#e7f1e9;font-weight:700}.lesson-content{overflow:auto;line-height:1.6}.lesson-content img{max-width:100%;height:auto}.lesson-content p{margin:.7em 0}.lesson-content ul,.lesson-content ol{padding-left:28px}.rich-field small{display:block;padding:7px 10px;background:#fafcfb}.modal-box{max-height:92vh;overflow:auto}
/* Ajustes ECPB - CURSOS E TREINAMENTOS 3.2: leitura e ações das aulas */
.lesson-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button.danger,button.danger,.danger{background:#fff1f1!important;color:#9b1c1c!important;border-color:#dc9a9a!important}.lesson-content{white-space:normal;word-break:normal;overflow-wrap:anywhere;font-family:inherit;font-size:1rem}.lesson-content>p,.lesson-content>div{margin:.8em 0}.lesson-content h1,.lesson-content h2,.lesson-content h3,.lesson-content h4{line-height:1.25;margin:1.15em 0 .55em}.lesson-content li{margin:.35em 0}.lesson-content blockquote{margin:1em 0;padding:.7em 1em;border-left:4px solid #d5a514;background:#fff9df}.lesson-content pre{white-space:pre-wrap;background:#f2f6f3;padding:12px;border-radius:8px}.lesson-content table{display:table;max-width:100%;table-layout:auto}.lesson-content td,.lesson-content th{white-space:normal;word-break:break-word}

/* ECPB - CURSOS E TREINAMENTOS 3.3 - navegação acadêmica */
.global-home{position:fixed;right:22px;bottom:22px;z-index:50;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.course-progress{background:#fff;border:1px solid #d7e2da;border-radius:14px;padding:16px;margin:0 0 18px}
.course-progress-head{display:flex;justify-content:space-between;margin-bottom:9px;color:#164b35}
.progress-track{height:14px;background:#edf2ee;border-radius:999px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,#0d6b45,#d6a916);border-radius:999px;transition:width .25s ease}
.student-course-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.lesson-sidebar{background:#fff;border:1px solid #d7e2da;border-radius:14px;padding:14px;position:sticky;top:92px;max-height:calc(100vh - 125px);overflow:auto}
.lesson-module{margin-bottom:16px}.lesson-module>strong{display:block;color:#164b35;margin:4px 6px 8px}
.lesson-link{display:block;width:100%;text-align:left;background:#f5f8f5;color:#243b30;border:1px solid transparent;margin:4px 0;padding:10px;border-radius:9px}
.lesson-link.active{background:#fff7da;border-color:#d6a916;color:#164b35}.lesson-link.done{color:#0d6b45}
.lesson-focus{min-width:0}.lesson-heading{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e5ece7;padding-bottom:14px;margin-bottom:18px}
.lesson-complete-row{display:flex;justify-content:center;margin:26px 0 12px}.lesson-navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;border-top:1px solid #e5ece7;padding-top:18px;margin-top:18px}.lesson-navigation button:last-child{justify-self:end}.lesson-navigation span{text-align:center;color:#66766e}.lesson-navigation button:disabled{opacity:.45;cursor:not-allowed}
.course-top .ghost{margin-right:8px}
@media(max-width:850px){.student-course-layout{grid-template-columns:1fr}.lesson-sidebar{position:static;max-height:none}.global-home{right:12px;bottom:12px}.lesson-navigation{grid-template-columns:1fr 1fr}.lesson-navigation span{grid-column:1/-1;grid-row:1}.lesson-navigation button:last-child{justify-self:stretch}}

.video-frame.direct-video{padding-bottom:0;height:auto}.video-frame video{display:block;width:100%;max-height:70vh;background:#000}

/* ECPB - CURSOS E TREINAMENTOS 3.5.8 - player de vídeo compacto */
.video-frame{
  width:100%;
  max-width:560px;
  margin:16px auto;
}
.video-frame.direct-video{
  max-width:560px;
}
.video-frame video{
  width:100%;
  max-height:315px;
  object-fit:contain;
}
@media(max-width:620px){
  .video-frame,.video-frame.direct-video{max-width:100%;}
}
/* ECPB - CURSOS E TREINAMENTOS 3.5.9 — navegação de uma aula por vez */
.admin-course-layout .lesson-focus{min-width:0}.lesson-admin-tools{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 4px}.sidebar-addlesson{width:100%;margin-top:8px;background:var(--gold-soft);color:var(--green-dark);border:1px dashed var(--gold)}.course-progress small{display:block;margin-top:8px}.lesson-focus{overflow:hidden}.lesson-content{overflow-wrap:anywhere}.lesson-sidebar .lesson-link{width:100%;text-align:left}


/* ECPB - CURSOS E TREINAMENTOS 3.6.0 — player ajustado ao espaço da aula e central do aluno */
.lesson-focus .video-frame,
.lesson-focus .video-frame.direct-video{
  width:100%;
  max-width:none;
  margin:16px 0;
  aspect-ratio:16/9;
  padding-bottom:0;
  height:auto;
  border-radius:12px;
  overflow:hidden;
  background:#000;
}
.lesson-focus .video-frame iframe,
.lesson-focus .video-frame video{
  position:static;
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  aspect-ratio:16/9;
  object-fit:contain;
  border:0;
}
.student-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 28px}
.student-section-head{margin-top:28px}.student-enrolled-course{display:flex;flex-direction:column;gap:8px}.student-enrolled-course button{margin-top:auto;align-self:flex-start}
@media(max-width:700px){.student-summary-grid{grid-template-columns:1fr}}

/* ECPB - CURSOS E TREINAMENTOS 3.6.6 - painel completo do aluno */
.student-course-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin:20px 0}.enrollment-main-card{border-top:4px solid var(--gold,#d9a900)}.student-course-options{margin-top:14px}.student-course-options .course-hub-card{min-height:112px}.student-course-options .course-hub-icon{font-size:28px}.student-course-summary .metric{font-size:30px;font-weight:800;margin:10px 0}.student-course-summary .progress-track{margin:12px 0}@media(max-width:900px){.student-course-summary{grid-template-columns:1fr}.student-course-options{grid-template-columns:1fr}}

/* 3.7.1 - ajuste visual exclusivo de Minhas matrículas */
.student-enrollments-grid{grid-template-columns:repeat(auto-fit,minmax(360px,520px));align-items:start;justify-content:start}
.student-enrollment-card{width:100%;min-width:0;height:auto;padding:20px}
.student-enrollment-card h3{margin:0 0 16px}
.student-enrollment-data{grid-template-columns:minmax(0,1.8fr) minmax(110px,.8fr) minmax(120px,.9fr);gap:10px;margin:0 0 12px}
.student-enrollment-data>div{min-width:0}
.student-enrollment-data>div:nth-child(4){grid-column:1/-1}
.student-enrollment-data strong{overflow-wrap:anywhere;word-break:break-word}
.student-enrollment-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}
.student-enrollment-actions button{width:100%}
@media(max-width:700px){.student-enrollments-grid{grid-template-columns:1fr}.student-enrollment-data{grid-template-columns:1fr 1fr}.student-enrollment-data>div:first-child,.student-enrollment-data>div:nth-child(4){grid-column:1/-1}}
@media(max-width:430px){.student-enrollment-data{grid-template-columns:1fr}.student-enrollment-data>div{grid-column:1!important}}

/* Identidade institucional ECPB 4.0 */
.ecpb-brand,.ecpb-header-brand{font-weight:900;letter-spacing:.2px;line-height:1.12}
.ecpb-header-brand{font-size:20px;max-width:250px;white-space:normal}
.ecpb-global-footer{background:#073d29;color:#fff;text-align:center;padding:16px 20px;border-top:4px solid #d0a51e;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.35}
.layout{min-height:100vh;display:flex;flex-direction:column}
.layout .main{flex:1}
.login-card .ecpb-global-footer{margin:24px -28px -28px;border-radius:0 0 14px 14px}
@media(max-width:980px){.ecpb-header-brand{font-size:15px;max-width:180px}}
@media(max-width:700px){.ecpb-header-brand{font-size:13px;max-width:140px}.ecpb-global-footer{font-size:11px}}

/* ECPB 4.3.0 — indicadores acadêmicos e manutenção */
.academic-indicators{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0;font-size:.92rem}
.system-maintenance form{min-width:260px;flex:1}
.system-maintenance input[type=file]{width:100%}
.system-maintenance .row{align-items:flex-end}

/* ECPB 4.5.0 — cupons e relatórios */
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.report-grid>section{min-width:0}.finance-summary{margin:16px 0}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:14px 0}.filters label{min-width:150px}@media(max-width:900px){.report-grid{grid-template-columns:1fr}.filters>*{width:100%}}
@media print{.header,.ecpb-global-footer,.global-home,.page-head button,.filters{display:none!important}.main{padding:0!important}.card{box-shadow:none!important}}

/* Polimento 4.6.0 — componentes compartilhados, sem alterar regras */
:where(.page-actions,.toolbar,.action-row){display:flex;flex-wrap:wrap;gap:10px;align-items:center}
:where(.empty-state,.loading-state){padding:28px;text-align:center;color:var(--muted)}
:where(.table-wrap){overflow:auto;-webkit-overflow-scrolling:touch}
:where(button,[role="button"],a){-webkit-tap-highlight-color:transparent}
:where(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline:3px solid rgba(201,162,39,.35);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ECPB 4.7.0 — Tutor IA */
.ai-tutor-shell{max-width:1050px;margin:0 auto;padding:0;overflow:hidden}
.ai-chat{height:min(58vh,620px);min-height:360px;overflow:auto;padding:22px;background:#f7faf8;display:flex;flex-direction:column;gap:14px}
.ai-message{max-width:82%;padding:14px 16px;border-radius:16px;box-shadow:0 2px 8px rgba(16,62,43,.08)}
.ai-message.user{align-self:flex-end;background:#0d6b45;color:#fff;border-bottom-right-radius:4px}
.ai-message.assistant{align-self:flex-start;background:#fff;border:1px solid #d8e6de;border-bottom-left-radius:4px;color:#173d2b}
.ai-message-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;opacity:.78}
.ai-message-body{line-height:1.55;overflow-wrap:anywhere}
.ai-message-body p:first-child{margin-top:0}.ai-message-body p:last-child{margin-bottom:0}
.ai-message small{display:block;margin-top:7px;opacity:.65}
.ai-compose{padding:16px;border-top:1px solid #d8e6de;background:#fff}
.ai-compose textarea{width:100%;resize:vertical;min-height:82px}
.ai-empty{text-align:center;margin:auto;color:#526b5e;padding:40px}
.ai-loading{opacity:.75}
@media(max-width:700px){.ai-message{max-width:94%}.ai-chat{height:52vh;padding:12px}.ai-compose{padding:12px}}

/* ECPB 6.3.28 — Pergunte à IA contextual e administração central */
.ask-ai-search{background:linear-gradient(135deg,#6533b8,#8d3fd1)!important;border-color:#9f69dd!important;color:#fff!important;white-space:nowrap}
.ai-topic-entry{margin:28px 0 4px;padding-top:18px;border-top:1px dashed #c8d8cf;display:flex;justify-content:flex-end}
.ask-ai-topic{display:inline-flex;align-items:center;gap:12px;padding:12px 17px;border-radius:14px;background:linear-gradient(135deg,#5f2eb3,#8c3cc8)!important;color:#fff!important;border:0!important;box-shadow:0 7px 20px rgba(95,46,179,.22);text-align:left}
.ask-ai-topic>span:first-child{font-size:1.45rem;line-height:1}.ask-ai-topic strong,.ask-ai-topic small{display:block;color:inherit}.ask-ai-topic small{font-weight:500;opacity:.86;margin-top:2px}
.ask-ai-topic:hover{transform:translateY(-1px);filter:brightness(1.06)}
.ai-context-badge{display:inline-flex;margin-top:8px;padding:8px 12px;border-radius:999px;background:#efe7fb;color:#512493;border:1px solid #d9c4f2;font-size:.9rem}
.ai-admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.ai-admin-metrics .metric{font-size:clamp(1.25rem,2vw,2rem)}.ai-key-status{color:#0b7046}.ai-admin-form{margin-bottom:18px}.ai-admin-form>.row{align-items:start}.ai-course-controls{margin-top:18px}.ai-course-picker .modal-box{max-width:680px}
@media(max-width:980px){.ai-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search{flex-wrap:wrap}.global-search input{flex:1 1 100%}.global-search button{flex:1 1 auto}}
@media(max-width:620px){.ai-admin-metrics{grid-template-columns:1fr}.ask-ai-topic{width:100%;justify-content:center}.ai-topic-entry{justify-content:stretch}.ai-context-badge{border-radius:12px}.global-search button{width:100%}}


/* ECPB 4.7.1 — marca compacta e clicável */
.ecpb-header-brand.brand-home{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  width:auto;
  max-width:none;
  padding:8px 0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fff;
  font-size:16px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
  text-align:left;
  cursor:pointer;
}
.ecpb-header-brand.brand-home span{color:#fff;font-weight:700}
.ecpb-header-brand.brand-home:hover,
.ecpb-header-brand.brand-home:focus{
  background:transparent;
  color:#fff;
  filter:none;
  transform:none;
  text-decoration:underline;
  text-decoration-color:#d0a51e;
  text-underline-offset:5px;
}
.ecpb-header-brand.brand-home:focus-visible{
  outline:2px solid #f4d769;
  outline-offset:5px;
  border-radius:4px;
}
@media(max-width:980px){
  .ecpb-header-brand.brand-home{font-size:14px;max-width:none}
}
@media(max-width:700px){
  .ecpb-header-brand.brand-home{font-size:12px;max-width:none}
}


/* ECPB Cursos 4.7.2 — login institucional exclusivo do software educacional */
.ecpb-auth-page{min-height:100vh;background:linear-gradient(115deg,#071f32 0%,#073a57 48%,#00695f 100%);color:#fff;padding:34px 4vw;display:flex;align-items:flex-start;justify-content:center;position:relative;overflow:hidden}
.ecpb-auth-page::after{content:'⚖';position:fixed;right:4vw;bottom:2vh;width:210px;height:210px;border:2px solid rgba(212,175,55,.32);border-radius:50%;display:grid;place-items:center;font-size:82px;color:rgba(212,175,55,.28);box-shadow:0 0 0 20px rgba(212,175,55,.06);pointer-events:none}
.ecpb-auth-panel{width:min(1250px,100%);text-align:center;position:relative;z-index:1}
.ecpb-auth-logo{font-size:40px;line-height:1;margin-bottom:8px}
.ecpb-auth-panel h1{margin:0;color:#fff!important;font-size:clamp(28px,3vw,38px);font-weight:900;text-transform:none;letter-spacing:.2px}
.ecpb-auth-line{width:84px;height:4px;background:#00d7b2;border-radius:99px;margin:10px auto 8px}
.ecpb-auth-panel h2{margin:0;color:#f4c928;font-size:16px}
.ecpb-auth-subtitle{color:rgba(255,255,255,.62);margin:10px 0 18px}
.ecpb-lgpd{width:min(980px,100%);margin:0 auto 18px;padding:10px 14px;text-align:left;border:1px solid rgba(130,205,231,.42);background:rgba(83,157,187,.25);border-radius:10px;font-size:12px;color:#f4f8fb}
.ecpb-lgpd strong{color:#ffd633}
.ecpb-auth-form{width:100%;text-align:left}
.ecpb-auth-form label{color:#fff;font-size:13px;margin:15px 0 7px}
.ecpb-auth-form input{height:43px;border:1px solid #e2b719;border-radius:10px;background:#fff;color:#22313a;padding:0 14px}
.ecpb-auth-form input:focus{outline:3px solid rgba(226,183,25,.22);border-color:#ffd633}
.ecpb-auth-form button,.ecpb-auth-form a{width:100%;min-height:50px;margin-top:16px;border-radius:10px;font-weight:900;display:flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.ecpb-auth-form .ecpb-primary{background:#075d37!important;color:#fff!important;border:1px solid #e2b719!important}
.ecpb-auth-form .ecpb-secondary{background:rgba(50,104,136,.36)!important;color:#ffd633!important;border:1px solid rgba(226,183,25,.68)!important}
.ecpb-auth-form .ecpb-light-link{background:#fffaf0;color:#064629;border:1px solid #e2b719}
.ecpb-auth-form .ecpb-primary:hover,.ecpb-auth-form .ecpb-secondary:hover,.ecpb-auth-form .ecpb-light-link:hover{filter:brightness(1.05);transform:translateY(-1px)}
.ecpb-auth-panel>.alert{width:100%;text-align:left}
@media(max-width:700px){.ecpb-auth-page{padding:24px 16px}.ecpb-auth-page::after{width:130px;height:130px;font-size:52px;right:-25px;bottom:10px}.ecpb-lgpd{font-size:11px}.ecpb-auth-panel h1{font-size:26px}}

/* Login institucional inspirado no layout de referência */
.ecpb-auth-page{min-height:100vh;padding:34px 4vw 28px;align-items:flex-start;background:linear-gradient(115deg,#061d31 0%,#073b58 48%,#00675f 100%)}
.ecpb-auth-panel{width:min(1250px,100%)}
.ecpb-auth-logo{font-size:42px;margin-top:0}
.ecpb-auth-panel h1{font-size:clamp(30px,3vw,40px)}
.ecpb-auth-panel h2{color:#f5cc2d;font-size:16px;margin-top:2px}
.ecpb-auth-subtitle{margin:10px 0 16px}
.ecpb-lgpd{width:100%;margin:0 0 18px;padding:10px 14px;border:1px solid rgba(135,195,220,.48);border-radius:10px;background:rgba(74,139,169,.28);color:#eaf7fb;text-align:left;font-size:12px}
.ecpb-role-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 8px}
.ecpb-role-strip span{display:flex;align-items:center;justify-content:center;min-height:39px;padding:8px 12px;border:1px solid rgba(226,183,25,.55);border-radius:10px;background:rgba(5,51,66,.34);color:#fff;font-size:13px;font-weight:800}
.ecpb-auth-form label{margin-top:14px}
.ecpb-auth-form input{height:43px}
.ecpb-auth-form button,.ecpb-auth-form a{min-height:49px;margin-top:12px}
.ecpb-auth-form .ecpb-primary{background:#075738!important}
.ecpb-auth-form .ecpb-secondary{background:rgba(40,100,132,.38)!important}
.ecpb-auth-form .ecpb-light-link{background:#fffaf0!important;color:#064629!important}
@media(max-width:700px){.ecpb-role-strip{grid-template-columns:1fr}.ecpb-auth-page{padding:22px 15px}.ecpb-auth-page::after{opacity:.7}}

/* ECPB 5.2.0 — painel inicial conforme modelo visual aprovado */
body{background:#fbfcfa}
.main{max-width:none!important;padding:12px 28px 28px!important}
.home-content{max-width:none!important;width:100%;padding:0 8px}
.home-hero{max-width:none!important;margin:0 0 18px!important;padding:30px 34px!important;border-radius:18px!important;min-height:220px;display:flex;align-items:center;justify-content:center}
.home-hero .welcome h1{font-size:clamp(32px,3.2vw,44px)!important;margin-bottom:12px!important}
.home-hero .date-time{font-weight:700;margin-bottom:26px!important}
.centered-search{width:min(930px,82vw)!important}
.global-search{padding:5px 6px 5px 20px!important;box-shadow:none!important;border:1px solid rgba(255,255,255,.65)}
.global-search input{height:48px!important;font-size:16px!important}
.global-search button{min-width:125px!important;font-size:15px!important}
.section-title.centered-title{justify-content:flex-start!important;margin:22px 0 14px!important;font-size:24px!important}
.home-metrics{grid-template-columns:repeat(5,minmax(180px,1fr))!important;gap:20px!important;margin:0 0 22px!important}
.home-metric{display:flex!important;align-items:center!important;gap:18px!important;min-height:126px!important;padding:20px 22px!important;text-align:left!important;border:1px solid #dce5de!important;border-top:4px solid #d4af37!important;border-radius:14px!important;box-shadow:0 3px 12px rgba(6,61,39,.04)!important}
.home-metric:hover{transform:translateY(-2px)!important;box-shadow:0 10px 25px rgba(6,61,39,.09)!important}
.metric-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;font-size:28px;font-weight:900;background:#e4f4e9;color:#087044}
.metric-courses .metric-icon{background:#e2efff;color:#0b4f9c}.metric-students .metric-icon{background:#efe2ff;color:#6e20c2}.metric-pending .metric-icon{background:#fff2c9;color:#8a6200}
.metric-copy{display:flex;flex-direction:column;gap:8px}.metric-label{font-size:15px;color:#53635a;font-weight:800}.home-metric strong{font-size:29px!important;color:#075737!important;line-height:1}
.quick-actions{grid-template-columns:repeat(5,minmax(190px,1fr))!important;gap:12px 20px!important;margin:0 0 16px!important}
.quick-action{display:flex!important;align-items:center!important;gap:14px!important;min-height:88px!important;padding:14px 16px!important;border:1px solid #dce5de!important;border-left:1px solid #dce5de!important;border-radius:13px!important;box-shadow:0 2px 9px rgba(6,61,39,.035)!important}
.quick-action:hover{transform:translateY(-2px)!important;border-color:#9fc9af!important;box-shadow:0 9px 20px rgba(6,61,39,.09)!important}
.quick-icon{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border-radius:50%;font-size:23px;font-weight:900;background:#ddf3e5;color:#087044}
.quick-blue .quick-icon{background:#dceeff;color:#065cb9}.quick-purple .quick-icon{background:#eedfff;color:#6c24c7}.quick-indigo .quick-icon{background:#e3e7ff;color:#134bc0}.quick-gold .quick-icon{background:#fff0be;color:#8e6500}.quick-red .quick-icon{background:#ffe1e1;color:#b51f2e}
.quick-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.quick-copy strong{font-size:16px;color:#075737}.quick-copy span{font-size:14px;color:#657269;font-weight:600}
.system-maintenance{display:grid!important;grid-template-columns:minmax(280px,1fr) auto!important;align-items:center!important;gap:22px!important;padding:24px 34px!important;margin-top:14px!important;border-radius:14px!important}
.system-maintenance h3{font-size:21px;margin:0 0 8px}.system-maintenance p{margin:0}.maintenance-actions{display:flex;flex-wrap:wrap;gap:44px;align-items:center;justify-content:flex-end}.maintenance-actions form{min-width:0!important;flex:0 0 auto!important}.maintenance-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-width:205px!important;padding:13px 18px!important;border-radius:9px!important;background:#eef8f2!important;color:#075737!important;border:1px solid #cbe3d3!important}.restore-btn{background:#edf5ff!important;color:#064e9b!important;border-color:#c8dcf6!important}.audit-btn{background:#fff8e6!important;color:#735900!important;border-color:#e6c968!important}.maintenance-btn span{font-size:19px}.restore-inline{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-top:6px;padding-top:18px;border-top:1px solid #e3e9e5}.restore-inline[hidden]{display:none!important}.restore-inline label{margin:0}
@media(max-width:1200px){.home-metrics{grid-template-columns:repeat(3,minmax(180px,1fr))!important}.quick-actions{grid-template-columns:repeat(3,minmax(190px,1fr))!important}.system-maintenance{grid-template-columns:1fr!important}.maintenance-actions{justify-content:flex-start;gap:12px}}
@media(max-width:760px){.main{padding:10px 12px 22px!important}.home-hero{padding:24px 16px!important;min-height:200px}.centered-search{width:100%!important}.home-metrics{grid-template-columns:1fr!important}.quick-actions{grid-template-columns:1fr!important}.system-maintenance{padding:20px!important}.maintenance-actions{display:grid;grid-template-columns:1fr;width:100%}.maintenance-btn{width:100%;min-width:0!important}.restore-inline{grid-template-columns:1fr}}

/* ECPB 5.2.1 — receita responsiva para valores maiores */
.home-metric.metric-revenue{min-width:0!important;overflow:hidden!important}
.home-metric.metric-revenue .metric-copy{min-width:0!important;flex:1 1 auto!important}
.home-metric.metric-revenue strong{
  font-size:clamp(18px,1.65vw,26px)!important;
  line-height:1.08!important;
  white-space:nowrap!important;
  letter-spacing:-.5px!important;
  max-width:100%!important;
}
@media(max-width:1200px){.home-metric.metric-revenue strong{font-size:clamp(19px,2.5vw,26px)!important}}
@media(max-width:760px){.home-metric.metric-revenue strong{font-size:clamp(20px,7vw,27px)!important}}

.video-embed{position:relative;width:100%;aspect-ratio:16/9;margin:1rem 0;background:#000;border-radius:10px;overflow:hidden}.video-embed iframe,.video-embed video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}


/* Cadastro pessoal de aluno e professor */
.profile-form{max-width:980px;margin:0 auto}.profile-photo-row{display:flex;gap:22px;align-items:center;margin-bottom:20px}.profile-photo-preview{width:128px;height:128px;border-radius:50%;overflow:hidden;border:2px solid var(--border,#d7dfd9);display:grid;place-items:center;background:#f5f7f5;flex:0 0 128px}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-preview div{font-size:13px;color:#68736b;text-align:center;padding:10px}@media(max-width:640px){.profile-photo-row{align-items:flex-start;flex-direction:column}.profile-photo-preview{width:110px;height:110px;flex-basis:110px}}


/* ECPB 5.4.1 — fotos de perfil integradas */
.user-identity{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.user-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;object-fit:cover;background:#e8efe9;border:1px solid rgba(0,0,0,.12);font-weight:700;color:#245535;overflow:hidden}.user-avatar-sm{width:34px;height:34px;font-size:12px}.user-avatar-md{width:46px;height:46px;font-size:14px}.user-avatar-xl{width:96px;height:96px;font-size:24px}.user-avatar-placeholder{line-height:1}.forum-author{display:flex;align-items:center;gap:10px}.course-card .user-identity{margin-top:4px}.profile-photo-preview .user-avatar-xl{width:110px;height:110px}

/* ECPB 5.4.3 — fotos no cabeçalho e na Central do Aluno */
.user-area{display:flex;align-items:center;gap:10px}
.header-user-photo{display:flex;align-items:center;justify-content:center}
.header-user-photo .user-avatar-md{width:48px;height:48px;border:2px solid rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.student-course-hero{display:flex;align-items:center;justify-content:space-between;gap:26px}
.student-course-hero-copy{min-width:0}
.student-course-hero-profile{display:flex;align-items:center;gap:16px;min-width:300px;justify-content:flex-end}
.student-course-hero-profile .user-avatar-xl{width:118px;height:118px;border:4px solid #fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.student-course-hero-profile>div{display:grid;gap:4px;text-align:left}
.student-course-hero-profile strong{font-size:20px;line-height:1.2;color:#fff;max-width:280px}
.student-course-hero-profile span{color:#f4d769;font-weight:800}
@media(max-width:900px){.student-course-hero{align-items:flex-start}.student-course-hero-profile{min-width:0}.student-course-hero-profile .user-avatar-xl{width:96px;height:96px}.student-course-hero-profile strong{font-size:17px}}
@media(max-width:650px){.header-user-photo .user-avatar-md{width:40px;height:40px}.student-course-hero{display:grid}.student-course-hero-profile{justify-content:flex-start}.student-course-hero-profile .user-avatar-xl{width:88px;height:88px}}

/* ECPB 5.4.5 — Central do Aluno em layout de painel */
.student-dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:30px;align-items:center;margin:0 0 28px;padding:34px;border-radius:22px;background:linear-gradient(135deg,#03492f 0%,#087044 58%,#075c3c 100%);color:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(3,73,47,.18)}
.student-dashboard-hero:after{content:"";position:absolute;right:-80px;bottom:-150px;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.02)}
.student-dashboard-profile{position:relative;z-index:1;display:flex;align-items:center;gap:24px;min-width:0}.student-dashboard-profile .user-avatar-xl{width:132px;height:132px;border:5px solid #fff;box-shadow:0 10px 26px rgba(0,0,0,.28);font-size:30px}.student-dashboard-profile .eyebrow{display:block;margin-bottom:7px;color:#f3ce49;font-weight:900;letter-spacing:.12em}.student-dashboard-profile h1{margin:0;font-size:clamp(25px,3vw,40px);line-height:1.08;color:#fff}.student-dashboard-profile p{margin:8px 0 0;font-size:18px;font-weight:700;color:#f3ce49}
.student-account-summary{position:relative;z-index:1;background:#fff;color:#173d2d;border-radius:16px;padding:20px 22px;box-shadow:0 12px 30px rgba(0,0,0,.17)}.student-account-summary h3{margin:0 0 10px;color:#075737}.student-account-summary>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #e5ebe7}.student-account-summary>div strong{color:#087044}.student-account-summary button{width:100%;margin-top:14px}
.student-welcome{margin:0 0 30px;padding:2px 4px}.student-welcome h2{margin:0 0 7px;color:#075737;font-size:27px}.student-welcome p{margin:0;color:#53655c;font-size:16px}
.student-dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:28px 0 16px}.student-dashboard-section-head h2{margin:0;color:#083f2c;font-size:27px}.student-dashboard-section-head p{margin:5px 0 0;color:#6a776f}
.student-dashboard-course-grid{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}.student-dashboard-course-card{display:flex;flex-direction:column;min-width:0;height:100%;background:#fff;border:1px solid #dfe7e1;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(5,67,43,.08);transition:.2s ease}.student-dashboard-course-card:hover{transform:translateY(-4px);box-shadow:0 13px 28px rgba(5,67,43,.14)}.student-course-cover{position:relative;height:170px;background:#eaf1ec;overflow:hidden}.student-course-cover img{width:100%;height:100%;display:block;object-fit:cover}.student-course-cover-placeholder{height:100%;display:grid;place-items:center;align-content:center;gap:8px;background:linear-gradient(135deg,#e4eee7,#f7faf8);color:#0a6842}.student-course-cover-placeholder span{font-size:43px}.student-course-cover-placeholder small{font-weight:800}.student-course-status{position:absolute;top:12px;right:12px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;box-shadow:0 3px 10px rgba(0,0,0,.14)}.student-course-status.is-active{background:#fff1b9;color:#6b5100}.student-course-status.is-completed{background:#d9f3e3;color:#076238}.student-course-card-body{display:flex;flex:1;flex-direction:column;padding:18px}.student-course-category{font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#77867d}.student-course-card-body h3{margin:7px 0 12px;color:#075737;font-size:20px;line-height:1.22}.student-course-teacher{margin-bottom:16px}.student-progress-head{display:flex;justify-content:space-between;margin-top:auto;margin-bottom:7px;font-size:13px}.student-course-card-body .progress-track{height:7px;margin-bottom:17px}.student-course-card-body button{width:100%}.student-completed-section,.student-finance-preview{scroll-margin-top:100px}.student-empty-state{grid-column:1/-1;padding:30px;text-align:center}.student-finance-preview{margin-top:34px}
.student-dashboard-course-grid-all.student-course-count-1{grid-template-columns:minmax(0,1fr)}
.student-dashboard-course-grid-all.student-course-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.student-dashboard-course-grid-all.student-course-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.student-dashboard-hero{grid-template-columns:1fr}.student-account-summary{max-width:none}.student-dashboard-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.student-dashboard-hero{padding:24px 18px;border-radius:16px}.student-dashboard-profile{align-items:flex-start;gap:15px}.student-dashboard-profile .user-avatar-xl{width:90px;height:90px}.student-dashboard-profile h1{font-size:22px}.student-dashboard-section-head{align-items:flex-start;flex-direction:column}.student-dashboard-course-grid{grid-template-columns:1fr}.student-course-cover{height:190px}}

/* ECPB 5.4.6 — foto do cadastro e capas temáticas */
.student-course-cover-placeholder{position:relative;overflow:hidden;isolation:isolate;min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#fff;background:linear-gradient(135deg,#164b34,#0b6b45)}
.student-course-cover-placeholder:before,.student-course-cover-placeholder:after{content:'';position:absolute;border-radius:999px;z-index:-1;opacity:.22}
.student-course-cover-placeholder:before{width:230px;height:230px;right:-75px;top:-105px;border:2px solid currentColor;box-shadow:0 0 0 28px transparent,0 0 0 30px currentColor,0 0 0 58px transparent,0 0 0 60px currentColor}
.student-course-cover-placeholder:after{width:150px;height:150px;left:-65px;bottom:-90px;background:currentColor;filter:blur(1px)}
.student-course-cover-placeholder.theme-law{background:linear-gradient(135deg,#182c46,#6f4d18 115%);color:#f1d17a}
.student-course-cover-placeholder.theme-accounting{background:linear-gradient(135deg,#0d4d3d,#17735d 65%,#c79d2b 150%);color:#f8e5a8}
.student-course-cover-placeholder.theme-general{background:linear-gradient(135deg,#164b34,#0b6b45);color:#f4d769}
.themed-cover-icon{font-size:64px;line-height:1;text-shadow:0 10px 24px rgba(0,0,0,.28);transform:translateY(-3px)}
.student-course-cover-placeholder small{font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.themed-cover-lines{position:absolute;inset:auto 22px 24px 22px;height:3px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.65}
.student-dashboard-profile .user-avatar-xl{width:132px;height:132px;min-width:132px;object-fit:cover}


/* ECPB 5.4.7 — Central de Avaliações do professor */
.assessment-central{padding:10px 18px 0}
.assessment-central-head{padding:8px 0 22px;border-bottom:1px solid var(--line,#dce5de)}
.assessment-central-head h1{margin:0 0 10px;color:var(--green-dark,#073b25);font-size:clamp(30px,3vw,44px);line-height:1.08}
.assessment-central-head p{margin:0;color:var(--muted,#66756d);font-size:17px}
.assessment-central-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:30px 0 26px}
.assessment-central-card{background:#fff;border:1px solid #dfe7e1;border-radius:14px;box-shadow:0 6px 18px rgba(15,81,50,.07);padding:28px 18px 18px;text-align:center;display:flex;flex-direction:column;min-height:375px}
.assessment-central-icon{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font-size:48px;font-weight:900;color:#0f6845;background:#e6f5ec}
.assessment-central-card.card-2 .assessment-central-icon{color:#d97800;background:#fff0df}
.assessment-central-card.card-3 .assessment-central-icon{color:#126bc1;background:#e6f1ff}
.assessment-central-card.card-4 .assessment-central-icon{color:#6730b7;background:#f0e8ff}
.assessment-central-card.card-5 .assessment-central-icon{color:#b68500;background:#fff4cc}
.assessment-central-card h2{margin:0 0 16px;color:var(--green-dark,#073b25);font-size:25px}
.assessment-central-card p{margin:0 auto 24px;color:#39483f;line-height:1.55;font-size:16px;max-width:230px;flex:1}
.assessment-central-card button{width:100%;display:flex;align-items:center;justify-content:center;gap:16px;border-radius:8px;padding:13px 12px;font-size:15px;background:linear-gradient(90deg,#075a38,#006a42)}
.assessment-central-card button span{font-size:24px;line-height:1}
.assessment-central-info{display:flex;align-items:center;gap:20px;border:1px solid #cfe4d7;background:#edf7f1;border-radius:13px;padding:18px 22px;margin-bottom:22px}
.assessment-info-icon{width:44px;height:44px;flex:0 0 44px;border:3px solid #0f6845;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:900;color:#0f6845;font-family:Georgia,serif}
.assessment-central-info strong{display:block;color:#0b5737;font-size:19px;margin-bottom:3px}
.assessment-central-info p{margin:0;color:#58665e}
@media(max-width:1200px){.assessment-central-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.assessment-central{padding:0}.assessment-central-grid{grid-template-columns:1fr 1fr;gap:15px}.assessment-central-card{min-height:340px}.assessment-central-icon{width:86px;height:86px;font-size:40px}}
@media(max-width:560px){.assessment-central-grid{grid-template-columns:1fr}.assessment-central-card{min-height:0}.assessment-central-info{align-items:flex-start}.assessment-central-head p{font-size:15px}}

/* ECPB 5.5.0 — menus responsivos para celular, tablet e telas menores */
.mobile-menu-toggle{display:none!important;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px!important;background:#d4af37!important;color:#073b25!important;border:1px solid #f3dd91!important;flex:0 0 auto}
.mobile-menu-photo{display:none}
.ecpb-version{font-size:0}
.ecpb-version::after{content:'';font-size:11px}
.admin-preview-bar{position:sticky;top:0;z-index:5000;display:flex;align-items:center;justify-content:center;gap:16px;padding:11px 14px;background:#8f2438;color:#fff;border-bottom:4px solid #f4ce46;text-align:center;box-shadow:0 5px 18px rgba(0,0,0,.3)}
.admin-preview-bar strong{color:#ffe36c}
.admin-preview-bar button{padding:8px 14px!important;background:#f4ce46!important;color:#322500!important;border:2px solid #fff!important}
.student-row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:330px}
.mobile-logout{display:none!important}
.mobile-menu-icon{font-size:20px;line-height:1;width:21px;text-align:center}
.mobile-menu-backdrop[hidden]{display:none!important}
@media(max-width:900px){
 body.mobile-menu-open{overflow:hidden}
 .header-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px!important;min-height:68px!important;padding:9px 12px!important;position:relative}
 .ecpb-header-brand.brand-home{min-width:0!important;max-width:none!important;overflow:hidden;text-overflow:ellipsis;font-size:clamp(12px,2.6vw,17px)!important;text-align:left!important}
 .mobile-menu-toggle{display:inline-flex!important}
 .mobile-menu-photo{display:inline-flex!important}
 .mobile-menu-photo .user-avatar-md{width:32px!important;height:32px!important;min-width:32px!important;border:2px solid #fff!important}
 .user-area{margin:0!important;gap:7px!important}
 .user-area .header-user-photo,.user-area .user-meta{display:none!important}
 .user-area #logout{min-height:44px;padding:9px 12px!important}
 .nav-horizontal{display:none!important;position:fixed!important;z-index:1002!important;top:68px!important;left:10px!important;right:10px!important;width:auto!important;max-height:calc(100dvh - 80px)!important;overflow-y:auto!important;overflow-x:hidden!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:12px!important;background:#07452d!important;border:2px solid #d4af37!important;border-radius:0 0 14px 14px!important;box-shadow:0 18px 45px rgba(0,0,0,.36)!important}
 .nav-horizontal.mobile-open{display:flex!important}
 .nav-horizontal button{display:flex!important;width:100%!important;min-height:48px!important;align-items:center!important;justify-content:flex-start!important;padding:12px 14px!important;text-align:left!important;font-size:15px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.06)!important}
 .nav-horizontal button:hover,.nav-horizontal button:focus-visible,.nav-horizontal button.active{background:#d4af37!important;color:#073b25!important}
 .nav-horizontal .mobile-logout{display:flex!important;margin-top:5px!important;background:#8f2438!important;color:#fff!important;border-color:#c85a6e!important}
 .mobile-menu-backdrop{display:block;position:fixed;inset:68px 0 0;z-index:49;background:rgba(3,24,15,.64)}
 .main{padding:16px 12px 24px!important}
 .toolbar,.page-head{max-width:100%}
 .toolbar-actions{width:100%}
 .toolbar-actions button{min-height:44px}
}
@media(max-width:480px){
 .header-main{grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px!important}
 .user-area{display:flex!important;grid-column:auto!important}
 .user-area #logout{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:8px 10px!important;font-size:13px!important}
 .ecpb-header-brand.brand-home{font-size:12px!important}
 .mobile-menu-toggle{padding:9px 10px!important}
 .mobile-menu-toggle>span:nth-child(2){display:none}
 .nav-horizontal{top:68px!important;left:6px!important;right:6px!important;max-height:calc(100dvh - 74px)!important}
 .mobile-menu-backdrop{inset:68px 0 0}
 .global-search{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;padding-left:10px!important}
 .global-search input{min-width:0}
 .lesson-navigation button,.toolbar-actions button{width:100%}
}

/* ECPB 5.5.1 — Central do Aluno inteiramente responsiva */
@media(max-width:900px){
 .student-dashboard-hero{width:100%;grid-template-columns:1fr!important;gap:18px!important;padding:26px 22px!important;margin-bottom:22px!important}
 .student-dashboard-profile{width:100%;min-width:0!important}
 .student-dashboard-profile>div{min-width:0}
 .student-dashboard-profile h1{overflow-wrap:anywhere}
 .student-account-summary{width:100%;min-width:0!important}
 .student-dashboard-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
 .student-finance-preview,.student-completed-section{max-width:100%;overflow:hidden}
 .student-finance-preview .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .student-finance-preview table{min-width:680px}
 .student-course-layout{grid-template-columns:1fr!important}
 .lesson-sidebar{position:static!important;max-height:none!important}
}
@media(max-width:620px){
 .student-dashboard-hero{padding:20px 16px!important;border-radius:15px!important}
 .student-dashboard-profile{display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;align-items:center!important;gap:13px!important}
 .student-dashboard-profile .user-avatar-xl{width:74px!important;height:74px!important;min-width:74px!important;border-width:3px!important;font-size:20px!important}
 .student-dashboard-profile .eyebrow{font-size:10px!important;letter-spacing:.08em!important}
 .student-dashboard-profile h1{font-size:20px!important}
 .student-dashboard-profile p{font-size:14px!important;margin-top:4px!important}
 .student-account-summary{padding:16px!important}
 .student-account-summary>div{align-items:flex-start;gap:12px!important;font-size:14px}
 .student-account-summary>div span{min-width:0}
 .student-account-summary>div strong{text-align:right;overflow-wrap:anywhere}
 .student-welcome{margin-bottom:22px!important;padding:0!important}
 .student-welcome h2,.student-dashboard-section-head h2{font-size:22px!important}
 .student-dashboard-section-head{align-items:stretch!important;flex-direction:column!important;margin:22px 0 12px!important}
 .student-dashboard-section-head button{width:100%;min-height:44px}
 .student-dashboard-course-grid{grid-template-columns:1fr!important;gap:14px!important}
 .student-dashboard-course-card{width:100%;min-width:0}
 .student-course-cover{height:175px!important}
 .student-course-card-body{padding:16px!important}
 .student-empty-state{padding:20px 16px!important}
 .student-enrollment-card{padding:16px!important}
 .student-enrollment-data{grid-template-columns:1fr!important}
 .student-enrollment-data>div{grid-column:1!important}
 .student-course-panel-bar .toolbar-actions,.course-top>div{width:100%}
 .student-course-panel-bar button,.course-top button{width:100%;margin-bottom:7px}
 .lesson-heading{align-items:flex-start!important;flex-direction:column!important}
 .lesson-focus{padding:15px!important}
 .materials-list,.material-actions{max-width:100%}
 .material-actions{display:grid!important;grid-template-columns:1fr!important}
 .material-actions a{overflow-wrap:anywhere}
 .lesson-navigation{grid-template-columns:1fr!important}
 .lesson-navigation span{grid-column:1!important;grid-row:auto!important;order:-1}
 .lesson-navigation button{width:100%;justify-self:stretch!important}
 .global-home{right:10px!important;bottom:10px!important;padding:10px 12px!important}
 .student-row-actions{display:grid!important;grid-template-columns:1fr 1fr!important;min-width:260px!important}
 .student-row-actions button{width:100%!important;min-height:42px!important}
 .admin-preview-bar{position:relative;flex-direction:column;gap:7px;padding:10px;font-size:13px}
 .admin-preview-bar button{width:100%}
}
@media(max-width:430px){
 .student-dashboard-profile{grid-template-columns:62px minmax(0,1fr)!important}
 .student-dashboard-profile .user-avatar-xl{width:62px!important;height:62px!important;min-width:62px!important}
 .student-account-summary>div{display:grid!important;grid-template-columns:1fr auto!important}
 .student-course-cover{height:155px!important}
 .student-course-card-body h3{font-size:18px!important}
 .student-finance-preview table{min-width:620px}
}


/* ECPB Cursos 6.1.2 — menu superior colorido, uniforme e sem saída duplicada */
@media (min-width:901px){
  .header-main{gap:18px!important;padding:10px 18px!important;}
  .nav-horizontal{gap:14px!important;justify-content:center!important;overflow-x:auto!important;}
  .nav-horizontal .ecpb-nav-item{
    flex:0 0 142px!important;
    width:142px!important;
    min-width:142px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    border:1px solid rgba(255,255,255,.20)!important;
    border-radius:10px!important;
    color:#fff!important;
    font-weight:800!important;
    box-shadow:0 4px 10px rgba(0,0,0,.16)!important;
    transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important;
  }
  .nav-horizontal .ecpb-nav-item:hover{transform:translateY(-2px)!important;filter:brightness(1.06)!important;box-shadow:0 7px 16px rgba(0,0,0,.22)!important;}
  .nav-horizontal .ecpb-nav-item.active{outline:2px solid #fff!important;outline-offset:2px!important;filter:brightness(1.06)!important;}
  .nav-horizontal .ecpb-nav-1{background:#ec3f80!important;} /* rosa */
  .nav-horizontal .ecpb-nav-2{background:#df2428!important;} /* vermelho */
  .nav-horizontal .ecpb-nav-3{background:#f47b14!important;} /* laranja */
  .nav-horizontal .ecpb-nav-4{background:#f4bd18!important;} /* amarelo */
  .nav-horizontal .ecpb-nav-5{background:#57a92f!important;} /* verde */
  .nav-horizontal .ecpb-nav-6{background:#12a9ba!important;} /* turquesa */
  .nav-horizontal .ecpb-nav-7{background:#176fd0!important;} /* índigo/azul */
  .nav-horizontal .ecpb-nav-8{background:#7436bb!important;} /* violeta */
  .ecpb-nav-icon{font-size:17px;line-height:1;display:inline-grid;place-items:center;min-width:20px;}
  .user-area #logout{background:#fff8de!important;color:#17412f!important;border:1px solid #f0d877!important;}
}
@media (max-width:900px){
  .nav-horizontal .ecpb-nav-item{color:#fff!important;font-weight:800!important;}
  .nav-horizontal .ecpb-nav-1{background:#ec3f80!important;}
  .nav-horizontal .ecpb-nav-2{background:#df2428!important;}
  .nav-horizontal .ecpb-nav-3{background:#f47b14!important;}
  .nav-horizontal .ecpb-nav-4{background:#f4bd18!important;color:#27340f!important;}
  .nav-horizontal .ecpb-nav-5{background:#57a92f!important;}
  .nav-horizontal .ecpb-nav-6{background:#12a9ba!important;}
  .nav-horizontal .ecpb-nav-7{background:#176fd0!important;}
  .nav-horizontal .ecpb-nav-8{background:#7436bb!important;}
  .ecpb-nav-icon{display:inline-grid;place-items:center;min-width:22px;margin-right:3px;}
}

/* ECPB Cursos 6.1.4 — banner educacional escuro/preto nas áreas Administrador, Professor e Aluno */
.home-hero{
  position:relative!important;
  min-height:270px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background-color:#05090d!important;
  background-image:
    linear-gradient(90deg,rgba(2,9,13,.22) 0%,rgba(0,0,0,.36) 30%,rgba(0,0,0,.48) 50%,rgba(0,0,0,.36) 70%,rgba(2,9,13,.22) 100%),
    url('../images/banner-educacao-preto.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  color:#fff!important;
  border:1px solid rgba(201,162,39,.28)!important;
  border-bottom:4px solid var(--gold)!important;
  border-radius:20px!important;
  padding:34px 30px!important;
  box-shadow:0 12px 32px rgba(0,0,0,.20)!important;
}
.home-hero:before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:radial-gradient(circle at 50% 45%,rgba(0,0,0,.12) 0%,rgba(0,0,0,.30) 72%,rgba(0,0,0,.46) 100%)!important;
  z-index:0!important;
}
.home-hero:after{display:none!important;content:none!important;}
.home-hero .welcome{
  position:relative!important;
  z-index:2!important;
  width:min(980px,100%)!important;
  margin:0 auto!important;
  text-align:center!important;
}
.home-hero .welcome h1{
  color:#fff!important;
  text-shadow:0 3px 12px rgba(0,0,0,.78)!important;
}
.home-hero .welcome-name{color:#f3c43b!important;}
.home-hero .date-time{
  justify-content:center!important;
  color:#fff!important;
  text-shadow:0 2px 7px rgba(0,0,0,.85)!important;
}
.home-hero .search-wrap{
  width:min(900px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.home-hero .global-search{
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.34)!important;
}
@media(max-width:700px){
  .home-hero{min-height:235px!important;padding:28px 16px!important;background-position:center center!important;}
}

/* ECPB Cursos 6.1.5 — nome do usuário longo sem desconfigurar o cabeçalho */
.header-main{min-width:0!important;}
.nav-horizontal{min-width:0!important;}
.user-area{
  flex:0 0 232px!important;
  width:232px!important;
  min-width:232px!important;
  max-width:232px!important;
  gap:8px!important;
  overflow:hidden!important;
}
.user-area .header-user-photo{flex:0 0 auto!important;}
.user-area .user-meta{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:148px!important;
  width:148px!important;
  white-space:normal!important;
  overflow:hidden!important;
  line-height:1.08!important;
}
.user-area .user-meta strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.08!important;
  max-height:2.16em!important;
  font-size:13px!important;
}
.user-area .user-meta span{
  display:block!important;
  margin-top:3px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:11px!important;
}
.user-area #logout{
  flex:0 0 auto!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
@media(max-width:1180px) and (min-width:901px){
  .user-area{flex-basis:205px!important;width:205px!important;min-width:205px!important;max-width:205px!important;}
  .user-area .user-meta{width:122px!important;max-width:122px!important;}
  .user-area .header-user-photo .user-avatar-md{width:42px!important;height:42px!important;}
}


/* ECPB Cursos 6.1.6 — ajuste do menu Central de Avaliações na área do professor */
@media (min-width:901px){
  body.role-teacher .header-main{gap:10px!important;padding-left:12px!important;padding-right:12px!important;}
  body.role-teacher .nav-horizontal{gap:8px!important;justify-content:flex-start!important;overflow-x:hidden!important;}
  body.role-teacher .nav-horizontal .ecpb-nav-item{
    flex:1 1 0!important;
    width:auto!important;
    min-width:82px!important;
    max-width:116px!important;
    height:54px!important;
    padding:0 7px!important;
    gap:5px!important;
    font-size:11px!important;
    line-height:1.05!important;
    white-space:normal!important;
    text-align:center!important;
  }
  body.role-teacher .nav-horizontal .ecpb-nav-item > span:last-child{
    display:block!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    line-height:1.05!important;
  }
  body.role-teacher .nav-horizontal .ecpb-nav-item:last-child > span:last-child{
    max-width:72px!important;
  }
  body.role-teacher .ecpb-nav-icon{font-size:14px!important;min-width:14px!important;}
}
@media (min-width:1181px){
  body.role-teacher .nav-horizontal{gap:10px!important;justify-content:center!important;}
  body.role-teacher .nav-horizontal .ecpb-nav-item{
    min-width:108px!important;
    max-width:128px!important;
    font-size:12px!important;
    padding:0 9px!important;
  }
  body.role-teacher .nav-horizontal .ecpb-nav-item:last-child > span:last-child{max-width:88px!important;}
}

/* ECPB Cursos 6.1.8 — ajuste do menu do Administrador com Central de Avaliações */
@media (min-width:901px){
  body.role-admin .header-main{
    gap:8px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body.role-admin .header-brand{
    flex:0 0 126px!important;
    width:126px!important;
    max-width:126px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:13px!important;
  }
  body.role-admin .nav-horizontal{
    flex:1 1 auto!important;
    min-width:0!important;
    gap:7px!important;
    justify-content:center!important;
    overflow-x:hidden!important;
  }
  body.role-admin .nav-horizontal .ecpb-nav-item{
    flex:1 1 0!important;
    width:auto!important;
    min-width:72px!important;
    max-width:98px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 6px!important;
    gap:4px!important;
    font-size:10.5px!important;
    line-height:1.04!important;
    white-space:normal!important;
    text-align:center!important;
  }
  body.role-admin .nav-horizontal .ecpb-nav-item > span:last-child{
    display:block!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    line-height:1.04!important;
  }
  body.role-admin .ecpb-nav-icon{
    font-size:13px!important;
    min-width:13px!important;
  }
  body.role-admin .user-area{
    flex:0 0 170px!important;
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    gap:6px!important;
  }
  body.role-admin .user-area .user-meta{
    width:83px!important;
    max-width:83px!important;
  }
  body.role-admin .user-area .header-user-photo .user-avatar-md{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
  }
  body.role-admin .user-area #logout{
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:11px!important;
  }
}
@media (min-width:1181px){
  body.role-admin .header-main{gap:10px!important;padding-left:14px!important;padding-right:14px!important;}
  body.role-admin .header-brand{flex-basis:150px!important;width:150px!important;max-width:150px!important;font-size:14px!important;}
  body.role-admin .nav-horizontal{gap:9px!important;}
  body.role-admin .nav-horizontal .ecpb-nav-item{min-width:88px!important;max-width:112px!important;font-size:11.5px!important;padding:0 8px!important;}
  body.role-admin .user-area{flex-basis:205px!important;width:205px!important;min-width:205px!important;max-width:205px!important;}
  body.role-admin .user-area .user-meta{width:112px!important;max-width:112px!important;}
}


/* ECPB 6.1.9 — Botão Início global no topo direito de todas as telas internas */
.global-home-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:42px;
  margin:0 0 12px 0;
}
.global-home{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  z-index:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:92px;
  padding:9px 15px!important;
  border-radius:10px!important;
  background:#0f6b43!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.3)!important;
  box-shadow:0 5px 14px rgba(15,81,50,.18)!important;
  white-space:nowrap;
}
.global-home:hover{background:#0b5938!important;transform:translateY(-1px)}
.global-back{position:static!important;display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:9px 15px!important;border-radius:10px!important;background:#fff8dc!important;color:#073b25!important;border:1px solid #d4af37!important;box-shadow:0 5px 14px rgba(132,98,0,.12)!important;white-space:nowrap}.global-back:hover{background:#fff2bd!important;transform:translateY(-1px)}
@media(max-width:850px){
  .global-home-row{min-height:38px;margin-bottom:9px}
  .global-home,.global-back{min-width:84px;padding:8px 12px!important;font-size:13px}
}
@media print{.global-home-row{display:none!important}}

/* ECPB Cursos 6.1.10 — sequência de cores da bandeira LGBT original de 1978 no menu */
/* 1 rosa, 2 vermelho, 3 laranja, 4 amarelo, 5 verde, 6 turquesa, 7 índigo, Sair violeta */
.nav-horizontal .ecpb-nav-1{background:#ec3f80!important;color:#fff!important;} /* rosa */
.nav-horizontal .ecpb-nav-2{background:#df2428!important;color:#fff!important;} /* vermelho */
.nav-horizontal .ecpb-nav-3{background:#f47b14!important;color:#fff!important;} /* laranja */
.nav-horizontal .ecpb-nav-4{background:#f4bd18!important;color:#27340f!important;} /* amarelo */
.nav-horizontal .ecpb-nav-5{background:#57a92f!important;color:#fff!important;} /* verde */
.nav-horizontal .ecpb-nav-6{background:#12a9ba!important;color:#fff!important;} /* turquesa */
.nav-horizontal .ecpb-nav-7{background:#2447a8!important;color:#fff!important;} /* índigo */
.nav-horizontal .ecpb-nav-8{background:#7436bb!important;color:#fff!important;} /* violeta, caso exista 8º módulo */
.user-area #logout{
  background:#7436bb!important;
  color:#fff!important;
  border:1px solid #8f5cd0!important;
  box-shadow:0 5px 14px rgba(75,35,130,.28)!important;
}
.user-area #logout:hover{background:#642aa9!important;color:#fff!important;filter:brightness(1.05)!important;}
@media(max-width:900px){
  .user-area #logout{background:#7436bb!important;color:#fff!important;border-color:#8f5cd0!important;}
  .nav-horizontal .mobile-logout{background:#7436bb!important;color:#fff!important;border-color:#8f5cd0!important;}
}


/* ECPB Cursos 6.1.12 — cores fixas da bandeira LGBT original de 1978 */
/* As cores já aparecem ao abrir e não mudam no hover, foco ou item ativo. */
.nav-horizontal .ecpb-nav-1{background:#ec3f80!important;color:#fff!important;}
.nav-horizontal .ecpb-nav-2{background:#df2428!important;color:#fff!important;}
.nav-horizontal .ecpb-nav-3{background:#f47b14!important;color:#fff!important;}
.nav-horizontal .ecpb-nav-4{background:#f4bd18!important;color:#27340f!important;}
.nav-horizontal .ecpb-nav-5{background:#57a92f!important;color:#fff!important;}
.nav-horizontal .ecpb-nav-6{background:#12a9ba!important;color:#fff!important;}
.nav-horizontal .ecpb-nav-7{background:#2447a8!important;color:#fff!important;}
.nav-horizontal .ecpb-nav-8{background:#7436bb!important;color:#fff!important;}
.nav-horizontal .ecpb-nav-item:hover,
.nav-horizontal .ecpb-nav-item:focus,
.nav-horizontal .ecpb-nav-item:focus-visible,
.nav-horizontal .ecpb-nav-item.active{
  filter:none!important;
  transform:none!important;
  box-shadow:0 4px 10px rgba(0,0,0,.16)!important;
}
.nav-horizontal .ecpb-nav-item.active{outline:2px solid rgba(255,255,255,.92)!important;outline-offset:2px!important;}
.user-area #logout,
.user-area #logout:hover,
.user-area #logout:focus,
.user-area #logout:active,
.nav-horizontal .mobile-logout,
.nav-horizontal .mobile-logout:hover,
.nav-horizontal .mobile-logout:focus,
.nav-horizontal .mobile-logout:active{
  background:#7436bb!important;
  color:#fff!important;
  border-color:#8f5cd0!important;
  filter:none!important;
  transform:none!important;
}


/* ECPB Cursos 6.1.12 — sequência 1978 fixa em todos os estados */
/* A cor de cada módulo é definida no próprio botão pelo JS; hover/ativo só recebem destaque visual. */
.nav-horizontal .ecpb-nav-item,
.nav-horizontal .ecpb-nav-item:hover,
.nav-horizontal .ecpb-nav-item:focus,
.nav-horizontal .ecpb-nav-item:focus-visible,
.nav-horizontal .ecpb-nav-item:active,
.nav-horizontal .ecpb-nav-item.active{
  background-image:none!important;
  filter:none!important;
}
.nav-horizontal .ecpb-nav-item:hover{transform:translateY(-1px)!important;box-shadow:0 6px 14px rgba(0,0,0,.20)!important;}
.nav-horizontal .ecpb-nav-item.active{transform:none!important;outline:2px solid rgba(255,255,255,.96)!important;outline-offset:2px!important;box-shadow:0 5px 13px rgba(0,0,0,.22)!important;}
.user-area #logout,
.user-area #logout:hover,
.user-area #logout:focus,
.user-area #logout:focus-visible,
.user-area #logout:active{background:#7436bb!important;color:#fff!important;border-color:#8f5cd0!important;filter:none!important;}

/* ECPB Cursos 6.1.13 — Financeiro organizado em 8 cards */
.finance-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:10px 0 26px}
.finance-function-card{min-height:142px;background:#fff!important;color:#183126!important;border:1px solid #dce5de!important;border-top:5px solid #0f6741!important;border-radius:16px!important;padding:20px!important;text-align:left!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:7px!important;box-shadow:0 5px 18px rgba(15,81,50,.08)!important}
.finance-function-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 26px rgba(15,81,50,.14)!important}
.finance-function-card strong{font-size:16px}.finance-function-card small{color:#66756d;line-height:1.35}.finance-card-icon{font-size:25px;line-height:1}.finance-card-disabled{opacity:.55}
.finance-summary-title{margin-top:8px}.finance-summary-clickable{margin-bottom:18px}.finance-summary-card{display:block!important;width:100%!important;text-align:left!important;color:#183126!important;background:#fff!important;border:1px solid #dce5de!important;padding:18px!important}.finance-summary-card:hover{border-color:#0f6741!important;box-shadow:0 8px 22px rgba(15,81,50,.12)!important}.finance-summary-card small{display:block;margin-top:5px;color:#66756d}.finance-summary-card .metric{color:#0f5132!important}
.finance-workspace{margin-top:20px;background:#fff;border:1px solid #dce5de;border-radius:16px;padding:22px;min-height:170px;box-shadow:0 4px 14px rgba(31,42,68,.05)}.finance-empty-state{text-align:center;padding:30px 14px;color:#66756d}.finance-empty-state strong{display:block;color:#183126;font-size:18px;margin-bottom:6px}.finance-subhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.finance-subhead h3{margin:0}.finance-subhead p{margin:5px 0 0}.finance-student-select{max-width:720px;margin:0 0 20px}.finance-student-result{margin-top:14px}.student-finance-header{display:grid;grid-template-columns:2fr 1.4fr .8fr;gap:12px;margin-bottom:18px}.student-finance-header>div{border:1px solid #dce5de;border-radius:12px;padding:14px;background:#f8fbf9}.student-finance-header span,.student-finance-header small{display:block;color:#66756d;font-size:12px}.student-finance-header strong{display:block;margin:4px 0;font-size:15px}
@media(max-width:1050px){.finance-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-finance-header{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.finance-action-grid{grid-template-columns:1fr}.student-finance-header{grid-template-columns:1fr}.finance-workspace{padding:14px}}

/* ECPB Cursos 6.1.14 — Situação do aluno em tela independente */
.finance-student-page-head{align-items:center;margin-bottom:18px}
.finance-student-picker-card{max-width:760px;margin:0 auto 18px;padding:22px}
.finance-student-picker-card .finance-student-select{display:grid;gap:8px;font-weight:700}
.finance-student-picker-card select{width:100%;min-height:48px}
.finance-student-result{display:grid;gap:18px}
.finance-student-enrollments,.finance-student-invoices{overflow:auto}

/* ECPB Cursos 6.1.15 — Conclusão de aula sem avanço automático; próxima aula somente por ação do aluno */


/* ECPB Cursos 6.1.18 — aula do aluno em largura total com seletor de aulas */
.student-lesson-selector{margin:0 0 16px;padding:14px 16px}
.student-lesson-selector label{display:grid;grid-template-columns:minmax(130px,190px) minmax(260px,1fr);gap:12px;align-items:center;margin:0}
.student-lesson-selector select{width:100%;margin:0;min-height:44px}
.student-lesson-selector small{display:block;margin-top:8px}
.student-course-layout.student-course-layout-wide{display:block!important;grid-template-columns:none!important}
.student-course-layout-wide .lesson-focus{width:100%;max-width:none;min-width:0}
.student-course-layout-wide .lesson-content{width:100%;max-width:none}
@media(max-width:700px){.student-lesson-selector label{grid-template-columns:1fr;gap:7px}}

/* ECPB Cursos 6.1.19 — retorno padronizado às opções do curso na Central do Aluno */
.student-course-panel-bar .toolbar-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ECPB Cursos 6.2.1 — Home clara, banner full-bleed e sem título Visão geral */
.home-hero{
  width:calc(100vw - 24px)!important;
  max-width:none!important;
  min-height:410px!important;
  margin:0 0 0 calc(50% - 50vw + 12px)!important;
  padding:58px clamp(28px,7vw,120px) 92px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background-color:#d9effa!important;
  background-image:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.80) 29%,rgba(255,255,255,.25) 48%,rgba(255,255,255,.03) 72%),url('../images/home-educacao-clara.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  border:0!important;
  border-bottom:4px solid #d4af37!important;
  border-radius:0 0 18px 18px!important;
  box-shadow:0 12px 34px rgba(8,36,73,.12)!important;
  overflow:visible!important;
  color:#07264d!important;
}
.home-hero:before,.home-hero:after{display:none!important;content:none!important;}
.home-hero .welcome{
  width:min(720px,56vw)!important;
  margin:0!important;
  text-align:left!important;
  align-items:flex-start!important;
}
.home-hero .welcome h1{
  width:100%!important;
  margin:0 0 8px!important;
  color:#082852!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-style:italic!important;
  font-size:clamp(34px,3.7vw,58px)!important;
  line-height:1.05!important;
  text-align:left!important;
  text-shadow:0 1px 0 rgba(255,255,255,.65)!important;
}
.home-hero .welcome-name{color:#b27b10!important;}
.home-subtitle{
  margin:0 0 24px!important;
  color:#17375f!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-style:italic!important;
  font-size:clamp(17px,1.4vw,22px)!important;
}
.home-hero .date-time{
  width:100%!important;
  justify-content:flex-start!important;
  color:#102f58!important;
  text-shadow:none!important;
  font-size:15px!important;
  margin-bottom:28px!important;
}
.home-hero .search-wrap{
  width:min(690px,100%)!important;
  margin:0!important;
}
.home-hero .global-search{
  background:#fff!important;
  border:1px solid rgba(7,39,79,.12)!important;
  box-shadow:0 10px 30px rgba(7,39,79,.18)!important;
}
.home-hero .global-search button{background:#082d5f!important;color:#fff!important;}
.home-content{position:relative!important;z-index:3!important;}
.home-metrics-overlap{
  position:relative!important;
  z-index:4!important;
  margin-top:-52px!important;
  margin-bottom:28px!important;
}
.home-metric{border-top-width:3px!important;box-shadow:0 8px 24px rgba(19,45,70,.09)!important;}
@media(max-width:900px){
  .home-hero{width:100vw!important;margin-left:calc(50% - 50vw)!important;min-height:360px!important;padding:46px 24px 72px!important;background-position:58% center!important;}
  .home-hero .welcome{width:min(680px,82vw)!important;}
}
@media(max-width:700px){
  .home-hero{min-height:330px!important;padding:36px 18px 64px!important;background-image:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.73)),url('../images/home-educacao-clara.webp')!important;background-position:center!important;border-radius:0 0 14px 14px!important;}
  .home-hero .welcome{width:100%!important;}
  .home-hero .welcome h1{font-size:clamp(30px,9vw,42px)!important;}
  .home-hero .date-time{gap:8px!important;font-size:13px!important;}
  .home-metrics-overlap{margin-top:-34px!important;}
}

/* ECPB Cursos 6.2.2 — botão global Início oculto na própria Home */


/* ECPB Cursos 6.2.3 — login limpo, menu mobile à direita e pesquisa acima dos cards */
.ecpb-auth-panel .ecpb-lgpd,.ecpb-auth-panel .ecpb-role-strip{display:none!important;}
@media(max-width:900px){
  .header-main{grid-template-columns:minmax(0,1fr) auto auto!important;}
  .ecpb-header-brand.brand-home{grid-column:1!important;grid-row:1!important;justify-self:start!important;}
  .user-area{grid-column:2!important;grid-row:1!important;justify-self:end!important;}
  .mobile-menu-toggle{grid-column:3!important;grid-row:1!important;justify-self:end!important;margin-left:0!important;}
}
@media(max-width:480px){
  .header-main{grid-template-columns:minmax(0,1fr) auto auto!important;}
  .user-area{grid-column:2!important;grid-row:1!important;}
  .mobile-menu-toggle{grid-column:3!important;grid-row:1!important;justify-self:end!important;}
}
.home-hero{position:relative!important;z-index:40!important;overflow:visible!important;}
.home-hero .welcome{position:relative!important;z-index:41!important;}
.home-hero .search-wrap{position:relative!important;z-index:200!important;}
.home-hero .search-results{z-index:9999!important;position:absolute!important;box-shadow:0 20px 50px rgba(0,0,0,.30)!important;}
.home-content{position:relative!important;z-index:1!important;}
.home-metrics,.home-metric,.quick-actions,.quick-action{position:relative!important;z-index:1!important;}


/* v6.2.5 Home cards spacing */
.home-cards,.dashboard-cards,.stats-grid,.cards-grid,.overview-cards{
  margin-top:48px !important;
  position:relative;
  z-index:2;
}

/* ECPB Cursos 6.2.6 — cards abaixo do banner, sem sobreposição */
.home-metrics-overlap{
  margin-top:48px!important;
  margin-bottom:28px!important;
  position:relative!important;
  z-index:2!important;
}
@media(max-width:700px){
  .home-metrics-overlap{margin-top:36px!important;}
}

/* ECPB Cursos 6.2.9 — logotipo institucional no cabeçalho */
.ecpb-header-brand.brand-home{
  background:#fff!important;
  border:1px solid rgba(212,175,55,.85)!important;
  border-radius:12px!important;
  padding:3px 7px!important;
  overflow:hidden!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  box-shadow:0 2px 8px rgba(0,0,0,.12)!important;
}
.ecpb-header-brand.brand-home:hover,
.ecpb-header-brand.brand-home:focus{
  background:#fff!important;
  text-decoration:none!important;
  transform:none!important;
  filter:brightness(.98)!important;
}
.ecpb-header-logo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:185px!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (min-width:901px){
  body.role-admin .header-brand{
    flex:0 0 145px!important;
    width:145px!important;
    max-width:145px!important;
  }
}
@media (min-width:1181px){
  body.role-admin .header-brand{
    flex-basis:175px!important;
    width:175px!important;
    max-width:175px!important;
  }
}
@media(max-width:900px){
  .ecpb-header-brand.brand-home{
    width:145px!important;
    max-width:145px!important;
    height:50px!important;
    padding:2px 5px!important;
  }
  .ecpb-header-logo{max-width:135px!important;}
}
@media(max-width:480px){
  .ecpb-header-brand.brand-home{
    width:118px!important;
    max-width:118px!important;
    height:44px!important;
    border-radius:9px!important;
  }
  .ecpb-header-logo{max-width:110px!important;}
}

/* ECPB Cursos 6.2.9 — mobile: Menu imediatamente antes do Sair; Sair no extremo direito */
@media(max-width:900px){
  .header-main{grid-template-columns:minmax(0,1fr) auto auto!important;}
  .ecpb-header-brand.brand-home{grid-column:1!important;grid-row:1!important;justify-self:start!important;}
  .mobile-menu-toggle{grid-column:2!important;grid-row:1!important;justify-self:end!important;margin:0!important;}
  .user-area{grid-column:3!important;grid-row:1!important;justify-self:end!important;margin:0!important;width:auto!important;min-width:0!important;max-width:none!important;flex-basis:auto!important;overflow:visible!important;}
  .user-area #logout{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;}
}
@media(max-width:480px){
  .mobile-menu-toggle{grid-column:2!important;grid-row:1!important;}
  .user-area{grid-column:3!important;grid-row:1!important;justify-self:end!important;width:auto!important;min-width:0!important;max-width:none!important;}
}

/* ECPB Cursos 6.3.0 — Home encaixada: banner rente ao menu e cards rente ao banner */
.main:has(#content > .home-hero){
  padding-top:0!important;
}
#content > .home-hero{
  margin-top:0!important;
  margin-bottom:0!important;
  border-radius:0!important;
}
#content > .home-content{
  margin-top:0!important;
  padding-top:0!important;
}
#content > .home-content > .home-metrics-overlap{
  margin-top:0!important;
}
@media(max-width:900px){
  .main:has(#content > .home-hero){padding-top:0!important;}
  #content > .home-hero{margin-top:0!important;margin-bottom:0!important;border-radius:0!important;}
  #content > .home-content{margin-top:0!important;padding-top:0!important;}
  #content > .home-content > .home-metrics-overlap{margin-top:0!important;}
}


/* ECPB Cursos 6.3.1 — Biblioteca dentro do curso do aluno */
.student-library-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
  gap:14px;
  align-items:stretch;
}
.student-library-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:190px;
  padding:16px;
  background:#fff;
  border:1px solid #dbe5df;
  border-radius:14px;
  box-shadow:0 4px 14px rgba(15,61,46,.07);
}
.student-library-icon{font-size:28px;line-height:1;}
.student-library-copy{display:flex;flex-direction:column;gap:5px;flex:1;}
.student-library-copy strong{font-size:1rem;color:#173f35;}
.student-library-copy small{color:#6b7d76;}
.student-library-copy p{margin:3px 0 0;color:#4c5f58;font-size:.9rem;line-height:1.4;}
.student-library-open{align-self:flex-start;margin-top:auto;}
@media(max-width:600px){
 .student-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .student-library-card{min-height:170px;padding:13px;}
}
@media(max-width:390px){.student-library-grid{grid-template-columns:1fr;}}

/* ECPB Cursos - curso RUMO A MINHA OAB */
.qb-admin-controls{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 18px;padding:18px 20px;border-left:5px solid var(--gold,#c9a227)}
.qb-admin-controls label{display:grid;flex:1 1 250px;gap:8px;min-width:min(250px,100%);margin:0}
.qb-admin-controls select{margin:0}
.qb-admin-control-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.qb-admin-control-actions button:disabled{opacity:.55;cursor:not-allowed}
.qb-admin-preview-note{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;max-width:none;width:100%;padding:10px 16px;border:1px solid #d9c67b;border-radius:10px;background:#fff8dc;color:#5f4d0b}
.qb-admin-preview-note strong{color:#174c36}
.qb-player{max-width:none;width:100%;margin:0 0 36px}
.qb-content-picker{width:100%;max-width:none;margin:18px 0 24px;padding:clamp(24px,4vw,38px);border-top:5px solid var(--gold,#c9a227)}
.qb-content-picker h2{margin:0 0 8px;color:#123e2d;font-size:clamp(23px,3vw,30px)}
.qb-content-picker form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin-top:24px}.qb-content-picker form label{margin:0}.qb-content-picker form button{min-width:190px}
@media(max-width:700px){.qb-content-picker form{grid-template-columns:1fr}.qb-content-picker form button{width:100%}}
.qb-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 2px 8px;color:#174c36}
.qb-progress{height:12px;margin-bottom:18px}
.qb-question-card{padding:clamp(20px,4vw,34px);border-top:5px solid var(--gold,#c9a227)}
.qb-question-card h2{margin:12px 0 22px;color:#123e2d;font-size:clamp(20px,3vw,28px);line-height:1.35}
.qb-question-meta{display:flex;flex-wrap:wrap;gap:8px}
.qb-question-meta span{padding:5px 10px;border-radius:999px;background:#eef5f0;color:#315c49;font-size:12px;font-weight:800}
.qb-choice{display:grid;grid-template-columns:auto 36px minmax(0,1fr);align-items:center;gap:10px;margin:10px 0;padding:14px 16px;border:2px solid #d8e4dc;border-radius:12px;background:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:.18s}
.qb-choice:hover{border-color:#c9a227;background:#fffaf0;transform:translateY(-1px)}
.qb-choice input{width:auto!important;margin:0;accent-color:#0f6845}
.qb-choice-key{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf4ef;color:#0d6240;font-weight:900}
.qb-choice:has(input:checked){border-color:#0f6845;background:#eff9f3;box-shadow:0 0 0 3px rgba(15,104,69,.08)}
.qb-choice.is-correct{border-color:#16845b!important;background:#e5f8f0!important}
.qb-choice.is-correct .qb-choice-key{background:#16845b;color:#fff}
.qb-choice.is-wrong{border-color:#b52b42!important;background:#ffe8ec!important}
.qb-choice.is-wrong .qb-choice-key{background:#b52b42;color:#fff}
.qb-confirm,.qb-next{margin-top:18px;min-width:190px;padding:13px 20px;font-size:16px}
.qb-feedback{margin-top:22px;padding:18px}
.qb-feedback:focus{outline:3px solid rgba(15,104,69,.22);outline-offset:3px}
.qb-feedback-status{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.qb-feedback-status>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:currentColor;color:#fff;font-weight:900;box-shadow:inset 0 0 0 20px rgba(0,0,0,.08)}
.qb-feedback h3{margin:0;font-size:20px}
.qb-feedback p{margin:8px 0;line-height:1.55}
.qb-answer-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.qb-answer-comparison p{display:grid;gap:5px;margin:0;padding:12px;border:1px solid rgba(15,61,46,.16);border-radius:10px;background:rgba(255,255,255,.72)}
.qb-answer-comparison strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.qb-feedback-section{margin-top:14px;padding:16px;border:1px solid rgba(15,61,46,.16);border-radius:11px;background:#fff;color:#203c31}
.qb-feedback-section h4{margin:0 0 9px;color:#174c36;font-size:17px}
.qb-feedback-study{line-height:1.7}
.qb-feedback-study br+br{display:block;content:"";margin-top:10px}
.qb-feedback-basis{border-left:5px solid var(--gold,#c9a227);background:#fffdf5}
.qb-feedback-basis h4{color:#765b00}
.qb-quality{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.qb-quality-complete{background:#dcf4e6;color:#0c633c}
.qb-quality-basis{background:#fff1c7;color:#795900}
.qb-quality-weak{background:#ffe5cc;color:#8b4300}
.qb-quality-missing{background:#ffe1e5;color:#962338}
.qb-feedback-guide{margin:4px 0 14px;line-height:1.5}
.qb-admin-feedback-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0;padding:14px 16px;border:1px solid #d9c67b;border-radius:11px;background:#fff8dc}
.qb-admin-feedback-actions button{background:#765b00;border-color:#765b00;color:#fff}
.qb-admin-feedback-actions small{color:#665b35;font-weight:700}
.qb-study-content{display:block;margin:12px 0 0;padding:12px 16px;border-color:#0f6845!important;color:#0f6845!important;font-weight:800;text-align:left}
.qb-next{display:block;margin-left:auto}
.qb-finish{text-align:center;padding:42px 28px}
.qb-finish-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 18px;border-radius:50%;background:#daf4e5;color:#12633b;font-size:40px;font-weight:900}
.qb-finish h2{margin:0 0 8px;font-size:30px;color:#123e2d}
.qb-score{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0;padding:18px;border-radius:14px;background:#f2f7f3}
.qb-score strong{font-size:38px;color:#0d6b45}.qb-score span{color:#53655c;font-weight:700}
.qb-finish .toolbar-actions{justify-content:center}
@media(max-width:700px){.qb-admin-controls{align-items:stretch;flex-direction:column}.qb-admin-control-actions{align-items:stretch;flex-direction:column}.qb-admin-control-actions button{width:100%}}
@media(max-width:600px){.qb-choice{grid-template-columns:auto 32px minmax(0,1fr);padding:12px 10px;font-size:14px}.qb-question-card{padding:18px 14px}.qb-confirm,.qb-next{width:100%}.qb-answer-comparison{grid-template-columns:1fr}.qb-feedback{padding:14px}.qb-feedback-section{padding:13px}}
.lesson-content .ecpb-topic-complete{margin:28px 0;padding:22px clamp(16px,3vw,28px);border:1px solid #d8e5dc;border-left:5px solid #15704b;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(20,73,48,.06)}
.lesson-content .ecpb-topic-complete h3{margin-top:0;color:#124c35;font-size:1.35rem}.lesson-content .ecpb-topic-complete h4{color:#315e4a}.lesson-content .ecpb-topic-complete p{text-align:justify}.lesson-content .ecpb-topic-complete ul{padding-left:24px}.lesson-content .ecpb-topic-complete .alert.info{margin-top:18px;background:#eef7f1;border-left:4px solid #c9a227}
.lesson-content .ecpb-topic-complete h4{margin-top:24px;padding-bottom:7px;border-bottom:3px solid #b8e329;color:#124d83}.lesson-content .ecpb-topic-complete h5{margin:16px 0 5px;color:#153c62;font-size:1.05rem}.ecpb-study-rules{margin:10px 0 16px}.ecpb-study-rules li{margin:8px 0}.ecpb-study-box{margin:16px 0;padding:14px 16px;border:1px solid #d4e0ea;border-radius:7px;background:#f4f8fc}.ecpb-study-box strong{display:inline-block;margin-bottom:6px;padding:4px 9px;background:#124d83;color:#fff;font-size:.82rem;letter-spacing:.03em}.ecpb-study-box p{margin:3px 0!important}.ecpb-study-law{border-color:#c7d9ee;background:#eef5fd}.ecpb-study-law strong{background:#124d83}.ecpb-study-warning{border-color:#e4dba5;background:#fffdf0}.ecpb-study-warning strong{background:#9b6b00}.ecpb-study-example{border-color:#badcc7;background:#f0faf4}.ecpb-study-example strong{background:#18784c}.ecpb-study-tip{border-left:6px solid #b8e329;background:#124d83;color:#fff}.ecpb-study-tip strong{background:#b8e329;color:#123c63}.ecpb-study-table{width:100%;border-collapse:collapse;margin:14px 0 18px}.ecpb-study-table th,.ecpb-study-table td{padding:10px 12px;border:1px solid #cbd7e2;text-align:left;vertical-align:top}.ecpb-study-table thead th{background:#124d83;color:#fff}.ecpb-study-table tbody tr:nth-child(even){background:#f1f5f9}@media(max-width:650px){.lesson-content .ecpb-topic-complete{padding:16px 12px}.ecpb-study-table{font-size:.9rem}.ecpb-study-table th,.ecpb-study-table td{padding:8px}}
.ecpb-study-header{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:stretch;margin:0 0 24px;border-radius:9px;overflow:hidden;background:#124d83;color:#fff}.ecpb-study-header>span{display:grid;place-items:center;background:#b8e329;color:#123c63;font-size:1.45rem;font-weight:900}.ecpb-study-header>div{padding:16px 20px}.ecpb-study-header h2{margin:0!important;color:#fff!important}.ecpb-study-header p{margin:4px 0 0!important;color:#d9ff60}@media(max-width:560px){.ecpb-study-header{grid-template-columns:62px minmax(0,1fr)}.ecpb-study-header>div{padding:13px}.ecpb-study-header h2{font-size:1.25rem}}
.lesson-content .ecpb-civil-topic h4{margin-top:18px}.lesson-content .ecpb-civil-topic .ecpb-study-example{margin-top:22px}.ecpb-civil-deepening{border-left:6px solid #b8e329;background:linear-gradient(135deg,#f4f8fc,#f5faed)}.ecpb-civil-deepening p{text-align:justify}.ecpb-civil-synoptic{margin:14px 0 26px;border-radius:10px}.ecpb-civil-synoptic .ecpb-study-table{margin:0;min-width:760px}.ecpb-civil-synoptic tbody th{width:25%;background:#e8f4ec;color:#124c35}.ecpb-civil-synoptic td{line-height:1.5}@media(max-width:650px){.ecpb-civil-synoptic .ecpb-study-table{min-width:680px}}
.ecpb-course-synoptic{margin:14px 0 28px;border:1px solid #cbd7e2;border-radius:10px}.ecpb-course-synoptic .ecpb-study-table{margin:0;min-width:760px}.ecpb-course-synoptic tbody th{width:26%;background:#e8f4ec;color:#124c35}.ecpb-course-synoptic td{line-height:1.5}.ecpb-topic-complete>.table-wrap{margin:12px 0 18px;border:1px solid #d5e0d8;border-radius:9px}.ecpb-topic-complete>.table-wrap .ecpb-study-table{margin:0}@media(max-width:650px){.ecpb-course-synoptic .ecpb-study-table{min-width:680px}}

/* ECPB 6.3.28 — tutor compacto, campo sempre visível e pesquisa completa */
.ai-tutor-head{margin-bottom:12px!important}.ai-tutor-head h1{margin-bottom:4px}.ai-tutor-head p{margin:4px 0}
.ai-tutor-shell{max-width:920px!important}
.ai-chat{height:auto!important;min-height:132px!important;max-height:330px!important;padding:14px!important;gap:10px!important}
.ai-chat:has(.ai-empty){min-height:120px!important;height:120px!important}
.ai-empty{width:100%;margin:auto!important;padding:12px 16px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}
.ai-empty strong{font-size:1rem}.ai-empty span{font-size:.84rem;color:#65766d}
.ai-compose{padding:12px 14px!important}.ai-compose textarea{min-height:66px!important;max-height:150px;padding:10px 12px!important}.ai-compose .toolbar{margin:8px 0 0!important}.ai-compose .toolbar small{font-size:.76rem;line-height:1.35}
.home-hero .global-search{display:grid!important;grid-template-columns:minmax(170px,1fr) auto auto!important;align-items:center!important;gap:5px!important;padding:5px 6px 5px 16px!important}
.home-hero .global-search input{min-width:0!important}.home-hero .global-search button{min-width:112px!important;padding:10px 14px!important;font-size:13px!important;white-space:nowrap!important}.home-hero #home-ask-ai{min-width:148px!important}
.search-results{max-height:min(440px,55vh)!important}.search-item small{line-height:1.35}
@media(max-width:700px){.ai-chat{min-height:120px!important;max-height:270px!important}.ai-chat:has(.ai-empty){height:110px!important}.ai-compose .toolbar{align-items:stretch!important}.ai-compose .toolbar button{width:100%}.home-hero .global-search{grid-template-columns:1fr 1fr!important;padding:8px!important;border-radius:16px!important}.home-hero .global-search input{grid-column:1/-1!important}.home-hero .global-search button{width:100%!important;min-width:0!important}.home-hero #home-ask-ai{min-width:0!important}}

/* ECPB 6.3.29 — resposta em largura total e ação compacta nos tópicos */
.ai-tutor-shell{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.ai-chat:not(:has(.ai-empty)){height:min(64dvh,680px)!important;min-height:300px!important;max-height:none!important}
.ai-message.assistant{width:100%!important;max-width:100%!important}
.ai-chat{overflow-anchor:none!important}
.ai-message.user{max-width:min(82%,760px)!important}
.ai-markdown{font-size:inherit;line-height:1.68;color:inherit;overflow-wrap:anywhere}
.ai-markdown> :first-child{margin-top:0}.ai-markdown> :last-child{margin-bottom:0}
.ai-markdown p{margin:.65em 0}.ai-markdown h3,.ai-markdown h4,.ai-markdown h5,.ai-markdown h6{margin:1.15em 0 .5em;color:#174c36;line-height:1.28}
.ai-markdown h3{font-size:1.25rem}.ai-markdown h4{font-size:1.12rem}.ai-markdown h5,.ai-markdown h6{font-size:1rem}
.ai-markdown ul,.ai-markdown ol{margin:.65em 0;padding-left:1.55em}.ai-markdown li{margin:.38em 0;padding-left:.18em}
.ai-markdown strong{color:#123f2e}.ai-markdown code{padding:.12em .35em;border-radius:5px;background:#edf3ef;font-family:Consolas,Monaco,monospace;font-size:.92em}
.ai-markdown pre{max-width:100%;overflow:auto;margin:.8em 0;padding:13px;border-radius:9px;background:#173329;color:#f3f7f4}.ai-markdown pre code{padding:0;background:transparent;color:inherit}
.ai-markdown blockquote{margin:.8em 0;padding:.7em 1em;border-left:4px solid var(--gold,#c9a227);background:#fff9e7;color:#42554b}.ai-markdown hr{border:0;border-top:1px solid #dbe6df;margin:1em 0}
.ask-ai-topic{gap:9px!important;padding:11px 16px!important;text-align:center!important}
.ask-ai-topic>span:first-child{font-size:1.2rem!important}.ask-ai-topic>strong{display:inline!important;white-space:nowrap}
@media(max-width:700px){.ai-chat:not(:has(.ai-empty)){height:55dvh!important;min-height:260px!important;max-height:none!important}.ai-message.user{max-width:94%!important}}

/* ECPB 6.3.34 — dúvida contextual dentro da própria questão */
.qb-ai-doubt{margin:16px 0 22px!important;padding:18px!important;border:2px solid #c7a83b!important;border-left:6px solid #6c35b4!important;background:linear-gradient(135deg,#fffdf5,#f7f2ff)!important;scroll-margin-top:118px}
.qb-ai-doubt-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;color:#173f35}.qb-ai-doubt-head>span{font-size:1.55rem}.qb-ai-doubt-head strong,.qb-ai-doubt-head small{display:block}.qb-ai-doubt-head small{margin-top:3px;color:#66756d}
.qb-ai-doubt-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.qb-ai-doubt-form textarea{min-height:76px;resize:vertical}.qb-ai-doubt-form button{min-height:45px}
.qb-ai-doubt-result{display:grid;gap:10px;margin-top:14px}.qb-ai-question{justify-self:end;max-width:82%;padding:11px 14px;border-radius:14px 14px 4px 14px;background:#0d6b45;color:#fff}.qb-ai-question strong{font-size:.75rem;text-transform:uppercase}.qb-ai-question p{margin:5px 0 0}.qb-ai-answer{width:100%;padding:16px;border:1px solid #d8e6de;border-radius:14px;background:#fff;line-height:1.6}.qb-ai-loading{padding:14px;border-radius:12px;background:#eef5f1;color:#526b5e}
@media(max-width:650px){.qb-ai-doubt-form{grid-template-columns:1fr}.qb-ai-doubt-form button{width:100%}.qb-ai-question{max-width:94%}}

/* Vade Mecum em destaque na tela Inicio */
.home-metric.metric-vade-mecum{
  background:#e83e8c!important;
  color:#fff!important;
  border:1px solid #cf2f78!important;
  border-top:4px solid #ff82b8!important;
  box-shadow:0 10px 28px rgba(232,62,140,.28)!important;
}
.home-metric.metric-vade-mecum:hover{
  background:#d92f80!important;
  box-shadow:0 14px 32px rgba(232,62,140,.38)!important;
}
.home-metric.metric-vade-mecum .metric-icon,
.home-metric.metric-vade-mecum .metric-copy,
.home-metric.metric-vade-mecum .metric-label,
.home-metric.metric-vade-mecum strong{
  color:#fff!important;
}
.home-metric.metric-vade-mecum .metric-icon{
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.18)!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:.5px!important;
}
.qb-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0;flex-wrap:wrap}.qb-pagination span{color:#52645c}.qb-pagination button{min-width:112px}

/* ECPB 6.4.35 — seleção acadêmica do aluno em duas etapas */
.student-direct-access{margin:28px 0}.student-direct-access-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-content-picker{max-width:920px;margin:0 auto}.student-two-step-picker{display:grid;gap:18px;padding:24px}.student-picker-step{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:start;padding:18px;border:1px solid #dce3ee;border-radius:16px;background:#fff;transition:.2s ease}.student-picker-step.is-disabled{opacity:.58;background:#f6f8fb}.student-picker-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#2447a8;color:#fff;font-weight:800;font-size:18px}.student-picker-copy{display:grid;gap:7px}.student-picker-copy>strong{font-size:17px}.student-picker-copy>small{color:#64748b}.student-picker-copy select{margin-top:5px;width:100%}.student-two-step-picker>button{justify-self:start;min-width:190px}@media(max-width:760px){.student-direct-access-grid{grid-template-columns:1fr}.student-two-step-picker{padding:16px}.student-picker-step{grid-template-columns:38px minmax(0,1fr);padding:14px}.student-picker-number{width:34px;height:34px;font-size:15px}.student-two-step-picker>button{width:100%}}

.student-options-title{margin:8px 0 24px}.student-only-options{grid-template-columns:repeat(3,minmax(0,1fr))}.student-only-options .course-hub-card{min-height:112px}.student-only-options .course-hub-icon{font-size:28px}@media(max-width:900px){.student-only-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.student-only-options{grid-template-columns:1fr}}
.contract-list{display:grid;gap:16px}.contract-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:5px solid #d2a817}.contract-card-main{min-width:0}.contract-card h2{margin:5px 0 7px}.contract-card p{margin:5px 0}.contract-course{display:inline-block;color:#075f3b;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:13px}.contract-details{display:flex;gap:9px 22px;flex-wrap:wrap;margin:12px 0;color:#49645a}.contract-details code{overflow-wrap:anywhere}.contract-status{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:13px;font-weight:800}.contract-status.signed{background:#dff5e8;color:#08703f}.contract-status.pending{background:#fff2c7;color:#7a5700}.contract-card-actions .button{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:9px;background:#087247;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}@media(max-width:700px){.contract-card{display:block}.contract-card-actions{margin-top:17px}.contract-card-actions .button{width:100%}}
