:root{
  --bg:#f3f6fb;--surface:#fff;--surface-soft:#f8fafc;--ink:#152238;--muted:#667085;
  --line:#dfe6ef;--brand:#17365d;--brand-2:#245486;--brand-soft:#edf4fb;
  --ok:#067647;--ok-bg:#ecfdf3;--danger:#b42318;--danger-bg:#fef3f2;--warn:#b54708;
  --shadow:0 14px 38px rgba(23,54,93,.08);--shadow-soft:0 6px 20px rgba(23,54,93,.06);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:linear-gradient(180deg,#f7f9fc 0,#f2f5fa 420px,#f3f6fb 100%);color:var(--ink);font-size:16px;line-height:1.5}
a{color:var(--brand-2)}
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,230,239,.95);display:flex;align-items:center;gap:22px;padding:13px max(24px,4vw);box-shadow:0 4px 18px rgba(23,54,93,.05)}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand strong{display:block;font-size:16px;letter-spacing:-.01em}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:1px}.logo{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;font-weight:850;box-shadow:0 8px 22px rgba(23,54,93,.22)}
nav{display:flex;gap:4px;flex-wrap:wrap;flex:1;align-items:center}nav a,.logout{padding:9px 11px;border-radius:10px;color:#344054;text-decoration:none;font-weight:700;font-size:14px;transition:.18s ease}nav a:hover{background:var(--brand-soft);color:var(--brand)}nav a.ai-link{background:var(--brand-soft);color:var(--brand)}.logout{background:var(--danger-bg);color:var(--danger);margin-left:auto}
.wrap{width:min(1240px,92vw);margin:32px auto 48px;min-height:74vh}
h1{font-size:clamp(28px,3vw,38px);letter-spacing:-.035em;line-height:1.08;margin:0 0 8px}h2{font-size:22px;letter-spacing:-.02em;margin-top:0}h3{font-size:17px;margin:0 0 6px}p.muted,.muted{color:var(--muted)}
.page-head,.hero-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.hero-panel{padding:28px;border-radius:24px;background:linear-gradient(135deg,#fff 0,#f3f7fc 100%);border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:20px}.hero-panel .hero-copy{max-width:720px}.hero-panel h1{margin-bottom:10px}.hero-panel .hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-self:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow-soft)}.card:hover{border-color:#d2dce8}.metric{position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand)}.metric span{color:var(--muted);font-weight:700;font-size:13px}.metric b{font-size:34px;line-height:1;display:block;margin-top:10px;letter-spacing:-.035em}.metric small{display:block;color:var(--muted);margin-top:5px}
.dashboard-section{margin-top:22px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quick-card{display:block;text-decoration:none;color:inherit;padding:20px;border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:var(--shadow-soft);transition:.18s ease}.quick-card:hover{transform:translateY(-2px);border-color:#c8d6e6;box-shadow:var(--shadow)}.quick-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-size:20px;margin-bottom:14px}.quick-card p{margin:4px 0 0;color:var(--muted);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;padding:12px 16px;background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;text-decoration:none;font-weight:750;font-size:15px;cursor:pointer;box-shadow:0 6px 16px rgba(23,54,93,.13);transition:.18s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.02)}.btn.secondary{background:var(--brand-soft);color:var(--brand);box-shadow:none}.btn.danger{background:var(--danger);box-shadow:none}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:750;font-size:14px;margin-bottom:7px;color:#344054}input,select,textarea{width:100%;border:1px solid #cfd9e5;border-radius:11px;padding:12px 13px;font:inherit;background:#fff;color:var(--ink);transition:.15s ease;outline:none}input:focus,select:focus,textarea:focus{border-color:#7594b8;box-shadow:0 0 0 4px rgba(36,84,134,.08)}textarea{min-height:120px;resize:vertical}
.table-scroll{overflow:auto;border-radius:16px;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.table-scroll table{border:0;border-radius:0}th,td{padding:13px 15px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:top}th{background:#f7f9fc;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#667085}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfcfe}.pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:750}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:17px;border:1px solid transparent}.alert.ok{background:var(--ok-bg);color:var(--ok);border-color:#c9f0db}.alert.err{background:var(--danger-bg);color:var(--danger);border-color:#fecdca}.login{width:min(470px,92vw);margin:8vh auto}.login .card{padding:32px}.qbox{border:1px solid #e2e8f0;border-radius:14px;padding:17px;margin:13px 0;background:#fff}.qbox:hover{border-color:#ced9e7}.options{display:grid;gap:8px;margin:10px 0}.answer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.score{font-size:42px;font-weight:850;color:var(--brand)}.print-only{display:none}footer{text-align:center;padding:25px;color:#98a2b3;font-size:13px}
.review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.qmeta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.option-line{padding:9px 11px;margin-top:7px;background:#f8fafc;border:1px solid #edf1f6;border-radius:9px}.answer-key-inline{margin:11px 0 0;padding:9px 11px;background:var(--ok-bg);color:var(--ok);border-radius:9px}.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.ai-loading{font-weight:750;text-align:center;margin-top:18px}.ai-loading:before{content:"✦";display:inline-block;margin-right:8px}.editable-review{outline:none;border-radius:8px;padding:5px 7px;margin:-5px -7px;transition:.15s}.editable-review:hover{background:#f7f9fc}.editable-review:focus{background:#fff;border:1px solid #9ab1ca;box-shadow:0 0 0 4px rgba(36,84,134,.08)}.edit-hint{font-size:13px;color:var(--muted);margin-top:6px}.review-question{position:relative}.review-question:before{content:"Editar";position:absolute;right:14px;top:14px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#8091a7}
.correction-summary{margin:17px 0}.correction-card{margin-top:16px}.score-box{min-width:160px;text-align:center;padding:14px 17px;border-radius:15px;background:#f8fafc;border:1px solid var(--line)}.score-box small,.score-box span{display:block;color:var(--muted)}.score-box strong{font-size:36px;line-height:1.1;color:var(--brand)}.question-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.correction-question.is-correct{border-left:5px solid #12b76a}.correction-question.is-wrong{border-left:5px solid #f04438}.answer-bubbles{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:15px 0}.bubble{margin:0;cursor:pointer}.bubble input{position:absolute;opacity:0;pointer-events:none}.bubble span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:2px solid #cbd5e1;background:#fff;font-weight:850;transition:.15s}.bubble:hover span,.bubble.selected span{border-color:var(--brand);background:var(--brand);color:#fff;transform:translateY(-1px)}.clear-answer{border:0;background:#f2f4f7;color:#475467;border-radius:9px;padding:9px 11px;cursor:pointer}.key-line,.reference-box{padding:10px 12px;border-radius:9px;background:#f8fafc;color:#475467;font-size:14px}.sticky-grade{position:sticky;bottom:12px;display:flex;justify-content:flex-end;padding-top:12px}.sticky-grade .btn{box-shadow:0 8px 30px rgba(23,54,93,.24)}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.compact-table th,.compact-table td{padding:10px 11px}.status-ok{font-weight:750;color:var(--ok)}.status-pending{font-weight:750;color:var(--warn)}.mini-progress{width:100%;height:8px;background:#edf2f7;border-radius:999px;overflow:hidden;margin:6px 0}.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#4c78a8);border-radius:999px}
.class-preview{display:flex;gap:8px;flex-wrap:wrap}.import-confirm{border-left:5px solid var(--brand)}.import-confirm form{display:inline-flex}.import-confirm .actions{align-items:center}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 12px}.section-title h2{margin:0}.empty-state{text-align:center;padding:34px;color:var(--muted)}
@media(max-width:980px){.quick-grid{grid-template-columns:1fr 1fr}.top{align-items:flex-start;flex-wrap:wrap}.top nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.logout{margin-left:0}.hero-panel{flex-direction:column}.hero-panel .hero-actions{align-self:flex-start}.report-columns{grid-template-columns:1fr}}
@media(max-width:700px){body{font-size:15px}.wrap{width:94vw;margin-top:22px}.form-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.page-head{display:block}.review-head{display:block}.review-head .pill{margin-top:8px}.review-actions .btn{width:100%}.score-box{width:100%;margin-top:12px}.answer-bubbles{gap:7px}.bubble span{width:43px;height:43px}.sticky-grade .btn{width:100%}.card{padding:18px}.hero-panel{padding:22px}.top{padding-left:3vw;padding-right:3vw}}
@media print{.top,footer,.no-print,.actions{display:none!important}.wrap{width:100%;margin:0}.card{box-shadow:none;border:0}.print-only{display:block}body{background:#fff}.qbox{break-inside:avoid}}


/* v1.6 — Central de Provas */
.assessment-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.inline-form{display:inline;margin:0}.mini-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9e1ec;background:#fff;border-radius:9px;padding:7px 9px;font:inherit;font-size:.88rem;color:#24364b;text-decoration:none;cursor:pointer}.mini-btn:hover{background:#f4f7fb}.danger-link{font-size:.88rem;color:#a33;text-decoration:none}
@media print{.top,.no-print{display:none!important}.wrap{max-width:none;margin:0;padding:0}}


/* v1.7 — IA para versões e configurações pedagógicas */
.pedagogy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}.pedagogy-card textarea,.adaptation-settings textarea{min-height:210px;line-height:1.55}.adaptation-settings{border-left:5px solid #8767c8}.sticky-save{position:sticky;bottom:14px;display:flex;justify-content:flex-end;padding-top:12px;z-index:20}.assessment-actions form button{white-space:nowrap}.assessment-actions .inline-form:nth-of-type(1) .mini-btn,.assessment-actions .inline-form:nth-of-type(2) .mini-btn{border-color:#b7a8df;background:#f6f2ff;color:#563a91;font-weight:700}
@media(max-width:1000px){.pedagogy-grid{grid-template-columns:1fr}}

.grade-filters,.grade-rule{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.grade-filters label,.grade-rule label{flex:1;min-width:150px}.grade-filters select,.grade-rule select,.grade-rule input{width:100%}.section-title{display:flex;justify-content:space-between;gap:15px;align-items:center}.grade-table{overflow:auto}.grade-pill{display:inline-flex;min-width:55px;justify-content:center;padding:6px 10px;border-radius:999px;background:#e8f7ef;color:#17643a;font-weight:800}.grade-pill.low{background:#fff0f0;color:#a33232}.grade-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.grade-stats>div{background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:16px}.grade-stats b{display:block;font-size:1.5rem}.grade-stats span{color:#687486}@media(max-width:800px){.grade-stats{grid-template-columns:1fr 1fr}.grade-filters,.grade-rule{display:grid;grid-template-columns:1fr}.section-title{flex-direction:column;align-items:flex-start}}

/* v1.9 — Relatórios, backup e segurança */
.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.security-form{display:grid;gap:12px}.security-form input{width:100%}.security-note{font-size:.88rem;color:#6c7785;margin-top:12px}.report-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.report-stat{background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:18px}.report-stat b{display:block;font-size:1.6rem}.report-stat span{color:#687486}@media(max-width:800px){.security-grid,.report-overview{grid-template-columns:1fr}}

/* v2.0 — Consolidação final */
.top nav{scrollbar-width:thin}.top nav a{white-space:nowrap}.wrap>h1{margin-bottom:6px}.card table a{font-weight:700}.alert{position:relative}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media(max-width:1100px){.top{align-items:flex-start;flex-wrap:wrap}.top nav{order:3;width:100%;overflow-x:auto;padding-bottom:6px}.logout{margin-left:auto}}@media(max-width:640px){.wrap{padding:14px}.hero-panel{padding:18px}.hero-actions{width:100%}.hero-actions .btn{width:100%;text-align:center}.grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr!important}table{min-width:680px}.card{padding:15px}}@media(max-width:430px){.grid{grid-template-columns:1fr}.brand small{display:none}}

/* =========================================================
   v2.1 — INTERFACE DOCENTE
   Camada visual consolidada: calma, organização e legibilidade
   ========================================================= */
:root{
 --ink:#17243a;--muted:#69778b;--line:#e4eaf1;--soft:#f5f7fa;
 --panel:#ffffff;--navy:#244b76;--navy-dark:#193a61;--blue-soft:#edf4fb;
 --success:#eaf6ef;--danger:#fff1f1;--radius:16px;--shadow:0 8px 24px rgba(31,52,78,.06)
}
*{box-sizing:border-box}
body{background:#f4f6f9;color:var(--ink);font-size:15px;line-height:1.5}
.teacher-top{min-height:78px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(31,52,78,.035);padding:12px clamp(20px,4vw,54px);display:flex;align-items:center;gap:24px;position:sticky;top:0;z-index:100}
.teacher-brand{min-width:220px;gap:12px;text-decoration:none}
.teacher-brand .brand-mark{width:44px;height:44px;border-radius:13px;background:var(--navy-dark);display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.05rem;box-shadow:none}
.teacher-brand b{font-size:1rem;color:var(--ink);letter-spacing:-.01em}
.teacher-brand small{display:block;color:#8290a3;font-size:.76rem;margin-top:1px}
.teacher-nav{display:flex;align-items:center;justify-content:center;gap:4px;flex:1}
.teacher-nav>a,.nav-group>summary{display:flex;align-items:center;min-height:40px;padding:0 11px;border-radius:10px;color:#425168;font-weight:650;font-size:.9rem;text-decoration:none;cursor:pointer;list-style:none;transition:.15s ease}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary:after{content:"⌄";font-size:.8rem;margin-left:6px;color:#8995a5}
.teacher-nav>a:hover,.nav-group>summary:hover,.teacher-nav>a.active{background:#f1f5f9;color:var(--navy-dark)}
.teacher-nav .nav-ai{background:var(--blue-soft);color:var(--navy-dark);padding-left:14px;padding-right:14px}
.teacher-nav .nav-ai:hover,.teacher-nav .nav-ai.active{background:#e3eef9}
.nav-group{position:relative}
.nav-group[open]>summary{background:#f1f5f9;color:var(--navy-dark)}
.nav-menu{position:absolute;top:46px;left:0;width:230px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:7px;box-shadow:0 18px 40px rgba(31,52,78,.13);z-index:120}
.nav-menu-right{left:auto;right:0}
.nav-menu a{display:block;padding:10px 11px;border-radius:8px;text-decoration:none;color:#46556a;font-size:.89rem;font-weight:600}
.nav-menu a:hover{background:#f4f7fa;color:var(--navy-dark)}
.teacher-logout{margin-left:auto;background:#fff5f3!important;color:#a83c34!important;border:1px solid #fae5e1!important;padding:9px 13px!important;border-radius:10px!important;font-weight:700!important}
.teacher-wrap{max-width:1280px;margin:0 auto;padding:30px clamp(20px,4vw,48px) 52px}
.hero-panel{background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)!important;border-radius:20px!important;padding:30px!important}
.hero-copy h1{font-size:2rem!important;letter-spacing:-.035em!important;margin:5px 0 8px!important}
.hero-copy p{max-width:700px;color:var(--muted)!important;font-size:1rem!important}
.eyebrow{background:#f1f5f9!important;color:var(--navy-dark)!important;border:0!important;font-weight:750!important}
.hero-actions{gap:9px!important}
.btn{border-radius:10px!important;min-height:42px;padding:10px 15px!important;font-weight:700!important;box-shadow:none!important}
.btn:not(.secondary){background:var(--navy-dark)!important}
.btn:not(.secondary):hover{background:#153352!important;transform:none!important}
.btn.secondary{background:#f1f5f9!important;color:#29435f!important;border-color:#e6ebf1!important}
.grid{gap:14px!important;margin-top:16px!important}
.metric,.card{background:#fff!important;border:1px solid var(--line)!important;box-shadow:0 5px 18px rgba(31,52,78,.045)!important;border-radius:var(--radius)!important}
.metric{border-left:1px solid var(--line)!important;padding:20px!important}
.metric:before{display:none!important}
.metric span{font-size:.82rem!important;color:#66758a!important}
.metric b{font-size:1.9rem!important;margin-top:5px!important;color:var(--ink)!important}
.metric small{color:#8995a5!important}
.quick-section{margin-top:28px!important}
.quick-section h2{font-size:1.25rem!important;letter-spacing:-.02em}
.quick-grid{gap:12px!important}
.quick-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:18px!important;box-shadow:none!important;transition:.15s ease!important}
.quick-card:hover{transform:translateY(-1px)!important;border-color:#ccd8e5!important;box-shadow:0 8px 22px rgba(31,52,78,.06)!important}
.quick-icon{width:36px!important;height:36px!important;border-radius:10px!important;background:#f0f5fa!important;color:var(--navy-dark)!important;font-size:1rem!important}
.quick-card h3{font-size:.98rem!important;margin:11px 0 4px!important}
.quick-card p{font-size:.86rem!important;color:#778497!important;line-height:1.4!important}
h1{font-size:1.8rem;letter-spacing:-.03em}h2{letter-spacing:-.02em}
.card{padding:22px!important;margin-top:16px}
input,select,textarea{border:1px solid #dce4ed!important;background:#fff!important;border-radius:9px!important;min-height:42px!important;padding:9px 11px!important;color:var(--ink)!important;font:inherit!important}
textarea{min-height:110px!important}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(36,75,118,.09)!important;border-color:#8da8c4!important}
label{color:#435269!important;font-weight:650!important;font-size:.88rem!important}
table{border-collapse:separate!important;border-spacing:0!important;width:100%}
th{background:#f7f9fb!important;color:#526177!important;font-size:.78rem!important;text-transform:none!important;letter-spacing:.01em!important;border-bottom:1px solid var(--line)!important;padding:11px 12px!important}
td{border-bottom:1px solid #edf1f5!important;padding:12px!important;color:#35445a!important}
tr:last-child td{border-bottom:0!important}
tbody tr:hover td{background:#fafbfd}
.alert{border-radius:11px!important;box-shadow:none!important}
.grade-pill{box-shadow:none!important}
.report-stat,.grade-stats>div{box-shadow:none!important;border-color:var(--line)!important}
.muted{color:var(--muted)!important}
@media(max-width:1120px){
 .teacher-top{flex-wrap:wrap;gap:10px 18px}
 .teacher-nav{order:3;width:100%;justify-content:flex-start;overflow:visible}
 .teacher-brand{flex:1}
}
@media(max-width:820px){
 .teacher-top{position:relative;padding:12px 16px}
 .teacher-nav{overflow-x:auto;justify-content:flex-start;padding-bottom:4px}
 .teacher-nav>a,.nav-group>summary{white-space:nowrap}
 .nav-menu{position:fixed;left:16px!important;right:16px!important;top:auto;width:auto}
 .teacher-wrap{padding:20px 14px 40px}
 .hero-panel{padding:22px!important}
 .hero-copy h1{font-size:1.65rem!important}
}
@media(max-width:520px){
 .teacher-brand small{display:block!important}
 .teacher-logout{padding:8px 10px!important}
 .hero-actions{display:grid!important;width:100%}
 .hero-actions .btn{width:100%}
 .card{padding:16px!important}
}

/* v2.1.1 — correção e refinamento do cabeçalho */
.teacher-top{min-height:72px;padding-top:9px;padding-bottom:9px;gap:20px}
.teacher-brand{min-width:245px}
.teacher-brand b{font-size:1.03rem}
.teacher-brand small{font-size:.78rem}
.teacher-nav{gap:5px}
.teacher-nav>a,.nav-group>summary{font-size:.94rem;min-height:42px;padding-left:12px;padding-right:12px}
.teacher-logout{font-size:.92rem}
@media(max-width:1120px){.teacher-top{row-gap:8px}}

/* =========================================================
   Mais Aprendizagem 3.0 — identidade institucional aprovada
   ========================================================= */
:root{--ma-navy:#102554;--ma-navy-2:#16356f;--ma-purple:#7445c7;--ma-purple-soft:#f1eaff;--ma-teal:#139c95;--ma-teal-soft:#e4f7f4;--ma-blue:#2678d8;--ma-blue-soft:#e9f3ff;--ma-orange:#ef851c;--ma-orange-soft:#fff2e4;--ma-pink:#eb4b8a;--ma-bg:#f6f8fc;--ma-line:#e8ebf2;--brand:var(--ma-purple);--brand-2:#5c35ad;--brand-soft:var(--ma-purple-soft);--shadow:0 18px 50px rgba(16,37,84,.08);--shadow-soft:0 8px 26px rgba(16,37,84,.06)}
body.app-body{background:var(--ma-bg);font-size:15px}.app-shell{min-height:100vh}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:linear-gradient(180deg,#112758 0%,#0d234d 100%);color:#fff;padding:25px 18px 22px;display:flex;flex-direction:column;z-index:100;box-shadow:16px 0 36px rgba(16,37,84,.08);overflow-y:auto}.app-main{margin-left:250px;min-height:100vh;display:flex;flex-direction:column}.app-topbar{height:78px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--ma-line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:60;backdrop-filter:blur(14px)}.app-footer{margin-top:auto;padding:22px 32px;text-align:center;color:#98a2b3;font-size:12px}.teacher-wrap{width:min(1240px,calc(100% - 64px));margin:28px auto 42px}.ma-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.ma-brand>span:last-child{display:flex;flex-direction:column;line-height:.9}.ma-brand strong{font-size:32px;letter-spacing:-1.5px}.ma-brand small{font-size:13px;color:#b9a1ef;letter-spacing:.4px}.ma-symbol{position:relative;width:45px;height:45px;display:inline-block}.ma-symbol:after{content:"";position:absolute;left:19px;bottom:5px;width:8px;height:22px;background:#fff;border-radius:999px;transform:rotate(-3deg)}.ma-symbol i,.ma-symbol b,.ma-symbol em{position:absolute;display:block;border-radius:50% 50% 55% 45%;width:15px;height:11px}.ma-symbol i{background:#10a29a;left:14px;top:0;transform:rotate(20deg)}.ma-symbol b{background:#f5a623;right:0;top:10px;transform:rotate(-30deg)}.ma-symbol em{background:#ef4d8c;left:0;top:12px;transform:rotate(22deg)}.side-tagline{font-size:11px;color:#aebbd6;padding:14px 8px 18px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:12px}.side-nav{display:flex;flex-direction:column;gap:4px;align-items:stretch;flex:1}.side-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;color:#dbe3f4;text-decoration:none;border-radius:10px;font-size:13px;font-weight:650}.side-nav a span{width:21px;text-align:center;color:#c9b5f2;font-size:16px}.side-nav a:hover{background:rgba(255,255,255,.07);color:#fff}.side-nav a.active{background:linear-gradient(90deg,#7041c6,#8b55d5);color:#fff;box-shadow:0 7px 20px rgba(116,69,199,.28)}.side-nav a.active span{color:#fff}.side-separator{margin:12px 10px 5px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.side-separator span{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#6f82aa;font-weight:800}.side-foot{display:flex;gap:10px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.09);padding:16px 9px 0;color:#b5c1d9;font-size:11px}.side-foot>span{font-size:23px;color:#fff}.side-foot p{margin:0}.side-foot b{color:#fff}.top-context{display:flex;flex-direction:column}.top-context b{font-size:15px;color:var(--ma-navy)}.top-context small,.top-user small{color:#98a2b3;font-size:11px}.top-user{display:flex;align-items:center;gap:10px}.top-user>span:nth-child(2){display:flex;flex-direction:column;line-height:1.25}.user-avatar,.student-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,var(--ma-purple-soft),#e7f3ff);color:var(--ma-purple);font-weight:850}.logout-link{margin-left:10px;padding:8px 11px;border-radius:9px;background:#fff1f2;color:#c4314b;text-decoration:none;font-weight:750;font-size:12px}.mobile-menu{display:none;border:0;background:#f1f4f9;width:40px;height:40px;border-radius:10px;color:var(--ma-navy);font-size:20px}.menu-overlay{display:none}.eyebrow{display:inline-block;color:var(--ma-purple);text-transform:uppercase;letter-spacing:.9px;font-size:10px;font-weight:850;margin-bottom:6px}.ma-welcome{background:linear-gradient(125deg,#fff 0%,#fbf9ff 58%,#edf9f8 100%);border:1px solid var(--ma-line);border-radius:22px;padding:27px 30px;display:flex;justify-content:space-between;gap:20px;box-shadow:var(--shadow-soft)}.ma-welcome h1{font-size:31px;color:var(--ma-navy);margin:0 0 5px}.ma-welcome p{color:#68738a;margin:0}.welcome-badge{align-self:center;background:#fff;padding:12px 16px;border-radius:14px;border:1px solid #eee8fa;color:#6f7690;font-size:12px;text-align:right}.welcome-badge b{color:var(--ma-purple)}.ma-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.feature-card{display:flex;gap:13px;align-items:center;padding:18px;background:#fff;border:1px solid var(--ma-line);border-radius:17px;text-decoration:none;color:var(--ma-navy);box-shadow:var(--shadow-soft);transition:.18s}.feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.feature-card>span{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-size:20px}.feature-card div{display:flex;flex-direction:column}.feature-card b{font-size:14px}.feature-card small{font-size:11px;color:#7a8498;margin-top:3px}.feature-card.purple>span{background:var(--ma-purple-soft);color:var(--ma-purple)}.feature-card.teal>span{background:var(--ma-teal-soft);color:var(--ma-teal)}.feature-card.blue>span{background:var(--ma-blue-soft);color:var(--ma-blue)}.feature-card.orange>span{background:var(--ma-orange-soft);color:var(--ma-orange)}.ma-metrics .metric:before{background:linear-gradient(var(--ma-purple),var(--ma-teal))}.ma-metrics .metric b{color:var(--ma-navy)}.dashboard-panels{display:grid;grid-template-columns:2fr 1fr;gap:16px}.safety-card{background:linear-gradient(145deg,#102554,#17366f);color:#fff}.safety-card>span{font-size:30px}.safety-card h3{font-size:20px;margin-top:10px}.safety-card p{color:#c5d0e6}.teal-text{color:var(--ma-teal)}
.pei-layout{display:grid;grid-template-columns:300px 1fr;gap:18px}.student-list{padding:17px}.student-list h2{margin-bottom:12px}.student-list input{margin-bottom:11px}.student-links{display:flex;flex-direction:column;max-height:680px;overflow:auto}.student-links a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;text-decoration:none;color:var(--ma-navy);border:1px solid transparent}.student-links a:hover,.student-links a.active{background:#f7f3ff;border-color:#ede4fb}.student-links a>span:nth-child(2){display:flex;flex-direction:column;flex:1}.student-links b{font-size:13px}.student-links small{font-size:10px;color:#8a94a7}.student-links em{font-style:normal;font-size:9px;font-weight:850;color:var(--ma-teal);background:var(--ma-teal-soft);padding:4px 6px;border-radius:999px}.student-avatar.large{width:52px;height:52px;font-size:20px}.profile-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--ma-line);padding-bottom:17px;margin-bottom:18px}.profile-head h2{margin:4px 0 0}.adapt-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.adapt-checks label{display:flex;align-items:center;gap:8px;border:1px solid var(--ma-line);padding:10px;border-radius:10px;font-weight:650;background:#fafbfe}.adapt-checks input{width:auto}.adaptation-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:18px}.recent-adaptations{height:max-content}.recent-adaptations>a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid #eef1f5;text-decoration:none;color:var(--ma-navy)}.recent-adaptations>a span{display:flex;flex-direction:column}.recent-adaptations>a small{color:#8a94a7;font-size:10px}.recent-adaptations em{font-style:normal;font-size:9px;background:#f2ecff;color:var(--ma-purple);padding:5px 7px;border-radius:999px}.ai-responsibility{display:flex;gap:9px;align-items:center;background:#f3f0ff;border:1px solid #e9e1fb;color:#5b3d96;padding:12px 14px;border-radius:11px;margin-bottom:12px}.ai-responsibility span{font-size:12px}.adaptation-result{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:18px}.teacher-guidance{height:max-content;position:sticky;top:100px;border-top:4px solid var(--ma-teal)}.teacher-guidance>span{font-size:26px;color:var(--ma-teal)}.privacy-note{font-size:11px;background:#fff8e8;color:#8b6508;border-radius:10px;padding:10px;margin-top:14px}.adapted-text{background:#fbfcff;border-left:4px solid var(--ma-purple);padding:18px;border-radius:0 12px 12px 0;white-space:normal;margin-bottom:25px}.activity-card{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--ma-line)}.activity-num{min-width:34px;height:34px;border-radius:10px;background:var(--ma-purple-soft);color:var(--ma-purple);display:grid;place-items:center;font-weight:850}.activity-card>div{flex:1}.activity-card small{text-transform:uppercase;letter-spacing:.7px;color:#9ba3b2;font-weight:800}.activity-options{padding-left:20px}.activity-card details{background:#f6f8fb;border-radius:9px;padding:8px 10px;margin-top:8px}.activity-card summary{cursor:pointer;font-size:12px;font-weight:750;color:#536079}.status-chip{font-size:10px;font-weight:800;background:#fff4df;color:#9b5d00;padding:7px 9px;border-radius:999px}.status-chip.approved{background:#e7f8ef;color:#087a50}
.login-page{min-height:100vh;background:radial-gradient(circle at 15% 10%,#243f7c 0,#102554 40%,#0d2149 100%);display:grid;place-items:center;padding:30px}.ma-login{width:min(940px,96vw);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(3,15,39,.34)}.login-brand-panel{padding:52px;background:linear-gradient(145deg,#132d61,#102554);color:#fff;position:relative;overflow:hidden}.login-brand-panel:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(116,69,199,.24);right:-80px;bottom:-100px}.login-brand{margin-bottom:48px}.login-brand-panel h1{font-size:35px;color:#fff;margin-bottom:15px}.login-brand-panel p{color:#c7d3e9;font-size:16px}.login-features{display:flex;flex-direction:column;gap:10px;margin-top:28px;color:#dbe3f2;font-size:13px}.login-card{padding:58px 50px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:30px;color:var(--ma-navy);margin:0 0 5px}.login-card form{margin-top:17px}.login-card label{margin-top:13px}.login-btn{width:100%;margin-top:20px;padding:14px}.login-school{text-align:center;color:#a0a8b7;margin-top:24px}
@media(max-width:1100px){.ma-actions-grid{grid-template-columns:1fr 1fr}.pei-layout{grid-template-columns:250px 1fr}.adapt-checks{grid-template-columns:1fr 1fr}}
@media(max-width:880px){.app-sidebar{transform:translateX(-100%);transition:.2s}.app-main{margin-left:0}.mobile-menu{display:block}.menu-open .app-sidebar{transform:translateX(0)}.menu-open .menu-overlay{display:block;position:fixed;inset:0;background:rgba(5,16,41,.42);z-index:90}.teacher-wrap{width:min(94%,100%)}.app-topbar{padding:0 16px}.top-context{display:none}.dashboard-panels,.adaptation-layout,.adaptation-result{grid-template-columns:1fr}.teacher-guidance{position:static}.pei-layout{grid-template-columns:1fr}.student-links{max-height:280px}.ma-login{grid-template-columns:1fr}.login-brand-panel{display:none}.login-card{padding:42px 30px}}
@media(max-width:620px){.ma-actions-grid{grid-template-columns:1fr}.ma-welcome{flex-direction:column}.welcome-badge{text-align:left;align-self:flex-start}.adapt-checks{grid-template-columns:1fr}.top-user>span:nth-child(2){display:none}.teacher-wrap{margin-top:18px}.app-topbar{height:64px}.login-page{padding:14px}.ma-login{border-radius:20px}}

/* v3.0.1 — diagnóstico de IA e mensagens de erro */
.alert.err{color:#8a1c13!important;font-weight:700;white-space:pre-wrap;overflow-wrap:anywhere}.alert.ok{font-weight:700;white-space:pre-wrap}.ai-diagnostic-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 22px}.ai-diagnostic-card h2{margin:10px 0 5px}.ai-diagnostic-card p{margin:5px 0}@media(max-width:760px){.ai-diagnostic-card{display:block}.ai-diagnostic-card form{margin-top:14px}}


/* Mais Aprendizagem 3.1 — Assistente Mais / IA Local */
.ai-engine-card{margin-bottom:18px}
.ai-engine-card .section-title{align-items:flex-start}
.ai-status-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#e9fbf7;color:#087b69;font-weight:800;font-size:12px}
.ai-status-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ai-settings-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:18px}
.ai-settings-form label{font-weight:700;color:#18345f}
.ai-settings-form input,.ai-settings-form select{margin-top:7px}
.ai-settings-form .check-line,.ai-settings-form .form-actions{grid-column:1/-1}
.ai-settings-form .check-line{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #e5eaf3;border-radius:12px;background:#f9fbff;font-weight:600}
.ai-settings-form .check-line input{width:auto;margin:0}
.ai-help{margin-top:16px;padding:14px 16px;border-radius:12px;background:#f5f1ff;color:#4f3a79;line-height:1.55}
.install-optional{margin:14px 0;border:1px solid #e6eaf2;border-radius:12px;padding:12px 14px;background:#fafbfe}
.install-optional summary{cursor:pointer;font-weight:800;color:#18345f}
@media(max-width:760px){.ai-settings-form{grid-template-columns:1fr}.ai-settings-form .check-line,.ai-settings-form .form-actions{grid-column:auto}}


/* Mais Aprendizagem 4.0 — ficha integral do aluno */
.student-file-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.student-file-head .profile-head{border:0;margin:0;padding:0}.student-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;background:#fff;border:1px solid var(--ma-line);border-radius:14px;padding:7px;margin:16px 0}.student-tabs a{white-space:nowrap;text-decoration:none;color:#68738a;padding:9px 12px;border-radius:9px;font-size:12px;font-weight:750}.student-tabs a.active{background:var(--ma-purple-soft);color:var(--ma-purple)}.student-tabs a span{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#f0f2f7;font-size:9px;margin-left:4px}.student-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.two-column{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.privacy-banner{background:#fff8e8;border:1px solid #f2ddad;color:#76570d;padding:14px 16px;border-radius:12px;line-height:1.5}.document-card{padding:15px 0;border-bottom:1px solid var(--ma-line)}.document-card:last-child{border-bottom:0}.document-card h3{margin:8px 0 3px;color:var(--ma-navy)}.document-card small{color:#8792a5}.document-card p{font-size:13px;line-height:1.55;color:#536079}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.danger-btn{background:#fff0f2!important;color:#b22640!important;border:1px solid #ffd4dc!important}.compact-search{width:min(280px,100%)}.table-scroll{overflow-x:auto}.muted-pill{background:#f1f3f6!important;color:#697386!important}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.profile-summary-card{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ma-navy);margin-top:0!important}.profile-summary-card div{display:flex;flex-direction:column;flex:1}.profile-summary-card small{color:#8792a5}.profile-summary-card em{font-style:normal;font-size:10px;color:var(--ma-purple);font-weight:800}.history-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--ma-line)}.history-row>div:first-child{display:flex;flex-direction:column}.history-row small{color:#8792a5;margin-top:3px}.profile-form textarea{min-height:115px!important}.check-line{display:flex!important;align-items:center;gap:8px}.check-line input{width:auto!important;min-height:auto!important}
@media(max-width:1000px){.student-overview-grid,.profile-grid{grid-template-columns:1fr 1fr}.two-column{grid-template-columns:1fr}}
@media(max-width:680px){.student-file-head{align-items:flex-start;flex-direction:column}.student-overview-grid,.profile-grid{grid-template-columns:1fr}.history-row{grid-template-columns:1fr}.student-tabs{border-radius:10px}.profile-form{grid-template-columns:1fr!important}}
/* v4.0.1 — fluxo Laudo -> IA -> revisão da coordenação -> PEI aprovado */
.pei-review-banner{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:22px 24px;margin-bottom:18px;border:1px solid #d8cdfd;border-radius:18px;background:#faf8ff}.pei-review-banner h2{margin:4px 0 8px}.pei-review-banner p{margin:0;max-width:780px}.pei-job-result{margin-top:10px}.pei-job-result .ai-loading{padding:10px 12px;border-radius:12px;background:#f6f8fc;color:#42526b;font-size:.92rem}.document-card .status-chip{margin-left:6px}.document-card .status-chip.approved{background:#e8f8f0;color:#16734b}.privacy-banner b{font-weight:800}
/* Mais Aprendizagem 4.0.2 — análise integral de laudos */
.analysis-progress{margin:10px 0;padding:10px 12px;border:1px solid #dbe4ef;border-radius:10px;background:#f8fafc;display:flex;flex-direction:column;gap:3px}.analysis-progress b{font-size:13px;color:#173e73}.analysis-progress span{font-size:12px;color:#64748b}.progress-track{height:7px;background:#e6ebf2;border-radius:20px;overflow:hidden;margin:7px 0 2px}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#6d4ee8,#20a7a0);border-radius:20px;transition:width .25s ease}.document-card .ai-loading{margin-top:10px}
/* v4.2.0 — acompanhamento e evolução */
.evolution-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:18px;align-items:start}.evidence-card{border:1px solid #e1e7ef;border-radius:14px;padding:14px;margin:12px 0;background:#fff}.evidence-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.evidence-head small{display:block;color:#6b7280;margin-top:3px}.evidence-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.evidence-metrics span{background:#f6f8fb;border-radius:10px;padding:9px}.evidence-metrics b{display:block;font-size:11px;text-transform:uppercase;color:#667085;margin-bottom:3px}.evidence-delete{margin-top:8px}@media(max-width:980px){.evolution-grid{grid-template-columns:1fr}}

/* v4.3.0 — usuários, permissões e PEI docente */
.user-manage-form{margin-top:14px;padding-top:14px;border-top:1px solid #e7ebf3}.user-reset-form{display:flex;gap:10px;align-items:end;margin-top:12px}.user-reset-form label{flex:1}.pei-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pei-readonly-grid section{padding:14px;border:1px solid #e5eaf2;border-radius:14px;background:#fbfcff}.pei-readonly-grid section b{color:#102554}.pei-readonly-grid section p{margin:7px 0 0;white-space:normal}.grade-table details summary{cursor:pointer;display:inline-block}@media(max-width:800px){.pei-readonly-grid{grid-template-columns:1fr}.user-reset-form{display:block}.user-reset-form button{margin-top:10px}}
/* v4.4.0 — dashboards e ambiente por perfil */
.role-welcome{margin-bottom:20px}.role-metrics{margin-bottom:22px}.role-action-list,.assignment-list{display:grid;gap:10px;margin-top:16px}.role-action-list a,.assignment-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #e5e9f3;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.role-action-list a:hover,.assignment-list a:hover{border-color:#c9b7ff;box-shadow:0 8px 24px rgba(26,37,74,.07)}.role-action-list span,.assignment-list span{font-size:13px;color:#6f7890}.big-dashboard-number{font-size:48px;font-weight:800;line-height:1;margin:16px 0 8px;color:#16264d}.empty-role-state{padding:18px;border:1px dashed #d8ddea;border-radius:14px;background:#fafbfe}.assignment-form{display:grid;grid-template-columns:1.2fr 1fr 1.2fr auto;gap:12px;align-items:end;margin:18px 0}.assignment-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.button-link{background:none;border:0;padding:0;cursor:pointer;font:inherit}.teacher-actions{margin-bottom:20px}@media(max-width:900px){.assignment-form{grid-template-columns:1fr}.role-action-list a,.assignment-list a{align-items:flex-start;flex-direction:column;gap:4px}}


/* v4.5.0 — identidade pedagógica */
.institutional-pedagogy-card{margin-bottom:18px}.institutional-form{display:grid;gap:16px}.institutional-form>label{display:grid;gap:7px;font-weight:700}.institutional-form textarea{min-height:110px;resize:vertical}.institutional-options{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:16px;align-items:end}.institutional-options label{display:grid;gap:7px}.institutional-options .check-line{display:flex;align-items:center;gap:10px;font-weight:600}.institutional-options .check-line input{width:auto}@media(max-width:850px){.institutional-options{grid-template-columns:1fr}}

/* v4.6.0 — Conteúdos Ministrados + Central de Produção Pedagógica */
.content-hub-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:18px;align-items:start;margin-bottom:22px}
.content-flow-card{position:sticky;top:18px}.workflow-steps{display:grid;gap:10px;margin:18px 0}.workflow-steps span{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:#fafbff}.workflow-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#ede9fe;color:#5b21b6}.content-records{display:grid;gap:14px}.content-record-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.content-record h3{margin:10px 0 4px}.content-record details{margin-top:12px}.production-center{min-width:0}.student-multi-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:310px;overflow:auto;padding:8px;border:1px solid #e4e7ef;border-radius:14px;background:#fafbff}.student-choice{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid #e7e9f2;border-radius:12px;background:#fff;cursor:pointer}.student-choice:hover{border-color:#b9a7f7}.student-choice input{width:auto;margin-top:3px}.student-choice span{display:grid;gap:2px}.student-choice small{color:#72798b}.student-choice:has(input:disabled){opacity:.55;cursor:not-allowed}.production-center textarea[readonly]{background:#f7f8fb;color:#394150}
@media(max-width:900px){.content-hub-grid{grid-template-columns:1fr}.content-flow-card{position:static}.student-multi-select{grid-template-columns:1fr}.content-record-head{flex-direction:column}}


/* v4.7.0 — Central de Pendências e fluxo de revisão */
.pending-section{margin-top:18px}.pending-list{display:flex;flex-direction:column;gap:10px}.pending-list>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #e8eaf3;border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:.18s ease}.pending-list>a:hover{border-color:#c8b8f5;box-shadow:0 8px 24px rgba(40,34,82,.07);transform:translateY(-1px)}.pending-list>a div{display:flex;flex-direction:column;gap:4px}.pending-list>a small{color:#70758a}.pending-list.compact>a{padding:11px 14px}.pending-list.compact>a>span{font-size:.86rem;color:#6c45d9;font-weight:700}.error-chip{background:#fff1f1!important;color:#b42318!important;border-color:#ffc9c9!important}


/* v4.7.1 — estados resilientes da Central de Pendências */
.pending-all-clear{display:flex;align-items:center;gap:18px;margin-bottom:18px;border:1px solid #d8eee7;background:#fbfffd}.pending-all-clear-icon{width:48px;height:48px;border-radius:16px;background:#e7f7f1;display:grid;place-items:center;font-size:26px;font-weight:800;color:#16785b;flex:0 0 48px}.pending-all-clear h2{margin:4px 0 6px}.pending-empty{padding:18px;border:1px dashed #dbe2ee;border-radius:14px;background:#fbfcfe;display:flex;flex-direction:column;gap:5px}.pending-empty b{color:#25334d}.pending-empty span{font-size:13px;color:#778399}@media(max-width:700px){.pending-all-clear{align-items:flex-start}.pending-all-clear-icon{width:42px;height:42px;flex-basis:42px}}

/* v4.8.0 — Relatórios e Indicadores Pedagógicos */
.report-title-row{align-items:flex-start;margin-bottom:18px}.report-filter{display:flex;align-items:end;gap:14px;margin-bottom:18px;padding:16px 18px}.report-filter label{min-width:290px;margin:0}.report-filter select{margin-top:6px}.report-kpis{margin-bottom:18px}.pedagogical-report-columns{align-items:stretch}.indicator-list{display:grid;gap:10px}.indicator-list>div{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:#fbfcff}.indicator-list b{font-size:1.25rem;color:var(--navy,#17325d)}.section-divider{display:flex;align-items:center;gap:12px;margin:28px 0 16px;color:#64748b;font-size:.76rem;font-weight:800;letter-spacing:.08em}.section-divider:before,.section-divider:after{content:"";height:1px;background:#e4e8f0;flex:1}@media(max-width:760px){.report-title-row{display:block}.report-title-row .btn{margin-top:12px}.report-filter{display:block}.report-filter label{min-width:0}.report-filter .mini-btn{display:inline-block;margin-top:10px}}@media print{.sidebar,.topbar,.report-filter,.report-title-row .btn,.actions{display:none!important}.app-main,.content{margin:0!important;padding:0!important}.card{break-inside:avoid;box-shadow:none!important}.section-divider{margin-top:18px}}

/* v5.0.0 — diagnóstico e homologação */
.diagnostic-title{align-items:center}.diag-version{display:inline-flex;padding:9px 13px;border-radius:999px;background:#eef2ff;color:#5638c8;font-weight:800;white-space:nowrap}.diag-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:16px;margin:16px 0 18px;border:1px solid #dbe4ef;background:#fff}.diag-summary>div{display:flex;flex-direction:column;gap:3px}.diag-summary.ready{border-color:#bfe7d8;background:#f4fcf8}.diag-summary.blocked{border-color:#f2c9c9;background:#fff7f7}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.diagnostic-item{border-left:4px solid #bdc8d6}.diagnostic-item.ok{border-left-color:#2d9b72}.diagnostic-item.warn{border-left-color:#d49125}.diagnostic-item.error{border-left-color:#c84f55}.diag-item-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.diag-item-head span{font-weight:800;color:#14213d}.diagnostic-item.ok .diag-item-head b{color:#197353}.diagnostic-item.warn .diag-item-head b{color:#a76b0b}.diagnostic-item.error .diag-item-head b{color:#b43942}.diagnostic-item p{margin:8px 0 0;color:#667085;font-size:.92rem;line-height:1.45}.diagnostic-metrics{margin-bottom:18px}.homologation-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.homologation-checklist>div{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border-radius:12px;background:#f7f9fc;border:1px solid #e4e9f0}.homologation-checklist>div.ok{border-color:#c7e7dc;background:#f5fbf8}.homologation-checklist>div.warn{border-color:#eed7af;background:#fffbf3}.homologation-checklist>div.error{border-color:#efc8ca;background:#fff7f7}.homologation-checklist span{color:#667085;font-size:.88rem}@media(max-width:850px){.diagnostic-grid,.homologation-checklist{grid-template-columns:1fr}.diag-summary{align-items:flex-start;flex-direction:column}.diagnostic-title{align-items:flex-start;flex-direction:column}}


/* v5.0.1 — laudos por fotos/imagens + OCR */
.upload-choice{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin-top:4px}
.upload-option{border:1px solid var(--line,#dfe5ee);border-radius:14px;padding:14px;background:#fff}
.upload-option>b{display:block;margin-bottom:10px}
.upload-option input[type=file]{width:100%;margin:6px 0 8px}
.upload-or{align-self:center;font-weight:800;opacity:.45}
.add-pages{margin-top:10px;border-top:1px dashed var(--line,#dfe5ee);padding-top:8px}
.add-pages summary{cursor:pointer;font-weight:700;font-size:.9rem}
.inline-upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px}
.inline-upload input[type=file]{max-width:420px}
@media(max-width:760px){.upload-choice{grid-template-columns:1fr}.upload-or{text-align:center}.inline-upload{align-items:stretch}.inline-upload input[type=file],.inline-upload .mini-btn{width:100%;max-width:none}}
