
:root{--bg:#090a0d;--panel:#14171d;--panel2:#1b1f27;--gold:#ffc400;--text:#f4f1e8;--muted:#9da3ad;--line:#2c313b;--green:#54d98c;--red:#ff6b6b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% -10%,#3a2b0a 0,transparent 28%),var(--bg);color:var(--text);font:15px Inter,Arial,sans-serif}a{color:inherit}.wrap{width:min(1180px,92vw);margin:auto}.top{min-height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16}.brand{display:flex;gap:12px;align-items:center;font-weight:900;letter-spacing:.08em}.brand img{width:42px}.tag,.chip{font-size:12px;border:1px solid #f5c54255;color:var(--gold);padding:7px 11px;border-radius:99px}.hero{padding:40px 0 22px}.ey{color:var(--gold);font-weight:900;letter-spacing:.16em;font-size:12px}h1{font-size:clamp(36px,6vw,66px);line-height:.98;margin:10px 0;text-transform:uppercase}h2,h3{margin-top:0}.mut{color:var(--muted)}.grid{display:grid;grid-template-columns:1.5fr .75fr;gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 18px 50px #0005}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:12px 16px;background:var(--gold);color:#111;font-weight:900;text-decoration:none;cursor:pointer}.btn.dark{background:#292e38;color:#eee}.btn.ghost{background:transparent;color:var(--gold);border:1px solid #f5c54266}.btn.red{background:#472529;color:#ffb0b0}.field{display:grid;gap:7px;margin:12px 0}.field input,.field textarea,.field select{width:100%;background:#0d1015;color:#eee;border:1px solid var(--line);border-radius:11px;padding:12px;font:inherit}.lesson{padding:18px;border:1px solid var(--line);border-radius:16px;background:#10131a;margin-top:12px}.lesson b{display:block;font-size:18px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.between{display:flex;justify-content:space-between;gap:12px;align-items:center}.ok{color:var(--green)}.err{color:var(--red)}.warn{padding:12px;border-left:3px solid var(--gold);background:#f5c5420b;color:#c8c8c8;margin:14px 0}.login{width:min(500px,92vw);margin:7vh auto}.video{aspect-ratio:16/9;border-radius:16px;background:#08090c;border:1px solid var(--line);overflow:hidden}.video iframe,.video video{width:100%;height:100%;border:0}.metro{text-align:center}.bpm{font-size:58px;font-weight:900;color:var(--gold)}.beats{display:flex;justify-content:center;gap:9px;margin:16px}.beat{width:14px;height:14px;border-radius:50%;background:#414754}.beat.on{background:var(--gold);box-shadow:0 0 15px #f5c542}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}.hide{display:none!important}.empty{padding:28px;text-align:center;border:1px dashed #3b414d;border-radius:15px;color:var(--muted)}#alphaTab{background:#fff;color:#111;border-radius:14px;min-height:220px;overflow:auto}.top a{text-decoration:none}.stat{font-size:30px;font-weight:900;color:var(--gold)}@media(max-width:820px){.grid,.grid2,.cards{grid-template-columns:1fr}.tag{display:none}.between{align-items:flex-start;flex-direction:column}.table{font-size:13px}}

.gp-card{padding:0;overflow:hidden}.gp-card>.between{padding:22px 22px 8px}.gp-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:#0b0d11;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8}.gpbtn{border:1px solid #3a404b;background:#1c2129;color:#eee;border-radius:9px;padding:9px 12px;font-weight:800;cursor:pointer}.gpbtn.primary{background:var(--gold);color:#111;border-color:var(--gold);min-width:46px}.gpbtn.on{border-color:var(--gold);color:var(--gold);background:#f5c54214}.gp-toolbar label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.gp-toolbar select{background:#151922;color:#eee;border:1px solid #3a404b;border-radius:8px;padding:8px}.gp-time{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--gold);font-weight:800}.gp-progress{background:#0b0d11;padding:0 16px 12px}.gp-progress input{width:100%;accent-color:var(--gold)}.gp-card #alphaTab{border-radius:0;min-height:420px;max-height:70vh;overflow:auto}.gp-mixer{padding:18px;background:#101319;border-top:1px solid var(--line)}.track{display:grid;grid-template-columns:minmax(130px,1fr) 36px 36px minmax(100px,1.4fr) 48px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #ffffff10}.track-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini{width:34px;height:30px;border-radius:7px;border:1px solid #3b414d;background:#20252e;color:#ddd;font-weight:900;cursor:pointer}.mini.on{background:var(--gold);color:#111;border-color:var(--gold)}.vol{width:100%;accent-color:var(--gold)}.voltxt{font-size:12px;color:var(--muted);text-align:right}.chip.ready{color:var(--green);border-color:#54d98c66}@media(max-width:820px){.gp-card #alphaTab{min-height:360px;max-height:64vh}.gp-toolbar{position:relative}.gp-time{width:100%;margin-left:0}.track{grid-template-columns:minmax(100px,1fr) 34px 34px}.track .vol,.track .voltxt{grid-column:1/-1}.gp-card>.between{padding:18px}}

.password-wrap{display:flex;gap:8px;align-items:stretch}.password-wrap input{flex:1;min-width:0}.password-toggle{border:1px solid #ffffff24;background:#151515;color:#f3d26a;border-radius:10px;padding:0 14px;cursor:pointer;font-weight:700;white-space:nowrap}.password-toggle:hover{background:#202020}@media(max-width:520px){.password-wrap{flex-direction:column}.password-toggle{min-height:44px}}

.linkbtn{background:none;border:0;padding:0;color:#f7c63d;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.linkbtn:hover{opacity:.85}

/* V4.7 */
.example-row{display:grid;grid-template-columns:1fr 1.4fr 38px;gap:8px;align-items:center;margin-top:10px}.example-row input{width:100%;background:#0d1015;color:#eee;border:1px solid var(--line);border-radius:11px;padding:12px;font:inherit}.example-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.example-video h3{font-size:15px;margin:0 0 8px}.sheet-stage{background:#d9d9d9;padding:28px 16px;overflow:auto;max-height:78vh}.gp-card #alphaTab{width:min(920px,100%);margin:0 auto;background:#fff;box-shadow:0 8px 30px #0005;border-radius:4px;min-height:500px;max-height:none;overflow:hidden}.gp-card #alphaTab canvas,.gp-card #alphaTab svg{max-width:100%}.gp-toolbar{position:relative}.gp-toolbar label select{min-width:76px}@media(max-width:820px){.example-row{grid-template-columns:1fr}.example-row .ex-remove{width:100%}.example-video-grid{grid-template-columns:1fr}.sheet-stage{padding:12px 4px;max-height:72vh}.gp-card #alphaTab{width:100%}}

/* V4.8 alphaTab playback cursor/highlight */
.at-cursor-bar { background: rgba(255,193,7,.18) !important; }
.at-cursor-beat { background: rgba(255,193,7,.78) !important; width: 3px !important; }
.at-highlight * { fill: #d89b00 !important; stroke: #d89b00 !important; }
#alphaTab { position: relative; }

/* V4.9 — leitura confortável e acompanhamento de execução */
.sheet-stage{background:#cfd1d4;padding:36px 18px;overflow:visible;max-height:none!important}
.gp-card #alphaTab{width:min(1120px,calc(100% - 12px));margin:0 auto;background:#fff;box-shadow:0 10px 38px #0006;border-radius:6px;min-height:620px;max-height:none!important;overflow:visible!important}
.gp-card #alphaTab canvas,.gp-card #alphaTab svg{max-width:none!important}
.at-cursor-bar{background:rgba(255,193,7,.16)!important;border-radius:3px}
.at-cursor-beat{background:#e0a800!important;width:4px!important;box-shadow:0 0 0 2px rgba(255,255,255,.85),0 0 8px rgba(224,168,0,.75)}
.at-highlight *{fill:#c47f00!important;stroke:#c47f00!important}
#gpAutoScroll.on{border-color:var(--gold);color:var(--gold)}
@media(max-width:820px){.sheet-stage{padding:16px 2px}.gp-card #alphaTab{width:100%;min-height:480px;border-radius:0}.gp-toolbar{gap:6px}.gpbtn{padding:8px 9px}}

/* V4.10: Guitar Player em viewport independente e redimensionavel */
.sheet-stage{
  position:relative;
  height:68vh;
  min-height:420px;
  max-height:86vh!important;
  overflow-y:auto!important;
  overflow-x:auto!important;
  resize:vertical;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  background:#cfd1d4;
  padding:30px 18px 70px;
  border:1px solid #343840;
  border-radius:12px;
  scrollbar-gutter:stable;
}
.sheet-stage:focus-within{outline:1px solid rgba(255,193,7,.35)}
.gp-card #alphaTab{max-height:none!important;overflow:visible!important;width:min(920px,100%);margin:0 auto;background:#fff}
.gp-card{overflow:visible}
@media(max-width:820px){
 .sheet-stage{height:62vh;min-height:360px;max-height:82vh!important;padding:12px 4px 56px;resize:vertical}
}

/* V4.11 — auto-scroll manual dentro da janela do Guitar Player */
.sheet-stage{scroll-behavior:auto!important}
#gpAutoScroll.on{box-shadow:inset 0 0 0 1px rgba(245,197,66,.18)}


/* V4.12 — andamento do Guitar Player em BPM */
.gp-bpm-control{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:3px 5px;border:1px solid #343a45;border-radius:10px;background:#11151c}.gp-bpm-title{color:var(--muted);font-size:12px;font-weight:800;margin-right:2px}.gp-bpm-input{display:flex!important;align-items:center!important;gap:5px!important;color:var(--gold)!important}.gp-bpm-input input{width:72px;background:#151922;color:#fff;border:1px solid #4a5260;border-radius:8px;padding:8px 7px;font:inherit;font-weight:900;text-align:center;appearance:textfield;-moz-appearance:textfield}.gp-bpm-input input::-webkit-inner-spin-button,.gp-bpm-input input::-webkit-outer-spin-button{opacity:.75}.gp-bpm-input input:focus{outline:2px solid rgba(245,197,66,.25);border-color:var(--gold)}.gp-bpm-input input:disabled{opacity:.5}.gp-bpm-input strong{font-size:11px;color:var(--gold);letter-spacing:.06em}.gp-bpm-step{padding:8px 9px;min-width:38px}.gp-bpm-reset{padding:8px 10px}.gp-bpm-original{color:#8f98a6;font-size:11px;white-space:nowrap;padding:0 4px}@media(max-width:820px){.gp-bpm-control{width:100%;justify-content:flex-start}.gp-bpm-original{margin-left:auto}.gp-bpm-input input{width:68px}}


/* V4.13 — player do YouTube flutuante */
.yt-help{margin:-4px 0 14px;font-size:13px}.yt-help b{color:var(--gold)}
.yt-module{position:relative;width:100%;border-radius:16px;background:#0a0c10;border:1px solid #303641;overflow:hidden;isolation:isolate}
.yt-module .video{border:0;border-radius:0}
.yt-floatbar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px 7px 12px;background:linear-gradient(180deg,#151a22,#0e1117);border-bottom:1px solid #2b313b}
.yt-float-handle{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:#d8dde6;font-size:12px;font-weight:850;letter-spacing:.02em;user-select:none}
.yt-float-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yt-live-dot{width:7px;height:7px;border-radius:50%;background:#f5c542;box-shadow:0 0 10px rgba(245,197,66,.45);flex:0 0 auto}
.yt-float-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.yt-float-control{border:1px solid #424a57;background:#222832;color:#f3f5f8;border-radius:8px;padding:7px 10px;font:inherit;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.yt-float-control:hover{border-color:var(--gold);color:var(--gold)}
.yt-float-placeholder{width:100%;border:1px dashed rgba(245,197,66,.22);border-radius:16px;background:rgba(245,197,66,.025)}
.yt-module.is-floating{position:fixed;right:18px;bottom:18px;width:min(440px,calc(100vw - 36px));z-index:9999;border-color:#5b5131;box-shadow:0 24px 70px rgba(0,0,0,.68),0 0 0 1px rgba(245,197,66,.10);border-radius:14px;transform:translateZ(0)}
.yt-module.is-floating .yt-floatbar{cursor:default;background:linear-gradient(180deg,#1d222b,#11151b)}
.yt-module.is-floating .yt-float-handle{cursor:grab}.yt-module.is-floating.is-dragging .yt-float-handle{cursor:grabbing}
.yt-module.is-floating.is-minimized{width:min(330px,calc(100vw - 36px))}
.yt-module.is-floating.is-minimized .yt-video{display:none}
.yt-module.is-floating.is-minimized .yt-floatbar{border-bottom:0}
body.has-floating-youtube .gp-toolbar{z-index:8}
@media(max-width:700px){
 .yt-module.is-floating{left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;width:auto!important;max-width:none;border-radius:12px}
 .yt-module.is-floating .yt-float-handle{cursor:default}
 .yt-float-title{max-width:46vw}
 .yt-float-control{padding:7px 8px}
 .yt-module.is-floating.is-minimized{left:auto!important;width:min(310px,calc(100vw - 16px))!important}
}

/* V4.14 — central do professor, fichas de alunos, agenda e mensagens */
.compact-hero{padding-bottom:18px}.cards.four{grid-template-columns:repeat(4,1fr)}.small-stat{font-size:18px;line-height:1.25;margin-top:8px}.teacher-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:18px}.teacher-main,.teacher-side{min-width:0}.divider{height:1px;background:var(--line);margin:20px 0}.subpanel{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#0d1015}.compact-input{width:min(260px,100%);background:#0d1015;color:#eee;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:16px}.calendar-head{text-align:center;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;padding:5px}.calendar-day{min-height:105px;border:1px solid var(--line);border-radius:13px;background:#0d1015;padding:8px;overflow:hidden}.calendar-day.today{border-color:#f5c54288;box-shadow:inset 0 0 0 1px #f5c54233}.muted-day{opacity:.25}.day-num{font-size:12px;font-weight:900;color:#d7dbe2;margin-bottom:6px}.today .day-num{color:var(--gold)}.cal-event{display:block;text-decoration:none;background:#f5c54216;border-left:2px solid var(--gold);border-radius:6px;padding:5px 6px;margin:4px 0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event:hover{background:#f5c54226}.tiny{font-size:10px}.stack-list{display:grid;gap:9px;margin-top:12px}.list-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:#0e1117;text-decoration:none}.list-row:hover:not(.static){border-color:#f5c54266}.list-row>div:first-child{min-width:0;display:grid;gap:4px}.list-row b{font-size:14px}.list-row .mut{font-size:12px}.list-meta{font-size:12px;color:var(--gold);font-weight:800;white-space:nowrap}.right-meta{display:grid;justify-items:end;gap:5px}.unread{border-color:#f5c54255;background:#f5c54209}.unread-dot{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:99px;background:var(--gold);color:#111;font-size:11px;font-weight:900}.clamp1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.small-empty{padding:16px}.student-grid{display:grid;gap:12px;margin-top:14px}.student-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#0f1218}.student-card:hover{border-color:#f5c54255}.avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#f5c54217;border:1px solid #f5c54255;color:var(--gold);font-weight:900}.student-card h3{margin:0 0 6px}.student-stats{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:18px}.tab{border:0;background:transparent;color:var(--muted);padding:13px 15px;font:inherit;font-weight:900;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--gold);border-color:var(--gold)}.tab-panel{display:none}.tab-panel.active{display:block}.student-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.6fr);gap:18px}.lesson-rich{padding:16px}.lesson-rich h3{margin:8px 0 6px;font-size:20px}.lesson-rich p{margin:0}.lesson-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #ffffff10}.lesson-meta span{font-size:11px;color:#bcc3ce;background:#ffffff07;border:1px solid #ffffff0c;border-radius:99px;padding:6px 8px}.lesson-actions{justify-content:flex-end}
.chat-window{height:min(56vh,620px);min-height:360px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#0a0c10;padding:18px;display:flex;flex-direction:column;gap:11px;margin:15px 0;overscroll-behavior:contain}.chat-bubble{max-width:min(75%,680px);padding:12px 14px;border-radius:15px;line-height:1.45;box-shadow:0 8px 22px #0002}.chat-bubble time{display:block;margin-top:6px;font-size:10px;opacity:.7}.chat-who{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.teacher-msg,.student-own-msg{align-self:flex-end;background:#f5c542;color:#111;border-bottom-right-radius:5px}.student-msg,.teacher-reply{align-self:flex-start;background:#20252e;color:#f5f7fa;border:1px solid #343b47;border-bottom-left-radius:5px}.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.chat-compose textarea{width:100%;background:#0d1015;color:#eee;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;resize:vertical}.dim{opacity:.55}.wide-mini{width:34px}.red-mini{color:#ff9b9b}
.modal-backdrop{position:fixed;inset:0;background:#000b;z-index:12000;display:grid;place-items:center;padding:24px;overflow:auto}.modal-card{width:min(900px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(145deg,#1b1f27,#11151b);border:1px solid #3a414d;border-radius:22px;padding:22px;box-shadow:0 35px 110px #000}.modal-close{width:38px;height:38px;border-radius:50%;border:1px solid #3a414d;background:#222832;color:#eee;font-size:22px;cursor:pointer}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.modal-open{overflow:hidden}
@media(max-width:1000px){.cards.four{grid-template-columns:repeat(2,1fr)}.teacher-layout,.student-detail-grid{grid-template-columns:1fr}.teacher-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}.teacher-side .card{margin-top:0!important}}
@media(max-width:720px){.cards.four{grid-template-columns:1fr 1fr}.teacher-side{grid-template-columns:1fr}.calendar{gap:3px}.calendar-day{min-height:72px;padding:5px;border-radius:9px}.calendar-head{font-size:9px;padding:2px}.cal-event{font-size:0;padding:4px;height:8px;border-radius:99px;border-left:0;background:var(--gold)}.day-num{font-size:10px}.student-card{grid-template-columns:44px 1fr}.student-card .btn{grid-column:1/-1}.avatar{width:44px;height:44px}.chat-compose{grid-template-columns:1fr}.chat-compose .btn{width:100%}.chat-bubble{max-width:88%}.lesson-rich .between{align-items:stretch}.lesson-actions{width:100%}.lesson-actions .btn{flex:1}.list-row{align-items:flex-start;flex-direction:column}.list-row .right-meta{justify-items:start}.clamp1{max-width:70vw}.modal-backdrop{padding:8px}.modal-card{width:100%;padding:16px}.compact-input{width:100%}}


/* V4.15 — sala de aula ao vivo / VDO.Ninja + OBS */
.live-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.live-hero-card{border-color:#f5c54255}.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.copy-field input{min-width:0;width:100%;background:#090b0f;color:#dfe4eb;border:1px solid var(--line);border-radius:10px;padding:11px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.live-routing{display:grid;gap:8px;margin:14px 0}.live-routing span,.live-device-list span{display:block;padding:10px 12px;border:1px solid #ffffff12;border-radius:11px;background:#ffffff05}.live-student-card{max-width:760px}.live-device-list{display:grid;gap:8px;margin:16px 0}.live-enter-btn{margin-top:6px}.student-card-actions{display:flex;gap:8px;align-items:center}.live-page{padding-bottom:48px}.audio-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.audio-mode{display:grid;gap:7px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#0d1015;cursor:pointer}.audio-mode.active{border-color:var(--gold);box-shadow:inset 0 0 0 1px #f5c54233}.audio-mode input{accent-color:var(--gold);justify-self:start}.audio-mode b{font-size:16px}.audio-mode span{color:var(--muted);font-size:12px;line-height:1.45}.live-call-card{margin-top:18px;padding:0;overflow:hidden}.live-call-head{padding:18px 20px;border-bottom:1px solid var(--line);background:#0d1015}.live-call-head h2{margin:4px 0 0}.vdo-frame-wrap{height:min(72vh,820px);min-height:520px;background:#050608}.vdo-frame-wrap iframe{width:100%;height:100%;border:0;background:#050608}.chip.ready{color:var(--green);border-color:#54d98c66}@media(max-width:1000px){.live-class-grid{grid-template-columns:1fr}.student-card-actions{grid-column:1/-1;justify-content:stretch}.student-card-actions .btn{flex:1}}@media(max-width:720px){.audio-mode-grid{grid-template-columns:1fr}.copy-field{grid-template-columns:1fr}.vdo-frame-wrap{height:68vh;min-height:420px}.live-call-head{align-items:stretch!important}.live-call-head .row{width:100%}.live-call-head .btn{flex:1}.student-card-actions{flex-direction:column}.student-card-actions .btn{width:100%}}

/* V4.16 — downloads de materiais */
.lesson-downloads{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid #ffffff10}
.file-download-btn{padding:9px 12px;font-size:12px}
#downloadsCard .lesson-downloads{border-top:0;padding-top:0}
@media(max-width:620px){.lesson-downloads{display:grid;grid-template-columns:1fr}.file-download-btn{width:100%}}


/* V4.17 — identidade JF + anotações do professor */
.brand-logo{gap:10px}
.brand-logo img{width:46px;height:46px;object-fit:contain;border-radius:10px;background:#000;box-shadow:0 0 0 1px #ffffff18}
.brand-logo span{white-space:nowrap}
.login-logo{display:block;width:112px;height:112px;object-fit:contain;margin:0 auto 18px;border-radius:18px;background:#000;box-shadow:0 15px 40px #0008,0 0 0 1px #ffffff18}
.teacher-explanation-card{border-color:#f5c54255;background:linear-gradient(145deg,#211d12,#15171c)}
.teacher-note-text{white-space:pre-wrap;line-height:1.65;color:#ece8dd;background:#090b0f;border:1px solid #f5c54222;border-left:4px solid var(--gold);border-radius:12px;padding:15px;margin-top:12px;min-height:68px}
.teacher-note-preview{white-space:pre-wrap;line-height:1.5;color:#d6d1c4;background:#f5c5420a;border:1px solid #f5c54222;border-radius:12px;padding:11px 13px;margin-top:12px;font-size:13px}
.teacher-note-preview b{display:block;color:var(--gold);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.teacher-notes-quick textarea,#teacherNotesInput{width:100%;background:#090b0f;color:#eee;border:1px solid #3a414d;border-radius:12px;padding:13px;font:inherit;line-height:1.55;resize:vertical}
.teacher-notes-quick select{width:100%;background:#0d1015;color:#eee;border:1px solid var(--line);border-radius:11px;padding:12px;font:inherit}
.teacher-notes-help{font-size:12px;line-height:1.5}
#teacherNotesEditor{margin-top:12px}
#teacherNotesEditor .row{margin-top:10px}
@media(max-width:620px){
  .brand-logo span{display:none}
  .brand-logo img{width:42px;height:42px}
  .login-logo{width:92px;height:92px}
}
/* V4.18 — progresso, livro, app */
.pl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 14px}.pl-stats div{background:#0f1116;border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center}.pl-stats b{display:block;font-size:28px;color:var(--gold);line-height:1.1}.pl-stats span{font-size:12px;color:var(--muted)}
.pl-chart svg{width:100%;height:auto;display:block;background:#0f1116;border:1px solid var(--line);border-radius:14px;margin-bottom:12px}
.pl-bar{height:8px;border-radius:99px;background:#2c313b;margin:14px 0 6px;overflow:hidden}.pl-bar div{height:100%;background:linear-gradient(90deg,#b8902c,var(--gold));border-radius:99px}
.book-examples{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0;font-size:14px}.book-examples b{margin-right:4px}.book-chip{text-decoration:none}.book-chip:hover{background:#f5c54222}
.field input[type=number]{max-width:100%}
.instalar-app{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9000;display:flex;gap:10px;align-items:center;background:#1b1f27;border:1px solid var(--gold);border-radius:14px;padding:10px 12px 10px 16px;box-shadow:0 10px 30px #0008;font-size:14px;max-width:92vw}.instalar-app button{font-size:13px;padding:8px 12px}
@media(max-width:720px){.pl-stats b{font-size:22px}}
