:root{--bg:#f4f5ef;--text:#102d28;--brand:#075f4f;--light:#e3f0ec;--accent:#dff05b;--border:#dce2de}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}header{display:flex;align-items:center;gap:14px;padding:20px max(24px,calc((100vw - 1100px)/2));background:white;border-bottom:1px solid var(--border)}header small{display:block;color:#66736f}.brand{background:var(--accent);padding:12px;border-radius:12px}.badge{margin-left:auto;background:var(--light);padding:6px 12px;border-radius:20px;font-size:12px}main{max-width:1100px;margin:auto;padding:40px 24px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--brand);font-weight:700}h1{font-size:clamp(30px,5vw,46px);line-height:1.15;letter-spacing:-1.5px}h2{line-height:1.2}.intro,.foot{color:#66736f}.profile{display:flex;align-items:center;gap:30px;background:white;padding:18px 24px;border:1px solid var(--border);border-radius:16px;margin:28px 0}.profile p{font-size:13px}label{display:block;font-weight:600;font-size:14px}select,input{font:inherit;padding:10px;border:1px solid #acbdb5;border-radius:8px;background:white;color:var(--text)}select{display:block;margin-top:6px}nav{display:flex;gap:8px;flex-wrap:wrap;background:#e8ebe6;padding:6px;border-radius:14px;margin-bottom:24px}button{font:inherit;cursor:pointer;background:var(--brand);color:white;border:0;border-radius:10px;padding:11px 18px;font-weight:600}nav button{background:transparent;color:var(--text);flex:1}nav button[aria-current="page"]{background:white;box-shadow:0 3px 12px #102d2810}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--light);color:var(--brand)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9cb54a;outline-offset:3px}.card{background:white;padding:26px;border:1px solid var(--border);border-radius:18px;margin-bottom:18px}.grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.chip{background:var(--light);color:var(--brand);border-radius:20px;padding:5px 10px;font-size:12px}.screen{background:linear-gradient(135deg,#075f4f,#063e35);color:white;min-height:210px;border-radius:12px;padding:30px;display:flex;flex-direction:column;justify-content:center;margin:20px 0}.screen p{margin:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.option{display:flex;align-items:center;gap:12px;font-weight:400;border:1px solid var(--border);border-radius:10px;padding:12px;margin:10px 0}.option input{width:18px;height:18px}.notice{padding:16px;background:#f5f7dc;border-radius:12px}.result{padding:16px;background:var(--light);border-radius:12px;margin-top:16px}.task{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--border)}.task:last-child{border:0}.task small{display:block;color:#66736f}.foot{font-size:12px;margin-top:30px}progress{width:100%;accent-color:var(--brand)}dialog{max-width:600px;width:90%;border:0;border-radius:18px;padding:28px}dialog::backdrop{background:#102d2866}@media(max-width:700px){.grid{grid-template-columns:1fr}.profile{display:block}.badge{display:none}.task{align-items:flex-start}header{padding:16px 24px}.card{padding:20px}nav button{font-size:13px;padding:10px}}

.welcome{display:grid;grid-template-columns:2fr 1fr;gap:30px;background:#063f35;color:white;border-radius:24px;padding:38px;margin-bottom:24px;position:relative;overflow:hidden}.welcome .eyebrow{color:var(--accent)}.welcome h2{font-size:clamp(30px,4vw,44px);letter-spacing:-1.5px;margin:16px 0}.welcome p{color:#c7dad2;max-width:450px}.welcome button{background:var(--accent);color:#153c2b}.daily{display:flex;flex-direction:column;justify-content:center;padding:24px;border-left:1px solid #ffffff30}.daily strong{font-size:68px;line-height:1.2;color:var(--accent);letter-spacing:-4px}.daily span{font-size:13px;color:#c7dad2}.daily progress{margin-top:20px;accent-color:var(--accent)}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.module-grid .card{display:flex;flex-direction:column;align-items:flex-start}.module-grid p{flex:1;color:#66736f;font-size:14px}.module-grid h2{font-size:22px;margin-bottom:0}.module-icon{font-size:13px;font-weight:800;color:var(--brand);background:var(--accent);padding:8px 12px;border-radius:10px}.bank-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.bank-toolbar span{font-size:13px;color:#66736f}.course-banner{background:var(--light)}@media(max-width:800px){.module-grid{grid-template-columns:1fr}.welcome{grid-template-columns:1fr;padding:26px}.daily{border-left:0;border-top:1px solid #ffffff30;padding:20px 0 0}.daily strong{font-size:44px}.bank-toolbar{align-items:flex-start;flex-direction:column}}
/* Área do aluno — estrutura inspirada na referência, identidade do ciclo. */
body{background:#f3f5f2;font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#fff;border-right:1px solid #e8ece7;padding:36px 20px 20px;display:flex;flex-direction:column;z-index:30}.logo{display:flex;align-items:center;gap:10px;color:var(--brand);text-decoration:none;font-size:38px;font-weight:850;letter-spacing:-2px;padding:0 12px}.logo span{font-size:11px;letter-spacing:0;line-height:1.3;color:var(--text);font-weight:600}.sidebar nav{display:flex;flex-direction:column;gap:9px;padding:0;margin:45px 0 20px;background:none}.sidebar nav button{display:flex;align-items:center;gap:15px;text-align:left;flex:initial;color:#737e78;font-size:14px;font-weight:500;padding:14px 18px;border-radius:12px}.sidebar nav button span{font-size:23px;width:22px;line-height:1}.sidebar nav button[aria-current]{background:#eaf2e9;box-shadow:none;color:var(--brand);font-weight:650}.sidebar-bottom{margin-top:auto}.support{padding:20px 15px;background:#f8faee;border:1px solid #e8ebd8;border-radius:16px;margin-bottom:20px}.support .eyebrow{font-size:8px;letter-spacing:1px}.support p{margin:10px 0 0;font-size:15px;font-weight:600}.student{display:flex;align-items:center;gap:12px;border:1px solid #e9ece7;background:#fafbf9;border-radius:14px;padding:12px}.student>b,.avatar{background:#dce9dd;color:#24563e;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:12px}.student small{display:block;color:#859087;font-size:11px}.demo-settings{font-size:10px;color:#7d887f;margin-top:15px}.demo-settings summary{cursor:pointer}.demo-settings select{width:100%;font-size:11px}.demo-settings button{margin-top:10px;font-size:11px;padding:7px}.workspace{max-width:1600px;margin-left:236px;padding:26px 28px 16px}.topbar{display:flex;align-items:center;gap:22px;background:none;border:0;padding:0 0 26px}.search{display:flex;align-items:center;gap:12px;max-width:690px;flex:1;border:1px solid #e2e8e1;background:#fff;border-radius:14px;padding:0 15px}.search span{font-size:26px;color:#839086}.search input{width:100%;border:0;background:none;padding:13px 0;font-size:12px;outline-offset:0}.topbar .badge{font-size:10px;margin-left:auto}.avatar{flex-shrink:0}.page-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px}.page-title h1{font-size:28px;letter-spacing:-1px;margin:5px 0}.page-title p{color:#7a857c;margin:0}.page-title .eyebrow{font-size:9px;color:var(--brand);letter-spacing:1.4px;margin-bottom:6px}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.dashboard-main,.dashboard-rail{min-width:0}.focus-hero{background:radial-gradient(ellipse at 60% 20%,#1a7660,transparent 70%),#06493e;border:1px solid #16634f;border-radius:21px;color:white;padding:28px;display:grid;grid-template-columns:1fr 190px;gap:25px}.hero-label{font-size:10px;letter-spacing:1.3px;color:#d9ebcb}.focus-hero h2{font-size:32px;letter-spacing:-1px;line-height:1.16;margin:13px 0}.focus-hero h2 span{color:var(--accent)}.focus-hero p{font-size:12px;color:#deebdf;margin:16px 0 7px}.focus-hero progress{height:7px;accent-color:var(--accent)}progress{border:0;border-radius:20px;overflow:hidden;height:6px}progress::-webkit-progress-bar{background:#e7eee7;border-radius:20px}progress::-webkit-progress-value{background:var(--brand);border-radius:20px}.focus-hero progress::-webkit-progress-bar{background:#ffffff30}.focus-hero progress::-webkit-progress-value{background:var(--accent)}.hero-numbers{display:flex;justify-content:space-between;gap:14px;margin-top:23px}.hero-numbers strong{display:block;font-size:17px}.hero-numbers small{display:block;font-size:9px;color:#bbd2c3;margin-top:4px}.hero-next{background:#ffffff0b;border:1px solid #ffffff35;border-radius:17px;padding:15px;display:flex;flex-direction:column;align-items:flex-start}.hero-next>small{font-size:8px;color:#cbdcbf;letter-spacing:1px}.hero-next h3{font-size:13px;line-height:1.5;margin:7px 0 13px}.hero-next button{font-size:10px;background:var(--accent);color:var(--text);padding:10px 12px;width:100%;margin-top:auto}.book-art{font-size:46px;color:var(--accent);line-height:1;margin:0 auto 14px;position:relative;transform:rotate(-10deg)}.book-art span{font-size:22px;position:absolute;right:-20px;top:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}.section-title h2{font-size:18px;margin:0;letter-spacing:-.5px}.section-title h3{font-size:15px;margin:0}.text-button{background:none;color:var(--brand);padding:6px 0;font-size:11px;font-weight:600}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.course-tile{background:white;border:1px solid #e0e6df;border-radius:17px;overflow:hidden;display:flex;flex-direction:column}.course-cover{padding:22px;min-height:160px;color:#f2f8ef;background:#184f3d;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.course-cover:after{content:'';position:absolute;width:170px;height:170px;border:1px solid #ffffff18;border-radius:50%;right:-35px;top:-50px;box-shadow:0 0 0 25px #ffffff06,0 0 0 55px #ffffff04}.course-cover>span:first-child{font-size:8px;letter-spacing:1.6px}.course-cover strong{font-size:24px;letter-spacing:-.8px;line-height:1.1;width:75%;max-width:180px;margin:15px 0 20px}.course-cover small{font-size:9px;color:#d2dfcf}.course-cover.sage{background:#a5bda0;color:#233f2b}.course-cover.sage small{color:#375b40}.course-cover.sand{background:#e7d7b4;color:#57482d}.course-cover.sand small{color:#695938}.cover-symbol{position:absolute;right:22px;bottom:20px;font-size:48px;opacity:.5}.course-tile-body{padding:18px;display:flex;flex-direction:column;flex:1}.ownership{font-size:9px;color:#59805d}.course-tile h3{font-size:15px;margin:8px 0}.course-tile p{font-size:11px;color:#859084;line-height:1.6;margin:0 0 15px}.course-progress{display:flex;align-items:center;gap:12px;margin-top:auto}.course-progress progress{flex:1;min-width:0}.course-progress small{font-size:9px;color:#68756a;white-space:nowrap}.course-tile button{font-size:11px;margin-top:17px;text-align:left;padding:10px 12px}.dashboard-rail .card{padding:22px;border-radius:19px;margin-bottom:17px;border-color:#e0e6df}.muted{color:#829083;font-size:12px}.rail-icon{font-size:23px;color:var(--brand)}.plan-row{display:flex;align-items:center;gap:10px;color:var(--text);background:none;width:100%;padding:14px 0;text-align:left;font-size:11px;font-weight:500}.plan-row small{display:block;color:#8c978c;font-size:9px;margin-top:4px}.plan-row em{margin-left:auto;color:#53996a;font-style:normal;font-size:10px;white-space:nowrap}.check{width:17px;height:17px;border:1px solid #d7e0d7;border-radius:5px;flex-shrink:0}.check.checked{background:var(--brand);color:white;text-align:center}.tip{background:#f2f6ef;border-radius:12px;padding:13px;margin-top:12px;font-size:10px}.tip strong{color:var(--brand)}.tip p{color:#7d887c;line-height:1.5;margin:7px 0 0}.your-access{background:#edf3e8}.your-access .eyebrow{font-size:9px;letter-spacing:1px}.your-access h3{font-size:21px;line-height:1.3;letter-spacing:-.5px}.your-access p,.consistency p{font-size:11px;color:#7d887a}.your-access button{font-size:11px;margin-top:12px}.consistency{background:#faf6e9}.consistency>span{font-size:8px;color:#a48a46;letter-spacing:1.2px}.consistency h3{font-size:25px;line-height:1.2;letter-spacing:-.7px}.week-dots{color:#b29d57;font-size:24px;letter-spacing:4px}.learning-path{margin-top:20px;padding:22px;background:#fff}.learning-path h2{font-size:20px}.learning-path p{font-size:11px;color:#839080}.learning-path .eyebrow{font-size:8px;letter-spacing:1px}.path-steps{display:flex;gap:12px;font-size:10px;color:#688266;margin-top:22px}.path-steps span{background:#f0f5ec;border-radius:8px;padding:8px 12px}.library{grid-template-columns:repeat(3,minmax(0,1fr))}.course-detail-hero{border-radius:20px;padding:32px;background:#e5eedf;margin:18px 0 30px}.course-detail-hero h1{font-size:34px;letter-spacing:-1px}.detail-meta{font-size:12px;color:#61765e;margin:20px 0 10px}.module-detail{padding:0 22px}.module-detail summary{list-style:none;display:flex;align-items:center;gap:16px;cursor:pointer;padding:21px 0;font-weight:650}.module-detail summary::-webkit-details-marker{display:none}.module-detail summary small{display:block;font-size:11px;color:#83907f;font-weight:400;margin-top:5px}.expand-icon{margin-left:auto}.lesson-row{display:flex;width:100%;align-items:center;gap:15px;border-top:1px solid #eef0eb;border-radius:0;background:white;color:var(--text);text-align:left;padding:18px 0;font-weight:500;font-size:13px}.lesson-row small{display:block;font-size:10px;color:#869180;margin-top:5px}.lesson-play{background:#eef4e9;color:var(--brand);border-radius:10px;width:34px;height:34px;display:grid;place-items:center}.lesson-status{margin-left:auto;font-size:10px;color:var(--brand)}.lesson-title{font-size:29px;letter-spacing:-.8px}.video-symbol{font-size:50px;color:var(--accent)}.screen{min-height:320px;align-items:center;text-align:center}.screen h3{font-size:19px}.screen p{font-size:11px;color:#bacfc1}.about-title{margin-top:28px}.material-state{display:block;color:#71856d;margin-top:14px}.next-lesson{display:block;width:100%;text-align:left;background:none;color:#6e7f68;padding:12px 8px;font-size:12px;border-radius:8px;margin:4px 0}.next-lesson.active{background:#edf4e6;color:var(--brand)}.search-panel{position:relative;margin-top:-12px;box-shadow:0 12px 30px #123b2210}.search-panel strong{font-size:12px}#teacher-nav{width:100%}button:hover{filter:brightness(.97)}.foot{font-size:10px;margin-top:25px}
@media(min-width:1500px){.dashboard{grid-template-columns:minmax(0,1fr) 340px}.focus-hero{padding:32px}.focus-hero h2{font-size:38px}}
@media(max-width:1150px){.sidebar{width:200px;padding-left:12px;padding-right:12px}.workspace{margin-left:200px;padding:22px}.dashboard{grid-template-columns:minmax(0,1fr)}.dashboard-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.dashboard-rail .card{padding:18px}.library{grid-template-columns:repeat(2,minmax(0,1fr))}.your-access h3{font-size:18px}.consistency h3{font-size:22px}.week-dots{font-size:17px;letter-spacing:1px}}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:16px;border:0}.logo{font-size:30px;padding:0}.sidebar nav{flex-direction:row;margin:18px 0 0;gap:5px;overflow-x:auto}.sidebar nav button{padding:10px;font-size:11px;white-space:nowrap;gap:6px}.sidebar nav button span{font-size:16px;width:auto}.sidebar-bottom{margin-top:12px}.sidebar-bottom .support,.student{display:none}.demo-settings{margin:0}.demo-settings[open]{padding:12px}.workspace{margin-left:0;padding:18px 15px}.topbar{gap:12px;padding-bottom:22px}.topbar .badge{display:none}.page-title h1{font-size:25px}.page-title>.chip{display:none}.focus-hero{padding:22px;grid-template-columns:1fr;gap:20px}.focus-hero h2{font-size:32px}.hero-next{display:block;padding:16px}.book-art{display:none}.hero-next h3{display:inline-block;margin-right:15px}.hero-next button{width:auto}.hero-next>small{display:block}.hero-numbers strong{font-size:15px}.course-grid,.library{grid-template-columns:1fr}.course-cover{min-height:160px}.dashboard-rail{grid-template-columns:1fr}.dashboard-rail .card{margin-bottom:0}.path-steps{gap:6px}.path-steps span{padding:7px;font-size:9px}.lesson-layout{grid-template-columns:1fr}.lesson-status{font-size:9px}.course-detail-hero{padding:24px}.course-detail-hero h1{font-size:28px}.screen{min-height:230px}.topbar .avatar{width:32px;height:32px}.search input{font-size:11px}.task{flex-wrap:wrap}}

.logo{padding:0;display:block;letter-spacing:normal}.logo img{display:block;width:100%;height:auto;max-width:210px}.sidebar .logo{margin:8px 0 15px}@media(max-width:760px){.sidebar .logo{margin:0;max-width:235px}.logo img{max-width:235px}}
/* Escala de leitura e controles confortáveis em todas as telas. */
body{font-size:16px;line-height:1.6}
button{min-height:44px}
.sidebar nav button{font-size:15px;min-height:48px}
.logo img{max-width:220px}
.logo span,.student small,.demo-settings,.demo-settings select,.demo-settings button{font-size:13px}
.demo-settings summary{padding:8px 0;line-height:1.5}
.student>b,.avatar{width:42px;height:42px;font-size:14px}
.support .eyebrow,.page-title .eyebrow,.hero-label,.hero-next>small,.course-cover>span:first-child,.learning-path .eyebrow,.your-access .eyebrow,.consistency>span{font-size:12px;letter-spacing:1px}
.search{min-height:48px}
.search input{font-size:15px;padding:13px 0}
.topbar .badge,.chip{font-size:13px}
.page-title p{font-size:15px}
.hero-numbers{flex-wrap:wrap;row-gap:16px}
.hero-numbers strong{font-size:20px}
.hero-numbers small,.focus-hero p{font-size:14px}
.hero-next h3{font-size:16px;line-height:1.5}
.hero-next button{font-size:14px;line-height:1.4;padding:12px}



.section-title h2{font-size:22px}
.section-title h3{font-size:20px}
.text-button{font-size:14px;min-height:44px}
.course-cover{min-height:190px}
.course-cover strong{font-size:28px}
.course-cover small,.ownership{font-size:13px}
.course-tile-body{padding:22px}
.course-tile h3{font-size:20px;line-height:1.35}
.course-tile p{font-size:15px;line-height:1.6}
.course-progress{flex-wrap:wrap;gap:10px}
.course-progress small{font-size:13px}
.course-progress progress{height:8px;min-width:80px}
.course-tile button{font-size:15px;padding:12px 16px}
.muted{font-size:15px}
.dashboard-rail .card{padding:24px}
.plan-row{font-size:16px;padding:18px 0;gap:12px;align-items:flex-start;font-weight:600}
.plan-row>span:nth-child(2){flex:1;min-width:0}
.plan-row small{font-size:14px;line-height:1.5;margin-top:6px;font-weight:400}
.plan-row em{font-size:14px;padding-top:2px}
.check{width:23px;height:23px;border-radius:6px;margin-top:2px;line-height:21px}
.tip{padding:18px;font-size:15px;line-height:1.55;margin-top:16px}
.tip p{margin-top:10px;line-height:1.6}
.your-access h3{font-size:24px}
.your-access p,.consistency p{font-size:15px;line-height:1.6}
.your-access button{font-size:15px;padding:12px 16px}
.consistency h3{font-size:28px}
.learning-path h2{font-size:24px}
.learning-path p,.path-steps{font-size:14px}
.path-steps{flex-wrap:wrap}
.path-steps span{padding:10px 14px}
.detail-meta,.module-detail summary small{font-size:14px}
.module-detail summary{font-size:18px}
.module-icon{font-size:15px;min-width:42px;text-align:center}
.lesson-row{font-size:16px;padding:20px 0}
.lesson-row small{font-size:14px}
.lesson-play{width:42px;height:42px;flex-shrink:0;font-size:20px}
.lesson-status{font-size:13px}
.screen p,.screen small{font-size:14px}
.material-state{font-size:14px}
.next-lesson{font-size:15px;padding:14px 12px;line-height:1.5}
.search-panel strong{font-size:15px}
.foot{font-size:13px}
@media(min-width:1151px){.dashboard{grid-template-columns:minmax(0,1fr) 340px}.focus-hero{grid-template-columns:minmax(0,1fr) 210px}}
@media(min-width:761px) and (max-width:1150px){.dashboard-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-rail .card{padding:22px}.dashboard-rail .consistency{grid-column:1/-1}}
@media(max-width:760px){
.sidebar nav button{font-size:14px;padding:12px;min-height:46px}.sidebar nav button span{font-size:19px}
.demo-settings{font-size:13px}.demo-settings select,.demo-settings button{font-size:14px}
.search input{font-size:14px}.topbar .avatar{width:38px;height:38px}
.page-title h1{font-size:28px}.page-title p{font-size:15px}
.hero-numbers strong{font-size:19px}.hero-numbers small{font-size:13px}
.hero-next{padding:18px}.hero-next h3{display:block;margin:10px 0 15px}.hero-next button{font-size:15px;width:100%}

.section-title{flex-wrap:wrap}.section-title h2{font-size:22px}
.course-cover strong{font-size:28px}.dashboard-rail .card{padding:24px}
.plan-row{font-size:16px}.plan-row small,.plan-row em{font-size:14px}
.path-steps span{font-size:14px;padding:10px 12px}
.lesson-row{flex-wrap:wrap;gap:12px}.lesson-row>span:nth-child(2){flex:1;min-width:150px}.lesson-status{margin-left:54px;font-size:14px}
.module-detail{padding:0 18px}.module-detail summary{font-size:17px}.module-detail summary small{font-size:14px}
}
/* Sala de aula */
.lesson-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px}.lesson-toolbar .text-button{text-align:left;font-size:15px}.lesson-toolbar>button:last-child{white-space:nowrap;font-size:14px}.classroom{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.classroom-main{min-width:0}.lesson-video{aspect-ratio:16/9;background:radial-gradient(ellipse at 50% 30%,#207569,transparent 75%),#103d35;border-radius:20px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;position:relative;overflow:hidden}.lesson-video .chip{background:#ffffff12;color:#cfebd5;font-size:12px;letter-spacing:1px}.lesson-video .video-symbol{margin:15px 0;font-size:60px}.lesson-video h2{font-size:25px;margin:0 0 8px;max-width:90%}.lesson-video p{font-size:14px;color:#c0d4c8;margin:0 0 28px}.video-placeholder-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:12px 20px;background:#00000020;color:#bfd5cb;font-size:12px}.lesson-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--border)}.lesson-actions button{font-size:14px}.lesson-heading{padding:24px 0}.lesson-heading .eyebrow{font-size:12px}.lesson-heading h1{font-size:32px;letter-spacing:-1px;line-height:1.3;margin:8px 0 22px}.lesson-heading>p:last-child{font-size:16px;color:#6d7c72;margin-top:22px}.teacher-line{display:flex;align-items:center;gap:12px}.teacher-line small{display:block;font-size:13px;color:#7d8b80}.classroom-panel h2{font-size:20px;letter-spacing:-.5px;margin:0 0 18px}.classroom-panel .card{padding:22px}.classroom textarea{display:block;width:100%;resize:vertical;border:1px solid #d5dfd6;border-radius:10px;font:inherit;font-size:15px;line-height:1.6;padding:12px;color:var(--text);background:#fcfdfb;margin:10px 0}.notebook>small{display:block;font-size:12px;color:#738577}.material-tile{display:flex;align-items:center;gap:12px;background:#f3f7ef;color:var(--text);text-align:left;width:100%;padding:15px 12px;border:1px solid #e1e9db;font-size:14px}.material-tile>span:nth-child(2){flex:1;min-width:0}.material-tile strong{font-size:15px}.material-tile small{display:block;font-size:12px;line-height:1.5;font-weight:400;color:#7a8879;margin-top:5px}.file-icon{font-size:27px;color:var(--brand)}.lesson-navigation{display:flex;justify-content:space-between;gap:12px;margin:20px 0}.lesson-navigation button{font-size:14px;flex:1;padding:12px 8px}.course-outline details{border-top:1px solid #e5ebe1;padding:12px 0}.course-outline summary{cursor:pointer;font-size:15px;font-weight:600;padding:7px 0}.course-outline .next-lesson{display:flex;gap:12px}.course-outline .next-lesson small{display:block;font-size:12px;font-weight:400;color:#81907d;margin-top:5px}.course-outline progress{height:8px}.course-outline .section-title{margin-bottom:0}.course-outline .section-title h2{margin:0}.course-outline .section-title>strong{font-size:16px;color:var(--brand)}.course-outline .muted{font-size:14px}.comment-submit{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.comment-submit button{font-size:14px}.comment-submit span{font-size:13px;color:var(--brand)}.comment-tabs{display:flex;gap:8px;border-bottom:1px solid #e3e9df;margin-top:25px}.comment-tabs button{flex:1;background:none;color:#7a887b;font-size:14px;border-radius:0;padding:12px 6px;font-weight:500;border-bottom:3px solid transparent}.comment-tabs button.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:650}.comment-item{display:flex;gap:14px;padding:22px 0;border-bottom:1px solid #e8ede5}.comment-item .avatar{flex-shrink:0}.comment-item small{display:block;font-size:12px;color:#81907e}.comment-item p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;font-size:15px}.empty-comments{font-size:15px;color:#86917e;padding:22px 0}.panel-collapsed{grid-template-columns:minmax(0,1fr)}.panel-collapsed .classroom-panel{display:none}
@media(max-width:1250px){.classroom{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.classroom-panel .card{padding:18px}.lesson-video h2{font-size:21px}}
@media(max-width:1000px){.classroom{grid-template-columns:1fr}.classroom-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.classroom-panel .card{margin:0}.lesson-navigation{grid-column:1/-1;margin:0}.course-outline{grid-column:1/-1}.lesson-video{min-height:270px}.panel-collapsed{grid-template-columns:1fr}}
@media(max-width:600px){.lesson-toolbar{align-items:flex-start;flex-wrap:wrap}.lesson-toolbar>button:last-child{font-size:13px}.classroom-panel{display:flex;flex-direction:column;gap:18px}.lesson-video{padding:22px 16px;min-height:270px;aspect-ratio:auto}.lesson-video h2{font-size:21px}.lesson-video .video-symbol{font-size:44px;margin:12px 0}.lesson-video p{font-size:13px}.video-placeholder-footer{font-size:11px;padding:10px 12px}.lesson-heading h1{font-size:27px}.lesson-actions{gap:8px}.lesson-actions button{font-size:14px}.comment-tabs{flex-wrap:wrap}.comment-tabs button{font-size:13px;min-width:85px}.comment-submit{align-items:flex-start;flex-direction:column}.comment-submit button{width:100%}.classroom-panel .card{padding:22px}.panel-collapsed .classroom-panel{display:none}}
.notes-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:20px;background:white;border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:18px}.notes-toolbar label{font-size:15px}.notes-toolbar input,.notes-toolbar select{display:block;width:100%;margin-top:8px;min-height:46px;font-size:15px}.note-entry{padding:26px;margin-top:20px}.note-breadcrumb{font-size:14px;color:var(--brand);margin:0 0 10px}.note-breadcrumb span{padding:0 8px;color:#95a38e}.note-entry .section-title{flex-wrap:wrap}.note-entry h2{font-size:21px;line-height:1.4}.note-entry label{font-size:14px;color:#71816e}.note-entry textarea{display:block;width:100%;min-height:120px;resize:vertical;border:1px solid #d5dfd6;background:#fcfdfb;border-radius:12px;padding:16px;font:inherit;font-size:16px;line-height:1.7;color:var(--text);margin:8px 0}.note-save-status{display:block;font-size:13px;color:#71816e}.notes-empty{text-align:center;padding:45px 24px}.notes-empty h2{font-size:24px;margin-top:20px}.notes-empty p{color:#788675;font-size:16px}.notes-empty button{margin-top:15px}@media(max-width:760px){.notes-toolbar{grid-template-columns:1fr;padding:18px;gap:16px}.note-entry{padding:20px}.note-entry h2{font-size:20px}.note-breadcrumb{font-size:14px}.note-entry .section-title{align-items:flex-start;flex-direction:column;gap:4px}}
.home-cycle .cycle-pending{display:inline-block;font-size:13px;background:#f5efd9;color:#78632d;margin:4px 0 8px}.home-cycle .cycle-link{width:100%;margin-top:20px;font-size:15px;padding:12px;text-align:left}.home-cycle>.muted{font-size:15px;line-height:1.6}
.contest-info{background:#ffffffb8;border:1px solid #d7e2d2;border-radius:16px;padding:24px;margin:26px 0}.contest-info .section-title{flex-wrap:wrap}.contest-info h2{font-size:21px}.contest-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}.contest-fields>div{border-bottom:1px dashed #d8e1d4;padding-bottom:12px;min-width:0}.contest-fields dt{font-size:14px;color:#768470;margin-bottom:6px}.contest-fields dd{font-size:17px;font-weight:550;margin:0;overflow-wrap:anywhere}.contest-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #dce5d6;padding-top:18px}.contest-links strong{display:block;font-size:14px;margin-bottom:7px}.contest-links a{display:inline-block;color:var(--brand);font-size:16px;padding:6px 0;text-underline-offset:4px;overflow-wrap:anywhere}.contest-pending{font-size:15px;color:#7b8776}.contest-info .chip{font-size:12px;background:#f6efd9;color:#78632d}@media(max-width:760px){.contest-info{padding:20px}.contest-fields{grid-template-columns:1fr 1fr;gap:18px}.contest-name{grid-column:1/-1}.contest-links{grid-template-columns:1fr}.contest-info .section-title{align-items:flex-start;gap:12px}.contest-fields dd{font-size:16px}}
.contest-simulation{font-size:14px;line-height:1.6;color:#78632d;background:#f8f2de;border-radius:10px;padding:12px 16px;margin:16px 0}
.contest-summary{display:flex;align-items:center;gap:16px;cursor:pointer;list-style:none;min-height:44px;font-size:20px;font-weight:650}.contest-summary::-webkit-details-marker{display:none}.contest-summary>.chip{margin-left:auto;font-weight:500}.contest-toggle{order:3;transition:transform .18s;font-size:23px}.contest-info[open] .contest-toggle{transform:rotate(180deg)}.contest-info:not([open]){padding-top:16px;padding-bottom:16px}.contest-summary:focus-visible{outline:3px solid #9cb54a;outline-offset:5px;border-radius:6px}@media(max-width:600px){.contest-summary{flex-wrap:wrap;font-size:18px;gap:10px}.contest-summary>.chip{font-size:12px}.contest-toggle{margin-left:auto}}
.lesson-rating{display:flex;align-items:center;gap:4px;border:1px solid #dce2de;border-radius:30px;background:#fff;padding:3px 6px}.lesson-rating .rating-button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:48px;min-height:44px;border-radius:24px;color:#657469;background:transparent;font-size:18px;padding:8px 12px}.rating-button svg{width:25px;height:25px;fill:currentColor}.lesson-rating .rating-button.selected{background:#e3f0ec;color:var(--brand)}.lesson-rating .rating-button:hover{background:#eff4eb}.rating-local-note{font-size:13px;color:#738371;margin:10px 0 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notebook .note-line-input{width:100%;border:0;border-bottom:1px solid #aab4aa;border-radius:0;background:transparent;padding:12px 0;font-size:16px;margin-bottom:14px}.note-compose-tools{display:flex;gap:12px;align-items:flex-end;justify-content:space-between}.note-compose-tools label{font-size:13px;color:#788674}.note-compose-tools input{display:block;width:95px;font-size:14px;padding:8px;margin-top:5px}.note-compose-tools button{font-size:14px}.notebook #note-time-help{display:block;font-size:12px;color:#81907b;margin:12px 0}.timestamp-note{padding:20px;background:white;border:1px solid #edf0eb;border-radius:14px;box-shadow:0 2px 4px #102d281c;margin:16px 0}.timestamp-note strong{font-size:16px}.timestamp-note p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;margin:6px 0 0;line-height:1.6}.notebook h2{font-size:23px;line-height:1.3}
.favorite-entry .section-title{flex-wrap:wrap;margin-bottom:0}.favorite-entry h2{font-size:21px;line-height:1.4}.favorite-entry .muted{margin:8px 0 0}.favorite-actions{display:flex;gap:12px;flex-wrap:wrap}.favorite-actions button{font-size:14px}.sidebar nav button[data-view="favorites"]{line-height:1.4}@media(max-width:760px){.favorite-actions{width:100%;margin-top:12px}.favorite-actions button{flex:1;min-width:150px}}
.sidebar nav button .nav-icon{display:block;width:24px;height:24px;flex:0 0 24px}.sidebar nav button{align-items:center}@media(max-width:760px){.sidebar nav button .nav-icon{width:20px;height:20px;flex-basis:20px}}
.theme-toggle{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:50%;background:#e9efe7;color:#42654c;padding:10px}.theme-toggle svg{width:24px;height:24px}.topbar .badge{margin-left:0}.search{margin-right:auto}
html[data-theme="dark"]{color-scheme:dark;--bg:#121b18;--text:#e2ece5;--brand:#88cbb3;--light:#263d33;--border:#35463c;--accent:#dff05b}
html[data-theme="dark"] body{background:#121b18;color:var(--text)}
html[data-theme="dark"] :is(.sidebar,.card,.course-tile,.course-tile-body,.search,.notes-toolbar,.lesson-rating,dialog,.lesson-row){background:#1c2822;border-color:#35463c;color:#e2ece5}
html[data-theme="dark"] .sidebar{border-right-color:#35463c}
html[data-theme="dark"] :is(.sidebar nav button,.text-button,.next-lesson,.plan-row){color:#bacabd}
html[data-theme="dark"] :is(.sidebar nav button[aria-current],.next-lesson.active,.lesson-play,.module-icon,.tip,.student,.support,.theme-toggle){background:#2b4032;color:#cce2c0;border-color:#40523b}
html[data-theme="dark"] :is(.course-detail-hero,.your-access,.consistency,.contest-info,.material-tile,.timestamp-note){background:#233329;color:#e2ece5;border-color:#3b4d3f}
html[data-theme="dark"] :is(.contest-simulation,.home-cycle .cycle-pending,.contest-info .chip){background:#413d25;color:#eadca3}
html[data-theme="dark"] :is(input,select,textarea,.classroom textarea,.note-entry textarea,.notebook .note-line-input){background:#16221c;color:#e2ece5;border-color:#4a5d4d}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#9bad9e}
html[data-theme="dark"] :is(.muted,.page-title p,.course-tile p,.course-progress small,.foot,.teacher-line small,.lesson-heading>p:last-child,.tip p,.your-access p,.consistency p,.empty-comments,.material-state,.rating-local-note,.note-save-status,.notebook>small,.contest-fields dt,.contest-pending,.note-entry label,.note-compose-tools label,.notebook #note-time-help,.material-tile small,.course-outline .next-lesson small,.lesson-row small,.module-detail summary small,.detail-meta,.student small,.demo-settings){color:#b0c1b1}
html[data-theme="dark"] :is(.chip,button.secondary){background:#2b4437;color:#b8e5ca}
html[data-theme="dark"] button{color:#102d28}
html[data-theme="dark"] :is(.ownership,.note-breadcrumb,.contest-links a,.course-outline .section-title>strong){color:#a6d4a9}
html[data-theme="dark"] .lesson-rating .rating-button{background:transparent;color:#b9c9bc}
html[data-theme="dark"] .lesson-rating .rating-button.selected{background:#31503c;color:#dff05b}
html[data-theme="dark"] :is(.comment-tabs button,.comment-tabs button.active){color:#bdd8c2;background:transparent}
html[data-theme="dark"] :is(.lesson-actions,.comment-tabs,.comment-item,.course-outline details,.lesson-row,.contest-fields>div,.contest-links){border-color:#3b4d3f}
html[data-theme="dark"] .logo{background:#fff;border-radius:8px;padding:8px}
html[data-theme="dark"] progress::-webkit-progress-bar{background:#3d4d40}
@media(max-width:760px){.topbar{gap:8px}.theme-toggle{width:40px;height:40px;flex-basis:40px}.search{min-width:0}.search input{min-width:0}}
.account-menu{position:relative;flex-shrink:0}.account-trigger{display:flex;align-items:center;gap:10px;background:transparent;color:var(--text);padding:0;font-size:14px}.account-options{position:absolute;right:0;top:calc(100% + 12px);width:300px;max-width:85vw;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 12px 35px #102d2820;z-index:50;padding:8px}.account-options[hidden]{display:none}.account-options button{display:block;text-align:left;background:transparent;color:var(--text);font-size:16px;font-weight:500;width:100%;padding:13px 16px;border-radius:8px}.account-options button:hover{background:var(--light)}.account-options #sign-out{border-top:1px solid var(--border);border-radius:0;color:#b95340}.account-page{max-width:720px}.account-page input{width:100%;margin:8px 0 22px;font-size:16px}.account-page label{font-size:16px}.purchase-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding:20px 0}.purchase-row:last-child{border-bottom:0}.purchase-row h3{font-size:18px;margin:0}.purchase-row p{margin:6px 0 0}.purchase-row button{font-size:14px}.signed-out .sidebar,.signed-out .topbar{display:none}.signed-out .workspace{margin:0 auto;max-width:800px;padding-top:80px}.signedout-card{padding:40px}.signedout-card h1{font-size:36px}html[data-theme="dark"] .account-options{background:#1c2822}html[data-theme="dark"] .account-menu .account-trigger,html[data-theme="dark"] .account-options button{color:#e2ece5!important}html[data-theme="dark"] .account-options button:hover{background:#2b4032}@media(max-width:760px){#account-name{display:none}.account-trigger{gap:4px}.purchase-row{align-items:flex-start;flex-direction:column}.signedout-card{padding:24px}}
#password-help{display:block;color:#768570;font-size:14px;margin:-12px 0 22px}#password-status{font-size:15px;line-height:1.6}html[data-theme="dark"] #password-help{color:#b0c1b1}
.profile-hero{padding:0;overflow:hidden}.profile-cover{height:220px;background:radial-gradient(circle at 85% 10%,#5c9471,transparent 50%),linear-gradient(120deg,#174d40,#286d59);display:flex;align-items:flex-start;justify-content:flex-end;padding:26px;color:#dbedcf}.profile-cover>span{font-size:12px;letter-spacing:1.5px}.profile-identity{position:relative;padding:85px 30px 25px}.profile-large-avatar{position:absolute;top:-65px;left:30px;width:130px;height:130px;border:6px solid white;border-radius:50%;background:#dfead9;color:#386143;display:grid;place-items:center;font-size:40px;font-weight:700}.profile-identity>button{position:absolute;right:30px;top:24px}.profile-identity h1{font-size:30px;letter-spacing:-.8px;margin:0 0 6px}.profile-identity p{margin:0}.profile-data-row{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:24px;padding:25px 30px}.profile-data-row h2{font-size:21px;margin:0}.profile-data-row p{margin:0;font-size:17px;overflow-wrap:anywhere}.profile-editor{max-width:none}.profile-editor summary{cursor:pointer;font-size:18px;font-weight:600;min-height:44px;align-content:center}.profile-editor[open] summary{margin-bottom:24px}.profile-editor form{max-width:680px}.profile-editor h2{display:none}html[data-theme="dark"] .profile-large-avatar{border-color:#1c2822;background:#35543d;color:#d3e7c8}@media(max-width:600px){.profile-cover{height:160px;padding:20px}.profile-cover>span{font-size:10px}.profile-large-avatar{width:100px;height:100px;top:-50px;left:20px;font-size:32px}.profile-identity{padding:75px 20px 24px}.profile-identity>button{right:16px;top:18px;font-size:14px;padding:9px 12px}.profile-identity h1{font-size:26px}.profile-data-row{grid-template-columns:1fr;gap:10px;padding:22px}.profile-data-row h2{font-size:19px}}
#phone-help{display:block;font-size:14px;color:#75846f;margin-top:-12px}#phone-error{color:#b64034;font-size:14px}#profile-phone[aria-invalid="true"]{border-color:#b64034}html[data-theme="dark"] #phone-help{color:#b0c1b1}
.profile-large-avatar{overflow:hidden}.profile-large-avatar img,.account-trigger .avatar img{display:block;width:100%;height:100%;object-fit:cover}.account-trigger .avatar{overflow:hidden}.profile-photo-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 170px 16px 0}.profile-photo-controls button{font-size:14px}.profile-photo-controls [hidden]{display:none}#photo-status{font-size:14px;color:var(--brand);margin:0 0 12px}#photo-status:empty{display:none}@media(max-width:600px){.profile-photo-controls{margin-right:0;padding-top:5px}}
.profile-editor[hidden]{display:none}.profile-editor h2{display:block;margin:0 0 22px;font-size:22px}.profile-data-row{grid-template-columns:1fr 1.5fr auto}.profile-data-row>.secondary{font-size:14px;min-width:85px}@media(max-width:600px){.profile-data-row{grid-template-columns:1fr auto}.profile-data-row h2{grid-column:1/-1}.profile-data-row p{min-width:0}.profile-data-row>div{grid-column:1/-1}}
.subscriptions{padding:0;overflow:hidden}.subscription-heading{display:flex;align-items:center;gap:15px;padding:24px 28px;border-bottom:2px solid var(--brand);font-size:19px;font-weight:650;color:var(--brand)}.subscription-product{margin:24px;border:1px solid var(--border);border-radius:15px;padding:24px}.subscription-product h2{font-size:23px;line-height:1.4}.subscription-fields{margin:20px 0 28px}.subscription-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--border)}.subscription-fields dt{font-size:16px;font-weight:600}.subscription-fields dd{font-size:16px;margin:0;overflow-wrap:anywhere}.subscription-status{color:var(--brand);font-weight:600}.subscription-time{text-align:center}.subscription-time strong{display:block;font-size:16px;margin-bottom:12px}.subscription-time progress{height:10px}.subscription-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}.subscription-footer button{font-size:14px}@media(max-width:600px){.subscription-heading{padding:20px}.subscription-product{margin:16px;padding:18px}.subscription-product h2{font-size:21px}.subscription-fields>div{grid-template-columns:1fr;gap:5px;padding:14px 0}.subscription-fields dt{font-size:14px;color:#7c8977}.subscription-footer{align-items:flex-start;flex-direction:column}.subscription-time strong{font-size:14px}}html[data-theme="dark"] .subscription-fields dt{color:#b0c1b1}
.profile-modal{width:min(520px,calc(100% - 32px));padding:30px}.profile-modal h2{font-size:25px;margin:0 0 24px}.profile-modal label{font-size:16px}.profile-modal input{width:100%;font-size:16px;margin-top:10px;min-height:48px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}#profile-modal-error{font-size:14px;color:#b64034}.profile-modal input[aria-invalid="true"]{border-color:#b64034}.profile-modal::backdrop{background:#102d2880;backdrop-filter:blur(3px)}
#support-form select,#support-form textarea{display:block;width:100%;margin:8px 0 22px;font:inherit;font-size:16px;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg);color:var(--text)}#support-form textarea{resize:vertical;min-height:160px}.support-request{border-top:1px solid var(--border);padding:22px 0}.support-request h3{font-size:19px}.support-request .section-title{flex-wrap:wrap}.support-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px}.sidebar{overflow-y:auto}.sidebar-bottom{padding-top:16px}
.support-waiting{background:#f8efd7;color:#80652d}.support-answered{background:#e2f1e5;color:#247550}.support-reply{background:#edf5e9;border:1px solid #dce8d7;border-left:4px solid var(--brand);padding:20px;border-radius:12px;margin-top:20px}.support-reply strong{display:block;font-size:16px}.support-reply small{display:block;margin-top:5px;font-size:13px;color:#7a8975}.support-reply p{font-size:16px;line-height:1.6;white-space:pre-wrap;margin-bottom:0}.support-request>button{font-size:14px;margin-top:8px}html[data-theme="dark"] .support-reply{background:#263b2e;border-color:#40553b}html[data-theme="dark"] .support-waiting{background:#443b25;color:#ead7a0}html[data-theme="dark"] .support-answered{background:#294633;color:#b0debb}
.support-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin:24px 0 20px}.support-tabs button{background:transparent;color:#758370;border-radius:10px 10px 0 0;border-bottom:3px solid transparent;padding:15px 22px;font-size:16px}.support-tabs button[aria-selected="true"]{color:var(--brand);border-bottom-color:var(--brand);background:var(--light)}.support-panel[hidden]{display:none}html[data-theme="dark"] .support-tabs button{color:#b0c1b1!important}html[data-theme="dark"] .support-tabs button[aria-selected="true"]{color:#c7e8d0!important}@media(max-width:600px){.support-tabs{gap:4px}.support-tabs button{font-size:14px;padding:12px 10px;flex:1}}
/* Contraste das mensagens no tema escuro: fundo e texto definidos juntos. */
html[data-theme="dark"] .notice{background:#3b3720;color:#f2e6b6;border:1px solid #665d31}
html[data-theme="dark"] .notice :is(p,small,strong,a){color:inherit}
html[data-theme="dark"] .result{background:#263e31;color:#d5ebdc;border:1px solid #41644d}
html[data-theme="dark"] :is(.support-reply small,.note-compose-tools label,.comment-item small){color:#b6c7b5}
html[data-theme="dark"] :is(#phone-error,#profile-modal-error){color:#ffb0a4}
html[data-theme="dark"] :is(.demo-settings summary){color:#bbcbbd}
.continue-visual{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;background:#184f3d;color:#e7f1df;min-height:115px}.continue-visual.sage{background:#a5bda0;color:#233f2b}.continue-play{font-size:38px}.continue-visual>span:last-child{font-size:14px}.continue-tile .course-tile-body>button{margin-top:auto}.continue-tile .note-breadcrumb{font-size:13px}.continue-tile h3{margin-bottom:12px}.continue-tile .chip{font-size:13px;background:#ffffffd9;color:#24563e}
/* Cartões compactos somente na seção Continue estudando. */
.continue-tile{border-radius:14px}.continue-tile .continue-visual{min-height:0;padding:12px 16px;gap:10px;background:transparent;color:var(--text);border-bottom:1px solid var(--border)}.continue-tile .continue-visual .chip{font-size:12px;padding:4px 9px;background:var(--light);color:var(--brand)}.continue-tile .continue-play{font-size:21px;margin-left:auto}.continue-tile .continue-visual>span:last-child{font-size:13px}.continue-tile .course-tile-body{padding:16px;gap:10px}.continue-tile .course-tile-body .note-breadcrumb{font-size:13px;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.continue-tile .course-tile-body h3{font-size:18px;line-height:1.4;margin:0 0 4px}.continue-tile .course-tile-body>button{font-size:14px;padding:9px 12px;min-height:44px;margin-top:auto}.continue-tile .course-tile-body{flex:1}
/* Caderno compacto, com espaço proporcional ao conteúdo. */
.notes-toolbar{padding:16px 18px;gap:16px;margin-bottom:10px;border-radius:12px}.notes-toolbar label{font-size:14px}.notes-toolbar input,.notes-toolbar select{margin-top:5px;min-height:44px;padding:9px 12px;font-size:15px}#notes-list .note-entry{padding:16px 20px;margin:12px 0;border-radius:13px}#notes-list .note-breadcrumb{margin:0 0 5px;font-size:13px;line-height:1.5}#notes-list .section-title{margin:0 0 8px;gap:8px}#notes-list .note-entry h2{font-size:18px;line-height:1.4}#notes-list .text-button{font-size:14px;padding:4px 0;min-height:36px}#notes-list .note-entry label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#notes-list .note-entry textarea{min-height:52px;max-height:320px;padding:10px 12px;margin:0 0 5px;line-height:1.6;font-size:16px;resize:vertical;border-radius:8px}#notes-list .note-save-status{font-size:12px;line-height:1.4}#notes-status{font-size:13px;color:#788675;margin-top:10px}@media(max-width:760px){.notes-toolbar{padding:14px;gap:12px}#notes-list .note-entry{padding:15px}#notes-list .section-title{gap:4px}#notes-list .note-entry h2{font-size:17px}}
.admin-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-courses .card{margin:0}.admin-courses h2{font-size:22px}.admin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.admin-actions button{font-size:14px}.admin-lesson{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--border);padding:16px 0}.admin-lesson small{display:block;font-size:13px;color:#7b8978}.admin-dialog{max-height:85vh;width:min(680px,calc(100% - 30px));overflow:auto}.admin-dialog h2{font-size:25px}.admin-dialog label{font-size:15px;margin:15px 0}.admin-dialog input:not([type="checkbox"]),.admin-dialog textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid var(--border);border-radius:8px;margin-top:6px;background:var(--bg);color:var(--text)}.admin-dialog textarea{resize:vertical}.admin-dialog input[type="checkbox"]{margin-left:14px}.admin-form-error{color:#b64034}.lesson-video video{width:100%;height:100%;max-height:70vh}.material-download{display:block;padding:12px 0;color:var(--brand);font-size:15px}html[data-theme="dark"] .admin-lesson small{color:#b0c1b1}@media(max-width:760px){.admin-courses{grid-template-columns:1fr}.admin-lesson{align-items:flex-start;flex-direction:column}}
.admin-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-banner h1{font-size:30px;margin:5px 0}.admin-banner p{margin:5px 0;color:#788675}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px}.admin-navigation{display:flex;flex-direction:column;align-self:start;background:white;border:1px solid var(--border);padding:8px;border-radius:15px;gap:6px}.admin-navigation button{flex:initial;text-align:left;font-size:15px;color:var(--text);background:transparent;padding:12px}.admin-navigation button[aria-current]{background:var(--light);box-shadow:none;color:var(--brand)}.admin-navigation button span{float:right;font-size:12px;background:var(--light);border-radius:10px;padding:0 6px}.admin-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-metrics .card{margin:0 0 14px}.admin-metrics strong{display:block;font-size:34px;margin-top:10px}.admin-quick{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:24px}#admin-content{min-width:0}#admin-content .page-title{flex-wrap:wrap}#admin-content .page-title h1{font-size:26px}#admin-content .support-request>button{margin-top:18px}html[data-theme="dark"] .admin-navigation{background:#1c2822}html[data-theme="dark"] .admin-navigation button{color:#e2ece5!important}@media(max-width:1150px){.admin-layout{grid-template-columns:1fr}.admin-navigation{flex-direction:row;flex-wrap:wrap}.admin-navigation button{flex:1;white-space:nowrap}.admin-banner{flex-wrap:wrap}}@media(max-width:600px){.admin-metrics{gap:10px}.admin-metrics .card{padding:16px}.admin-navigation button{font-size:14px}.admin-banner h1{font-size:27px}}
.admin-dialog select{display:block;width:100%;padding:12px;font-size:16px;border:1px solid var(--border);border-radius:8px;margin-top:6px;background:var(--bg);color:var(--text)}.lesson-video iframe{width:100%;height:100%;min-height:300px;border:0}.lesson-objectives{background:var(--light);padding:20px;border-radius:12px;margin-top:20px}.lesson-objectives h2{font-size:20px}.lesson-objectives ul{padding-left:22px}.lesson-objectives li{margin:8px 0;font-size:16px}
.lesson-editor-dialog{width:min(900px,calc(100% - 30px));max-width:900px;padding:28px}.lesson-editor-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin:22px 0 16px;overflow-x:auto}.lesson-editor-tabs button{background:transparent;color:var(--text);border-bottom:3px solid transparent;border-radius:8px 8px 0 0;font-size:15px;padding:12px 18px}.lesson-editor-tabs button[aria-selected="true"]{background:var(--light);color:var(--brand);border-bottom-color:var(--brand)}.lesson-editor-dialog [role="tabpanel"]{min-height:260px}.lesson-editor-dialog [role="tabpanel"][hidden],.classroom [hidden]{display:none}.lesson-editor-dialog h3{font-size:18px;color:var(--brand)}.lesson-editor-dialog .admin-actions{position:sticky;bottom:-28px;background:var(--bg);padding:16px;justify-content:flex-end;border-top:1px solid var(--border)}.lesson-editor-dialog label:has(input[type="checkbox"]){display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.lesson-editor-dialog input[type="checkbox"]{width:20px;height:20px;accent-color:var(--brand)}.lesson-audio{margin-top:24px}.lesson-audio h2{font-size:20px}.lesson-audio audio{width:100%}html[data-theme="dark"] .lesson-editor-tabs button{color:#d2e2d4!important}@media(max-width:600px){.lesson-editor-dialog{padding:20px}.lesson-editor-tabs button{padding:10px 12px;font-size:14px}.lesson-editor-dialog .admin-actions{bottom:-20px}}
.admin-dialog .embed-code-editor{background:#151b19;color:#d7e6dc;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:300px;white-space:pre;tab-size:2;resize:vertical}.embed-preview{margin-top:16px;border:1px solid var(--border);border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:#101815}.embed-preview iframe{width:100%;height:100%;border:0}.lesson-editor-dialog [hidden]{display:none}
.lesson-page{background:var(--bg);color:var(--text)}.lesson-page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding-bottom:22px;margin-bottom:28px;flex-wrap:wrap}.lesson-page-header h1{font-size:29px;margin:4px 0}.lesson-page-header .eyebrow{font-size:12px}.lesson-page-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:26px}.lesson-page label{font-size:15px;font-weight:500;margin-bottom:20px}.lesson-page input:not([type="checkbox"]),.lesson-page select,.lesson-page textarea{width:100%;display:block;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:12px;margin-top:8px}.lesson-page input,.lesson-page select{min-height:46px}.lesson-page-inline{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lesson-page .lesson-check{display:flex;gap:12px;align-items:center;margin:16px 0}.lesson-check input{width:20px;height:20px;min-height:0;accent-color:var(--brand)}.lesson-cover-preview{aspect-ratio:16/9;display:grid;place-items:center;background:var(--light);border-radius:10px;overflow:hidden;color:var(--brand);font-size:14px}.lesson-cover-preview img{width:100%;height:100%;object-fit:cover}.lesson-page-tabs{display:flex;gap:5px;margin:24px 0 16px;background:var(--light);padding:5px;border-radius:10px;width:fit-content}.lesson-page-tabs button{font-size:15px;background:transparent;color:var(--text);padding:10px 18px}.lesson-page-tabs button[aria-selected="true"]{background:var(--bg);box-shadow:0 2px 5px #0001;color:var(--brand)}.html-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border:1px solid var(--border);border-radius:8px 8px 0 0}.html-editor-toolbar span{font-size:12px;color:#83917c}.lesson-page textarea.lesson-source{background:#181c1a;color:#d7e6dc;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;border-radius:0 0 8px 8px;margin:0;min-height:330px;resize:vertical}.lesson-page [hidden]{display:none}.lesson-more{margin-top:25px;border-top:1px solid var(--border);padding:18px 0}.lesson-more summary{cursor:pointer;font-size:15px;font-weight:600;margin-bottom:18px}.lesson-preview-dialog{width:min(1000px,95vw);max-width:1000px}.lesson-preview-dialog .embed-preview{margin-bottom:18px}html[data-theme="dark"] .lesson-page-tabs button{color:#d2e2d4!important}@media(max-width:900px){.lesson-page-top{grid-template-columns:1fr}.lesson-page-top aside{max-width:420px}.lesson-page-inline{grid-template-columns:1fr}.html-editor-toolbar{align-items:flex-start;flex-direction:column}.lesson-page-header .admin-actions{margin-top:0}}
.auto-duration small,.duration-extraction small{display:block;font-size:13px;color:#7b8978;line-height:1.5}.auto-duration input[readonly]{background:var(--light);font-variant-numeric:tabular-nums}.duration-extraction{border:1px solid var(--border);padding:18px;border-radius:10px;margin:0 0 22px}.duration-extraction label{margin-top:16px}.duration-extraction input[type="file"]{font-size:14px}html[data-theme="dark"] :is(.auto-duration small,.duration-extraction small){color:#b0c1b1}
.kinescope-preview{height:300px;margin:16px 0;background:#101815;border-radius:12px;overflow:hidden}.kinescope-preview iframe{width:100%;height:100%;border:0}.kinescope-preview[hidden]{display:none}
/* Contraste e hierarquia do editor de aulas. */
.lesson-page{background:#f3f5f2;border:1px solid #d3ddd2;border-radius:16px;padding:24px}
.lesson-page label{color:#173c2d;font-weight:650;font-size:15px}
.lesson-page input:not([type="checkbox"]),.lesson-page select,.lesson-page textarea:not(.lesson-source){background:#fff;color:#15382a;border:1px solid #8fa594;box-shadow:0 1px 2px #143b2010}
.lesson-page input:not([type="checkbox"]):hover,.lesson-page select:hover,.lesson-page textarea:not(.lesson-source):hover{border-color:#557c60}
.lesson-page :is(input,select,textarea):focus-visible{outline:3px solid #b6d69c;outline-offset:2px;border-color:#075f4f;box-shadow:0 0 0 1px #075f4f}
.lesson-page :is(input,textarea)::placeholder{color:#66796a;opacity:1}
.lesson-page .auto-duration input[readonly]{background:#e2ebdf;color:#294d35;border-color:#94aa93;box-shadow:none}
.lesson-page :is(.auto-duration small,.duration-extraction small,.muted){color:#536b57}
.lesson-page-header{border-bottom-color:#bfcfbc}
.lesson-page .lesson-page-tabs{background:#dfe9da;border:1px solid #b8cdb4}
.lesson-page .lesson-page-tabs button{color:#3b5b40}
.lesson-page .lesson-page-tabs button[aria-selected="true"]{background:#fff;color:#07553d;box-shadow:0 1px 5px #173c2d25;font-weight:700}
.html-editor-toolbar{background:#e5ece2;border-color:#8fa594;color:#23482f}
.html-editor-toolbar span{color:#4f6853}
.lesson-page .duration-extraction{background:#fff;border-color:#b4c6af}
.lesson-page .lesson-more{border-color:#b4c6af}
html[data-theme="dark"] .lesson-page{background:#18241e;border-color:#42594a}
html[data-theme="dark"] .lesson-page label{color:#e0eee1}
html[data-theme="dark"] .lesson-page input:not([type="checkbox"]),html[data-theme="dark"] .lesson-page select,html[data-theme="dark"] .lesson-page textarea:not(.lesson-source){background:#101b15;color:#edf4eb;border-color:#73917a;box-shadow:none}
html[data-theme="dark"] .lesson-page :is(input,textarea)::placeholder{color:#acbda9}
html[data-theme="dark"] .lesson-page .auto-duration input[readonly]{background:#2c4031;color:#d3e4ce;border-color:#789477}
html[data-theme="dark"] .lesson-page :is(.auto-duration small,.duration-extraction small,.muted){color:#bbcfb7}
html[data-theme="dark"] .lesson-page .duration-extraction{background:#1e3024;border-color:#67816a}
html[data-theme="dark"] .lesson-page .lesson-page-tabs{background:#263c2d;border-color:#607b61}
html[data-theme="dark"] .lesson-page .lesson-page-tabs button[aria-selected="true"]{background:#405f42;color:#fff!important}
html[data-theme="dark"] .html-editor-toolbar{background:#2d4333;border-color:#73917a;color:#e1eddb}
html[data-theme="dark"] .html-editor-toolbar span{color:#c1d4ba}
@media(max-width:600px){.lesson-page{padding:16px}}
.sidebar nav[hidden]{display:none}.admin-area .admin-layout{grid-template-columns:minmax(0,1fr)}#admin-sidebar-navigation>.eyebrow{font-size:11px;padding:0 15px;margin:0 0 10px}#admin-return-student{margin-top:18px;border-top:1px solid var(--border);border-radius:0}.admin-area .sidebar-bottom .support{display:none}.admin-area .sidebar .student>b{background:var(--brand);color:var(--bg)}@media(max-width:760px){#admin-sidebar-navigation>.eyebrow{display:none}#admin-return-student{margin-top:0;border:0}}
.class-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--border);margin:20px 0}.class-tabs button{white-space:nowrap;background:transparent;color:var(--text);font-size:15px;border-radius:8px 8px 0 0;border-bottom:3px solid transparent;padding:14px}.class-tabs button[aria-selected="true"]{background:var(--light);color:var(--brand);border-bottom-color:var(--brand)}.class-form{max-width:900px}.class-form label,.class-search{font-size:15px;margin-bottom:20px}.class-form input,.class-form select,.class-form textarea,.class-search input{width:100%;display:block;padding:12px;font:inherit;background:var(--bg);color:var(--text);border:1px solid #92a792;border-radius:8px;margin-top:8px}.class-form textarea{resize:vertical}.class-error{color:#b64034}.class-list-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}.class-list-row h2{font-size:22px;margin:0}.class-check{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);margin-bottom:14px}.class-check input{width:20px;height:20px;accent-color:var(--brand)}.class-check small{display:block;color:#7b8978}.class-filters{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin:20px 0}.class-filters input,.class-filters select{width:100%;margin:0}.class-student{display:flex;gap:18px;align-items:center;border-top:1px solid var(--border);padding:18px 0}.class-student>div{flex:1;min-width:0}.class-student p{font-size:14px;overflow-wrap:anywhere;margin:5px 0}.class-student small{font-size:13px;color:#7b8978}.class-student button,.class-list-row button{font-size:14px}html[data-theme="dark"] :is(.class-tabs button,.class-check small,.class-student small){color:#c2d6bf!important}@media(max-width:760px){.class-student,.class-list-row{align-items:flex-start;flex-wrap:wrap}.class-filters{grid-template-columns:1fr}.class-tabs button{font-size:14px;padding:12px}}
.class-course-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:14px}.class-course-filters input,.class-course-filters select{width:100%;font-size:15px;min-height:46px;margin-top:7px}.class-course-filters label{font-size:14px}.class-check>span{flex:1}.class-check small{margin-top:5px;line-height:1.5}#link-summary{color:var(--brand);font-size:15px;background:var(--light);padding:12px;border-radius:9px}#link-save-status{font-size:15px;color:var(--brand)}@media(max-width:1000px){.class-course-filters{grid-template-columns:1fr 1fr}}@media(max-width:600px){.class-course-filters{grid-template-columns:1fr}}
.manager-menu{margin:4px 0}.manager-menu>summary{list-style:none;display:flex;align-items:center;gap:15px;cursor:pointer;background:#edf0eb;border-radius:12px;padding:14px 18px;font-size:16px;font-weight:650;min-height:50px;color:var(--text)}.manager-menu>summary::-webkit-details-marker{display:none}.manager-chevron{margin-left:auto;font-size:20px;transition:transform .15s}.manager-menu[open] .manager-chevron{transform:rotate(180deg)}.sidebar nav .manager-menu>button{width:100%;padding-left:45px;margin-top:6px;background:#f0f3ee;min-height:48px}.manager-menu>summary:focus-visible{outline:3px solid #9cb54a;outline-offset:2px}html[data-theme="dark"] .manager-menu>summary{background:#2b3e32}html[data-theme="dark"] .sidebar nav .manager-menu>button{background:#24372b;color:#dce9dd}@media(max-width:760px){.manager-menu{min-width:180px}.manager-menu>summary{padding:12px;font-size:14px}.sidebar nav .manager-menu>button{padding-left:25px;font-size:14px}}
/* Grupo Gestor: dimensões explícitas para SVG e submenu. */
.sidebar #admin-sidebar-navigation .manager-menu{display:block;flex:none;width:100%;min-width:0;margin:0;padding:0}
.sidebar #admin-sidebar-navigation .manager-menu>summary{display:flex;align-items:center;gap:14px;width:100%;min-height:50px;padding:13px 16px;margin:0;list-style:none;background:#edf0eb;border-radius:10px;font-size:15px;font-weight:650;line-height:1.4;cursor:pointer}
.sidebar #admin-sidebar-navigation .manager-menu>summary::marker{content:''}
.sidebar #admin-sidebar-navigation .manager-menu>summary::-webkit-details-marker{display:none}
.sidebar #admin-sidebar-navigation .manager-menu>summary>.nav-icon{display:block;width:24px;height:24px;min-width:24px;max-width:24px;max-height:24px;flex:0 0 24px}
.sidebar #admin-sidebar-navigation .manager-menu>summary>span:not(.manager-chevron){display:block;font-size:15px;width:auto;line-height:1.4}
.sidebar #admin-sidebar-navigation .manager-menu>summary>.manager-chevron{display:block;width:16px;font-size:18px;line-height:1;margin-left:auto;flex:0 0 16px}
.sidebar #admin-sidebar-navigation .manager-menu>button{display:flex;align-items:center;gap:14px;position:static;width:100%;margin:6px 0 0;padding:13px 16px 13px 34px;min-height:48px;line-height:1.4;font-size:15px;border-radius:10px;white-space:normal}
.sidebar #admin-sidebar-navigation .manager-menu:not([open])>button{display:none}
html[data-theme="dark"] .sidebar #admin-sidebar-navigation .manager-menu>summary{background:#2b3e32;color:#e2ece5}
/* Formulários de turmas e acesso: campos consistentes e calendário legível. */
#classes-body .class-form{max-width:960px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
#classes-body .class-form>label{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0;color:#173c2d;font-size:15px;font-weight:650;line-height:1.5}
#classes-body .class-form>label:has(textarea),#classes-body .class-form>label:has(input[name="name"]),#classes-body .class-form>.class-error{grid-column:1/-1}
#classes-body .class-form :is(input,select,textarea){display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:12px 14px;background:#fff;color:#163b2b;border:1px solid #91a68f;border-radius:9px;font-size:16px;font-weight:400;line-height:1.5;min-height:48px}
#classes-body .class-form textarea{min-height:110px;resize:vertical}
#classes-body .class-form input[type="date"]{appearance:auto;-webkit-appearance:auto;font-variant-numeric:tabular-nums;color-scheme:light}
#classes-body .class-form input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;padding:5px;width:20px;height:20px;opacity:.8}
#classes-body .class-form :is(input,select,textarea):focus-visible{outline:3px solid #c1dba8;outline-offset:2px;border-color:#075f4f}
#classes-body .class-form>button{justify-self:start;min-height:46px;font-size:15px;margin-top:4px}
#classes-body .class-form>.class-error:empty{display:none}
#classes-body .class-form>.class-error{margin:0;color:#b64034;font-size:14px}
#classes-body .class-form ::placeholder{color:#6f806f;opacity:1}
#classes-body .card{padding:24px}
#classes-body details:has(#course-extension-form){margin-top:20px}
#course-extension-form{margin-top:20px;display:grid;gap:16px}
#course-extension-form label{font-size:15px;display:grid;gap:8px}
#course-extension-form :is(input,textarea){width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid #91a68f;border-radius:9px;padding:12px;min-height:46px}
#course-extension-form button{justify-self:start}
html[data-theme="dark"] #classes-body .class-form>label{color:#dfecdd}
html[data-theme="dark"] #classes-body .class-form :is(input,select,textarea){background:#142019;color:#e3eee0;border-color:#7b967b}
html[data-theme="dark"] #classes-body .class-form input[type="date"]{color-scheme:dark}
html[data-theme="dark"] #classes-body .class-form ::placeholder{color:#b2c3ac}
html[data-theme="dark"] #classes-body .class-form>.class-error{color:#ffb0a4}
@media(max-width:760px){#classes-body .class-form{grid-template-columns:1fr;gap:18px}#classes-body .class-form>label{grid-column:1}#classes-body .card{padding:18px}#classes-body .class-form>button{width:100%;justify-self:stretch}}
.course-access-extension>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-size:18px;font-weight:650;padding:8px 0;min-height:44px;cursor:pointer;color:var(--text)}.course-access-extension>summary::-webkit-details-marker{display:none}.course-access-extension>summary::after{content:'⌄';font-size:22px;transition:transform .15s}.course-access-extension[open]>summary::after{transform:rotate(180deg)}.course-access-extension>summary:focus-visible{outline:3px solid #aacb91;outline-offset:4px;border-radius:6px}.course-access-extension #course-extension-form{display:flex;flex-direction:column;gap:20px;margin-top:18px;max-width:950px}.course-access-extension .course-extension-row{display:flex!important;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);padding:16px 0;margin:0;font-size:16px}.course-extension-row>span:first-child{flex:1}.course-extension-value{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:400}.course-access-extension #course-extension-form .course-extension-value input{width:115px;min-height:46px;background:#fff;margin:0;font-size:16px}.course-access-extension .course-extension-reason{display:flex!important;flex-direction:column;gap:9px;margin:0;font-size:15px}.course-access-extension #course-extension-form textarea{width:100%;min-height:105px;background:#fff;resize:vertical;padding:12px 14px;line-height:1.6;font-size:16px}.course-access-extension #course-extension-form>button{align-self:flex-start;font-size:15px;padding:12px 18px}.course-access-extension #course-extra-status:empty{display:none}html[data-theme="dark"] .course-access-extension #course-extension-form :is(input,textarea){background:#142019;color:#e3eee0;border-color:#7b967b}@media(max-width:600px){.course-access-extension .course-extension-row{align-items:flex-start;flex-direction:column;gap:12px}.course-extension-value{width:100%;justify-content:space-between}.course-access-extension #course-extension-form>button{width:100%}}
.member-row{display:flex;align-items:center;gap:24px;padding:22px 0;border-top:1px solid var(--border);flex-wrap:wrap}.member-identity{display:flex;align-items:center;gap:14px;flex:1;min-width:220px}.member-identity .avatar{flex-shrink:0}.member-identity p{font-size:15px;margin:4px 0;overflow-wrap:anywhere}.member-identity small{font-size:13px;color:#788675}.member-enrollments{flex:1;min-width:220px}.member-enrollments>div{border:1px solid var(--border);border-radius:9px;padding:12px;margin:6px 0;font-size:14px}.member-enrollments small{display:block;margin-top:5px;color:#788675;font-size:13px}.member-row .admin-actions{margin-top:0}html[data-theme="dark"] :is(.member-identity small,.member-enrollments small){color:#b0c1b1}
.member-detail-header{display:flex;align-items:center;gap:18px;padding:24px;background:var(--light);border-radius:16px;margin:15px 0 22px}.member-detail-header h1{font-size:28px;margin:4px 0}.member-detail-header p{margin:0;font-size:14px}.member-detail-header>button{margin-left:auto;font-size:14px}.member-detail-header .avatar{width:55px;height:55px;font-size:22px;flex-shrink:0}.member-info-section{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr);gap:26px;margin-top:20px}.member-info-section>h2{font-size:21px;margin-top:15px}.member-info-section .card{margin:0}.member-info-section label{display:block;font-size:15px;margin-bottom:16px}.member-info-section label:last-child{margin-bottom:0}.member-info-section input,.member-info-section textarea{display:block;width:100%;padding:12px;margin-top:8px;background:var(--bg);color:var(--text);font:inherit;border:1px solid #91a68f;border-radius:8px}.member-info-section textarea{resize:vertical}.member-detail-save{display:flex;justify-content:flex-end;margin-top:24px}#member-detail-error{color:#b64034}@media(max-width:760px){.member-info-section{grid-template-columns:1fr;gap:8px}.member-info-section>h2{margin-bottom:0}.member-detail-header{flex-wrap:wrap}.member-detail-header>button{margin-left:0}}
.member-presence-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.member-presence-toolbar label{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500}.member-presence-toolbar select{margin:0;min-width:120px;font-size:15px}.member-presence-avatar{position:relative;overflow:visible}.presence-dot{position:absolute;right:-3px;bottom:-2px;width:14px;height:14px;border:2px solid white;border-radius:50%;background:#e35346}.presence-dot.online{background:#3baf32}html[data-theme="dark"] .presence-dot{border-color:#1c2822}@media(max-width:600px){.member-presence-toolbar{align-items:flex-start;flex-direction:column}}
.access-filters{display:flex;justify-content:flex-end;gap:22px;margin:24px 0}.access-filters label{display:flex;align-items:center;gap:10px;font-size:15px}.access-filters select{margin:0;font-size:15px}.access-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.access-table{border-collapse:collapse;width:100%;min-width:600px;text-align:left}.access-table th{background:var(--light);padding:18px;font-size:16px}.access-table td{padding:22px 18px;border-top:1px solid var(--border);font-size:15px;vertical-align:middle}.access-table td :is(small,span){display:block;line-height:1.7}.access-table small{font-size:13px;color:#7b8978}.access-table tr:nth-child(even){background:var(--bg)}#access-count{font-size:13px;color:#7b8978}html[data-theme="dark"] :is(.access-table small,#access-count){color:#b0c1b1}@media(max-width:600px){.access-filters{justify-content:flex-start;flex-wrap:wrap}}
.member-progress-row{padding:18px 0;border-bottom:1px solid var(--border)}.member-progress-row:first-child{padding-top:0}.member-progress-row h3{font-size:18px;line-height:1.4}.member-progress-row .section-title{margin-bottom:12px}.member-progress-row .section-title>span{font-size:14px;color:var(--brand)}.member-progress-bar{display:flex;align-items:center;gap:14px}.member-progress-bar progress{height:10px;flex:1;min-width:0}.member-progress-bar strong{font-size:14px;white-space:nowrap}.member-progress-row>small{display:block;font-size:13px;color:#788675;margin-top:6px}.progress-courses{margin:14px 0 24px}.progress-courses summary{cursor:pointer;font-size:14px;color:var(--brand);padding:8px 0}.progress-courses .member-progress-row{padding:14px 16px;background:var(--bg);border-radius:8px;margin-top:10px}.progress-courses h3{font-size:16px}html[data-theme="dark"] .member-progress-row>small{color:#b0c1b1}
.automation-form label{display:block;font-size:15px;margin:16px 0;font-weight:600}.automation-form input:not([type="checkbox"]),.automation-form select,.automation-form textarea,#auto-log-search{display:block;width:100%;font:inherit;font-size:16px;color:var(--text);background:#fff;border:1px solid #91a68f;border-radius:8px;padding:12px;margin-top:8px}.automation-form textarea{resize:vertical;line-height:1.6}.auto-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.automation-form fieldset{border:1px solid var(--border);border-radius:12px;margin:22px 0;padding:18px}.automation-form fieldset[hidden]{display:none}.automation-form legend{font-size:18px;font-weight:650}.automation-form .class-check{display:flex;font-size:15px}.automation-form input[type="checkbox"]{width:20px;height:20px;accent-color:var(--brand)}.automation-form textarea[name="html"]{font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;background:#17221b;color:#d8ebdb}.automation-variables{display:flex;flex-wrap:wrap;gap:10px;padding:16px 0}.automation-variables code{background:var(--light);color:var(--brand);border-radius:6px;padding:6px 9px;font-size:13px}.automation-form details summary{cursor:pointer;min-height:44px;padding:10px 0}.automation-preview{width:min(800px,95vw);max-width:800px}.automation-preview iframe{width:100%;height:450px;border:1px solid var(--border);border-radius:10px;background:white}.automation-preview>button{margin-top:18px}#auto-error{color:#b64034}html[data-theme="dark"] .automation-form :is(input:not([type="checkbox"]),select,textarea),html[data-theme="dark"] #auto-log-search{background:#142019;color:#e3eee0;border-color:#789477}@media(max-width:760px){.auto-grid{grid-template-columns:1fr}.automation-form fieldset{padding:14px}}
.notification-bell{position:relative}.notification-bell>span:not(:empty){position:absolute;top:-3px;right:-3px;border-radius:12px;background:#b64034;color:white;font-size:11px;padding:1px 5px;min-width:16px}.notification-item.unread{border-left:4px solid var(--brand)}.notification-item h2{font-size:20px}.automation-form label[hidden]{display:none}
.broadcast-modal{width:min(850px,calc(100% - 32px));max-width:850px;max-height:90vh;overflow:auto;padding:30px}.broadcast-modal h2{font-size:27px;line-height:1.3}.broadcast-text{font-size:17px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.broadcast-media:empty{display:none}.broadcast-media{aspect-ratio:16/9;background:#10241b;border-radius:12px;overflow:hidden;margin:20px 0}.broadcast-media :is(video,iframe){display:block;width:100%;height:100%;border:0}.broadcast-action{display:inline-block;background:var(--brand);color:var(--bg);padding:12px 20px;border-radius:10px;font-size:16px;text-decoration:none;font-weight:650}.broadcast-modal::backdrop{background:#061b13aa;backdrop-filter:blur(3px)}@media(max-width:600px){.broadcast-modal{padding:22px}.broadcast-modal h2{font-size:23px}}

/* Convites */
.invitation-page .sidebar,.invitation-page .topbar,.invitation-page .foot{display:none}.invitation-page .workspace{margin:0;width:100%;max-width:none;padding:0}.invitation-page #app{padding:0}.invitation-landing{min-height:100vh;display:grid;place-items:center;background-size:cover;background-position:center;padding:32px 20px}.invitation-landing>.card{width:min(100%,580px);box-sizing:border-box;padding:32px}.invitation-description{white-space:pre-wrap;overflow-wrap:anywhere}.invitation-image{width:100%;max-height:240px;object-fit:cover;border-radius:12px}.invitation-image[hidden]{display:none}.invitation-classes{display:grid;gap:10px;max-height:300px;overflow:auto;border:1px solid var(--line);padding:16px;border-radius:12px}.invitation-page h1{overflow-wrap:anywhere}

.comments-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-bottom:20px}.comment-center-row{display:flex;gap:16px;border-top:1px solid var(--line);padding:24px 0}.comment-center-content{flex:1;min-width:0}.comment-center-content .section-title{gap:16px;flex-wrap:wrap}.comment-center-content .support-message{overflow-wrap:anywhere}.comments-bulk{padding:12px 0;flex-wrap:wrap}.comment-center-row .avatar{flex-shrink:0}.comments-filters label{min-width:0}@media(max-width:700px){.comments-filters{grid-template-columns:1fr}.comment-center-row{gap:8px}.comment-center-row>.avatar{display:none}.comment-center-content .admin-actions{flex-wrap:wrap}}
.lesson-autoplay{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:14px;font-weight:500}.lesson-autoplay input{width:18px;height:18px;margin:0;accent-color:var(--brand)}

/* Loaded lesson players fill the video area without the placeholder frame. */
.lesson-video:has(>iframe,>video){padding:0;background:#000;border:0;border-radius:0;aspect-ratio:16/9;min-height:0;display:block;box-shadow:none}
.lesson-video:has(>iframe,>video)>:is(iframe,video){display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;margin:0;border:0;border-radius:0}

/* Student materials: readable download targets with consistent spacing. */
#lesson-materials{min-width:0}
#lesson-materials h2{margin:0 0 18px;font-size:22px;line-height:1.3}
#lesson-material-links{display:grid;gap:12px;min-width:0}
#lesson-material-links>.material-download{box-sizing:border-box;display:block;width:100%;max-width:100%;margin:0;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--light);color:var(--brand);font-size:14px;font-weight:600;line-height:1.6;text-align:left;white-space:normal;overflow-wrap:anywhere;text-decoration:none;transition:filter .15s}
#lesson-material-links>.material-download:hover{filter:brightness(.97)}
#lesson-material-links>.material-download:focus-visible{outline:3px solid #9cb54a;outline-offset:3px}
@media(max-width:600px){#lesson-materials{padding:20px}#lesson-materials h2{font-size:20px}#lesson-material-links>.material-download{padding:14px 16px;font-size:14px}}
.lesson-above-video{font-size:clamp(24px,2.5vw,34px);font-weight:700;line-height:1.3;letter-spacing:-.6px;margin:0 0 22px;overflow-wrap:anywhere}
.lesson-module-caption{margin:0 0 5px;color:var(--brand);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.2px;overflow-wrap:anywhere}

/* Compact spacing in the student classroom. */
body:not(.admin-area) .workspace{padding-top:20px}
body:not(.admin-area) .topbar{padding-bottom:20px}
body:not(.admin-area) .page-title{margin-bottom:18px}
.lesson-toolbar{margin-bottom:14px;gap:12px}
.lesson-module-caption{margin-bottom:4px}
.lesson-above-video{font-size:clamp(23px,2.3vw,30px);line-height:1.25;margin-bottom:16px}
.lesson-actions{gap:8px;padding:12px 0}
.lesson-actions button{padding:9px 13px;min-height:40px;font-size:13px}
.lesson-autoplay{margin:10px 0;font-size:13px;line-height:1.45}
.lesson-heading{padding:14px 0 18px}
.teacher-line{gap:10px;line-height:1.4}
.teacher-line .avatar{width:34px;height:34px}
.teacher-line strong{font-size:15px}
.teacher-line small{font-size:12px;margin-top:2px}
.lesson-heading>p:last-child{font-size:14px;line-height:1.65;margin:12px 0 0}
.lesson-heading>p:empty{display:none}
.classroom .card{margin-bottom:14px;padding:20px}
.classroom-panel h2{font-size:18px;margin-bottom:12px}
.classroom-panel .card{padding:18px}
.classroom textarea{margin:8px 0;line-height:1.5;padding:10px 12px}
.classroom .section-title{margin-bottom:12px}
.classroom .lesson-navigation{margin:12px 0;gap:10px}
.lesson-navigation button{padding:10px 8px;font-size:13px}
.course-outline details{padding:8px 0}
.course-outline summary{padding:5px 0;font-size:14px;line-height:1.5}
.course-outline .next-lesson{padding:10px 0;gap:10px;line-height:1.45}
.course-outline .next-lesson small{margin-top:3px;font-size:11px}
.course-outline .muted{font-size:12px;margin:8px 0 12px}
.classroom #lesson-materials h2{font-size:20px;margin-bottom:14px}
.classroom #lesson-material-links{gap:10px}
.classroom #lesson-material-links>.material-download{padding:12px 14px;line-height:1.5;font-size:13px;border-radius:10px}
.lesson-written-content>p{line-height:1.65;margin:0 0 12px}
.lesson-written-content>p:last-child{margin-bottom:0}
.lesson-comments>p.muted{margin:8px 0 14px}
.lesson-comments .comment-tabs{margin-top:14px}
@media(max-width:760px){.classroom{gap:14px}.lesson-toolbar{gap:10px;margin-bottom:12px}.lesson-toolbar .text-button{font-size:13px;line-height:1.5}.lesson-toolbar>button:last-child{font-size:12px;padding:8px 10px}.lesson-above-video{font-size:23px;margin-bottom:14px}.classroom .card{padding:16px}.lesson-actions{gap:7px}.lesson-actions button{min-height:42px}.lesson-heading{padding:12px 0 16px}}
.student-lesson-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 0;font-size:13px}.student-lesson-tags>span{color:#738078}.student-lesson-tags>button{padding:5px 12px;border-radius:20px;background:var(--light);color:var(--brand);font-size:13px;line-height:1.5;border:1px solid var(--border)}.student-lesson-tags>button:hover{text-decoration:underline}.related-tag-dialog{width:min(760px,94vw);max-width:760px;max-height:85dvh;overflow:auto;background:var(--bg);color:var(--text)}.related-tag-dialog h2{margin:4px 0}.related-tag-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--border)}.related-tag-row>div{min-width:0}.related-tag-row h3{font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}.related-tag-row p{margin:6px 0 0}.related-tag-row>button{flex-shrink:0;font-size:13px}@media(max-width:600px){.related-tag-row{flex-wrap:wrap}.related-tag-dialog{padding:20px}}

/* Course lesson rows */
.module-detail .lesson-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:16px 12px;border-top:1px solid var(--border);background:transparent;border-radius:0;font-size:14px;line-height:1.45;text-align:left}
.module-detail .lesson-row:hover{background:var(--light)}
.module-detail .lesson-row:last-child{margin-bottom:10px;border-radius:0 0 10px 10px}
.module-detail .lesson-row .lesson-play{width:36px;height:36px;border-radius:10px;font-size:18px;line-height:1;flex-shrink:0}
.module-detail .lesson-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere;font-weight:600}
.module-detail .lesson-row small{margin-top:4px;font-size:12px;line-height:1.5;font-weight:400}
.module-detail .lesson-row .lesson-status{margin:0;padding:5px 9px;border-radius:7px;background:var(--light);font-size:11px;line-height:1.4;white-space:nowrap;justify-self:end}
@media(max-width:600px){.module-detail .lesson-row{grid-template-columns:32px minmax(0,1fr);gap:8px 12px;padding:14px 8px}.module-detail .lesson-row .lesson-play{width:32px;height:32px}.module-detail .lesson-row .lesson-status{grid-column:2;justify-self:start;font-size:11px}.module-detail .lesson-row small{font-size:12px}}

/* Integrated question bank */
.question-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.question-stats article{background:white;border:1px solid var(--border);border-radius:14px;padding:16px 20px}.question-stats strong{display:block;font-size:26px;line-height:1.3}.question-stats span{font-size:12px;color:#738078}.question-bank-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.question-bank-filters label{display:flex;flex-direction:column;gap:8px;min-width:0}.question-bank-filters :is(input,select){width:100%;min-width:0;min-height:44px;margin:0;background:var(--bg);font:inherit}.bank-question .question-prompt{font-size:16px;line-height:1.65;white-space:pre-line;margin:20px 0;overflow-wrap:anywhere}.bank-question .option{align-items:flex-start;font-size:14px;line-height:1.6;padding:14px;cursor:pointer}.bank-question .option input{flex-shrink:0;margin:4px 0 0;accent-color:var(--brand)}.bank-question .option span{white-space:pre-wrap;overflow-wrap:anywhere}.bank-question .question-right{border-color:#54905c;background:#edf6ec}.question-feedback{padding:16px;border-radius:10px;background:#edf6ec;border:1px solid #aac7a9}.question-feedback.incorrect{background:#fff5e9;border-color:#e8cfad}.question-feedback p{margin:8px 0 0;line-height:1.6}.question-notebook{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid var(--border)}.question-notebook h3,.question-notebook p{margin:0}.question-notebook-choice{display:block;width:100%;margin:12px 0;text-align:left}.question-error{color:#b64034}.question-pagination{margin:20px 0}.class-tabs button.active{background:var(--light);color:var(--brand);border-bottom-color:var(--brand)}html[data-theme=dark] .question-stats article{background:#1c2822}html[data-theme=dark] .question-bank-filters :is(input,select){background:#142019;color:#e3eee0}html[data-theme=dark] .bank-question .question-right,html[data-theme=dark] .question-feedback{background:#243c2d;color:#d8eddb}html[data-theme=dark] .question-feedback.incorrect{background:#463424;color:#f5e5ce}@media(max-width:760px){.question-bank-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.question-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.question-notebook{flex-wrap:wrap}}@media(max-width:480px){.question-bank-filters{grid-template-columns:1fr}}

.question-entry{display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(120deg,#fff,#edf5ec);border-color:#c6d8c8}.question-entry-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:16px;background:var(--light);color:var(--brand);font-size:28px;font-weight:700}.question-entry-description{flex:1;min-width:0}.question-entry-description h2{font-size:21px;line-height:1.4;margin:0 0 7px}.question-entry-description p{font-size:14px;line-height:1.65;margin:0 0 10px}.question-entry-controls{flex:0 1 340px;min-width:240px}.question-entry-controls>button{width:100%;font-size:14px;min-height:44px}.question-entry-controls>button:disabled{opacity:1;background:#e1e7df;color:#59675e;cursor:not-allowed}.question-time-label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.question-time-options{display:flex;gap:8px;margin-bottom:12px}.question-time-options>button{flex:1;min-height:42px;padding:8px;font-size:13px;border:1px solid var(--border)}.question-time-options>button[aria-pressed=true]{background:var(--brand);color:white;border-color:var(--brand)}.diagnostic-config{max-width:900px;width:min(900px,96vw)}.diagnostic-config fieldset{border:1px solid var(--border);border-radius:12px;max-height:360px;overflow:auto;padding:12px 18px}.diagnostic-config .class-check{align-items:flex-start}.diagnostic-config .class-check small{display:block;font-size:12px;line-height:1.6;margin-top:4px}.diagnostic-result article{padding:16px 0;border-top:1px solid var(--border)}@media(max-width:900px){.question-entry{flex-wrap:wrap}.question-entry-controls{flex-basis:100%;min-width:0;margin-left:74px}}@media(max-width:600px){.question-entry{padding:20px;gap:14px;align-items:flex-start}.question-entry-icon{flex-basis:40px;width:40px;height:40px;font-size:23px;border-radius:12px}.question-entry-description h2{font-size:19px}.question-entry-controls{margin-left:0}}

.question-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.question-home-link{display:flex;flex-direction:column;gap:7px;background:#fff;color:var(--text);border:1px solid var(--border);padding:20px 22px;border-radius:14px;text-align:left;line-height:1.5}.question-home-link strong{font-size:17px;color:var(--brand)}.question-home-link span{font-size:13px;font-weight:400}.question-home-link:hover{background:var(--light)}.question-performance h2{font-size:18px;line-height:1.4}.performance-legend{display:flex;align-items:center;gap:16px;font-size:13px}.performance-legend span{display:flex;gap:6px;align-items:center}.performance-legend i{display:block;width:9px;height:9px;border-radius:50%}.correct-dot{background:#2c9c5b}.wrong-dot{background:#db5757}.performance-period{display:flex;align-items:center;gap:10px;font-size:13px;justify-content:flex-end}.performance-period select{margin:0;font-size:13px;padding:7px 10px}.performance-chart{display:block;width:100%;height:auto;max-height:300px;color:var(--text);margin:12px 0}.performance-chart text{fill:currentColor;font-size:11px}.question-performance details>summary{cursor:pointer;font-size:13px;padding:8px 0}.performance-table-wrap{overflow-x:auto}.performance-table-wrap table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}.performance-table-wrap :is(th,td){padding:10px;border-bottom:1px solid var(--border)}.performance-empty{padding:35px 16px;text-align:center;color:#66776b;font-size:14px}.question-performance>.muted{margin-bottom:0;font-size:12px}@media(max-width:600px){.question-home-links{grid-template-columns:1fr}.performance-period{justify-content:flex-start}.question-performance .section-title{align-items:flex-start;flex-direction:column;gap:10px}.performance-chart{min-height:160px}}
.question-associated-context{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:18px;margin-bottom:20px;line-height:1.75;overflow-wrap:anywhere}.question-associated-context img{display:block;max-width:100%;height:auto;margin:14px 0}.question-associated-context table{max-width:100%;border-collapse:collapse}.question-associated-context .question-context-title{display:block;margin-bottom:8px;line-height:1.4}.question-context-content{white-space:normal;line-height:1.65}.question-context-plain{white-space:pre-line}.question-context-content+.question-context-content{margin-top:12px}.question-context-content p{margin:0 0 12px;white-space:normal}.question-context-content p:last-child{margin-bottom:0}.lesson-question-suggestions h2{font-size:19px}.lesson-question-suggestions ul{list-style:none;padding:0;margin:16px 0}.lesson-question-suggestions li{border-top:1px solid var(--border);padding:12px 0;line-height:1.6}.lesson-question-suggestions li strong{display:block;font-size:12px;margin-bottom:4px}.lesson-question-suggestions li span{font-size:14px}.question-import-dialog{width:min(850px,95vw);max-width:850px}.question-import-dialog>label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.question-import-dialog>.class-check{flex-direction:row}.question-import-dialog details{max-height:250px;overflow:auto}

.sidebar #admin-sidebar-navigation #questions-admin-menu:has([aria-current])>summary{background:var(--light);color:var(--brand)}

/* Navegação do curso: recuos consistentes mesmo com títulos em várias linhas. */
.course-outline .section-title{align-items:center;gap:12px;margin-bottom:14px}
.course-outline .section-title h2{font-size:19px;line-height:1.3}
.course-outline>progress{display:block;height:8px;margin:0}
.course-outline>.muted{margin:10px 0 16px;line-height:1.5}
.course-outline details{border-top:1px solid var(--border);padding:6px 0}
.course-outline details:last-child{padding-bottom:0}
.course-outline summary{display:flex;align-items:center;gap:8px;list-style:none;min-height:44px;padding:10px 0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.course-outline summary::-webkit-details-marker{display:none}
.course-outline summary::marker{content:''}
.course-outline summary::before{content:'›';display:block;flex:0 0 16px;text-align:center;font-size:20px;line-height:1;transition:transform .15s}
.course-outline details[open]>summary::before{transform:rotate(90deg)}
.course-outline .next-lesson{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;width:100%;min-height:44px;padding:12px;margin:4px 0;text-align:left;border-radius:10px;font-size:14px;line-height:1.45}
.course-outline .next-lesson>span:first-child{text-align:center;line-height:1.45}
.course-outline .next-lesson>span:last-child{min-width:0;overflow-wrap:anywhere}
.course-outline .next-lesson small{margin-top:4px;font-size:12px;line-height:1.4}
.course-outline summary:focus-visible{outline:3px solid #9cb54a;outline-offset:2px;border-radius:6px}

.lesson-actions .lesson-practice-button{max-width:100%;white-space:normal;line-height:1.4;text-align:center}

.related-content-card{border-top:1px solid var(--border);padding:14px 0}
.related-content-card .related-tag-row{border:0;padding:0}
.related-materials{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;padding-left:12px;border-left:2px solid var(--border)}
.related-materials h4{margin:0 0 2px;font-size:12px;color:var(--text)}
.related-materials :is(button,a){font-size:14px;line-height:1.5;text-align:left;padding:6px 0;color:var(--brand);overflow-wrap:anywhere;max-width:100%;text-decoration:underline;text-underline-offset:3px}
html[data-theme=dark] .related-materials :is(button,a){color:#a6d4a9}
.related-download-status:empty{display:none}

.related-materials .related-materials-toggle{display:flex;align-items:center;gap:10px;padding:6px 0;background:transparent;font-size:13px;font-weight:650;text-decoration:none;color:var(--text)}
.related-materials-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%}
.related-materials-links[hidden]{display:none}
html[data-theme=dark] .related-materials .related-materials-toggle{color:var(--text)}

.home-question-summary .section-title{gap:16px;flex-wrap:wrap;margin-bottom:18px}
.home-question-summary h2{margin:0;font-size:20px;line-height:1.3}
.home-question-summary .section-title button{font-size:14px}
.home-question-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}
.home-question-metrics>div{border-left:1px solid var(--border);padding-left:16px;min-width:0}
.home-question-metrics>div:first-child{border:0;padding-left:0}
.home-question-metrics dt{font-size:13px;color:var(--text);line-height:1.4}
.home-question-metrics dd{font-size:28px;font-weight:700;line-height:1.3;margin:6px 0 0}
.home-question-summary>.muted{font-size:12px;margin:14px 0 0;line-height:1.5}
@media(max-width:600px){.home-question-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-question-metrics>div:nth-child(3){border:0;padding-left:0}.home-question-summary .section-title{align-items:flex-start}.home-question-summary .section-title button{width:100%}}

/* Simulados do aluno */
.mock-student-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.mock-student-stats article{background:var(--light);border:1px solid var(--border);border-radius:14px;padding:18px;min-width:0}
.mock-student-stats span{display:block;font-size:12px;line-height:1.5}
.mock-student-stats strong{display:block;font-size:28px;line-height:1.3;margin-top:6px;overflow-wrap:anywhere}
.mock-student-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}
.mock-student-filters label{display:flex;flex-direction:column;gap:8px}
.mock-student-filters select{width:100%;margin:0;min-width:0}
.mock-catalog h2{font-size:20px;line-height:1.4}
.mock-student-row{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--border);border-radius:14px;padding:22px;margin-top:14px}
.mock-student-row>div:first-child{flex:1;min-width:0}
.mock-student-row h3{font-size:18px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}
.mock-student-row p{font-size:14px;line-height:1.5;margin:6px 0}
.mock-student-row small{font-size:12px;color:var(--text)}
.mock-student-row button{white-space:nowrap;font-size:14px}
.mock-student-row .admin-actions{margin:0}
.mock-answer-progress{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;background:var(--light);border-radius:12px;margin-bottom:20px;flex-wrap:wrap}
.mock-answer-progress span{font-size:12px;line-height:1.5}
.mock-answer-question h2,.mock-reviewed-question h2{font-size:17px;line-height:1.4;margin:0}
.mock-options-text p{font-size:15px;line-height:1.65;white-space:pre-line;margin:14px 0;overflow-wrap:anywhere}
.mock-answer-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.mock-answer-choices button{min-width:46px;min-height:44px;border:1px solid var(--border);background:transparent;color:var(--text)}
.mock-answer-choices button[aria-pressed=true],.mock-error-reason button[aria-pressed=true]{background:var(--brand);color:white;border-color:var(--brand)}
.mock-submit-actions{margin:20px 0}
.mock-reviewed-question.mock-result-correct{background:#f5faf6;border-color:#abd2b4}
.mock-reviewed-question.mock-result-wrong{background:#fff8f7;border-color:#e2b1aa}
.mock-reviewed-question.mock-result-blank{border-color:#d7c8a6}
.mock-explanation{background:var(--light);border-radius:10px;padding:16px;margin:16px 0;font-size:14px;line-height:1.7}
.mock-explanation p{margin:4px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.mock-error-reason{border-top:1px solid var(--border);padding-top:12px;margin-top:20px}
.mock-error-reason summary,.mock-review-context summary,.exam-selected-editor summary{font-size:14px;font-weight:600;cursor:pointer;line-height:1.6}
.mock-error-reason summary span{font-weight:400;margin-left:6px}
.mock-error-reason .admin-actions{margin:14px 0 0}
.mock-review-context{padding:12px 16px;border:1px solid var(--border);border-radius:10px;margin-bottom:18px;background:var(--bg)}
.mock-review-context .question-associated-context{border:0;margin:12px 0 0;padding:0}
.mock-reflection textarea{display:block;width:100%;margin-top:8px;min-height:100px;font:inherit;line-height:1.5;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text)}
.mock-reflection h2{font-size:20px}
.mock-selected-question{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}
.mock-selected-question span{min-width:0;overflow-wrap:anywhere}
.mock-selected-question button{flex-shrink:0;font-size:12px}
.exam-question-editor{width:min(850px,95vw);max-width:850px}
html[data-theme=dark] .mock-reviewed-question.mock-result-correct{background:#20352a;border-color:#426b4e}
html[data-theme=dark] .mock-reviewed-question.mock-result-wrong{background:#352725;border-color:#77504a}
html[data-theme=dark] .mock-answer-choices button[aria-pressed=true],html[data-theme=dark] .mock-error-reason button[aria-pressed=true]{background:#35654e;color:#f1fff4}
@media(max-width:700px){.mock-student-row{align-items:flex-start;flex-direction:column;gap:14px;padding:18px}.mock-student-row .admin-actions{width:100%}.mock-student-stats{gap:8px}.mock-student-stats article{padding:12px}.mock-student-stats strong{font-size:23px}.mock-student-filters{grid-template-columns:1fr}.mock-selected-question{align-items:flex-start;flex-direction:column}.mock-reflection .admin-actions{align-items:stretch;flex-direction:column}}

.sidebar #student-navigation .student-submenu{padding-left:38px;font-size:14px;gap:10px;margin-top:-4px;min-height:42px}
.sidebar #student-navigation .student-submenu .submenu-arrow{width:18px;height:18px;flex:0 0 18px}
@media(max-width:760px){.sidebar #student-navigation .student-submenu{padding:10px 12px;margin-top:0;font-size:11px}}

/* Correção dos simulados, seguindo o modelo do aplicativo de metas. */
.mock-reviewed-question{padding:28px;border-radius:22px;margin-bottom:20px;box-shadow:0 8px 24px #102d2805;overflow-wrap:anywhere}
.mock-reviewed-question.mock-result-correct{border-color:#a6d6b7;background:#f7fbf8}
.mock-reviewed-question.mock-result-wrong{border-color:#efa4a0;background:#fff9f8}
.mock-reviewed-question.mock-result-blank{border-color:#dbc991;background:#fffdf5}
.mock-review-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.mock-reviewed-question .mock-review-heading h2{font-size:11px;line-height:1.5;font-weight:750;letter-spacing:1.8px;text-transform:uppercase;color:var(--brand)}
.mock-result-wrong .mock-review-heading h2{color:#b7372b}
.mock-result-correct .mock-review-heading h2{color:#237648}
.mock-result-badge{padding:3px 9px;border-radius:20px;font-size:12px;line-height:1.5;font-weight:650;background:var(--light);color:var(--brand);white-space:nowrap}
.mock-result-wrong .mock-result-badge{background:#fff0ef;color:#b7372b}
.mock-result-correct .mock-result-badge{background:#edf8f0;color:#237648}
.mock-result-blank .mock-result-badge{background:#f5efd9;color:#776025}
.mock-question-subject{font-size:14px;line-height:1.5;color:#66756e;margin:0 0 20px}
.mock-question-command{font-size:16px;font-weight:700;line-height:1.6;margin:18px 0 12px}
.mock-reviewed-question .question-prompt{font-size:16px;line-height:1.7;margin:14px 0 0}
.mock-reviewed-question .mock-options-text p{font-size:16px;line-height:1.7;margin:0 0 16px}
.mock-reviewed-question .mock-options-text p:last-child{margin-bottom:0}
.mock-review-answer{font-size:15px;line-height:1.7;margin:22px 0}
.mock-reviewed-question .mock-explanation{padding:16px 18px;border-radius:12px;background:#e3f0eb;font-size:15px;line-height:1.7;margin:20px 0}
.mock-explanation span{white-space:pre-line}
.mock-result-wrong .mock-explanation{background:#fbe9e7}
.mock-result-blank .mock-explanation{background:#f5efd9}
.mock-reviewed-question .mock-error-reason{margin-top:24px;padding:0 0 10px;border-top:0;border-bottom:1px solid var(--border)}
.mock-error-reason summary{color:var(--brand);font-size:15px;font-weight:650}
.mock-error-reason summary span{margin-left:0;font-weight:600}
.mock-reviewed-question .mock-review-context{background:#f8f9f5;border-radius:12px;padding:14px 16px;margin:0 0 18px}
.mock-review-context summary{font-size:15px;color:var(--brand)}
html[data-theme=dark] .mock-reviewed-question.mock-result-correct{background:#20352a;border-color:#426b4e}
html[data-theme=dark] .mock-reviewed-question.mock-result-wrong{background:#352725;border-color:#77504a}
html[data-theme=dark] .mock-reviewed-question.mock-result-blank{background:#332f22;border-color:#6e6240}
html[data-theme=dark] .mock-question-subject{color:#b0c1b1}
html[data-theme=dark] .mock-review-heading h2,html[data-theme=dark] .mock-review-context summary,html[data-theme=dark] .mock-error-reason summary{color:#b4ddbf}
html[data-theme=dark] .mock-result-badge{background:#2a4835;color:#c5ebcf}
html[data-theme=dark] .mock-result-wrong .mock-result-badge{background:#53312f;color:#ffc8bf}
html[data-theme=dark] .mock-result-wrong .mock-explanation{background:#492f2d}
html[data-theme=dark] .mock-result-correct .mock-explanation{background:#2a4535}
html[data-theme=dark] .mock-result-blank .mock-explanation{background:#443d28}
html[data-theme=dark] .mock-reviewed-question .mock-review-context{background:var(--bg)}
@media(max-width:600px){.mock-reviewed-question{padding:20px;border-radius:18px}.mock-review-heading{align-items:flex-start}.mock-reviewed-question :is(.question-prompt,.mock-options-text p,.mock-question-command){font-size:15px}.mock-reviewed-question .mock-explanation{padding:14px;font-size:14px}.mock-question-subject{font-size:13px}}

/* Tesoura de eliminação na resolução do aluno. */
.question-option-row{display:flex;align-items:center;gap:10px;margin:10px 0}
.question-option-row>.option,.question-option-row>p{flex:1;min-width:0;margin:0}
button.option-scissors{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:8px;border:0;border-radius:50%;background:#fff0f0;color:#de2929;box-shadow:none}
button.option-scissors svg{width:22px;height:22px}
button.option-scissors:hover,button.option-scissors[aria-pressed=true]{background:#ffdede;color:#bf1919}
.option-eliminated>.option span,.option-eliminated>p{opacity:.45;text-decoration:line-through}
.option-eliminated>.option{opacity:.65}
[data-theme=dark] button.option-scissors{background:#442a2a;color:#ff9191}
[data-theme=dark] button.option-scissors:hover,[data-theme=dark] button.option-scissors[aria-pressed=true]{background:#603030;color:#ffb1b1}

.question-status-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.question-status-buttons button{border:1px solid var(--border);border-radius:999px;padding:9px 17px;font-size:14px}
.question-status-buttons button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}
html[data-theme=dark] .question-status-buttons button[aria-pressed=true]{background:#a3d8c2;border-color:#a3d8c2;color:#102d24}

.method-setup{display:flex;flex-direction:column;gap:20px;max-width:1000px;margin:0 auto}
.method-setup fieldset{border:1px solid var(--border);border-radius:12px;padding:16px;min-width:0}
.method-setup legend{padding:0 8px;font-weight:700}
.method-setup .class-check{display:flex;align-items:center;gap:10px;padding:9px 0}
.method-setup input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);flex-shrink:0}
.method-setup input[type=number]{display:block;max-width:180px;margin-top:8px}
.method-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.method-summary{margin-bottom:20px}.method-summary progress{width:100%;accent-color:var(--brand)}
.method-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.5fr);gap:22px;align-items:start}
.method-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:440px;overflow:auto;padding:4px}
.method-days button{padding:12px 4px;border:1px solid var(--border);font-size:15px}
.method-days small{display:block;font-size:10px;margin-top:5px}
.method-days [aria-pressed=true]{outline:2px solid var(--brand);outline-offset:1px}
.method-days .method-day-done{background:var(--brand);color:white}
.method-day .task{gap:16px;flex-wrap:wrap}.method-day .task small{display:block;margin-top:6px}
.method-success{color:var(--brand);font-weight:650}.method-day>p{line-height:1.6}
@media(max-width:900px){.method-layout{grid-template-columns:1fr}.method-days{grid-template-columns:repeat(7,minmax(0,1fr));max-height:200px}}
@media(max-width:550px){.method-subjects{grid-template-columns:1fr}.method-days{grid-template-columns:repeat(4,minmax(0,1fr))}}
html[data-theme=dark] .method-success{color:#a3d8c2}
/* Metas: home, calendário, diário e disciplinas do dia. */
.metas-timeline{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:24px}
.metas-timeline h2{font-size:25px;margin:6px 0}.metas-timeline p{margin:7px 0}.metas-timeline small{color:var(--muted,#748176)}
.metas-timeline ol{display:flex;list-style:none;padding:0;margin:0;flex:1;max-width:720px}
.metas-timeline li{position:relative;text-align:center;flex:1;padding:35px 4px 0;font-size:13px}
.metas-timeline li:before{content:'';position:absolute;left:0;right:0;top:12px;height:3px;background:var(--border)}
.metas-timeline li:first-child:before{left:50%}.metas-timeline li:last-child:before{right:50%}
.metas-timeline li i{position:absolute;width:20px;height:20px;border:2px solid var(--brand);border-radius:50%;background:var(--surface,#fff);top:3px;left:calc(50% - 10px);z-index:1}
.metas-timeline li.passed i,.metas-timeline li[aria-current=date] i{background:var(--brand)}
.metas-timeline time{display:block;margin-top:8px;color:var(--muted,#748176)}
.metas-student-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 28px}
.metas-student-tabs button{display:flex;align-items:center;gap:16px;text-align:left;background:var(--light);color:var(--text);padding:20px;border:2px solid transparent;border-radius:16px;box-shadow:none}
.metas-student-tabs [aria-pressed=true]{border-color:var(--brand);background:var(--surface,#fff)}
.metas-student-tabs b{background:#dff05b;color:#075f4f;padding:12px;border-radius:13px;font-size:14px}
.metas-student-tabs strong{display:block;font-size:16px}.metas-student-tabs small{display:block;font-size:12px;font-weight:400;margin-top:5px;line-height:1.4}
.metas-cycle-heading h2{font-size:26px;margin:6px 0}.metas-cycle-heading>progress{width:100%;height:7px;margin-bottom:16px;accent-color:var(--brand)}
.metas-cycle-heading .mock-student-stats{margin:18px 0 8px}.metas-cycle-heading .mock-student-stats article{background:var(--surface,#fff);border:1px solid var(--border)}
.metas-cycle-heading .mock-student-stats small{font-size:12px;color:var(--muted,#748176)}
.metas-cycle-select{display:flex;align-items:center;gap:16px;margin:10px 0 20px}.metas-cycle-select select{min-width:240px}
.metas-calendar{margin:8px 0 24px}.metas-calendar>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:0 0 12px;color:var(--brand)}
.metas-calendar>summary:after{content:'⌄';font-size:20px}.metas-calendar:not([open])>summary:after{content:'›'}.metas-calendar summary span{margin-left:auto;font-size:12px;font-weight:400}
.metas-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;margin:4px 0 15px;color:var(--muted,#748176)}
.metas-calendar-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}
.metas-calendar-grid button{min-height:43px;border:1px solid var(--border);border-radius:7px;background:var(--surface,#fff);color:var(--text);padding:7px 3px;font-size:12px;box-shadow:none}
.metas-calendar-grid small{display:block;font-size:8px;margin-top:3px;font-weight:400}.metas-calendar-grid .day-review{border-bottom:3px solid var(--brand)}
.metas-calendar-grid .day-done{background:#e5f3e9;border-color:#a3cbb1;color:#12633e}.metas-calendar-grid .day-started{background:#fff7dc;border-color:#e6c547;color:#695318}
.metas-calendar-grid [aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}
.metas-calendar-grid button:disabled{opacity:.4;cursor:not-allowed}.metas-calendar>p{font-size:12px;margin:16px 0 0}
.metas-selected-day>.card{margin-bottom:16px}.metas-selected-day h2{font-size:20px}
.metas-discipline{margin-bottom:14px;padding:20px 22px}.metas-discipline>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:13px}
.metas-discipline>summary>span{color:var(--muted,#748176);font-size:12px}.metas-expand-text{margin-left:auto;border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--brand);white-space:nowrap;font-size:11px}
.metas-discipline-body{padding:18px 0 0;border-top:1px solid var(--border);margin-top:18px;line-height:1.6}.metas-lesson-task{display:flex;align-items:center;justify-content:space-between;gap:18px}
.metas-lesson-task p{margin:8px 0 0}.metas-review-intro{border-left:4px solid var(--brand)}
.metas-chart{margin:20px 0}.metas-chart h2{font-size:20px}.metas-chart svg{width:100%;height:auto;font:12px sans-serif;fill:var(--text)}
.metas-chart-legend{display:flex;gap:20px;margin:12px 0;font-size:12px}.metas-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}
.metas-chart details{font-size:13px}.metas-minutes{display:flex;align-items:center;gap:10px;font-size:11px;margin:0 0 9px 28px}.metas-minutes input{width:70px;min-height:30px;padding:5px!important;margin:0!important}
html[data-theme=dark] .metas-timeline li i,html[data-theme=dark] .metas-student-tabs [aria-pressed=true],html[data-theme=dark] .metas-calendar-grid button,html[data-theme=dark] .metas-cycle-heading .mock-student-stats article{background:#1c2822}
html[data-theme=dark] .metas-calendar-grid [aria-pressed=true]{background:#a3d8c2;color:#102d28}
html[data-theme=dark] .metas-calendar-grid .day-done{background:#254230;color:#c4ead1}
html[data-theme=dark] .metas-calendar-grid .day-started{background:#4e4222;color:#ffecb2}
@media(max-width:1000px){.metas-timeline{align-items:flex-start;flex-direction:column;gap:20px}.metas-timeline ol{width:100%;max-width:none}.metas-student-tabs button{padding:14px;gap:10px}.metas-student-tabs small{font-size:11px}}
@media(max-width:650px){.metas-student-tabs{grid-template-columns:1fr;gap:8px}.metas-student-tabs button{padding:12px 16px}.metas-calendar-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.metas-discipline>summary{flex-wrap:wrap}.metas-discipline>summary>span{width:100%;order:2}.metas-expand-text{font-size:10px}.metas-cycle-select{flex-direction:column;align-items:stretch}.metas-lesson-task{flex-direction:column;align-items:flex-start}.metas-timeline li{font-size:10px}.metas-timeline time{font-size:11px}}

/* Student classroom: keep the whole player in view and give actions room to wrap. */
.classroom-main .lesson-video.has-player{
 --player-height: max(180px,calc(100dvh - 360px));
 width:100%;max-width:calc(var(--player-height) * 16 / 9);aspect-ratio:16/9;
 min-height:0;padding:0;margin-inline:auto;display:block;position:relative;
 background:#000;border:0;border-radius:12px;overflow:hidden;
}
.classroom-main .lesson-video.has-player :is(iframe,video){
 position:absolute;inset:0;display:block;width:100%;height:100%;
 min-height:0;max-height:none;margin:0;border:0;object-fit:contain;
}
.classroom-main .lesson-video.has-player>div{
 position:absolute;inset:0;width:100%;height:100%;padding:0!important;
}
.classroom-main .lesson-actions{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:10px;align-items:stretch;padding:16px 0;
}
.classroom-main .lesson-actions>button{
 min-width:0;width:100%;min-height:48px;padding:12px 14px;
 font-size:14px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;
}
.classroom-main .lesson-rating{justify-content:center;min-height:48px;align-self:stretch}
.classroom-main .lesson-rating .rating-button{flex:0 0 auto;min-width:48px;min-height:44px}
.classroom-panel{min-width:0}
.classroom .lesson-navigation>button{min-height:46px;white-space:normal;line-height:1.4}
@media(min-width:1001px){.classroom:not(.panel-collapsed){grid-template-columns:minmax(0,1fr) clamp(280px,22vw,340px)}}
@media(max-width:600px){
 .classroom-main .lesson-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .classroom-main .lesson-actions>button{font-size:13px;padding:12px 10px}
 .classroom-main .lesson-video.has-player{border-radius:8px}
}

.classroom-main{container-type:inline-size}
@container(min-width:1100px){.classroom-main .lesson-actions{grid-template-columns:repeat(6,minmax(0,1fr))}}
@container(max-width:560px){.classroom-main .lesson-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact navigation on phones, shared by the student and staff areas. */
.mobile-menu-toggle{display:none}
.mobile-menu-content[hidden]{display:none!important}
@media(max-width:760px){
  body .sidebar,body.admin-area .sidebar{position:relative;max-height:none;width:100%;padding:12px 16px;overflow:visible;border-bottom:1px solid var(--border)}
  .mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
  .sidebar .mobile-menu-heading .logo{margin:0;max-width:190px;min-width:0}
  .mobile-menu-heading .logo img{width:100%;height:auto}
  .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:44px;padding:10px;background:var(--light);color:var(--brand);font-size:14px}
  .mobile-menu-content{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;padding-top:12px}
  body .sidebar .mobile-menu-content nav,body.admin-area .sidebar .mobile-menu-content nav{flex-direction:column;flex-wrap:nowrap;gap:6px;margin:0;padding:0;overflow:visible}
  body .sidebar .mobile-menu-content nav button{width:100%;flex:none;min-height:48px;font-size:15px;white-space:normal;text-align:left;gap:12px;padding:12px}
  body .sidebar #student-navigation .student-submenu{padding-left:38px;font-size:14px;margin:0}
  body.admin-area .sidebar .manager-menu[open]{display:block}
}
@media(min-width:761px){.mobile-menu-heading,.mobile-menu-content{display:contents}}

/* Compact circular lesson reactions, with the count as a small badge. */
.classroom-main .lesson-actions .lesson-rating{
  width:max-content;justify-self:start;align-self:center;gap:10px;
  padding:0;border:0;background:transparent;box-shadow:none;
}
.classroom-main .lesson-actions .lesson-rating .rating-button{
  position:relative;flex:0 0 48px;width:48px;height:48px;min-width:48px;min-height:48px;
  padding:12px;border:1px solid var(--border);border-radius:50%;background:var(--bg);
}
.classroom-main .lesson-rating .rating-button svg{width:22px;height:22px;flex-shrink:0}
.classroom-main .lesson-rating .rating-button span{
  position:absolute;right:-4px;top:-4px;min-width:20px;height:20px;padding:0 4px;
  display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;
  background:var(--bg);color:var(--text);font-size:11px;line-height:1;font-weight:700;
}
.classroom-main .lesson-actions .lesson-rating .rating-button:is(.selected,:hover){background:var(--light);color:var(--brand)}
@container(min-width:561px){.classroom-main .lesson-actions{grid-template-columns:max-content repeat(2,minmax(0,1fr))}}
@container(min-width:1100px){.classroom-main .lesson-actions{grid-template-columns:max-content repeat(4,minmax(0,1fr))}}

/* Seleção de aulas do ciclo: conteúdo visível e ações por dia. */
.metas-lesson-dialog{width:min(850px,calc(100vw - 32px));max-height:90dvh;overflow:auto}.metas-lesson-picker [data-lesson-options]{max-height:320px;overflow:auto;margin:16px 0;border-block:1px solid var(--border,#dce4df)}.metas-lesson-picker .class-check{padding:12px 4px}.metas-lesson-picker small,.metas-selected-lesson small{display:block;color:var(--muted,#718078);margin-top:4px}.metas-selected-lessons{margin-top:20px;padding:16px;border-radius:12px;background:var(--surface,#f3f6f3)}.metas-selected-lesson{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border,#dce4df)}.metas-selected-lesson span{min-width:0;overflow-wrap:anywhere}.metas-selected-lesson button{flex-shrink:0}.metas-day-lessons{padding-left:20px;margin:10px 0}.metas-day-lessons li{margin:4px 0}.metas-lesson-dialog>.admin-actions{position:sticky;bottom:0;background:var(--surface,#fff);padding:16px 0;margin-top:16px}@media(max-width:600px){.metas-lesson-picker .auto-grid{grid-template-columns:1fr}.metas-day-row{flex-wrap:wrap}.metas-day-row>.admin-actions{width:100%;flex-wrap:wrap}}

[hidden]{display:none!important}.cloud-login{max-width:520px;margin:80px auto;padding:32px}.cloud-login img{width:200px;margin-bottom:24px}.cloud-login form,.cloud-login label{display:grid;gap:12px}.cloud-login form{gap:20px}.cloud-save-status{position:fixed;right:18px;bottom:12px;z-index:1000;font-size:12px;padding:8px 12px;max-width:450px;background:#e3efe8;color:#005e50;box-shadow:0 2px 8px #0001}.cloud-save-error{background:#fff1e8;color:#8a241b}.demo-settings{display:none!important}@media(max-width:600px){.cloud-login{margin:30px 18px}}
