@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#7a8398;--border:#e6e9f0;--primary:#5757d2;--primary-dark:#4545b6;--primary-soft:#eeeeff;--green:#23966d;--green-soft:#e8f7f1;--orange:#c77a24;--orange-soft:#fff3e5;--red:#c74f57;--red-soft:#fff0f1;--shadow:0 18px 50px rgba(35,42,79,.08)}
*{box-sizing:border-box}body{margin:0;font-family:"DM Sans",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,#16182d,#3f438f)}.login-card{width:min(430px,100%);background:#fff;border-radius:24px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.brand{display:flex;align-items:center;gap:12px}.brand-login{margin-bottom:28px}.brand-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#7772ff,#5151c9);color:#fff;display:grid;place-items:center;font:800 13px Manrope}.brand strong,.brand span{display:block}.brand strong{font:700 15px Manrope}.brand span{font-size:11px;color:#8f95a8}.login-card h1{font:800 29px Manrope;margin:7px 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-size:10px;font-weight:800;margin:0}.login-card form{margin-top:24px}.wide{width:100%}.form-message{min-height:18px;color:var(--red);font-size:12px}.demo-box{border-top:1px solid var(--border);margin-top:18px;padding-top:18px;display:grid;gap:8px}.demo-box strong{font-size:12px}.demo-login{border:1px solid var(--border);background:#fafaff;padding:10px;border-radius:10px;color:var(--primary);font-weight:700}.mode-note{text-align:center;font-size:10px;color:var(--muted);margin:18px 0 0}
.app{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{background:#17182c;color:#fff;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{margin-bottom:38px}.sidebar .brand span{color:#9296ac}nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#aaaec0;padding:12px 13px;border-radius:11px;text-align:left;display:flex;gap:11px;align-items:center;font-weight:600}.nav-item:hover,.nav-item.active{background:#292b48;color:#fff}.student-card{margin-top:auto;border-top:1px solid #2c2e47;padding-top:18px;display:flex;gap:10px;align-items:center}.avatar,.student-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#3d4064;color:#fff;font-weight:800}.profile-copy{min-width:0;flex:1}.profile-copy strong,.profile-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy strong{font-size:12px}.profile-copy span{font-size:10px;color:#8f93a8}.logout-btn{border:0;background:transparent;color:#9da1b5;font-size:18px}
main{min-width:0;padding:28px 38px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.topbar h1{font:800 25px Manrope;margin:3px 0 0}.level-badge{background:var(--primary-soft);color:var(--primary);padding:9px 13px;border-radius:100px;font-size:11px;font-weight:800}.menu-btn{display:none;border:0;background:#fff;border-radius:10px;padding:10px 12px;box-shadow:var(--shadow)}.page{display:none}.page.active{display:block}
.hero{border-radius:24px;background:linear-gradient(135deg,#3b3d73,#5c5ed4);color:#fff;display:grid;grid-template-columns:1.25fr .75fr;min-height:255px;padding:38px;overflow:hidden;box-shadow:var(--shadow)}.hero h2{font:800 34px/1.12 Manrope;max-width:560px;margin:12px 0}.hero p{color:#dadbfa;line-height:1.65;max-width:570px}.hero-btn{background:#fff!important;color:#4648ae!important}.hero-visual{position:relative}.big-letter{position:absolute;right:10px;bottom:-50px;font:800 185px Manrope;color:rgba(255,255,255,.08)}.bubble{position:absolute;background:#fff;color:#35375d;padding:11px 16px;border-radius:14px;font-weight:800;box-shadow:0 14px 30px rgba(0,0,0,.16)}.bubble.one{right:28px;top:18px;transform:rotate(5deg)}.bubble.two{left:10px;bottom:35px;transform:rotate(-5deg)}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:18px 0 30px}.stats article{background:#fff;border:1px solid var(--border);border-radius:15px;padding:16px}.stats span,.stats small{display:block;color:var(--muted)}.stats span{font-size:11px}.stats strong{display:block;font:800 25px Manrope;margin:5px 0}.stats small{font-size:10px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:21px}.panel-head,.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.panel-head h2,.section-heading h2{font:800 22px Manrope;margin:4px 0}.section-heading{margin-bottom:18px}.section-heading p:not(.eyebrow){color:var(--muted);margin:3px 0;font-size:13px}.text-btn{border:0;background:none;color:var(--primary);font-weight:800;font-size:11px}.compact-list{display:grid;gap:10px;margin-top:16px}.compact-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.compact-item:first-child{border-top:0}.compact-item strong,.compact-item span{display:block}.compact-item strong{font-size:12px}.compact-item span{font-size:10px;color:var(--muted);margin-top:3px}.compact-status{font-size:10px!important;font-weight:800!important;color:var(--primary)!important;white-space:nowrap}
.primary-btn{border:0;background:var(--primary);color:#fff;padding:12px 17px;border-radius:11px;font-weight:800}.primary-btn:hover{background:var(--primary-dark)}.secondary-btn{border:1px solid var(--border);background:#fff;color:var(--text);padding:9px 12px;border-radius:9px;font-weight:700;font-size:11px}.danger-btn{border:1px solid #ffd5d8;background:var(--red-soft);color:var(--red);padding:9px 12px;border-radius:9px;font-weight:700;font-size:11px}.toolbar{display:flex;gap:11px;margin-bottom:18px}.toolbar input,.toolbar select{background:#fff;border:1px solid var(--border);border-radius:11px;padding:12px 14px;outline:none}.toolbar input{flex:1}.toolbar input:focus,.toolbar select:focus,form input:focus,form textarea:focus,form select:focus{border-color:var(--primary)}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.word-card,.phrase-card,.activity-card,.student-panel,.lesson-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:19px}.word-top{display:flex;justify-content:space-between;gap:10px}.word-card h3{font:800 19px Manrope;margin:0}.tag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);background:var(--primary-soft);padding:7px 9px;border-radius:8px}.translation{color:var(--green);font-weight:800;font-size:12px;margin:7px 0 14px}.example{border-left:3px solid #dedffd;padding-left:10px;color:var(--muted);font-size:12px;line-height:1.55}.delete-btn{border:0;background:none;color:#afb4c2;font-size:11px;margin-top:13px;padding:0}.delete-btn:hover{color:var(--red)}.phrase-list,.activity-list{display:grid;gap:11px}.phrase-meta,.activity-meta{color:var(--primary);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.phrase-card h3,.activity-card h3{font:700 16px Manrope;margin:7px 0}.phrase-card p,.activity-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.activity-card{display:grid;grid-template-columns:1fr auto;gap:17px;align-items:center}.activity-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status{font-size:10px;font-weight:800;padding:7px 9px;border-radius:8px;background:var(--orange-soft);color:var(--orange)}.status.delivered{background:var(--primary-soft);color:var(--primary)}.status.done{background:var(--green-soft);color:var(--green)}.grade-pill{font-size:10px;font-weight:800;padding:7px 9px;border-radius:8px;background:#edf6ff;color:#286eaa}.activity-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}.filter-btn{border:1px solid var(--border);background:#fff;color:var(--muted);padding:9px 12px;border-radius:9px;font-weight:800;font-size:11px}.filter-btn.active{background:var(--primary-soft);border-color:#d8d8ff;color:var(--primary)}
.student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-panel-top{display:flex;gap:11px;align-items:center}.student-panel h3{font:800 16px Manrope;margin:0}.student-panel p{color:var(--muted);font-size:11px;margin:4px 0}.progress-row{display:flex;justify-content:space-between;font-size:10px;margin-top:17px}.progress-track{height:7px;background:#eceef4;border-radius:99px;overflow:hidden;margin:7px 0}.progress-bar{height:100%;background:var(--primary);border-radius:99px}.student-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.mini-metric{background:#f8f9fc;border-radius:10px;padding:9px;text-align:center}.mini-metric strong,.mini-metric span{display:block}.mini-metric strong{font:800 16px Manrope}.mini-metric span{font-size:9px;color:var(--muted)}.student-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.timeline{display:grid;gap:13px}.lesson-card{display:grid;grid-template-columns:115px 1fr;gap:20px}.lesson-date{border-right:1px solid var(--border)}.lesson-date strong,.lesson-date span{display:block}.lesson-date strong{font:800 15px Manrope}.lesson-date span{font-size:10px;color:var(--muted);margin-top:4px}.lesson-card h3{font:800 16px Manrope;margin:0 0 7px}.lesson-card p{font-size:12px;color:var(--muted);line-height:1.55;margin:4px 0}.next-focus{margin-top:10px!important;padding:10px;background:#fafaff;border-radius:10px;color:#555a78!important}
.empty-state{border:1px dashed #d4d8e2;border-radius:16px;padding:38px;text-align:center;color:var(--muted);background:#fff}.modal{position:fixed;inset:0;background:rgba(15,18,35,.58);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}.modal.open{display:flex}.modal-card{width:min(520px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:27px;position:relative;box-shadow:0 35px 80px rgba(0,0,0,.22)}.modal-large{width:min(760px,100%)}.modal-card h2{font:800 22px Manrope;margin:0 0 18px}.close-modal{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:26px;color:var(--muted)}form{display:grid;gap:13px}form label{display:grid;gap:6px;font-size:11px;font-weight:800}form input,form textarea,form select{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 12px;outline:none;resize:vertical;background:#fff;color:var(--text)}.modal-note{font-size:10px;color:var(--muted);line-height:1.5;margin-top:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-box{background:#f8f9fc;border-radius:12px;padding:14px}.detail-box h4{font:800 12px Manrope;margin:0 0 8px}.detail-box p{font-size:12px;color:var(--muted);line-height:1.6;white-space:pre-wrap}.feedback-box{border-left:3px solid var(--green);padding-left:12px}.submission-box{border-left:3px solid var(--primary);padding-left:12px}.detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.student-detail-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}.student-detail-top .student-avatar{width:48px;height:48px}.student-detail-top h2{margin:0}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.score-card{background:#f8f9fc;border-radius:12px;padding:13px}.score-card span,.score-card strong{display:block}.score-card span{font-size:9px;color:var(--muted)}.score-card strong{font:800 20px Manrope;margin-top:4px}
@media(max-width:1050px){.stats{grid-template-columns:repeat(3,1fr)}.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:90;left:-260px;width:245px;transition:.25s}.sidebar.open{left:0}.menu-btn{display:block}main{padding:22px}.topbar{justify-content:flex-start}.level-badge{margin-left:auto}.hero{grid-template-columns:1fr}.hero-visual{display:none}.dashboard-grid,.student-grid{grid-template-columns:1fr}}
@media(max-width:620px){main{padding:18px 14px 45px}.topbar h1{font-size:21px}.hero{padding:25px 22px}.hero h2{font-size:28px}.stats{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:1fr}.toolbar{flex-direction:column}.responsive-heading{align-items:flex-start;flex-direction:column}.activity-card{grid-template-columns:1fr}.activity-actions{justify-content:flex-start}.lesson-card{grid-template-columns:1fr}.lesson-date{border-right:0;border-bottom:1px solid var(--border);padding-bottom:10px}.detail-grid,.score-grid{grid-template-columns:1fr 1fr}.login-card{padding:26px 22px}}

.class-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--primary-soft);color:var(--primary);border:1px solid #dadaff;border-radius:14px;padding:13px 16px;margin-bottom:18px}.class-banner strong{font-family:Manrope}.class-banner span{font-size:12px;color:var(--muted)}


/* Aula bilíngue */
.modal-xlarge{width:min(980px,100%)}
.translation-hint{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--primary-soft);border:1px solid #dadaff;color:var(--primary);padding:10px 12px;border-radius:11px;font-size:11px;line-height:1.45}
.translation-hint span{color:var(--muted)}
.bilingual-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lesson-form-section{border-top:1px solid var(--border);padding-top:16px;display:grid;gap:11px}
.lesson-form-section h3{font:800 14px Manrope;margin:0}.lesson-form-section p{font-size:10px;color:var(--muted);margin:3px 0 0}
.lesson-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.dynamic-list{display:grid;gap:9px}.dynamic-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 120px 34px;gap:8px;align-items:end;background:#f8f9fc;border:1px solid var(--border);border-radius:12px;padding:10px}.dynamic-row.phrase-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px}.dynamic-row label{font-size:10px}.row-remove{width:34px;height:38px;border:1px solid #f0d4d6;background:#fff;color:var(--red);border-radius:9px;font-weight:800}.lesson-form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.translation-status{margin:0;min-height:0;color:var(--muted)}
.lesson-bilingual{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}.lesson-language{background:#f8f9fc;border-radius:11px;padding:11px}.lesson-language strong{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:5px}.lesson-language p{white-space:pre-wrap!important;color:var(--text)!important}.lesson-subsection{margin-top:12px}.lesson-subsection h4{font:800 11px Manrope;margin:0 0 7px}.lesson-pills{display:flex;gap:6px;flex-wrap:wrap}.lesson-pill{background:var(--primary-soft);color:var(--primary);border-radius:8px;padding:6px 8px;font-size:10px;font-weight:700}.lesson-phrase-pair{border-left:3px solid #dedffd;padding-left:9px;margin:7px 0}.lesson-phrase-pair strong,.lesson-phrase-pair span{display:block}.lesson-phrase-pair strong{font-size:11px}.lesson-phrase-pair span{font-size:10px;color:var(--muted);margin-top:2px}
@media(max-width:720px){.bilingual-fields,.lesson-bilingual{grid-template-columns:1fr}.dynamic-row,.dynamic-row.phrase-row{grid-template-columns:1fr}.row-remove{width:100%}}


/* v3.4 - Provas */
.modal-xlarge{width:min(980px,96vw);max-height:90vh;overflow:auto}
.exam-list{display:grid;gap:14px}
.exam-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.exam-card h3{font:700 17px Manrope;margin:6px 0}.exam-card p{margin:0;color:var(--muted);font-size:13px}.exam-meta{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--primary)}
.exam-side{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.exam-builder{display:grid;gap:16px;margin:16px 0}.exam-question-builder{border:1px solid var(--border);border-radius:14px;padding:16px;background:#fafbfe}.question-number{font:800 13px Manrope;color:var(--primary);margin-bottom:12px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.class-banner.compact{margin-bottom:14px}.take-question{border-bottom:1px solid var(--border);padding:18px 0}.take-question h3{font-size:16px;margin:0 0 12px}.exam-option{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;border:1px solid var(--border);padding:10px 12px;border-radius:10px;margin:7px 0;font-weight:500!important}.exam-option input{width:auto!important;margin:0}.answer-feedback{font-weight:700;font-size:12px;margin:10px 0 0}.answer-feedback.correct{color:#258460}.answer-feedback.wrong{color:#c05252}.exam-score-final{margin-top:20px;padding:20px;border-radius:14px;background:var(--primary-soft);font-size:18px;text-align:center}.exam-score-final strong{font:800 28px Manrope;color:var(--primary)}.table-wrap{overflow:auto}.results-table{width:100%;border-collapse:collapse;margin-top:18px}.results-table th,.results-table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}.results-table th{font-size:11px;text-transform:uppercase;color:var(--muted)}
@media(max-width:700px){.exam-card{align-items:flex-start;flex-direction:column}.exam-side{justify-content:flex-start}.option-grid{grid-template-columns:1fr}.modal-xlarge{width:100%;max-height:none}}

/* Pronúncia de vocabulário */
.word-audio-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.word-audio-line h3{min-width:0}
.audio-btn{border:1px solid var(--border);background:var(--primary-soft);color:var(--primary);border-radius:9px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:5px;min-height:36px}
.audio-btn:hover{border-color:#cfcfff;background:#e5e5ff}
.audio-btn:focus-visible{outline:3px solid rgba(91,91,214,.22);outline-offset:2px}
@media(max-width:420px){.audio-btn span{display:none}.audio-btn{padding:7px 9px}}

.pronunciation-text{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.pronunciation-text b{color:var(--text)}

.word-audio-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.word-audio-line h3{margin:0}.speak-word-btn{border:1px solid var(--border);background:var(--primary-soft);color:var(--primary);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800}.speak-word-btn:hover{filter:brightness(.97)}


/* v3.8 - Atividades estruturadas */
.activity-builder-section{border-top:1px solid var(--border);padding-top:16px;display:grid;gap:10px}.activity-builder-section h3{font:800 15px Manrope;margin:0}.activity-builder-section>p{font-size:11px;color:var(--muted);margin:0}.activity-builder-list{display:grid;gap:9px}.activity-builder-row{display:grid;grid-template-columns:32px 1fr 1fr;gap:9px;align-items:start;background:#f8f9fc;border:1px solid var(--border);border-radius:12px;padding:10px}.activity-q-number{width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:11px;margin-top:20px}.activity-answer-sheet{display:grid;gap:10px;margin-top:18px}.activity-part-heading{font:800 14px Manrope;color:var(--primary);margin:18px 0 3px;padding-bottom:8px;border-bottom:1px solid var(--border)}.activity-answer-row{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fff}.activity-prompt{display:flex;gap:10px;align-items:flex-start}.activity-prompt>span{width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:800}.activity-prompt p{margin:3px 0 10px;font-weight:700;font-size:13px}.activity-answer-row label{font-size:10px;font-weight:800}.activity-answer-row input{width:100%;border:1px solid var(--border);border-radius:9px;padding:10px 11px;margin-top:5px}.answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.answer-compare>div{background:#f8f9fc;border-radius:9px;padding:10px}.answer-compare small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.answer-compare p{margin:5px 0 0;font-size:12px;white-space:pre-wrap}.activity-correction{margin-top:18px}.activity-correction label{display:grid;gap:6px;font-size:11px;font-weight:800;margin-top:10px}.activity-correction input,.activity-correction textarea{width:100%;border:1px solid var(--border);border-radius:9px;padding:10px}
@media(max-width:720px){.activity-builder-row{grid-template-columns:1fr}.activity-q-number{margin-top:0}.answer-compare{grid-template-columns:1fr}}


/* v3.9 - Gabarito / Notas do professor */
.gradebook-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.gradebook-summary article{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px}.gradebook-summary span,.gradebook-summary small{display:block;color:var(--muted);font-size:11px}.gradebook-summary strong{display:block;font:800 24px Manrope;margin:5px 0}.gradebook-toolbar select{min-width:210px}.grade-type{display:inline-flex;padding:6px 9px;border-radius:8px;font-size:10px;font-weight:800}.grade-type.activity{background:var(--primary-soft);color:var(--primary)}.grade-type.exam{background:#e9f8f2;color:#258460}.compact-btn{padding:7px 10px;font-size:10px}.exam-key{margin-top:22px;border-top:1px solid var(--border);padding-top:18px}.exam-key h3{font:800 16px Manrope;margin:0 0 10px}.exam-key-row{display:grid;grid-template-columns:1fr minmax(180px,.6fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:12px}.exam-key-row span{color:#258460;font-weight:700}.gradebook-table td{vertical-align:middle}
@media(max-width:800px){.gradebook-summary{grid-template-columns:repeat(2,1fr)}.exam-key-row{grid-template-columns:1fr}}
@media(max-width:480px){.gradebook-summary{grid-template-columns:1fr}}


/* v3.10 — Banco de palavras em linhas */
.word-list{display:grid;gap:0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}.word-list-head,.word-row{display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(150px,1.15fr) minmax(140px,1fr) 72px;align-items:center;min-width:0}.word-list-head.teacher,.word-row.teacher{grid-template-columns:minmax(150px,1.15fr) minmax(150px,1.15fr) minmax(140px,1fr) 72px 72px}.word-list-head{background:#f7f8fb;border-bottom:1px solid var(--border);color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.word-list-head span{padding:12px 16px}.word-row{border-bottom:1px solid var(--border);transition:background .15s ease}.word-row:last-child{border-bottom:0}.word-row:hover{background:#fafbff}.word-cell{padding:14px 16px;min-width:0;font-size:13px;overflow-wrap:anywhere}.word-cell strong{font-family:Manrope;font-size:14px}.pronunciation-cell{color:var(--muted);font-style:italic}.action-cell{display:flex;justify-content:center;padding-left:8px;padding-right:8px}.icon-action{width:38px;height:38px;border:1px solid var(--border);background:#fff;border-radius:10px;display:grid;place-items:center;font-size:16px;line-height:1;transition:.15s}.icon-action:hover{background:var(--primary-soft);border-color:#d9d9ff}.delete-word-icon:hover{background:#fff0f0;border-color:#ffd4d4}.word-row .delete-btn{display:none}
@media(max-width:700px){.word-list{background:transparent;border:0;border-radius:0;gap:10px;overflow:visible}.word-list-head{display:none}.word-row,.word-row.teacher{grid-template-columns:1fr auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 12px;gap:6px 10px}.word-row:last-child{border-bottom:1px solid var(--border)}.word-cell{padding:3px 0}.word-cell:not(.action-cell){grid-column:1}.word-cell:before{content:attr(data-label);display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800;margin-bottom:2px}.action-cell{grid-column:2;grid-row:auto;align-self:center}.action-cell:before{display:none}.word-row.teacher .action-cell:nth-last-child(2){grid-row:1 / span 2}.word-row.teacher .action-cell:last-child{grid-row:3 / span 1}.word-row:not(.teacher) .action-cell{grid-row:1 / span 3}.icon-action{width:40px;height:40px}}

.home-action-list{display:grid;gap:8px}.home-action-btn{width:100%;border:1px solid var(--border);background:#fff;border-radius:12px;padding:11px 12px;display:grid;grid-template-columns:34px 1fr 18px;gap:10px;align-items:center;text-align:left;color:var(--text)}.home-action-btn:hover{border-color:#d5d5ff;background:#fafaff}.home-action-btn>span{font-size:19px}.home-action-btn div{display:grid;gap:2px}.home-action-btn strong{font-size:12px}.home-action-btn small{font-size:10px;color:var(--muted);font-weight:500}.home-action-btn b{color:var(--primary);font-size:14px}


/* v3.13 - alunos e últimas notas no início */
.student-latest-grades{display:grid;gap:8px}.student-grade-row{width:100%;display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(120px,1fr) minmax(120px,1fr) 18px;gap:12px;align-items:center;border:1px solid var(--border);background:#fff;border-radius:12px;padding:11px 12px;text-align:left;color:var(--text)}.student-grade-row:hover{border-color:#d5d5ff;background:#fafaff}.student-grade-name{display:flex;align-items:center;gap:9px;min-width:0}.mini-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:800;flex:0 0 31px}.student-grade-name div,.latest-grade{display:grid;gap:2px;min-width:0}.student-grade-name strong{font-size:12px}.student-grade-name small,.latest-grade small,.latest-grade span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.latest-grade strong{font:800 17px Manrope;color:var(--primary)}.row-arrow{color:var(--primary)}
@media(max-width:720px){.student-grade-row{grid-template-columns:1fr 1fr}.student-grade-name{grid-column:1/-1}.row-arrow{display:none}}


/* v3.17 - resumo do ciclo no perfil do aluno */
.student-cycle-summary{display:grid;gap:18px;margin-bottom:24px}.cycle-main-card{background:linear-gradient(135deg,#ffffff,#f7f7ff);border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;justify-content:space-between;gap:24px;align-items:center}.cycle-main-card h2{font:800 24px Manrope;margin:5px 0}.cycle-main-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px}.cycle-progress-wrap{min-width:240px;display:grid;gap:7px}.cycle-progress-track{height:10px;background:#eceef6;border-radius:999px;overflow:hidden}.cycle-progress-track span{display:block;height:100%;width:0;background:var(--primary);border-radius:999px;transition:width .25s ease}.cycle-progress-wrap small{font-size:10px;color:var(--muted);font-weight:700}.student-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-summary-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:15px;display:flex;gap:11px;align-items:flex-start}.summary-icon{font-size:20px}.student-summary-card div{display:grid;gap:3px;min-width:0}.student-summary-card small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.student-summary-card strong{font:800 24px Manrope;color:var(--primary)}.student-summary-card span:last-child{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-cycle-activities{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px}.student-recent-grades{display:grid;gap:8px}.student-recent-grade-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--border);padding:10px 2px 0}.student-recent-grade-row:first-child{border-top:0}.student-recent-grade-row div{display:grid;gap:2px}.student-recent-grade-row strong{font-size:12px}.student-recent-grade-row small{font-size:9px;color:var(--muted)}.student-recent-grade-row>span{font:800 18px Manrope;color:var(--primary)}.compact-empty{padding:18px}
@media(max-width:900px){.student-summary-grid{grid-template-columns:repeat(2,1fr)}.cycle-main-card{align-items:flex-start;flex-direction:column}.cycle-progress-wrap{min-width:0;width:100%}}
@media(max-width:560px){.student-summary-grid{grid-template-columns:1fr}}


/* v3.18 - status das atividades do ciclo */
.cycle-status-card{border:1px solid var(--border);border-radius:12px;padding:14px 15px;display:flex;justify-content:space-between;gap:14px;align-items:center}.cycle-status-card div,.cycle-status-card{min-width:0}.cycle-status-card strong,.cycle-status-card span{display:block}.cycle-status-card strong{font-size:13px}.cycle-status-card span{font-size:10px;color:var(--muted);margin-top:3px}.cycle-status-card.warning{background:#fffaf3;border-color:#f1dcc1}.cycle-status-card.success{background:#f2fbf7;border-color:#cfe9db}.cycle-status-card.neutral{background:#fafbfc}.cycle-status-card button{border:0;background:var(--primary);color:#fff;border-radius:9px;padding:9px 11px;font-size:10px;font-weight:800;white-space:nowrap}
@media(max-width:560px){.cycle-status-card{align-items:flex-start;flex-direction:column}.cycle-status-card button{width:100%}}


/* v3.19 - Minhas Notas */
.mygrades-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.mygrades-summary article{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px}.mygrades-summary span,.mygrades-summary small{display:block;color:var(--muted)}.mygrades-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.mygrades-summary strong{display:block;font:800 25px Manrope;color:var(--primary);margin:5px 0}.mygrades-summary small{font-size:9px}.mygrades-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grade-history-list{display:grid;gap:8px}.grade-history-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--border);padding:11px 0}.grade-history-row:first-child{border-top:0}.grade-history-row div{display:grid;gap:3px;min-width:0}.grade-history-row strong{font-size:12px}.grade-history-row small{font-size:9px;color:var(--muted)}.grade-history-row>span{font:800 18px Manrope}.grade-history-row>span.has-grade{color:var(--primary)}.grade-history-row>span.no-grade{color:var(--muted)}
@media(max-width:800px){.mygrades-grid{grid-template-columns:1fr}.mygrades-summary{grid-template-columns:1fr}}


/* v3.20 - pontuação e tempo das avaliações */
.score-hint{display:block;color:var(--muted);font-size:10px;margin-top:5px}.question-score{background:#f4f3ff!important}.exam-topline{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.exam-timer-box{min-width:130px;background:#f7f7ff;border:1px solid var(--border);border-radius:12px;padding:10px 12px;text-align:center}.exam-timer-box small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.exam-timer-box strong{display:block;font:800 24px Manrope;color:var(--primary);margin-top:3px}.exam-timer-box strong.ending{color:#d45a4d}.exam-question{border:1px solid var(--border);border-radius:13px;padding:14px;margin-top:10px}.exam-question-title{display:flex;gap:10px;align-items:flex-start}.exam-question-title>span{width:26px;height:26px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex:0 0 26px;font-size:10px;font-weight:800}.exam-options{display:grid;gap:7px;margin-top:10px;padding-left:36px}.exam-options label{font-size:12px}.exam-final-score{background:#f7f7ff;border:1px solid var(--border);border-radius:14px;padding:18px;display:inline-grid;gap:4px}.exam-final-score span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.exam-final-score strong{font:800 28px Manrope;color:var(--primary)}.exam-key-row{display:grid;gap:3px;padding:8px 0;border-top:1px solid var(--border)}.exam-key-row:first-child{border-top:0}.exam-key-row strong{font-size:11px}.exam-key-row span{font-size:10px;color:var(--muted)}
@media(max-width:600px){.exam-topline{flex-direction:column}.exam-timer-box{width:100%}.exam-options{padding-left:0}}


/* v3.21 - mapa visual do ciclo do aluno */
.student-cycle-roadmap{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px}.cycle-roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative}.roadmap-stage{border:1px solid var(--border);border-radius:13px;padding:13px;display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;min-height:125px;background:#fafbfc}.roadmap-stage.done{background:#f2fbf7;border-color:#cfe9db}.roadmap-stage.current{background:#fffaf3;border-color:#efd9b8}.roadmap-stage.locked{opacity:.65}.roadmap-marker{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eceef5;color:var(--muted);font-weight:900;font-size:11px}.roadmap-stage.done .roadmap-marker{background:#dff4e9;color:#258460}.roadmap-stage.current .roadmap-marker{background:#fff0d8;color:#b66c18}.roadmap-content{display:grid;gap:3px;min-width:0}.roadmap-content small{font-size:8px;letter-spacing:.08em;color:var(--muted);font-weight:800}.roadmap-content strong{font:800 13px Manrope}.roadmap-content span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roadmap-content em{font-size:9px;color:var(--primary);font-style:normal;font-weight:700;margin-top:3px}.roadmap-stage button{grid-column:1/-1;border:0;background:var(--primary);color:#fff;border-radius:8px;padding:8px;font-size:9px;font-weight:800;margin-top:5px}
@media(max-width:950px){.cycle-roadmap{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.cycle-roadmap{grid-template-columns:1fr}.roadmap-stage{min-height:auto}}


/* v3.22 - mobile-first polish and focus pages */
.mobile-bottom-nav{display:none}
.fullscreen-modal{align-items:stretch;justify-content:stretch;padding:0;background:var(--bg)}
.fullscreen-modal .modal-card{width:100%;max-width:none;min-height:100vh;border-radius:0;box-shadow:none;padding:24px 28px 40px;overflow:auto}
.fullscreen-modal .modal-card.modal-xlarge{width:100%;max-width:none}
body.focus-mode{overflow:hidden}
body.focus-mode .sidebar,
body.focus-mode .topbar,
body.focus-mode .mobile-bottom-nav{visibility:hidden}
body.focus-mode .fullscreen-modal.open{z-index:9999}
body.focus-mode .fullscreen-modal .close-modal{position:sticky;top:0;float:right;z-index:3;background:#fff;border:1px solid var(--border);width:42px;height:42px;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.08)}

@media(max-width:760px){
  body{padding-bottom:72px}
  main{padding:16px 12px 90px}
  .topbar{position:sticky;top:0;z-index:20;background:var(--bg);padding:8px 0 12px;margin-bottom:14px}
  .topbar h1{font-size:19px}
  .level-badge{font-size:10px;padding:7px 10px}
  .sidebar{width:82%;max-width:290px}
  .mobile-bottom-nav{
    display:grid;position:fixed;left:0;right:0;bottom:0;z-index:60;
    grid-auto-flow:column;grid-auto-columns:1fr;background:#fff;border-top:1px solid var(--border);
    padding:7px 6px max(7px,env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(31,39,66,.08)
  }
  .mobile-bottom-nav button{
    border:0;background:transparent;border-radius:10px;min-height:50px;display:grid;place-items:center;gap:2px;
    color:var(--muted);padding:5px 3px
  }
  .mobile-bottom-nav button span{font-size:18px;line-height:1}
  .mobile-bottom-nav button small{font-size:9px;font-weight:700}
  .mobile-bottom-nav button.active{background:var(--primary-soft);color:var(--primary)}
  .dashboard-grid,.mygrades-grid,.detail-grid,.form-grid{grid-template-columns:1fr!important}
  .stats,.student-summary-grid,.mygrades-summary{grid-template-columns:1fr 1fr!important}
  .panel,.student-cycle-roadmap,.student-cycle-activities{border-radius:13px;padding:13px}
  .home-action-btn{min-height:58px}
  .toolbar{gap:8px}
  .toolbar input,.toolbar select{width:100%;font-size:16px}
  .word-list-head{display:none}
  .word-row{grid-template-columns:1fr auto!important;gap:8px;padding:12px}
  .word-row>div:nth-child(1),.word-row>div:nth-child(2),.word-row>div:nth-child(3){grid-column:1}
  .word-row .word-audio{grid-column:2;grid-row:1/4;align-self:center}
  .word-row .word-delete{grid-column:2;grid-row:4}
  .activity-card,.phrase-card,.lesson-card{padding:14px}
  .exam-question{padding:12px}
  .exam-options label{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px;min-height:44px}
  .exam-options input{margin-top:2px;transform:scale(1.15)}
  .detail-actions{position:sticky;bottom:0;background:linear-gradient(to top,#fff 75%,rgba(255,255,255,0));padding-top:14px}
  .detail-actions .primary-btn{width:100%;min-height:48px;font-size:15px}
  .fullscreen-modal .modal-card{
    padding:16px 12px 32px;
    min-height:100vh;
  }
  .fullscreen-modal .modal-card h2{font-size:22px}
  .fullscreen-modal form label{font-size:11px}
  .fullscreen-modal input,.fullscreen-modal textarea,.fullscreen-modal select{font-size:16px}
  .lesson-builder-row,.activity-builder-row{grid-template-columns:1fr!important}
  .exam-topline{position:sticky;top:0;background:#fff;z-index:4;padding:8px 0 10px;border-bottom:1px solid var(--border)}
  .exam-timer-box{position:sticky;top:8px}
}

@media(max-width:420px){
  .stats,.student-summary-grid,.mygrades-summary{grid-template-columns:1fr!important}
  .mobile-bottom-nav button small{font-size:8px}
}


/* v3.23 - publicação, exclusão e áudio */
.teacher-publish-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.teacher-publish-actions button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800;color:var(--text)}.teacher-publish-actions .danger-link{color:#c74d4d;border-color:#efd0d0}.publish-badge{font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;padding:6px 8px;border-radius:999px}.publish-badge.published{background:#eaf8f1;color:#258460}.publish-badge.draft{background:#fff4e7;color:#b66c18}
.word-audio button,[data-speak-word]{min-width:42px;min-height:42px;border-radius:10px;border:1px solid var(--border);background:#fff;font-size:18px}
@media(max-width:760px){.teacher-publish-actions{display:grid;grid-template-columns:1fr 1fr}.teacher-publish-actions .publish-badge{grid-column:1/-1;width:max-content}.teacher-publish-actions button{min-height:42px}}

/* v3.24 - edição */
[data-edit-lesson],[data-edit-activity],[data-edit-exam]{border-color:#d8d8ff!important;color:var(--primary)!important;background:#fafaff!important}


/* v3.25 - produção */
.draft-indicator{font-size:9px;color:var(--muted);background:#f7f8fb;border:1px solid var(--border);border-radius:8px;padding:7px 9px}.draft-indicator.saved{color:#258460;background:#eef9f4}
.difficulty-editor{margin-top:12px}.difficulty-editor>small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;margin-bottom:7px}.difficulty-options{display:flex;flex-wrap:wrap;gap:7px}.difficulty-options label{font-size:10px;border:1px solid var(--border);border-radius:999px;padding:6px 9px;background:#fff}
.teacher-progress-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.teacher-progress-overview article{background:#fff;border:1px solid var(--border);border-radius:14px;padding:15px}.teacher-progress-overview span,.teacher-progress-overview small{display:block;color:var(--muted)}.teacher-progress-overview span{font-size:9px;text-transform:uppercase;font-weight:800}.teacher-progress-overview strong{display:block;font:800 24px Manrope;color:var(--primary);margin:4px 0}.teacher-progress-overview small{font-size:9px}.teacher-progress-list{display:grid;gap:10px}.progress-student-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px}.progress-student-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.progress-student-head div{display:grid;gap:2px}.progress-student-head strong{font-size:13px}.progress-student-head small{font-size:9px;color:var(--muted)}.progress-student-head button{border:0;background:transparent;color:var(--primary);font-size:10px;font-weight:800}.progress-student-metrics{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.progress-student-metrics span{font-size:9px;background:#f7f8fb;border-radius:999px;padding:6px 8px}.progress-difficulties{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.progress-difficulties small{font-size:9px;color:var(--muted)}.progress-difficulties b{font-size:9px;background:#fff4e7;color:#a76117;border-radius:999px;padding:5px 7px}.progress-difficulties em{font-size:9px;color:var(--muted);font-style:normal}
@media(max-width:800px){.teacher-progress-overview{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.teacher-progress-overview{grid-template-columns:1fr}}

/* v3.26 - botões de áudio e exclusão reforçados */
[data-speak-word],[data-delete-word],[data-delete-lesson],[data-delete-activity],[data-delete-exam]{cursor:pointer;pointer-events:auto!important}
[data-speak-word]{display:inline-grid;place-items:center;min-width:42px;min-height:42px;border:1px solid var(--border);background:#fff;border-radius:10px;font-size:18px}
[data-delete-word],[data-delete-lesson],[data-delete-activity],[data-delete-exam]{position:relative;z-index:2}

/* v3.27 - ações diretas */
.speak-word-btn,.delete-word-icon,[data-delete-lesson],[data-delete-activity],[data-delete-exam]{
  cursor:pointer!important;
  pointer-events:auto!important;
  user-select:none;
}
.speak-word-btn:active,.delete-word-icon:active{transform:scale(.94)}

/* v3.28 - exclusão de frases */
[data-delete-phrase]{cursor:pointer!important;pointer-events:auto!important;position:relative;z-index:2}

/* v3.29 - exclusão de frases validada */
#phraseList [data-delete-phrase]{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;cursor:pointer!important;pointer-events:auto!important}

/* v3.30 - lixeira, duplicação, preview e backup */
.trash-list{display:grid;gap:10px}.trash-row{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:16px;align-items:center}.trash-row>div:first-child{display:grid;gap:3px}.trash-row small{font-size:8px;color:var(--muted);font-weight:800;letter-spacing:.08em}.trash-row strong{font-size:13px}.trash-row span{font-size:9px;color:var(--muted)}.trash-actions{display:flex;gap:8px;flex-wrap:wrap}.trash-actions button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800}.preview-student-content{display:grid;gap:14px}.preview-header{display:flex;gap:10px;align-items:center}.preview-header h3{margin:0;font:800 18px Manrope}.preview-header p{margin:2px 0 0;color:var(--muted);font-size:10px}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.preview-grid article{background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px}.preview-grid span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.preview-grid strong{display:block;font:800 22px Manrope;color:var(--primary);margin-top:4px}.preview-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px}.preview-sections section{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px}.preview-sections h4{margin:0 0 10px}.preview-line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.preview-line:first-of-type{border-top:0}.preview-line strong{font-size:11px}.preview-line span{font-size:9px;color:var(--muted)}
@media(max-width:760px){.trash-row{align-items:flex-start;flex-direction:column}.preview-grid{grid-template-columns:1fr 1fr}.preview-sections{grid-template-columns:1fr}}

.setup-warning{margin-top:14px;border:1px solid #efc9c9;background:#fff5f5;border-radius:10px;padding:11px 12px;display:grid;gap:4px}
.setup-warning strong{font-size:12px;color:#a33}
.setup-warning span{font-size:10px;color:var(--muted)}
.setup-warning code{font-size:10px}
.login-card button:disabled{opacity:.55;cursor:not-allowed}

.backup-modal-card{max-width:620px}
.backup-head{display:flex;gap:16px;align-items:flex-start}
.backup-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--soft);font-size:26px;flex:0 0 auto}
.backup-head h2{margin:3px 0 6px}
.backup-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.backup-info-grid>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface)}
.backup-info-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}
.backup-info-grid strong{font-size:13px}
.backup-status{padding:12px 14px;border-radius:12px;background:var(--soft);font-size:12px;margin-bottom:14px}
.backup-actions{display:flex;gap:10px}
.backup-actions .primary-btn{width:100%}
.backup-note{font-size:11px;color:var(--muted);line-height:1.5;margin:14px 0 0}
@media(max-width:700px){.backup-info-grid{grid-template-columns:1fr}.backup-head{align-items:center}.backup-modal-card{width:calc(100% - 24px)}}

.lesson-autosave-indicator{margin:10px 0 4px;font-size:12px;font-weight:600;color:var(--muted)}
.lesson-autosave-indicator[data-state="saved"]{color:#267a43}
.lesson-autosave-indicator[data-state="saving"]{color:#8b6a17}

.lesson-recovery-note{margin:2px 0 10px;font-size:11px;color:var(--muted);line-height:1.45}

.publish-choice-note{margin:12px 0 8px;font-size:12px;color:var(--muted)}
.publish-choice-note strong{color:var(--text)}
.lesson-form-actions [data-lesson-action="publish"]{min-width:180px}

.save-status-box{min-height:22px;margin-top:10px;font-weight:700}
#lessonForm [data-lesson-action]:disabled{opacity:.6;cursor:wait}

.lesson-save-diagnostic{margin:14px 0;padding:12px 14px;border:1px solid #d9deea;border-radius:12px;background:#f7f8fc;font-size:13px;line-height:1.5}
.lesson-save-diagnostic strong{display:block;margin-bottom:4px}
.lesson-save-diagnostic.is-working{border-color:#b8bdf5;background:#f3f3ff}
.lesson-save-diagnostic.is-ok{border-color:#b9dec7;background:#f2fbf5}
.lesson-save-diagnostic.is-error{border-color:#efb6b6;background:#fff5f5}

.lesson-save-diagnostic{position:relative;z-index:2}

#lessonSaveDiagnostic{
  border:2px solid #6d72df;
  background:#f6f6ff;
  padding:14px 16px;
  margin:16px 0;
  font-size:14px;
}
#lessonSaveDiagnostic.is-working{border-color:#6d72df}
#lessonSaveDiagnostic.is-ok{border-color:#2d9b5f;background:#effbf4}
#lessonSaveDiagnostic.is-error{border-color:#d64d4d;background:#fff1f1}

.normalization-hint{margin:10px 0 4px;font-size:12px;color:#667085}

.teacher-lessons-area{margin-top:18px}
.teacher-lessons-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.teacher-lessons-summary article{padding:16px;border:1px solid var(--border,#e5e7eb);border-radius:14px;background:var(--card,#fff)}
.teacher-lessons-summary span{display:block;font-size:12px;color:#667085;margin-bottom:4px}
.teacher-lessons-summary strong{font-size:26px}
.teacher-lessons-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:20px 0 12px}
.teacher-lessons-toolbar h3{margin:2px 0 4px;font-size:22px}
.teacher-lessons-toolbar p{margin:0}
.teacher-lessons-toolbar select{min-width:170px}
.teacher-lesson-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.teacher-lesson-card{border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:16px;background:var(--card,#fff)}
.teacher-lesson-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.teacher-lesson-card-top small{display:block;margin-top:7px;color:#667085}
.teacher-lesson-counts{font-size:12px;color:#667085;text-align:right}
.teacher-lesson-titles{margin:16px 0}
.teacher-lesson-titles strong{display:block;font-size:18px}
.teacher-lesson-titles span{display:block;margin-top:5px;color:#667085}
.lesson-status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}
.lesson-status-pill.published{background:#e9f8ef;color:#187944}
.lesson-status-pill.draft{background:#fff4d8;color:#946200}
.teacher-lesson-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.lesson-view-section{margin-top:22px}
.lesson-view-section h3{margin-bottom:10px}
@media(max-width:700px){
  .teacher-lessons-summary{grid-template-columns:1fr}
  .teacher-lessons-toolbar{align-items:stretch;flex-direction:column}
  .teacher-lessons-toolbar select{width:100%}
}

.activity-builder-list{display:grid;gap:12px;margin-top:14px}
.activity-question-builder{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:14px;border:1px solid var(--border,#e5e7eb);border-radius:14px;background:var(--card,#fff)}
.activity-question-number{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#f0f1ff;color:#4f46d8}
.activity-question-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.activity-question-fields label{margin:0}
.activity-question-fields textarea{width:100%;resize:vertical}
.activity-save-note{margin:12px 0;color:#667085;font-size:13px}
@media(max-width:760px){
 .activity-question-fields{grid-template-columns:1fr}
 .activity-question-builder{grid-template-columns:34px 1fr}
}

.field-help{display:block;margin-top:5px;font-size:12px;color:#667085}

/* v6 mobile-first */
.mobile-bottom-nav{display:none}.listening-list,.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.listening-card,.help-grid article{background:var(--card,#fff);border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:18px}.listening-card{display:flex;flex-direction:column;gap:10px}.listening-reveal{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:rgba(0,0,0,.035)}.listening-reveal.hidden{display:none}.exam-question-builder,.activity-question-builder{scroll-margin-top:90px}.exam-question img{max-width:100%;height:auto;border-radius:14px;margin:10px 0}.mobile-progress{position:sticky;top:0;z-index:5;background:var(--card,#fff);padding:8px;border-radius:12px}
@media(max-width:720px){body{padding-bottom:78px}.sidebar{display:none!important}main{margin-left:0!important;width:100%!important}.topbar{padding:14px 16px}.menu-btn{display:none!important}.page{padding:14px!important}.section-heading{align-items:flex-start}.mobile-bottom-nav:not(.hidden){display:grid;position:fixed;left:0;right:0;bottom:0;z-index:9999;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid rgba(0,0,0,.12);padding:7px 4px max(7px,env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(0,0,0,.08)}.mobile-bottom-nav button{border:0;background:transparent;font:inherit;font-size:19px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 1px}.mobile-bottom-nav span{font-size:10px}.modal-card{width:100%!important;max-width:none!important;margin:0!important;border-radius:20px 20px 0 0!important;max-height:94vh!important}.modal{align-items:flex-end!important}.exam-options label{padding:14px;min-height:52px}.primary-btn,.secondary-btn{min-height:44px}.help-grid,.listening-list{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)!important}.student-summary-grid{grid-template-columns:1fr!important}.bilingual-fields,.form-grid,.option-grid{grid-template-columns:1fr!important}}

/* v6.1 — ajustes após validação do portal do professor */
.modal-lesson-view{width:min(1180px,96vw)!important;max-height:92vh!important;padding:34px!important}
.phrase-actions{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}.delete-btn-clear{opacity:1!important;color:#b42318!important}
.publish-action-row{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:8px}.exam-score-note{background:#f5f5ff;border:1px solid #dcdcff;border-radius:12px;padding:13px 14px;color:#4b4b6a;font-size:13px;line-height:1.5}.teacher-only-note{font-weight:600;color:#6d6d8c}.test-builder-audio{width:max-content;margin-top:8px}.exam-image-preview{display:grid;gap:10px;border:1px dashed #cfd2e6;border-radius:14px;padding:12px;background:#fafaff}.exam-image-preview img{display:block;max-width:100%;max-height:320px;object-fit:contain;border-radius:10px;margin:auto}.teacher-ranking-panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px;margin-bottom:18px}.teacher-ranking{display:grid;gap:8px}.ranking-row{display:grid;grid-template-columns:56px 1fr 80px 110px;gap:10px;align-items:center;padding:10px 12px;background:#f8f9fc;border-radius:10px}.ranking-row>span:nth-child(3){font-weight:800;text-align:right}.ranking-row small{text-align:right;color:var(--muted)}
@media(max-width:720px){.modal-lesson-view{width:100%!important;max-height:96vh!important;padding:20px!important}.publish-action-row{display:grid;grid-template-columns:1fr}.publish-action-row button{width:100%}.ranking-row{grid-template-columns:44px 1fr 54px}.ranking-row small{grid-column:2/4;text-align:left}}

/* v6.2 - formulários mais confortáveis e mobile-first */
.activity-question-builder{grid-template-columns:92px minmax(0,1fr)!important;gap:16px!important}
.activity-question-builder .question-number{font-weight:800;color:var(--primary,#4f46e5);line-height:1.2;padding-top:8px}
.activity-question-fields{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;min-width:0}
.activity-question-fields label{display:grid;gap:7px;width:100%;min-width:0}
.activity-question-fields textarea{width:100%!important;min-height:76px!important;box-sizing:border-box}
.student-listening-question{display:grid;gap:12px}
.exam-listen-controls,.speaking-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 14px}
.exam-question-image{display:block;max-width:100%;max-height:360px;object-fit:contain;border-radius:14px;margin:12px auto}
.speaking-question audio,.exam-teacher-student audio{width:100%;margin:10px 0}
.exam-teacher-list{display:grid;gap:14px;margin-top:16px}
.exam-teacher-student{border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:16px;background:var(--card,#fff)}
.speaking-grade-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
.speaking-grade-grid>div{display:grid;gap:8px}
.cycle-roadmap-item{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border,#e5e7eb);border-radius:14px}
.cycle-roadmap{display:grid;gap:10px}
@media(max-width:700px){
 .activity-question-builder{grid-template-columns:1fr!important}
 .activity-question-builder .question-number{padding-top:0}
 .activity-question-fields textarea{min-height:90px!important}
 .speaking-grade-grid{grid-template-columns:1fr}
 .exam-question{padding:14px!important}
 .exam-options{grid-template-columns:1fr!important}
}
/* v6.3 — Listening aprovado e WhatsApp */
.listening-card-approved{gap:12px!important}.listening-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.listening-card-head h3{margin:3px 0 0}.listening-play-btn{width:auto!important;min-width:96px!important;min-height:38px!important;padding:8px 14px!important}.listening-toggle-btn{align-self:flex-start;width:auto!important}.listening-card-approved .listening-reveal{display:grid;grid-template-columns:1fr 1fr;gap:12px}.listening-card-approved .listening-reveal.hidden{display:none}.listening-card-approved .listening-reveal>div{display:grid;gap:5px}.listening-card-approved .listening-reveal small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.whatsapp-btn{border:1px solid #b9e8cb;background:#effbf4;color:#167c45;border-radius:9px;padding:9px 12px;font-weight:800;font-size:11px;cursor:pointer}
@media(max-width:720px){.listening-card-approved .listening-reveal{grid-template-columns:1fr}.listening-card-head{align-items:flex-start}.listening-play-btn{min-width:88px!important}}

.audio-button-row{display:flex;gap:8px;flex-wrap:wrap}.question-teacher-review{margin-top:12px;padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fafbff}.question-review-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.question-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.question-error-options{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.question-error-options label{display:flex;gap:5px;padding:7px 9px;border:1px solid #e5e7eb;border-radius:999px;background:white;font-size:12px}.activity-score-summary{position:sticky;top:0;z-index:3;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 16px;padding:12px 14px;border:1px solid #dfe3ff;border-radius:14px;background:#f7f8ff}.activity-score-summary small{margin-left:auto}.student-question-feedback{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f7f8ff;border:1px solid #e4e7ec}.student-question-feedback small,.student-question-feedback p{display:block;margin-top:5px}@media(max-width:700px){.question-review-grid{grid-template-columns:1fr}.audio-button-row{flex-direction:column}.activity-score-summary small{margin-left:0;width:100%}}

/* v6.3.7 — opções de erro compactas e alinhadas */
.question-error-options{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
  margin:8px 0 12px !important;
  max-width:420px;
}
.question-error-options label{
  width:100% !important;
  min-height:36px;
  box-sizing:border-box;
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  gap:10px !important;
  padding:8px 12px !important;
  border:1px solid #e5e7eb !important;
  border-radius:10px !important;
  background:#fff !important;
  font-size:12px !important;
  line-height:1.25;
  font-weight:600;
}
.question-error-options input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  flex:0 0 16px;
  margin:0 !important;
}
.question-errors > label{
  display:block;
}
.question-errors textarea{
  width:100%;
  box-sizing:border-box;
}

/* v6.3.8 — Minhas Notas */
.my-grade-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

/* v6.3.9 — iPhone/iOS */
@media(max-width:720px){
  #activityDetailModal .modal-card,
  #examTakeModal .modal-card{
    padding-bottom:110px !important;
  }
  #activityDetailModal .detail-actions,
  #examTakeModal .detail-actions{
    bottom:74px !important;
    z-index:20;
    padding-bottom:8px;
  }
}

/* v6.3.10 — ajuste do botão Entregar atividade no iPhone */
@media(max-width:720px){
  #activityDetailModal .detail-actions{
    position:static !important;
    bottom:auto !important;
    background:transparent !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
    margin-top:18px !important;
    z-index:auto !important;
  }

  #activityDetailModal .modal-card{
    padding-bottom:105px !important;
  }

  #activityDetailModal .detail-actions .primary-btn{
    width:100% !important;
    min-height:52px !important;
  }
}

/* v6.3.11 — rascunho automático do aluno */
.student-activity-draft-status{
  margin:12px 0 16px;
  padding:10px 12px;
  border:1px solid #dfe4ff;
  border-radius:10px;
  background:#f7f8ff;
  font-size:12px;
  font-weight:700;
  color:#59627a;
}
.student-activity-draft-status[data-state="saving"]{opacity:.75}
.student-activity-draft-status[data-state="saved"],
.student-activity-draft-status[data-state="restored"]{
  border-color:#cfead9;
  background:#f3fbf6;
  color:#217a49;
}
.student-activity-draft-status[data-state="local"]{
  border-color:#f2dfad;
  background:#fffaf0;
  color:#8a6515;
}
.draft-saved-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:#f3fbf6;
  border:1px solid #cfead9;
  color:#217a49;
  font-size:11px;
  font-weight:800;
}

/* v6.3.12 — status do rascunho mais claro */
.student-activity-draft-status[data-state="local"]{
  border-color:#cfead9 !important;
  background:#f3fbf6 !important;
  color:#217a49 !important;
}

/* v6.3.13 — navegação mobile completa */
.mobile-more-overlay{display:none}
@media(max-width:720px){
  .mobile-more-overlay.open{
    display:flex !important;
    position:fixed;
    inset:0;
    z-index:10020;
    align-items:flex-end;
    background:rgba(18,23,44,.46);
    padding:0 10px calc(78px + env(safe-area-inset-bottom));
  }
  .mobile-more-sheet{
    width:100%;
    max-height:min(72vh,560px);
    overflow:auto;
    background:#fff;
    border-radius:22px;
    padding:16px;
    box-shadow:0 18px 60px rgba(18,23,44,.22);
  }
  .mobile-more-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
  }
  .mobile-more-head h3{margin:2px 0 0;font-size:19px}
  .mobile-more-close{
    width:40px;height:40px;border:0;border-radius:50%;
    background:#f3f4f8;font-size:24px;line-height:1;color:#59627a;
  }
  .mobile-more-grid{display:grid;grid-template-columns:1fr;gap:8px}
  .mobile-more-grid button{
    display:grid;
    grid-template-columns:42px 1fr;
    grid-template-rows:auto auto;
    column-gap:10px;
    align-items:center;
    width:100%;
    min-height:62px;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    text-align:left;
    color:var(--text);
  }
  .mobile-more-grid button>span{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:42px;height:42px;
    border-radius:12px;
    background:var(--primary-soft);
    font-size:20px;
  }
  .mobile-more-grid button strong{font-size:13px}
  .mobile-more-grid button small{font-size:10px;color:var(--muted);margin-top:2px}
  #mobileMoreBtn.active{background:var(--primary-soft);color:var(--primary)}
}

/* v6.3.14 — reforço do menu Mais */
@media(max-width:720px){
  #mobileMoreMenu.open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  #mobileMoreMenu .mobile-more-sheet{
    position:relative;
    z-index:10021;
  }
}

/* v6.3.15 — Menu Mais nativo com <details>; abre mesmo se algum listener falhar */
@media(max-width:720px){
  .mobile-more-details{
    position:relative;
    height:100%;
  }
  .mobile-more-details > summary{
    list-style:none;
    border:0;
    background:transparent;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:4px 1px;
    color:inherit;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-more-details > summary::-webkit-details-marker{display:none}
  .mobile-more-details > summary::marker{display:none;content:""}
  .mobile-more-details > summary > span{font-size:19px;line-height:1}
  .mobile-more-details > summary > small{font-size:8px;font-weight:700}
  .mobile-more-details.active > summary,
  .mobile-more-details[open] > summary{
    background:var(--primary-soft);
    color:var(--primary);
    border-radius:10px;
  }
  .mobile-more-native-panel{
    display:none;
  }
  .mobile-more-details[open] .mobile-more-native-panel{
    display:grid !important;
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(76px + env(safe-area-inset-bottom));
    z-index:12000;
    gap:7px;
    max-height:62vh;
    overflow:auto;
    padding:14px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 18px 55px rgba(18,23,44,.24);
  }
  .mobile-more-native-head{
    display:grid;
    gap:2px;
    padding:2px 4px 8px;
    text-align:left;
  }
  .mobile-more-native-head strong{font-size:17px}
  .mobile-more-native-head small{font-size:11px;color:var(--muted)}
  .mobile-more-native-panel > button{
    display:grid !important;
    grid-template-columns:40px 1fr !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    min-height:58px !important;
    padding:9px 11px !important;
    border:1px solid var(--border) !important;
    border-radius:12px !important;
    background:#fff !important;
    color:var(--text) !important;
    text-align:left !important;
  }
  .mobile-more-native-panel > button > span{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:10px;
    background:var(--primary-soft);
    font-size:18px;
  }
  .mobile-more-native-panel > button > div{
    display:grid;
    gap:2px;
  }
  .mobile-more-native-panel > button strong{font-size:13px}
  .mobile-more-native-panel > button small{font-size:10px;color:var(--muted)}
}

/* v6.3.28 — correção individual e prova completa */
.teacher-exam-full-review{display:grid;gap:18px}
.teacher-exam-student-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;position:sticky;top:0;background:var(--card,#fff);z-index:2;padding:4px 0 12px;border-bottom:1px solid var(--border,#e5e7eb)}
.teacher-exam-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.teacher-exam-summary>div{min-width:110px;padding:10px 12px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:var(--soft,#f8fafc)}
.teacher-exam-summary small,.teacher-exam-source small,.teacher-exam-answer-grid small{display:block;color:var(--muted,#6b7280);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.teacher-exam-full-sheet{display:grid;gap:14px}
.teacher-exam-question{border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:16px;background:var(--card,#fff)}
.teacher-exam-question.correct{border-left:4px solid #16a34a}
.teacher-exam-question.wrong{border-left:4px solid #dc2626}
.teacher-exam-question.unanswered{border-left:4px solid #d97706}
.teacher-exam-question-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}
.teacher-exam-question-head>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f1f0ff;color:#5146d9;font-weight:700}
.teacher-exam-question-head small{display:block;color:var(--muted,#6b7280);margin-bottom:3px}
.teacher-exam-question-head strong{display:block}
.teacher-exam-question-head em{font-style:normal;font-weight:700;font-size:.85rem}
.teacher-exam-question.correct .teacher-exam-question-head em{color:#15803d}
.teacher-exam-question.wrong .teacher-exam-question-head em{color:#b91c1c}
.teacher-exam-question.unanswered .teacher-exam-question-head em{color:#b45309}
.teacher-exam-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.teacher-exam-answer-grid>div,.teacher-exam-source{padding:12px;border-radius:12px;background:var(--soft,#f8fafc)}
.teacher-exam-source{margin-top:12px}
.teacher-exam-source .compact-btn{margin-top:8px}
.teacher-exam-review-image{display:block;max-width:360px;max-height:260px;object-fit:contain;margin:14px auto;border-radius:12px}
.teacher-exam-correction-panel{border:1px solid #c7d2fe;border-radius:16px;padding:18px;background:#f8f9ff}
.teacher-exam-correction-panel textarea{width:100%;margin:8px 0 12px}
.teacher-empty-answer{padding:12px;border-radius:12px;background:var(--soft,#f8fafc);color:var(--muted,#6b7280);margin-top:10px}
.exam-teacher-student{display:flex;align-items:center;justify-content:space-between;gap:16px}
@media(max-width:700px){
  .teacher-exam-student-header{position:static;display:block}
  .teacher-exam-summary{justify-content:flex-start;margin-top:12px}
  .teacher-exam-answer-grid{grid-template-columns:1fr}
  .teacher-exam-question-head{grid-template-columns:auto 1fr}
  .teacher-exam-question-head em{grid-column:2}
  .teacher-exam-review-image{max-width:100%}
}

/* v6.3.29 */
.student-exam-full-review{display:grid;gap:16px}
.student-exam-score-breakdown,.student-speaking-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.student-exam-score-breakdown>div,.student-speaking-summary>div{padding:12px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:var(--soft,#f8fafc)}
.student-exam-score-breakdown small,.student-speaking-summary small{display:block;color:var(--muted,#6b7280);margin-bottom:4px}
.student-review-title{margin:8px 0 0}
@media(max-width:700px){.student-exam-score-breakdown,.student-speaking-summary{grid-template-columns:1fr}}

/* v6.3.30 — nova tentativa de prova */
.teacher-retake-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border:1px solid #f1c7c7;border-radius:16px;background:#fff8f8}
.teacher-retake-panel h3{margin:0 0 6px}
.teacher-retake-panel p{margin:0}
.danger-outline{border-color:#e7a3a3!important;color:#b42318!important;background:#fff!important}
.danger-outline:hover{background:#fff3f3!important}
@media(max-width:700px){.teacher-retake-panel{display:block}.teacher-retake-panel .danger-outline{width:100%;margin-top:12px}}

/* v6.3.32 — imagens das questões da prova no PC */
.exam-question-image,
.exam-sheet img.exam-question-image,
.exam-sheet .question-image,
.exam-sheet img[data-exam-image]{
  display:block;
  width:auto;
  height:auto;
  max-width:420px;
  max-height:280px;
  object-fit:contain;
  margin:18px auto 14px;
}

@media (max-width:700px){
  .exam-question-image,
  .exam-sheet img.exam-question-image,
  .exam-sheet .question-image,
  .exam-sheet img[data-exam-image]{
    max-width:100%;
    max-height:260px;
    margin:14px auto 12px;
  }
}

/* v6.3.33 — Sair / Trocar perfil no menu Mais */
.mobile-more-native-panel .mobile-account-exit{
  margin-top:8px;
  border-color:#f0c7c7;
  background:#fffafa;
}
.mobile-more-native-panel .mobile-account-exit strong{
  color:#a92525;
}
.mobile-more-native-panel .mobile-account-exit span{
  background:#fff0f0;
}

/* v6.3.34 — atividade 5 Escrita + 5 Listening + 5 Speaking */
.activity-skill-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:16px 0 20px;
}
.activity-skill-summary>div{
  border:1px solid #e1e6ef;
  border-radius:14px;
  padding:12px;
  background:#fff;
  text-align:center;
}
.activity-skill-summary span,.activity-skill-summary small{display:block}
.activity-skill-summary strong{font-size:1.35rem;display:inline-block;margin-top:4px}
.activity-final-skill{background:#f7f9ff!important;border-color:#cdd7ff!important}
.student-speaking-activity audio,.speaking-teacher-answer audio{
  display:block;
  width:min(100%,520px);
  margin:12px 0;
}
.student-speaking-activity .speaking-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.speaking-activity-row{border-left:3px solid #e7e7ef}
.activity-live-skills small{display:block;margin-top:6px}
.skill-card strong{font-size:1.4rem}
@media(max-width:700px){
  .activity-skill-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .student-speaking-activity .speaking-controls button{width:auto}
}

/* v6.3.35 — aviso de correção automática */
.normalization-hint{
  border-left:3px solid #8b83ff;
  padding-left:10px;
}

/* v6.3.36 — editar palavra/pronúncia */
@media (min-width:701px){
  .word-list-head.teacher,.word-row.teacher{
    grid-template-columns:minmax(150px,1.15fr) minmax(150px,1.15fr) minmax(140px,1fr) 72px 72px 72px;
  }
}
@media (max-width:700px){
  .word-row.teacher [data-label="Ouvir"]{grid-column:2;grid-row:1}
  .word-row.teacher [data-label="Editar"]{grid-column:2;grid-row:2}
  .word-row.teacher [data-label="Excluir"]{grid-column:2;grid-row:3}
}
.edit-word-icon{font-size:16px}

/* v6.3.40 — atividades agrupadas por turma */
.teacher-activity-group-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px}
.teacher-activity-group-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.teacher-activity-group-summary span{background:#f6f7fb;border:1px solid #e2e5ee;border-radius:999px;padding:5px 9px;font-size:12px}
.publish-badge.partial{background:#fff5df;color:#9a6510}
.teacher-activity-group-students{grid-column:1/-1;border-top:1px solid #e6e8ef;padding-top:12px;display:grid;gap:8px}
.teacher-activity-student-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fafbfe;border:1px solid #e7e9f0;border-radius:12px;padding:10px 12px}
.teacher-activity-student-row>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.teacher-activity-student-row small{display:block;color:var(--muted)}
@media(max-width:800px){
  .teacher-activity-group-card{grid-template-columns:1fr}
  .teacher-activity-group-card .activity-actions{justify-content:flex-start}
  .teacher-activity-student-row{align-items:flex-start;flex-direction:column}
}

/* v6.3.41 — compatibilidade de áudio mobile */
.mobile-audio-fallback{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed #d9dce7;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.mobile-audio-fallback small{color:var(--muted)}
.mobile-audio-fallback .attention{
  border-color:#e09b27!important;
  background:#fff8e8!important;
}
@media(max-width:700px){
  .mobile-audio-fallback{align-items:stretch;flex-direction:column}
  .mobile-audio-fallback button{width:100%}
}

/* ========================================================================== */
/* v6.3.43 — ajustes consolidados                                             */
/* ========================================================================== */
.word-alphabet-bar{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 16px;padding:10px 0}
.word-letter-btn{border:1px solid var(--border,#d9e1ea);background:#fff;border-radius:9px;min-width:36px;height:34px;padding:0 9px;font-weight:700;cursor:pointer;color:var(--text,#1f2937)}
.word-letter-btn.active{background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);color:#fff}
.v643-hidden-letter{display:none!important}
.phrase-folder{border:1px solid var(--border,#e1e7ef);border-radius:14px;background:#fff;overflow:hidden;margin-bottom:12px}
.phrase-folder>summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:14px 16px;list-style:none;background:#f8fafc}
.phrase-folder>summary::-webkit-details-marker{display:none}
.phrase-folder>summary strong{flex:1}.phrase-folder>summary small{color:#64748b}
.phrase-folder-body{display:grid;gap:10px;padding:12px}
.phrase-folder-body .phrase-card{margin:0}
.recording-live-status{font-weight:800;color:#b91c1c;display:inline-flex;align-items:center;gap:5px}
.recording-live-status::before{content:"";width:9px;height:9px;border-radius:50%;background:#dc2626;animation:v643pulse 1s infinite}
@keyframes v643pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}
.reopened-note{margin:10px 0 14px;padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:650}
.exam-listen-support{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.exam-listen-support small{width:100%;color:#64748b}
.v643-speaking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.teacher-exam-mini-image{width:100%;max-height:160px;object-fit:contain;border-radius:10px;border:1px solid #e2e8f0;margin:8px 0;background:#f8fafc}
.v643-progress-score-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.student-progress-note{margin:12px 0 18px;padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af}
.student-progress-section{margin-top:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden}
.student-progress-section-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.student-progress-section-head h3{margin:0}.student-progress-section-head small{color:#64748b}
.student-skill-table{width:100%;border-collapse:collapse;min-width:720px}
.student-skill-table th,.student-skill-table td{padding:10px 12px;border-bottom:1px solid #eef2f7;text-align:left}
.student-skill-table th{font-size:12px;color:#64748b;background:#fff}
.student-skill-table td:nth-child(n+3),.student-skill-table th:nth-child(n+3){text-align:center}
.v643-listening-extra{margin:8px 0}
.gradebook-toolbar #gradebookStatusFilter{min-width:160px}
@media(max-width:800px){
  .v643-progress-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v643-speaking-grid{grid-template-columns:1fr}
  .word-alphabet-bar{gap:5px}.word-letter-btn{min-width:32px;height:32px;padding:0 7px}
  .student-progress-section{border-radius:10px}
}
