
:root{
 --bg:#111827;--surface:#1b2637;--surface2:#243146;--line:#33425a;
 --text:#f7f8fb;--muted:#9aa8bb;--brand:#ef8829;--ok:#36d37e;
 --warn:#f4b740;--danger:#ef7180;--blue:#61a9ff;
}
*{box-sizing:border-box}
html,body{margin:0;background:#08111c;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app{max-width:440px;margin:0 auto;min-height:100vh;background:var(--bg)}
.login-gate{
 position:fixed;inset:0;z-index:1200;background:linear-gradient(180deg,#111827 0%,#08111c 100%);
 display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto
}
.login-gate.hidden{display:none}
.login-card{width:100%;max-width:420px}
.login-brand{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:28px}
.login-brand .login-bike{width:58px;height:58px;border-radius:17px;background:#050608;border:1px solid #253044;display:grid;place-items:center}
.login-brand .login-bike svg{width:42px;height:42px;fill:none;stroke:var(--brand);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.login-brand .login-name strong{display:block;font-size:28px;letter-spacing:.04em}
.login-brand .login-name span{display:block;color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.24em;margin-top:6px}
.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px}
.login-panel h1{margin:0 0 6px;font-size:27px}
.login-panel .login-sub{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.45}
.login-forgot{width:100%;border:0;background:none;color:var(--blue);padding:12px 4px 2px;font-weight:800;font-size:12px}
.login-error{display:none;margin:10px 0 0;padding:10px 12px;border-radius:12px;background:rgba(239,113,128,.08);border:1px solid rgba(239,113,128,.3);color:#ffb3bc;font-size:12px}
.login-test{margin-top:14px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:10px;line-height:1.45}

#professorApp.app{max-width:none;width:100%;min-width:1180px}
#professorApp .nav{max-width:none;margin:0 auto}
#sh-profclass{max-width:none;overflow:visible}
#sh-profclass .sheet-head{position:relative;padding:10px 14px}
#sh-profclass .sheet-body{
  min-height:calc(100vh - 66px);
  overflow:visible;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:4px 12px 12px;
}
#sh-profclass .prof-class-stats{
  margin-bottom:0;
  gap:6px;
  flex:0 0 auto;
}
#sh-profclass .prof-stat-card{padding:8px 10px;border-radius:13px}
#sh-profclass .prof-stat-card b{font-size:12px;line-height:1.15}
#sh-profclass .prof-stat-card span{margin-top:3px;font-size:9px;line-height:1.2}
#sh-profclass .prof-class-view{
  grid-template-columns:minmax(0,1.42fr) minmax(300px,.82fr);
  gap:8px;
  flex:1 1 auto;
  min-height:0;
  align-items:start;
}
#sh-profclass .prof-class-left,
#sh-profclass .prof-class-right{
  min-height:0;
  gap:8px;
}
#sh-profclass .prof-room-card{padding:8px 10px;border-radius:14px}
#sh-profclass .prof-room-card .muted{line-height:1.25;font-size:12px}
#sh-profclass .prof-room-card .muted[style*="margin-top:6px"]{display:none}
#sh-profclass .prof-room-list{
  margin-top:6px;
  gap:4px;
}
#sh-profclass .prof-class-left .prof-room-card:last-child{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}
#sh-profclass #profClassStudents{
  flex:1 1 auto;
  min-height:0;
  max-height:calc(100vh - 355px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:6px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#52637a #0b1928;
}
#sh-profclass #profClassStudents::-webkit-scrollbar{width:8px}
#sh-profclass #profClassStudents::-webkit-scrollbar-track{
  background:#0b1928;
  border-radius:999px;
}
#sh-profclass #profClassStudents::-webkit-scrollbar-thumb{
  background:#52637a;
  border-radius:999px;
  border:2px solid #0b1928;
}
#sh-profclass #profClassStudents::-webkit-scrollbar-thumb:hover{
  background:#667990;
}
#sh-profclass .prof-room-row{
  padding:10px;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  border-radius:14px;
}
#sh-profclass .prof-room-top{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}
#sh-profclass .prof-room-bottom{grid-template-columns:38px 78px minmax(0,1fr);gap:8px}
#sh-profclass .prof-room-bike b{font-size:12px;line-height:1.1;min-height:34px;padding:0 10px;border-radius:10px}
#sh-profclass .prof-avatar{width:34px;height:34px;font-size:12px}
#sh-profclass .prof-room-name b{font-size:12px;line-height:1.05}
#sh-profclass .prof-student-code{min-height:28px;padding:0 9px;font-size:10px;border-radius:9px}
#sh-profclass .prof-alert-badge{width:21px;height:21px;font-size:11px}
#sh-profclass .prof-detail-head{grid-template-columns:40px 1fr;gap:8px}





















.prof-occurrence-open-btn{
 width:100%;
 margin-top:8px;
 padding:9px 10px;
 border-radius:11px;
 border:1px solid rgba(239,136,41,.34);
 background:rgba(239,136,41,.09);
 color:#ffc286;
 font-size:11px;
 font-weight:900;
 text-align:center;
}
.prof-occurrence-open-btn:hover{background:rgba(239,136,41,.14)}
@media(max-width:900px){
 .prof-occurrence-open-btn{
  min-height:46px;
  font-size:12px;
  position:relative;
  z-index:2;
 }
 #sh-profoccurrence{
  max-width:440px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
 }
}
.prof-occurrence-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.prof-occurrence-item{
 background:var(--surface2);
 border:1px solid var(--line);
 border-radius:12px;
 padding:10px;
}
.prof-occurrence-item b{display:block;font-size:12px}
.prof-occurrence-item span{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.prof-occurrence-item p{margin:7px 0 0;font-size:12px;line-height:1.4}















@media (max-width: 1200px){
  #sh-profclass .sheet-body{zoom:.88}
}
@media (max-width: 900px){
  #professorApp.app{max-width:440px;min-width:0;width:auto}
  #professorApp .nav{max-width:440px}
  #sh-profclass{max-width:440px;overflow:auto}
  #sh-profclass .sheet-body{
    min-height:auto;
    zoom:1;
    overflow:visible;
    padding:6px 12px 100px;
  }
  #sh-profclass .prof-class-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  #sh-profclass .prof-stat-card{
    padding:8px 6px;
    min-width:0;
  }
  #sh-profclass .prof-stat-card b{
    font-size:11px;
    line-height:1.1;
  }
  #sh-profclass .prof-stat-card span{
    font-size:7px;
    line-height:1.1;
  }
  #sh-profclass .prof-class-view{grid-template-columns:1fr}
  #sh-profclass #profClassStudents{
    max-height:44vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  #sh-profclass .prof-room-card .muted[style*="margin-top:6px"]{display:block}
}






























































.special-class-wrap{margin:0 0 12px}
.global-special-wrap{margin:0 0 12px}
.special-class-card,.global-special-card{background:linear-gradient(135deg,rgba(239,136,41,.18),rgba(54,211,126,.10) 85%);border:1px solid rgba(239,136,41,.45);border-radius:18px;padding:14px 14px 13px;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.special-class-card.hidden,.global-special-card.hidden{display:none}
.global-special-card{padding:14px 14px 14px}
.global-special-headline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.global-special-label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(239,136,41,.35);color:#ffd49a;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.global-special-label .dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(239,136,41,.16)}
.global-special-sub{font-size:11px;color:#ffdfb4;font-weight:800}
.global-special-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.global-special-main .left{min-width:0}
.global-special-title{font-size:21px;font-weight:900;line-height:1.12;margin:2px 0 6px}
.global-special-meta{font-size:13px;line-height:1.45;color:#d8e4d4}
.global-special-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.global-special-action{margin:0;min-width:auto;padding:10px 14px;white-space:nowrap}
.special-class-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.special-class-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(239,136,41,.35);color:#ffd49a;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.special-class-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(239,136,41,.16)}
.special-class-time{font-size:12px;color:#ffe4bf;font-weight:800;margin-top:8px}
.special-class-title{font-size:22px;font-weight:900;line-height:1.12;margin-top:4px}
.special-class-meta{margin-top:5px;color:#d8e4d4;font-size:13px;line-height:1.45}
.special-class-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.special-class-checkin{font-size:11px;font-weight:900;letter-spacing:.01em}
.special-class-checkin.wait{color:#ffbd75}
.special-class-checkin.open{color:#8fc5ff}
.special-class-checkin.closed{color:#ff9eaa}
.special-class-btn{margin:0;min-width:auto;padding:10px 14px;white-space:nowrap}



.class-time-col{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.class-prof-photo{width:34px;height:34px;border-radius:50%;overflow:hidden;border:2px solid #41536a;background:#16273b;display:grid;place-items:center;color:#f2f6fb;font-size:11px;font-weight:900;line-height:1;flex:0 0 34px}
.class-prof-photo img{width:100%;height:100%;object-fit:cover;display:block}





.class-card .btn.locked,
.class-card .btn:disabled{
 opacity:.45;
 cursor:not-allowed;
 filter:saturate(.55);
}





.profile-photo-card{
 display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center;
 background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:12px
}
.profile-photo{
 width:88px;height:88px;border-radius:50%;overflow:hidden;
 border:2px solid #41536a;background:#16273b;display:grid;place-items:center;
 color:#f2f6fb;font-size:24px;font-weight:900
}
.profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.profile-data-shortcut{
 width:100%;margin:0;padding:10px 11px;border-radius:13px;
 background:var(--surface2)
}
.profile-data-shortcut .ico{width:36px;height:36px}
.profile-data-shortcut b{font-size:13px}
.profile-data-shortcut span{font-size:10px}
.profile-photo-change{
 margin-top:9px;border:1px solid rgba(239,136,41,.40);background:rgba(239,136,41,.10);
 color:var(--brand);border-radius:10px;padding:8px 14px;font-size:10px;font-weight:900
}
@media(max-width:380px){
 .profile-photo-card{grid-template-columns:78px minmax(0,1fr);gap:10px;padding:12px}
 .profile-photo{width:74px;height:74px}
}
.profile-edit-photo-box{
 display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);
 border-radius:15px;padding:13px;margin-bottom:16px
}
.profile-edit-photo-preview{
 width:72px;height:72px;flex:0 0 72px;border-radius:50%;overflow:hidden;border:2px solid #41536a;
 background:#16273b;display:grid;place-items:center;color:#f2f6fb;font-size:20px;font-weight:900
}
.profile-edit-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.profile-edit-photo-actions{min-width:0;flex:1}
.profile-edit-photo-actions b{display:block;font-size:13px;margin-bottom:5px}
.profile-edit-photo-actions span{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-bottom:9px}
.profile-edit-photo-btn{width:100%;border:1px solid rgba(239,136,41,.40);background:rgba(239,136,41,.10);color:var(--brand);border-radius:10px;padding:8px 10px;font-size:10px;font-weight:900}

































/* Área do professor */

@media (max-width:420px){.prof-studio-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.prof-studio-col{padding:6px;border-radius:14px}.prof-studio-col h4{font-size:10px}.prof-mini-card{padding:7px 6px;border-radius:10px;margin-bottom:5px}.prof-mini-card b{font-size:12px}.prof-mini-card small{font-size:9px}.prof-mini-card em{font-size:8px}}


#sh-profnoshow{z-index:760}






















@media(max-width:420px){
 .prof-nav{padding-left:8px;padding-right:8px;gap:2px}
 .prof-nav button{font-size:11px;padding-left:3px;padding-right:3px}
}
















 .prof-room-main{display:none}
.prof-room-row{
 display:grid;
 grid-template-columns:52px minmax(0,1fr) auto;
 align-items:center;
 column-gap:12px;
 row-gap:0;
 padding:10px 12px;
}
.prof-student-photo{
 width:50px;height:50px;
 border-radius:50%;
 overflow:hidden;
 grid-column:1;
 display:flex;
 align-items:center;
 justify-content:center;
 align-self:center;
 background:#16273b;
 border:2px solid #41536a;
}
.prof-student-photo img{
 width:100%;height:100%;object-fit:cover;display:block;
}
.prof-avatar{
 width:100%;height:100%;
 border-radius:50%;
 display:grid;place-items:center;
 color:#f2f6fb;
 font-weight:900;
 font-size:18px;
 background:#16273b;
}
.prof-room-content{min-width:0;display:grid;grid-template-rows:auto auto;row-gap:4px}
.prof-room-line1,.prof-room-line2{
 display:grid;
 align-items:center;
 min-width:0;
}
.prof-room-line1{grid-template-columns:auto minmax(0,1fr);column-gap:10px}
.prof-room-line2{grid-template-columns:minmax(0,1fr)}
.prof-room-bike{display:flex;align-items:center;justify-content:flex-start}
.prof-room-bike b{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:36px;
 padding:0 14px;
 border-radius:12px;
 background:rgba(255,255,255,.06);
 border:1px solid rgba(255,255,255,.10);
 font-size:15px;
 font-weight:900;
 white-space:nowrap;
 color:#f3f6fb;
}

.prof-room-name b,.prof-room-studentname{
 display:inline;
 font-size:15px;
 line-height:1.15;
 font-weight:900;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
 color:var(--text)
}
.prof-room-studentline{
 min-width:0;
 display:flex;
 align-items:baseline;
 gap:6px;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis
}
.prof-student-code{
 font-size:12px;
 font-weight:800;
 color:#d7e0eb;
 white-space:nowrap;
 flex:0 0 auto;
}
.prof-week-mini{
 display:flex;
 gap:4px;
 flex-wrap:nowrap;
 justify-content:flex-start;
 align-items:center;
 min-width:0;
 overflow:hidden;
}
.prof-week-col{width:30px;min-width:30px;border-radius:9px;border:1px solid rgba(255,255,255,.10);background:#0f2034;padding:3px 2px;text-align:center;line-height:1.05}


.prof-week-col.same-professor{border-color:rgba(54,211,126,.70);background:rgba(54,211,126,.15);box-shadow:0 0 0 1px rgba(54,211,126,.08) inset}



.prof-room-side{
 display:grid;
 grid-template-rows:auto auto;
 row-gap:10px;
 align-items:center;
 justify-items:center;
 align-self:stretch;
 min-width:44px;
}
.prof-room-side-top,.prof-room-side-bottom{
 display:flex;
 align-items:center;
 justify-content:center;
 min-height:28px;
}

.prof-side-spacer{width:30px;height:30px;display:block}
.prof-total-classes{font-size:12px;line-height:1;font-weight:700;color:#8fa2b8;opacity:.95;padding-top:0}



.prof-room-row.first-class .prof-student-photo{border-color:rgba(97,169,255,.60)}
.prof-room-row.milestone-class{
 background:var(--surface);
 border-color:rgba(226,180,75,.72);
 box-shadow:0 0 0 1px rgba(226,180,75,.14) inset;
}

.prof-room-row.milestone-class .prof-student-photo{border-color:rgba(226,180,75,.72)}
.prof-milestone-wrap{display:flex;align-items:center;justify-content:center;width:42px;height:42px}
.prof-milestone-star{
 width:40px;height:40px;
 clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
 background:linear-gradient(135deg,#ffe8a2 0%,#f0c960 42%,#c38a1f 100%);
 border:2px solid rgba(255,229,147,.92);
 box-shadow:0 0 0 2px rgba(110,78,18,.28) inset,0 5px 12px rgba(166,119,29,.22);
 display:grid;
 place-items:center;
 color:#533500;
 font-size:13px;
 font-weight:1000;
 line-height:1;
 text-shadow:0 1px 0 rgba(255,248,216,.7);
}

#sh-profclass .prof-room-row{padding:10px;grid-template-columns:48px minmax(0,1fr) 38px;column-gap:10px}
#sh-profclass .prof-student-photo{width:46px;height:46px}
#sh-profclass .prof-avatar{font-size:16px}
#sh-profclass .prof-room-bike b{font-size:12px;min-height:30px;padding:0 10px;border-radius:10px}
#sh-profclass .prof-room-studentname{font-size:12px}
#sh-profclass .prof-student-code{font-size:10px}
#sh-profclass .prof-week-mini{gap:3px}
#sh-profclass .prof-week-col{width:25px;min-width:25px;border-radius:8px;padding:3px 1px}
#sh-profclass .prof-week-day{font-size:8px}
#sh-profclass .prof-week-prof{font-size:9px}
#sh-profclass .prof-room-side{min-width:34px;row-gap:8px}
#sh-profclass .prof-alert-badge{width:24px;height:24px;font-size:12px}
#sh-profclass .prof-side-spacer{width:24px;height:24px}
#sh-profclass .prof-total-classes{font-size:10px}
#sh-profclass .prof-milestone-wrap{width:34px;height:34px}
#sh-profclass .prof-milestone-star{width:32px;height:32px;font-size:11px}
.prof-detail-head{grid-template-columns:40px 1fr;gap:8px}
#sh-profclass .prof-detail-avatar{width:38px;height:38px;font-size:15px}
#sh-profclass .prof-detail-name b{font-size:13px}
#sh-profclass .prof-detail-chip{margin-top:3px;padding:3px 7px;font-size:8px}
#sh-profclass .prof-detail-block{padding:6px 0}
#sh-profclass .prof-detail-label{font-size:8px;margin-bottom:3px}
#sh-profclass .prof-detail-value{font-size:11px;line-height:1.22}
#sh-profclass .prof-detail-row{gap:8px}
#sh-profclass .prof-whats-btn{padding:4px 7px;font-size:9px;border-radius:9px}
#sh-profclass .prof-parq-box{padding:8px 10px;border-radius:13px}
#sh-profclass .prof-parq-box b{font-size:12px}
#sh-profclass .prof-parq-box ul{margin-top:6px;font-size:10px;line-height:1.25}
#sh-profclass .prof-parq-answers{
  background:#0d2237;
  border:1px solid #214364;
  border-radius:13px;
  padding:9px 10px;
}
#sh-profclass .prof-parq-answers h4{
  margin:0 0 7px;
  font-size:12px;
}
#sh-profclass .parq-answer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
}
#sh-profclass .parq-answer-row{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:7px;
  align-items:start;
  padding:5px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
#sh-profclass .parq-answer-row:first-child{border-top:0}
#sh-profclass .parq-answer-status{
  width:22px;height:22px;
  border-radius:7px;
  display:grid;
  place-items:center;
  font-size:9px;
  font-weight:900;
}
#sh-profclass .parq-answer-status.no{
  color:var(--ok);
  background:rgba(54,211,126,.10);
  border:1px solid rgba(54,211,126,.28);
}
#sh-profclass .parq-answer-status.yes{
  color:#ffb3bc;
  background:rgba(239,113,128,.12);
  border:1px solid rgba(239,113,128,.30);
}
#sh-profclass .parq-answer-question{
  font-size:10px;
  line-height:1.25;
  color:#d9e3ef;
}
#sh-profclass .prof-parq-open-btn{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(97,169,255,.30);
  background:rgba(97,169,255,.10);
  color:#d9e8ff;
  font-weight:800;
}
#sh-profparqfull .sheet-body{padding-top:8px}
#sh-profparqfull .parq-full-student{
  margin-bottom:10px;
}
#sh-profparqfull .parq-full-student .big{
  font-size:22px;
}
#sh-profparqfull .parq-answer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
#sh-profparqfull .parq-answer-row{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:10px;
  align-items:start;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
#sh-profparqfull .parq-answer-row:first-child{border-top:0}
#sh-profparqfull .parq-answer-status{
  width:48px;height:28px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:11px;
  font-weight:900;
}
#sh-profparqfull .parq-answer-status.no{
  color:var(--ok);
  background:rgba(54,211,126,.10);
  border:1px solid rgba(54,211,126,.28);
}
#sh-profparqfull .parq-answer-status.yes{
  color:#ffb3bc;
  background:rgba(239,113,128,.12);
  border:1px solid rgba(239,113,128,.30);
}
#sh-profparqfull .parq-answer-question{
  font-size:13px;
  line-height:1.45;
  color:#d9e3ef;
}


#sh-profclass #profClassHeaderTime{font-size:16px !important;line-height:1.05 !important}
#sh-profclass #profClassHeaderMeta{margin-top:2px !important;font-size:12px !important}
@media (max-width: 1200px){
  #sh-profclass .sheet-body{zoom:.88}
}
@media (max-width: 900px){
  #professorApp.app{max-width:440px;min-width:0;width:auto}
  #professorApp .nav{max-width:440px}
  #sh-profclass{max-width:440px;overflow:auto}
  #sh-profclass .sheet-body{
    min-height:auto;
    zoom:1;
    overflow:visible;
    padding:6px 16px 100px;
  }
  #sh-profclass .prof-class-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  #sh-profclass .prof-class-view{grid-template-columns:1fr}
  #sh-profclass .prof-room-card .muted[style*="margin-top:6px"]{display:block}
}

header{
 position:sticky;top:0;z-index:20;background:rgba(17,24,39,.97);
 border-bottom:1px solid rgba(255,255,255,.05);padding:15px 16px 13px
}
.header-row{display:grid;grid-template-columns:62px 1fr 110px;align-items:center;gap:10px}
.student-code-badge{justify-self:end;background:var(--surface);border:1px solid rgba(239,136,41,.45);border-radius:12px;padding:8px 10px;text-align:center;line-height:1.1}
.student-code-badge .label{display:block;color:var(--muted);font-size:10px;font-weight:800;margin-bottom:4px}
.student-code-badge .value{display:block;color:var(--brand);font-size:16px;font-weight:900;letter-spacing:.04em}
#homeCodeCard{display:none !important}
.logo svg,.ico svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.logo svg{width:36px;height:36px;color:var(--brand)}
.logo{
 width:58px;height:58px;border-radius:16px;background:#050608;display:flex;align-items:center;
 justify-content:center;font-size:31px;border:1px solid #222c39
}
.brand{text-align:center;line-height:1}
.brand strong{font-size:26px;letter-spacing:.03em;font-weight:600}
.brand span{display:block;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.31em;margin-top:7px}
.credit-chip{
 justify-self:end;background:var(--surface2);border:1px solid var(--line);border-radius:999px;
 min-width:68px;text-align:center;padding:10px;font-weight:900
}
.test-note{text-align:center;color:#f0bd55;font-size:10px;font-weight:800;letter-spacing:.11em;margin-top:11px}
main{padding:18px 16px 96px}
.screen{display:none}.screen.active{display:block}
h1{font-size:31px;margin:4px 0 5px;font-weight:700}.sub{color:var(--muted);font-size:14px;margin:0 0 18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:12px}
.brand-card{background:linear-gradient(135deg,#2b2118,var(--surface) 65%);border-color:rgba(239,136,41,.45)}
.eyebrow{color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.big{font-size:21px;font-weight:800}.small{font-size:12px}.muted{color:var(--muted)}
.row{display:flex;align-items:center;gap:11px}.between{justify-content:space-between}.grow{flex:1;min-width:0}
.actions{display:flex;gap:8px}.actions .btn{margin:0}.vacancy-chip{border:1px solid rgba(255,138,42,.55);background:rgba(255,138,42,.08);color:var(--brand);font-weight:800;text-align:center;border-radius:12px;padding:8px 10px;font-size:14px;white-space:nowrap}
.btn{
 width:100%;padding:13px;border-radius:13px;border:1px solid var(--line);
 background:var(--surface2);color:var(--text);font-weight:800
}
.btn.brand{background:var(--brand);border-color:var(--brand);color:#1b1008}
.btn.danger{color:var(--danger);background:rgba(239,113,128,.10);border-color:rgba(239,113,128,.34)}
.btn.ok{color:var(--ok);background:rgba(54,211,126,.10);border-color:rgba(54,211,126,.3)}
.btn.sm{width:auto;padding:9px 11px;font-size:12px}
.btn+.btn{margin-top:8px}
.badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid var(--line)}
.badge.ok{color:var(--ok);background:rgba(54,211,126,.11);border-color:rgba(54,211,126,.3)}
.badge.warn{color:var(--warn);background:rgba(244,183,64,.10);border-color:rgba(244,183,64,.3)}
.badge.blue{color:var(--blue);background:rgba(97,169,255,.10);border-color:rgba(97,169,255,.3)}
.stats{
 display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0 20px
}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 8px;text-align:center}
.stat b{display:block;color:var(--brand);font-size:25px}.stat span{font-size:11px;color:var(--muted);line-height:1.25}
.home-actions{display:grid;gap:12px;margin-top:4px}
.home-action{
 display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);
 border-radius:18px;padding:18px 16px;text-align:left;color:var(--text);width:100%
}
.home-action .ico{
 width:48px;height:48px;border-radius:14px;background:var(--surface2);
 display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0
}
.home-action b{font-size:18px;display:block;color:#ffffff}.home-action span{color:var(--muted);font-size:12px}.arrow{margin-left:auto;color:var(--muted);font-size:24px}
.section-title{font-size:17px;font-weight:900;margin:18px 0 10px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.info{padding:11px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.info span{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.info b{font-size:13px}
nav{
 position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:440px;
 display:grid;grid-template-columns:1fr 1fr 1fr;background:rgba(17,24,39,.98);border-top:1px solid var(--line);
 padding:8px 36px calc(10px + env(safe-area-inset-bottom));z-index:100
}
.home-code-card{margin:12px 0 14px;padding:16px 16px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(239,136,41,.18),rgba(36,49,70,.95));border:1px solid rgba(239,136,41,.45)}
.home-code-label{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#f0bd55;margin-bottom:7px}
.home-code-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-code-number{font-size:34px;font-weight:900;line-height:1;color:#ffffff;letter-spacing:.03em}
.home-code-note{font-size:12px;color:#d8deea;margin-top:8px;line-height:1.45}
.home-code-copy{width:auto;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#111827;color:#ffffff;font-weight:800;white-space:nowrap}

nav button{border:0;background:none;color:var(--muted);font-size:11px;font-weight:800;padding:5px}
nav .ico{display:block;font-size:21px;margin-bottom:3px}nav button.on{color:var(--brand)}
.days{display:flex;gap:8px;overflow:auto;padding-bottom:12px}
.day{min-width:58px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:9px 4px;color:var(--text)}
.day span{display:block;font-size:10px}.day b{font-size:17px}.day.sel{background:var(--brand);border-color:var(--brand);color:#1d1006}
.class-card{
 display:grid;grid-template-columns:60px 1fr auto;gap:10px;align-items:center;
 background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ok);
 border-radius:15px;padding:12px;margin-bottom:9px
}
.class-card.mine{border-left-color:var(--warn)}.class-card.full{border-left-color:#6f7d92;opacity:.87}
.class-time{font-size:17px;font-weight:900}.class-card b{font-size:13px}.class-card span{font-size:11px;color:var(--muted)}
.class-meta{display:flex;flex-direction:column;gap:3px}
.class-checkin{font-size:10px;font-weight:900;letter-spacing:.02em;margin-top:2px}
.class-checkin.wait{color:var(--brand)}
.class-checkin.open{color:var(--blue)}
.class-checkin.closed{color:var(--danger)}
.shop-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:10px}
/* Distinção visual suave entre assinatura mensal e pacotes de créditos */
.shop-card.monthly-product{
 background:linear-gradient(135deg,rgba(97,169,255,.10),rgba(27,38,55,.98) 72%);
 border-color:rgba(97,169,255,.30);
 box-shadow:inset 3px 0 0 rgba(97,169,255,.60);
}
.shop-card.credit-product{
 background:linear-gradient(135deg,rgba(239,136,41,.09),rgba(27,38,55,.98) 72%);
 border-color:rgba(239,136,41,.30);
 box-shadow:inset 3px 0 0 rgba(239,136,41,.58);
}
.shop-card.monthly-product .price{color:#9fcaff}
.shop-card.credit-product .price{color:#ffb36d}
#monthlyPlansSection{color:#bcdcff}
#creditPlansSection{color:#ffd0a3}
#monthlyPlansNotice{
 border-color:rgba(97,169,255,.26)!important;
 background:rgba(97,169,255,.065)!important;
}
.monthly-summary-card{
 background:linear-gradient(135deg,rgba(97,169,255,.12),rgba(27,38,55,.98) 70%);
 border:1px solid rgba(97,169,255,.30);
}
.credit-summary-card{
 background:linear-gradient(135deg,rgba(239,136,41,.10),rgba(27,38,55,.98) 70%);
 border:1px solid rgba(239,136,41,.30);
}
.purchase-choice.monthly-choice{border-color:rgba(97,169,255,.28);background:rgba(97,169,255,.055)}
.purchase-choice.monthly-choice .purchase-choice-icon{background:rgba(97,169,255,.11);color:#9fcaff}
.purchase-choice.credit-choice{border-color:rgba(239,136,41,.28);background:rgba(239,136,41,.055)}
.purchase-choice.credit-choice .purchase-choice-icon{background:rgba(239,136,41,.11);color:#ffb36d}
.shop-head{display:flex;justify-content:space-between;gap:10px}.shop-title{font-weight:900}.price{font-size:18px;color:var(--brand);font-weight:900;white-space:nowrap}
.shop-meta{color:var(--muted);font-size:12px;line-height:1.5;margin:8px 0 11px}
.shortcut{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px;margin-bottom:9px}
.shortcut .ico{width:42px;height:42px;border-radius:12px;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:20px}
.shortcut b{display:block;color:#ffffff}.shortcut span{color:var(--muted);font-size:12px}
.sheet{display:none;position:fixed;inset:0;z-index:50;background:var(--bg);max-width:440px;margin:0 auto;overflow:auto;padding-bottom:82px}
.sheet.open{display:block}.sheet-head{display:flex;gap:10px;align-items:center;padding:14px 16px;position:sticky;top:0;background:rgba(17,24,39,.98);z-index:3}
.back{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);color:var(--text);font-size:18px}
.sheet-body{padding:4px 16px 100px}
.field{margin-bottom:12px}.field label{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:16px}
.pay-option{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:9px}
.pay-option input{accent-color:var(--brand)}
.notice{padding:12px;border-radius:13px;border:1px solid rgba(97,169,255,.25);background:rgba(97,169,255,.07);color:var(--muted);font-size:12px;line-height:1.5}
.bikes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bike{height:68px;border-radius:11px;border:1px solid var(--ok);background:rgba(54,211,126,.08);color:var(--ok);font-weight:900;padding-top:2px}
.bike.busy{border-color:#70414a;color:#b56b75;background:rgba(239,113,128,.08)}.bike.current{border:2px solid var(--brand);background:rgba(255,128,26,.18);color:var(--brand);box-shadow:0 0 0 2px rgba(255,128,26,.08) inset}.bike small{display:block;font-size:9px;margin-top:2px}.bike em{display:block;font-style:normal;font-size:8px;line-height:1.1;margin-top:2px;opacity:.95}
.list-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:11px 0}.list-item:last-child{border-bottom:0}.list-item b{font-size:12px}.list-item span{font-size:11px;color:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:20px 8px}
.waitlist-head{display:grid;grid-template-columns:60px 1fr 110px;gap:10px;padding:0 2px 10px;border-bottom:1px solid var(--line);margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.waitlist-row{display:grid;grid-template-columns:60px 1fr 110px;gap:10px;align-items:center;padding:12px 10px;border-bottom:1px solid var(--line);border-radius:12px}
.waitlist-row:last-child{border-bottom:0}
.waitlist-row.me{background:rgba(239,136,41,.12);border:1px solid rgba(239,136,41,.35);margin:6px 0}
.waitlist-pos{font-weight:900;color:var(--brand);font-size:16px}
.waitlist-name{font-weight:800;color:#ffffff}
.waitlist-code{font-weight:800;color:#ffffff;text-align:left}
.waitlist-title{font-size:18px;font-weight:900;margin-bottom:12px;color:#ffffff}
.waitlist-highlight{padding:14px;border-radius:16px;background:rgba(239,136,41,.12);border:1px solid rgba(239,136,41,.35);margin-top:12px}
.waitlist-highlight .label{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin-bottom:6px}
.waitlist-highlight .value{font-size:26px;font-weight:900;color:#ffffff;line-height:1.1}
.waitlist-highlight .meta{font-size:12px;color:var(--muted);margin-top:4px}
.waitlist-countdown{margin-top:12px;padding:14px;border-radius:16px;background:rgba(97,169,255,.08);border:1px solid rgba(97,169,255,.26)}
.waitlist-countdown .label{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.waitlist-countdown .time{font-size:24px;font-weight:900;color:#ffffff}
.waitlist-countdown .meta{font-size:12px;color:var(--muted);margin-top:4px}

/* Área do professor */
.prof-login-note{margin-top:10px;text-align:center;color:var(--muted);font-size:11px}
.prof-studio-week{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start}.prof-studio-col{min-width:0;background:#0b1b2a;border:1px solid var(--line);border-radius:16px;padding:8px}.prof-studio-col h4{margin:0 0 8px;text-align:center;font-size:11px;letter-spacing:.04em;color:#dce5f2}.prof-mini-card{width:100%;border:1px solid #2a4159;background:#18283d;color:#fff;border-radius:12px;padding:8px 7px;margin-bottom:6px;text-align:left;cursor:pointer;position:relative}.prof-mini-card:hover,.prof-mini-card:active{transform:translateY(-1px);border-color:rgba(239,136,41,.55)}.prof-mini-card b{display:block;font-size:14px;line-height:1.05}.prof-mini-card small{display:block;margin-top:5px;font-size:10px;color:#c3cfdf;line-height:1.2;word-break:break-word}.prof-mini-card em{display:block;font-style:normal;font-size:9px;color:#8fb7ff;margin-top:4px}.prof-mini-card.own{border-color:rgba(239,136,41,.6);background:rgba(239,136,41,.08)}.prof-empty-mini{border:1px dashed #24364a;border-radius:12px;padding:12px 6px;text-align:center;color:#738196;font-size:11px}.swap-only-note{margin-top:12px}.hidden{display:none!important}@media (max-width:420px){.prof-studio-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.prof-studio-col{padding:6px;border-radius:14px}.prof-studio-col h4{font-size:10px}.prof-mini-card{padding:7px 6px;border-radius:10px;margin-bottom:5px}.prof-mini-card b{font-size:12px}.prof-mini-card small{font-size:9px}.prof-mini-card em{font-size:8px}}
#sh-profswaprequest,#sh-profclass{z-index:620}
#sh-profoccurrence{z-index:720}
#sh-profparqfull{z-index:700}
.prof-mini-card .teacher-name{display:block;margin-top:5px;font-size:11px;font-weight:900;color:#ffffff;line-height:1.15;word-break:break-word}
.prof-mini-card.own .teacher-name{color:var(--brand)}
.prof-mini-card .tap-hint{display:block;font-size:8px;color:#8fb7ff;margin-top:4px;line-height:1.15}

.access-schedule-day{margin-bottom:14px}.access-schedule-day h4{margin:0 0 8px;font-size:12px;letter-spacing:.06em;color:var(--muted)}.access-schedule-empty{color:var(--muted);font-size:12px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px}.swap-help{font-size:11px;color:var(--muted);margin:-2px 0 10px}.swap-result{margin-top:10px;font-size:12px;color:var(--text)}
.professor-app{display:none;position:fixed;inset:0;z-index:500;background:#0b1422;color:var(--text);overflow:auto;padding-bottom:84px}
.professor-app.open{display:block}
.prof-top{position:sticky;top:0;z-index:5;background:rgba(11,20,34,.98);border-bottom:1px solid var(--line);padding:18px 16px 14px;display:flex;align-items:center;gap:12px}
.prof-top .back{flex:0 0 auto}.prof-top-title b{display:block;font-size:20px}.prof-top-title span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.prof-body{padding:18px 16px 110px;max-width:440px;margin:0 auto}
.prof-welcome{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px}
.prof-welcome .eyebrow{margin-bottom:6px}.prof-welcome .big{font-size:22px}
.prof-section{font-size:18px;font-weight:900;margin:18px 0 10px}
.prof-week{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prof-day{background:#0b1b2a;border:1px solid var(--line);border-radius:18px;padding:14px;min-height:132px}
.prof-day.wide{grid-column:1/-1}.prof-day h3{text-align:center;margin:0 0 10px;font-size:13px;color:#dce5f2}
.prof-class{width:100%;border:1px solid rgba(239,136,41,.55);background:rgba(239,136,41,.08);color:#fff;border-radius:14px;padding:13px 10px;margin-top:8px;font-weight:900}
.prof-class span{display:block;color:var(--brand);font-size:9px;letter-spacing:.08em;margin-top:5px}.prof-empty{border:1px dashed #24364a;border-radius:14px;padding:30px 8px;text-align:center;color:#738196;font-size:13px}
.prof-nav{
 position:fixed;
 left:0;right:0;bottom:0;
 z-index:540;
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 align-items:stretch;
 background:rgba(8,17,28,.98);
 border-top:1px solid var(--line);
 padding:0 14px calc(8px + env(safe-area-inset-bottom));
 gap:6px;
 min-height:78px;
}
.prof-nav button{
 min-width:0;
 border:0;
 background:transparent;
 color:var(--muted);
 font-size:12px;
 font-weight:800;
 line-height:1.15;
 padding:14px 6px 10px;
 display:flex;
 align-items:center;
 justify-content:center;
 text-align:center;
 border-radius:12px;
 white-space:normal;
}
.prof-nav button.on{
 color:var(--brand);
 background:rgba(239,136,41,.06);
}
@media(max-width:420px){
 .prof-nav{padding-left:8px;padding-right:8px;gap:2px}
 .prof-nav button{font-size:11px;padding-left:3px;padding-right:3px}
}
.prof-nav button{border:0;background:none;color:var(--muted);font-size:10px;font-weight:800;padding:8px 2px}.prof-nav button.on{color:var(--brand)}
.prof-panel{display:none}.prof-panel.active{display:block}
.prof-list-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.prof-list-row b{font-size:14px}.prof-list-row span{font-size:11px;color:var(--muted)}
.prof-student-grid{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:10px;align-items:center}.prof-bike{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:var(--surface2);color:var(--brand);font-weight:900}.prof-status{font-size:10px;font-weight:900;padding:6px 8px;border-radius:10px;white-space:nowrap;line-height:1.15}.prof-status.attended{background:rgba(54,211,126,.11);color:var(--ok);border:1px solid rgba(54,211,126,.32)}.prof-status.upcoming{background:rgba(97,169,255,.12);color:#8fc5ff;border:1px solid rgba(97,169,255,.38)}.prof-status .status-kind{display:block;font-size:8px;letter-spacing:.05em;text-transform:uppercase;opacity:.9}.prof-status .status-class{display:block;margin-top:2px;font-size:10px}.prof-week-whats{border:1px solid rgba(54,211,126,.42);background:rgba(54,211,126,.12);color:var(--ok);border-radius:10px;padding:7px 9px;font-size:10px;font-weight:900;white-space:nowrap}.prof-week-whats:hover{background:rgba(54,211,126,.18)}
.prof-class-view{display:grid;grid-template-columns:1.3fr .95fr;gap:12px}
.prof-class-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.prof-stat-card{background:#0d2237;border:1px solid #214364;border-radius:15px;padding:14px}
.prof-stat-card b{display:block;font-size:13px;line-height:1.25}
.prof-stat-card span{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
.prof-class-left,.prof-class-right{display:flex;flex-direction:column;gap:12px}
.prof-room-card{background:#0d2237;border:1px solid #214364;border-radius:16px;padding:14px}
.prof-room-card .muted{line-height:1.45}
.prof-room-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.prof-room-row{
 width:100%;
 border:1px solid rgba(239,136,41,.35);
 background:#13263d;
 color:#fff;
 border-radius:15px;
 padding:12px;
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 gap:10px;
 align-items:center;
 text-align:left;
 cursor:pointer
}
.prof-room-row.selected{border-color:var(--brand);box-shadow:0 0 0 2px rgba(239,136,41,.10) inset}
.prof-room-main{min-width:0;display:grid;grid-template-rows:auto auto;gap:10px}
.prof-room-top{
 display:grid;
 grid-template-columns:auto minmax(0,1fr) auto;
 gap:10px;
 align-items:center
}
.prof-room-bottom{
 display:grid;
 grid-template-columns:44px 92px minmax(0,1fr);
 gap:10px;
 align-items:center
}
.prof-room-bike{
 display:flex;
 align-items:center;
 justify-content:flex-start
}
.prof-room-bike b{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:38px;
 padding:0 14px;
 border-radius:12px;
 background:rgba(255,255,255,.06);
 border:1px solid rgba(255,255,255,.10);
 font-size:15px;
 font-weight:900;
 white-space:nowrap;
 color:#f3f6fb
}
.prof-room-bike span{display:none}
.prof-avatar{
 width:42px;height:42px;
 border-radius:50%;
 border:2px solid #41536a;
 background:#16273b;
 display:grid;place-items:center;
 color:#f2f6fb;
 font-weight:900;
 font-size:16px
}
.prof-room-name{min-width:0}
.prof-room-title{min-width:0}
.prof-room-name b{
 display:block;
 font-size:15px;
 line-height:1.1;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis
}
.prof-student-code{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:34px;
 padding:0 11px;
 border-radius:10px;
 background:rgba(255,255,255,.05);
 border:1px solid rgba(255,255,255,.08);
 color:#d7e0eb;
 font-size:12px;
 font-weight:800;
 white-space:nowrap
}
.prof-week-mini{
 display:flex;
 gap:4px;
 flex-wrap:nowrap;
 justify-content:flex-start;
 align-items:center;
 max-width:none
}
.prof-room-warning-top{
 display:flex;
 align-items:center;
 justify-content:center
}
.prof-week-col{width:28px;min-width:28px;border-radius:9px;border:1px solid rgba(255,255,255,.10);background:#0f2034;padding:3px 2px;text-align:center;line-height:1.05}
.prof-week-day{display:block;font-size:9px;font-weight:900;color:#c9d7e6;letter-spacing:.04em;text-transform:uppercase}
.prof-week-prof{display:block;margin-top:3px;font-size:10px;font-weight:900;color:var(--brand);letter-spacing:.03em;text-transform:uppercase}
.prof-week-col.same-professor{
 border-color:rgba(54,211,126,.70);
 background:rgba(54,211,126,.15);
 box-shadow:0 0 0 1px rgba(54,211,126,.08) inset;
}
.prof-week-col.same-professor .prof-week-day{color:#c8f7dc}
.prof-week-col.same-professor .prof-week-prof{color:var(--ok)}

.prof-week-empty{font-size:10px;color:var(--muted);padding-top:3px}
.prof-alert-badge{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(239,113,128,.14);border:1px solid rgba(239,113,128,.35);color:#ffd447;font-size:16px}
.prof-room-side{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:54px;padding-top:2px}
.prof-total-classes{font-size:12px;line-height:1;font-weight:700;color:#8fa2b8;opacity:.95;padding-top:2px}
.prof-room-row.first-class{background:rgba(72,132,255,.16);border-color:rgba(97,169,255,.45)}
.prof-room-row.first-class.selected{box-shadow:0 0 0 2px rgba(97,169,255,.14) inset}
.prof-room-row.first-class .prof-total-classes{color:#c7dcff}
.prof-room-row.first-class .prof-avatar{border-color:rgba(97,169,255,.60); color:#dfe9ff}
.prof-room-row.milestone-class{
 background:linear-gradient(135deg,rgba(188,139,35,.20),rgba(112,76,16,.14));
 border-color:#e2b44b;
 box-shadow:0 0 0 1px rgba(226,180,75,.16) inset, 0 0 22px rgba(226,180,75,.10);
}
.prof-room-row.milestone-class.selected{
 border-color:#e2b44b;
 box-shadow:0 0 0 2px rgba(226,180,75,.16) inset;
}
.prof-room-row.milestone-class .prof-avatar{
 border-color:rgba(226,180,75,.72);
 color:#ffe9a8;
}
.prof-room-row.milestone-class .prof-student-code,
.prof-room-row.milestone-class .prof-room-bike b{
 border-color:rgba(226,180,75,.22)
}
.prof-milestone-wrap{
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:flex-start;
 gap:3px;
 width:54px;
}
.prof-milestone-star{
 width:36px;
 height:36px;
 clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
 background:linear-gradient(135deg,#ffe8a2 0%,#f0c960 42%,#c38a1f 100%);
 border:2px solid rgba(255,229,147,.92);
 box-shadow:0 0 0 2px rgba(110,78,18,.28) inset,0 6px 16px rgba(166,119,29,.24);
 display:grid;
 place-items:center;
 color:#533500;
 font-size:13px;
 font-weight:1000;
 line-height:1;
 text-shadow:0 1px 0 rgba(255,248,216,.7);
}
.prof-milestone-star span{transform:translateY(1px)}
.prof-milestone-text{
 font-size:7px;
 line-height:1.02;
 font-weight:900;
 text-align:center;
 color:#f2dda0;
 letter-spacing:.02em;
 text-transform:uppercase;
 max-width:54px;
}
.prof-milestone-text b{display:block;font-size:7px;color:#ffefba;margin-bottom:1px}
#sh-profclass .prof-milestone-wrap{width:48px;gap:2px}
#sh-profclass .prof-milestone-star{width:30px;height:30px;font-size:10px}
#sh-profclass .prof-milestone-text{font-size:6px;max-width:48px}
#sh-profclass .prof-milestone-text b{font-size:7px}

.prof-detail-head{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center}
.prof-detail-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:2px solid #41536a;background:#16273b;font-size:22px;font-weight:900}
.prof-detail-name b{display:block;font-size:15px}
.prof-detail-chip{display:inline-block;margin-top:6px;font-size:10px;font-weight:900;padding:5px 9px;border-radius:999px;background:rgba(239,136,41,.14);border:1px solid rgba(239,136,41,.35);color:var(--brand)}
.prof-detail-block{padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.prof-detail-block:first-of-type{border-top:0;padding-top:0}
.prof-detail-label{font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.prof-detail-value{font-size:14px;line-height:1.45}
.prof-detail-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.prof-whats-btn{border:1px solid rgba(54,211,126,.34);background:rgba(54,211,126,.12);color:var(--ok);border-radius:11px;padding:7px 10px;font-size:11px;font-weight:900}
.prof-parq-box{background:rgba(239,113,128,.10);border:1px solid rgba(239,113,128,.28);border-radius:15px;padding:14px}
.prof-parq-box b{display:flex;align-items:center;gap:8px;font-size:14px;color:#ffb3bc}
.prof-parq-box ul{margin:10px 0 0 18px;padding:0;color:#ffd2d7;font-size:12px;line-height:1.5}
.prof-room-empty{padding:16px;border:1px dashed #2a4159;border-radius:15px;color:var(--muted);text-align:center}
@media(max-width:420px){
 .prof-class-stats{grid-template-columns:1fr}
 .prof-class-view{grid-template-columns:1fr}
 .prof-room-row{grid-template-columns:46px minmax(0,1fr) 34px;padding:10px 10px;column-gap:8px}
 .prof-student-photo{width:44px;height:44px}
 .prof-avatar{font-size:15px}
 .prof-room-content{row-gap:4px}
 .prof-room-line1{column-gap:8px}
 .prof-room-bike b{font-size:13px;min-height:30px;padding:0 10px;border-radius:10px}
 .prof-room-studentname{font-size:12px}
 .prof-student-code{font-size:10px}
 .prof-week-mini{gap:3px}
 .prof-week-col{width:24px;min-width:24px;border-radius:8px;padding:3px 1px}
 .prof-week-day{font-size:8px}
 .prof-week-prof{font-size:9px}
 .prof-room-side{min-width:30px;row-gap:8px}
 .prof-alert-badge{width:24px;height:24px;font-size:12px}
 .prof-side-spacer{width:24px;height:24px}
 .prof-total-classes{font-size:10px}
 .prof-milestone-wrap{width:34px;height:34px}
 .prof-milestone-star{width:32px;height:32px;font-size:11px}
}

#toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(10px);z-index:90;background:#070c13;border:1px solid var(--line);padding:11px 16px;border-radius:999px;font-size:12px;opacity:0;pointer-events:none;transition:.2s}
#toast.show{opacity:1;transform:translateX(-50%)}
@media(max-width:360px){.actions{flex-direction:column}.class-card{grid-template-columns:52px 1fr}.class-card .btn{grid-column:1/-1}.info-grid{grid-template-columns:1fr}.brand strong{font-size:22px}}

.rules-link{
  width:100%;margin-top:8px;padding:10px 12px;border-radius:11px;
  border:1px solid var(--line);background:transparent;color:var(--muted);
  font-weight:800;font-size:12px
}
.rules-link:active{background:var(--surface2);color:var(--text)}
.countdown-box{
  margin-top:11px;padding:11px 12px;border-radius:13px;
  background:rgba(54,211,126,.08);border:1px solid rgba(54,211,126,.25)
}
.countdown-box.warning{
  background:rgba(244,183,64,.08);border-color:rgba(244,183,64,.28)
}
.countdown-box.expired{
  background:rgba(239,113,128,.08);border-color:rgba(239,113,128,.30)
}
.countdown-title{
  font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin-bottom:4px
}
.countdown-time{font-size:15px;font-weight:900;color:var(--ok)}
.countdown-box.warning .countdown-time{color:var(--warn)}
.countdown-box.expired .countdown-time{color:var(--danger)}
.countdown-note{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.35}
.rule-list{margin:10px 0 0;padding-left:19px;color:var(--muted);font-size:13px;line-height:1.65}
.rule-list b{color:var(--text)}


.achievement-progress{height:10px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin-top:12px}
.achievement-progress div{height:100%;background:var(--brand);border-radius:99px}
.achievement-card{display:grid;grid-template-columns:52px 1fr auto;gap:11px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:12px;margin-bottom:9px}
.achievement-card.locked{opacity:.58}
.achievement-medal{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--brand);background:rgba(255,138,42,.10);color:var(--brand);font-size:15px;font-weight:900}
.achievement-card.locked .achievement-medal{border-color:var(--line);background:rgba(255,255,255,.03);color:var(--muted)}
.achievement-name{font-size:15px;font-weight:900}
.achievement-meta{font-size:11px;color:var(--muted);margin-top:3px}
.achievement-badge{font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px;white-space:nowrap}
.achievement-badge.done{color:#42e891;border:1px solid rgba(66,232,145,.35);background:rgba(66,232,145,.09)}
.achievement-badge.lock{color:var(--muted);border:1px solid var(--line);background:rgba(255,255,255,.03)}
.achievement-share{border:1px solid var(--line);background:var(--surface2);color:var(--text);padding:5px 8px;border-radius:8px;font-size:10px;margin-top:7px}
.achievement-home{width:100%;text-align:left;margin-top:14px;cursor:pointer}


.q-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px;margin-top:11px}
.q-card>b{display:block;font-size:14px;line-height:1.4;margin-bottom:10px}
.q-option{display:flex;align-items:center;gap:9px;padding:9px 0;font-size:13px;color:var(--text);cursor:pointer}
.q-option input,.q-check input{accent-color:var(--brand);width:18px;height:18px;flex:0 0 auto}
.q-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;cursor:pointer}
.q-card textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:10px;padding:10px;resize:vertical}
.questionnaire-ok{color:#42e891!important}
.questionnaire-pending{color:var(--brand)!important}
.questionnaire-summary{display:none}
.questionnaire-summary.show{display:block}
.questionnaire-summary-card{
 background:var(--surface);
 border:1px solid var(--line);
 border-radius:17px;
 padding:16px;
 margin-bottom:12px;
}
.questionnaire-summary-card .last-date{
 font-size:24px;
 font-weight:900;
 margin-top:5px;
}
.questionnaire-history-title{
 font-size:15px;
 font-weight:900;
 margin:20px 0 9px;
}
.questionnaire-history-list{
 display:flex;
 flex-direction:column;
 gap:8px;
}
.questionnaire-history-item{
 width:100%;
 border:1px solid var(--line);
 background:var(--surface);
 color:var(--text);
 border-radius:14px;
 padding:13px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 text-align:left;
}
.questionnaire-history-item .qhist-main b{display:block;font-size:14px}
.questionnaire-history-item .qhist-main span{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.questionnaire-history-item .qhist-arrow{font-size:24px;color:var(--muted)}
.questionnaire-history-empty{
 padding:14px;
 border:1px dashed var(--line);
 border-radius:14px;
 color:var(--muted);
 font-size:12px;
 text-align:center;
}
.questionnaire-view-banner{
 display:none;
 margin-bottom:12px;
 padding:12px;
 border-radius:13px;
 border:1px solid rgba(97,169,255,.25);
 background:rgba(97,169,255,.07);
 color:var(--muted);
 font-size:12px;
 line-height:1.45;
}
.questionnaire-view-banner.show{display:block}



.onboarding-gate{position:fixed;inset:0;z-index:300;background:linear-gradient(180deg,#111827 0%,#08111c 100%);overflow:auto}
.onboarding-gate.hidden{display:none}
.onboarding-inner{width:100%;max-width:440px;min-height:100vh;margin:0 auto;padding:38px 22px 40px;display:flex;flex-direction:column;justify-content:center}
.onboarding-logo{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:38px}
.onboarding-bike{width:58px;height:58px;border-radius:17px;background:#050608;border:1px solid #253044;display:grid;place-items:center}
.onboarding-bike svg{width:42px;height:42px;fill:none;stroke:var(--brand);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.onboarding-brand{line-height:1;text-align:left}
.onboarding-brand strong{display:block;font-size:30px;letter-spacing:.03em}
.onboarding-brand span{display:block;color:var(--brand);font-size:12px;font-weight:900;letter-spacing:.25em;margin-top:7px}
.onboarding-kicker{color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.14em;margin-bottom:7px}
.onboarding-gate h1{font-size:31px;line-height:1.08;margin:0 0 12px}
.onboarding-gate p{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 22px}
.onboarding-steps{display:grid;gap:10px;margin:0 0 24px}
.onboarding-steps div{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px}
.onboarding-steps b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(239,136,41,.12);border:1px solid rgba(239,136,41,.45);color:var(--brand)}
.onboarding-steps span{font-size:13px;font-weight:800}
.onboarding-back{border:0;background:none;color:var(--muted);padding:0;margin:0 0 22px;font-weight:800}
.onboarding-consent{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px;margin:4px 0 14px}
.onboarding-photo-box{
 display:flex;align-items:center;gap:14px;
 background:var(--surface);border:1px solid var(--line);
 border-radius:15px;padding:13px;margin:0 0 14px
}
.onboarding-photo-preview{
 width:78px;height:78px;flex:0 0 78px;border-radius:50%;
 overflow:hidden;border:2px solid #41536a;background:#16273b;
 display:grid;place-items:center;color:var(--muted);font-weight:900;font-size:22px
}
.onboarding-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.onboarding-photo-actions{min-width:0;flex:1}
.onboarding-photo-actions b{display:block;font-size:13px;margin-bottom:5px}
.onboarding-photo-actions span{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-bottom:9px}
.onboarding-photo-btn{
 width:100%;border:1px solid rgba(239,136,41,.40);
 background:rgba(239,136,41,.10);color:var(--brand);
 border-radius:11px;padding:9px 11px;font-size:11px;font-weight:900
}
.onboarding-photo-remove{
 display:none;width:100%;border:0;background:transparent;
 color:var(--danger);padding:8px 4px 0;font-size:10px;font-weight:800
}

body.onboarding-locked header,body.onboarding-locked main,body.onboarding-locked nav{visibility:hidden;pointer-events:none}
body.onboarding-locked .sheet:not(#sh-questionnaire){display:none!important}
body.onboarding-questionnaire #onboardingGate{display:none}
body.onboarding-questionnaire header,body.onboarding-questionnaire main,body.onboarding-questionnaire nav{visibility:hidden;pointer-events:none}
body.onboarding-questionnaire #sh-questionnaire{z-index:350;padding-bottom:0}
body.onboarding-questionnaire #sh-questionnaire .sheet-body{padding-bottom:40px}


.q-detail{display:none;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.q-detail.show{display:block}
.q-detail label{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:7px}
.q-detail textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:10px;padding:10px;resize:vertical}
.q-detail.required-missing textarea{border-color:var(--danger)}

.choice-intro{margin:14px 0 8px;color:var(--muted);font-size:12px;font-weight:700}
.purchase-choice{display:flex;align-items:center;gap:12px;width:100%;padding:14px;margin-top:10px;border-radius:15px;border:1px solid var(--line);background:var(--surface2);color:var(--text);text-align:left}
.purchase-choice:hover{border-color:rgba(239,136,41,.55)}
.purchase-choice-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:rgba(239,136,41,.10);color:var(--brand)}
.purchase-choice-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.purchase-choice-text{flex:1;min-width:0}
.purchase-choice-text b{display:block;font-size:15px;margin-bottom:4px}
.purchase-choice-text span{display:block;font-size:11px;line-height:1.45;color:var(--muted)}
.purchase-difference{margin-top:12px;padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.purchase-difference b{display:block;color:var(--brand);font-size:12px;margin-bottom:5px}
.purchase-difference span{display:block;color:var(--muted);font-size:11px;line-height:1.5}
.purchase-difference strong{color:var(--text)}
.purchase-line{font-size:12px;line-height:1.55;color:var(--muted)}
.purchase-line+.purchase-line{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}


#firstAccessForm{position:relative;z-index:5}
#firstAccessForm .field{position:relative;z-index:6}
#firstAccessForm input{
 position:relative;
 z-index:7;
 pointer-events:auto!important;
 user-select:text!important;
 -webkit-user-select:text!important;
 touch-action:manipulation;
 cursor:text!important;
 opacity:1!important;
 color:var(--text)!important;
 caret-color:var(--brand)!important;
 background:var(--surface)!important;
}
#firstAccessForm input:focus{
 outline:2px solid var(--brand);
 outline-offset:1px;
 border-color:var(--brand);
}
#onboardingFormWrap{position:relative;z-index:4;pointer-events:auto!important}
#onboardingGate,#onboardingGate *{pointer-events:auto}


.editable-field{display:block!important;margin-bottom:14px!important}
.editable-field label{display:block!important;margin-bottom:7px!important}
.editable-field input{
 display:block!important;
 width:100%!important;
 min-height:50px!important;
 box-sizing:border-box!important;
 padding:13px 14px!important;
 border:1px solid #44536a!important;
 border-radius:12px!important;
 background:#1d2a3d!important;
 color:#ffffff!important;
 -webkit-text-fill-color:#ffffff!important;
 font-size:16px!important;
 line-height:22px!important;
 opacity:1!important;
 visibility:visible!important;
 pointer-events:auto!important;
 user-select:text!important;
 -webkit-user-select:text!important;
 cursor:text!important;
 position:relative!important;
 z-index:999!important;
}
.editable-field input::placeholder{color:#8794a8!important;-webkit-text-fill-color:#8794a8!important}
.editable-field input:focus{border-color:#f28a24!important;outline:2px solid rgba(242,138,36,.28)!important}
#firstAccessForm{display:block!important;position:relative!important;z-index:998!important}
#onboardingFormWrap{position:relative!important;z-index:997!important}

/* Conquistas v1.1: abas, sequências e ranking */
.achievement-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:5px;margin-bottom:14px}
.achievement-tab{border:0;border-radius:10px;background:transparent;color:var(--muted);padding:10px 6px;font-size:12px;font-weight:900;cursor:pointer}
.achievement-tab.active{background:var(--brand);color:#111}
.achievement-panel{display:none}.achievement-panel.active{display:block}
.streak-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.streak-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}
.streak-icon{font-size:22px}.streak-value{font-size:28px;font-weight:950;line-height:1;margin-top:8px}.streak-label{font-size:12px;color:var(--muted);margin-top:5px}.streak-record{font-size:10px;color:var(--muted);margin-top:8px}
.rank-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.rank-switch button{border:1px solid var(--line);background:var(--surface2);color:var(--muted);border-radius:10px;padding:9px;font-size:11px;font-weight:900}.rank-switch button.active{border-color:var(--brand);color:var(--brand);background:rgba(255,138,42,.08)}
.rank-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}.rank-row:last-child{border-bottom:0}.rank-pos{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface2);font-weight:900;font-size:12px}.rank-row.me{background:rgba(255,138,42,.06);border-radius:12px;padding-left:8px;padding-right:8px}.rank-name{font-weight:900;font-size:13px}.rank-code{font-size:10px;color:var(--muted);margin-top:2px}.rank-value{font-size:12px;font-weight:900;color:var(--brand);text-align:right}
.sequence-rule{font-size:11px;line-height:1.5;color:var(--muted);margin-top:10px}
@media(max-width:390px){.streak-grid{grid-template-columns:1fr}.achievement-tab{font-size:11px}}


@media(max-width:520px){
 .prof-student-grid{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}
 .prof-week-whats{grid-column:2 / 4;width:100%;padding:8px 10px}
}

.prof-room-side-bottom{flex-direction:column;gap:6px}
.prof-no-show-btn{
 position:relative;z-index:3;pointer-events:auto;
 display:inline-flex;align-items:center;justify-content:center;
 cursor:pointer;
 min-height:24px;padding:0 8px;border-radius:999px;
 border:1px solid rgba(239,113,128,.45);
 background:rgba(239,113,128,.12);color:#ffc0c8;
 font-size:10px;font-weight:900;line-height:1;white-space:nowrap;
}
.prof-no-show-btn:hover{background:rgba(239,113,128,.18)}
.prof-no-show-btn{pointer-events:auto!important;touch-action:manipulation;position:relative;z-index:8}
.prof-no-show-student{
 display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;
 background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);margin-bottom:12px;
}
.prof-no-show-student b{display:block;font-size:15px}
.prof-no-show-student span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.prof-warning-box{
 padding:12px;border-radius:14px;
 background:rgba(239,113,128,.10);border:1px solid rgba(239,113,128,.26);
 color:#ffd5da;font-size:13px;line-height:1.45;
}
.prof-warning-box b{display:block;color:#fff;font-size:14px;margin-bottom:6px}
.prof-no-show-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.prof-no-show-cancel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:var(--text)}
.prof-no-show-confirm{background:linear-gradient(180deg,#ef7180,#cc5160);border:none;color:#fff}
.prof-noshow-control{
 width:100%;
 margin:14px 0 18px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 padding:12px 14px;
 border-radius:14px;
 border:1px solid rgba(239,113,128,.28);
 background:rgba(239,113,128,.08);
 color:var(--text);
 text-align:left;
}
.prof-noshow-control strong{display:block;font-size:13px}
.prof-noshow-control span{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.prof-noshow-count{
 min-width:34px;height:34px;padding:0 9px;border-radius:999px;
 display:grid;place-items:center;background:rgba(239,113,128,.16);
 border:1px solid rgba(239,113,128,.35);color:#ffb9c2;font-weight:900;font-size:12px;
}
.prof-noshow-list{display:flex;flex-direction:column;gap:9px}
.prof-noshow-record{
 padding:11px;border-radius:13px;background:var(--surface);
 border:1px solid var(--line);
}
.prof-noshow-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.prof-noshow-record b{font-size:13px}
.prof-noshow-record .meta{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.45}
.prof-noshow-record .no-refund{
 display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;
 background:rgba(239,113,128,.10);border:1px solid rgba(239,113,128,.28);
 color:#ffc2ca;font-size:9px;font-weight:900;
}
.prof-noshow-actions{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:8px;
 margin-top:8px;
 flex-wrap:wrap;
}
.prof-noshow-whatsapp{
 border:1px solid rgba(54,211,126,.42);
 background:rgba(54,211,126,.12);
 color:var(--ok);
 border-radius:10px;
 padding:7px 10px;
 font-size:10px;
 font-weight:900;
 white-space:nowrap;
}
.prof-noshow-whatsapp:hover{background:rgba(54,211,126,.18)}

.prof-noshow-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px}

@media (max-width:520px){
 .prof-no-show-btn{font-size:9px;padding:0 7px;min-height:22px}
 .prof-no-show-actions{grid-template-columns:1fr}
}


.prof-nav{
 display:grid !important;
 grid-template-columns:repeat(5,minmax(0,1fr)) !important;
 align-items:center !important;
 gap:6px !important;
 padding:7px 10px calc(7px + env(safe-area-inset-bottom)) !important;
 min-height:68px !important;
 overflow:hidden !important;
}
.prof-nav button{
 width:100% !important;
 min-width:0 !important;
 min-height:48px !important;
 margin:0 !important;
 padding:6px 4px !important;
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 text-align:center !important;
 border:1px solid rgba(255,255,255,.08) !important;
 border-radius:11px !important;
 background:rgba(255,255,255,.035) !important;
 color:var(--muted) !important;
 font-size:10px !important;
 font-weight:850 !important;
 line-height:1.08 !important;
 white-space:normal !important;
 overflow-wrap:anywhere !important;
}
.prof-nav button.on{
 color:var(--brand) !important;
 border-color:rgba(239,136,41,.35) !important;
 background:rgba(239,136,41,.10) !important;
}
#profBottomLogout{
 color:#cbd5e1 !important;
}
#profBottomLogout:active{
 color:#ff9eaa !important;
 border-color:rgba(239,113,128,.35) !important;
 background:rgba(239,113,128,.08) !important;
}
@media(max-width:520px){
 .prof-nav{
  gap:4px !important;
  padding-left:6px !important;
  padding-right:6px !important;
 }
 .prof-nav button{
  min-height:46px !important;
  font-size:8.7px !important;
  padding:5px 2px !important;
  border-radius:9px !important;
 }
}


.prof-mini-card{
  cursor:default !important;
}
.prof-mini-card.schedule-exchange{
  border-color:rgba(97,169,255,.85) !important;
  background:rgba(97,169,255,.12) !important;
  box-shadow:0 0 0 1px rgba(97,169,255,.10) inset;
}
.prof-mini-card.schedule-coverage{
  border-color:rgba(239,113,128,.85) !important;
  background:rgba(239,113,128,.12) !important;
  box-shadow:0 0 0 1px rgba(239,113,128,.10) inset;
}
.prof-mini-card.schedule-exchange .teacher-name{color:#8fc5ff !important}
.prof-mini-card.schedule-coverage .teacher-name{color:#ff9eaa !important}
.prof-mini-action-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  margin-top:7px;
}
.prof-mini-action{
  min-width:0;
  min-height:37px;
  border-radius:9px;
  padding:5px 4px;
  font-size:8.5px;
  font-weight:900;
  line-height:1.08;
  text-align:center;
  white-space:normal;
}
.prof-mini-action.exchange{
  color:#9fcaff;
  border:1px solid rgba(97,169,255,.42);
  background:rgba(97,169,255,.09);
}
.prof-mini-action.coverage{
  color:#ffacb5;
  border:1px solid rgba(239,113,128,.42);
  background:rgba(239,113,128,.09);
}
.prof-mini-action.exchange:hover,.prof-mini-action.exchange:active{
  background:rgba(97,169,255,.18);
}
.prof-mini-action.coverage:hover,.prof-mini-action.coverage:active{
  background:rgba(239,113,128,.18);
}
.prof-action-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:5px;
  padding:4px 7px;
  border-radius:999px;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.03em;
}
.prof-action-status.exchange{
  color:#a9d2ff;
  border:1px solid rgba(97,169,255,.35);
  background:rgba(97,169,255,.10);
}
.prof-action-status.coverage{
  color:#ffb4bc;
  border:1px solid rgba(239,113,128,.35);
  background:rgba(239,113,128,.10);
}
#profSwapCoverageOwnForm.hidden,
#profSwapExchangeOwnForm.hidden{display:none !important}
.swap-type-explain{
  margin-bottom:12px;
  border-radius:13px;
  padding:12px;
  font-size:11px;
  line-height:1.45;
}
.swap-type-explain.exchange{
  color:#d5e8ff;
  border:1px solid rgba(97,169,255,.30);
  background:rgba(97,169,255,.08);
}
.swap-type-explain.coverage{
  color:#ffd2d7;
  border:1px solid rgba(239,113,128,.30);
  background:rgba(239,113,128,.08);
}
@media(max-width:420px){
  .prof-mini-action{font-size:8px;padding:5px 2px;min-height:36px}
}

.prof-mini-card.schedule-pending{
  border-color:rgba(244,183,64,.62) !important;
  background:rgba(244,183,64,.07) !important;
}
.prof-action-status.pending{
  color:#f7ce79;
  border:1px solid rgba(244,183,64,.35);
  background:rgba(244,183,64,.10);
}
.prof-action-status.accepted-exchange{
  color:#a9d2ff;
  border:1px solid rgba(97,169,255,.35);
  background:rgba(97,169,255,.10);
}
.prof-action-status.accepted-coverage{
  color:#ffb4bc;
  border:1px solid rgba(239,113,128,.35);
  background:rgba(239,113,128,.10);
}
.prof-accept-box{
  border:1px solid rgba(244,183,64,.35);
  background:rgba(244,183,64,.08);
  border-radius:13px;
  padding:13px;
  margin-bottom:12px;
}
.prof-accept-box b{display:block;font-size:13px;margin-bottom:5px}
.prof-accept-box span{display:block;color:var(--muted);font-size:11px;line-height:1.45}

.prof-mini-action-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:5px !important;
  width:100% !important;
  margin-top:7px !important;
}
.prof-mini-action{
  width:100% !important;
  min-width:0 !important;
  min-height:32px !important;
  height:32px !important;
  padding:0 4px !important;
  border-radius:9px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:8.8px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.prof-mini-card{
  padding:8px 6px !important;
}
.prof-mini-card b{
  font-size:13px !important;
}
.prof-mini-card .teacher-name{
  font-size:10px !important;
  line-height:1.1 !important;
}
.prof-action-status{
  width:100% !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  padding:4px 5px !important;
  font-size:7px !important;
}
@media(max-width:420px){
  .prof-mini-action{
    min-height:30px !important;
    height:30px !important;
    font-size:8px !important;
    padding:0 2px !important;
  }
  .prof-mini-action-row{gap:4px !important}
  .prof-mini-card{padding:7px 5px !important}
  .prof-mini-card b{font-size:12px !important}
  .prof-mini-card .teacher-name{font-size:9px !important}
  .prof-action-status{font-size:6.8px !important}
}

.prof-mini-action{
  font-size:9px !important;
  letter-spacing:-.01em !important;
}
.prof-mini-action.coverage{
  padding-left:2px !important;
  padding-right:2px !important;
}
.prof-action-status.pending{
  font-size:7.5px !important;
  letter-spacing:.02em !important;
}
@media(max-width:420px){
  .prof-mini-action{font-size:8.5px !important;}
}

.coach-review-prompt{
  border:1px solid rgba(97,169,255,.34);
  background:linear-gradient(135deg,rgba(97,169,255,.12),rgba(36,49,70,.92));
  border-radius:18px;
  padding:15px;
  margin-bottom:12px;
}
.coach-review-prompt .title{font-size:18px;font-weight:900;line-height:1.2}
.coach-review-prompt .meta{color:var(--muted);font-size:11px;margin-top:5px}
.coach-review-stars{display:flex;gap:7px;margin:13px 0 10px}
.coach-review-star{
  width:42px;height:42px;border-radius:11px;
  border:1px solid rgba(244,183,64,.35);
  background:rgba(244,183,64,.08);
  color:#f4b740;font-size:25px;line-height:1;
  display:grid;place-items:center;
}
.coach-review-star.on{
  background:rgba(244,183,64,.18);
  border-color:rgba(244,183,64,.72);
}
.coach-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.coach-review-sheet-stars{display:flex;gap:8px;justify-content:center;margin:10px 0 16px}
.coach-review-sheet-stars button{
  width:46px;height:46px;border-radius:12px;
  border:1px solid rgba(244,183,64,.35);
  background:rgba(244,183,64,.08);
  color:#f4b740;font-size:28px;
}
.coach-review-sheet-stars button.on{
  background:rgba(244,183,64,.20);
  border-color:#f4b740;
}
.coach-review-multi{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
}
.coach-review-check{
  display:flex;align-items:center;gap:8px;
  padding:11px;border-radius:12px;border:1px solid var(--line);
  background:var(--surface2);font-size:11px;font-weight:800;
}
.coach-review-check input{accent-color:var(--brand)}
.coach-anon-row{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
}
.coach-anon-option{
  display:flex;align-items:center;gap:8px;
  padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);
  font-size:11px;font-weight:800;
}
.coach-anon-option input{accent-color:var(--brand)}
.coach-review-lock{
  padding:12px;border:1px solid rgba(54,211,126,.28);
  background:rgba(54,211,126,.08);border-radius:13px;
  color:#c8f7dc;font-size:11px;line-height:1.45;
}
.prof-review-summary{
  background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:14px;margin:12px 0;
}
.prof-review-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.prof-review-score{font-size:24px;font-weight:900;color:#f4b740}
.prof-review-count{font-size:10px;color:var(--muted)}
.prof-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.prof-review-metric{
  border:1px solid var(--line);border-radius:11px;background:var(--surface2);
  padding:10px;
}
.prof-review-metric b{display:block;font-size:13px;color:#fff}
.prof-review-metric span{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.prof-review-item{
  border:1px solid var(--line);background:var(--surface);border-radius:14px;
  padding:12px;margin-bottom:9px;
}
.prof-review-item .top{display:flex;justify-content:space-between;gap:10px}
.prof-review-item .stars{color:#f4b740;font-size:14px;letter-spacing:1px}
.prof-review-item .who{font-size:10px;color:var(--muted);margin-top:4px}
.prof-review-item .feedback{margin-top:9px;font-size:12px;line-height:1.45;color:#e6edf6}
.prof-review-item .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.prof-review-item .tag{
  padding:4px 7px;border-radius:999px;border:1px solid rgba(97,169,255,.28);
  background:rgba(97,169,255,.08);color:#bcdcff;font-size:8px;font-weight:900;
}
.prof-review-new{
  display:inline-flex;min-width:24px;height:24px;padding:0 7px;border-radius:999px;
  align-items:center;justify-content:center;background:rgba(239,113,128,.13);
  border:1px solid rgba(239,113,128,.35);color:#ffb3bc;font-size:10px;font-weight:900;
}
@media(max-width:380px){
  .coach-review-multi,.coach-anon-row{grid-template-columns:1fr}
}

.prof-nav{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
.prof-nav button{
  position:relative !important;
  min-width:0 !important;
  padding-left:3px !important;
  padding-right:3px !important;
  font-size:8.6px !important;
}
#profBottomReviews{
  color:#f6d488 !important;
}
#profBottomReviews .prof-review-new{
  position:absolute;
  top:4px;
  right:4px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  font-size:8px;
}
@media(max-width:520px){
  .prof-nav{
    gap:3px !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }
  .prof-nav button{
    font-size:7.6px !important;
    padding:5px 1px !important;
  }
  #profBottomReviews .prof-review-new{
    top:3px;
    right:2px;
    min-width:16px;
    height:16px;
    font-size:7px;
  }
}

#sh-profreviews{
  z-index:780 !important;
}
#sh-profreviews.open{
  display:block !important;
}
#sh-profreviews .sheet-head{
  z-index:782 !important;
}
@media(min-width:901px){
  #sh-profreviews{
    max-width:620px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    box-shadow:0 0 0 100vw rgba(0,0,0,.45);
  }
}

.coach-review-improve{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.coach-review-improve .coach-review-check{
  border-color:rgba(239,113,128,.28);
  background:rgba(239,113,128,.06);
}
.coach-review-required-note{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(239,113,128,.34);
  background:rgba(239,113,128,.08);
  color:#ffb8c0;
  font-size:10px;
  font-weight:800;
  line-height:1.4;
}
.coach-review-required-note.show{display:block}
.coach-review-playlist-notice{
  margin:12px 0;
  padding:12px 13px;
  border-radius:13px;
  border:1px solid rgba(244,183,64,.34);
  background:rgba(244,183,64,.08);
  color:#f7d78f;
  font-size:11px;
  line-height:1.45;
}
.coach-review-playlist-notice b{color:#ffe7ad}
.prof-review-item .improve-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.prof-review-item .improve-tag{
  padding:4px 7px;
  border-radius:999px;
  border:1px solid rgba(239,113,128,.30);
  background:rgba(239,113,128,.08);
  color:#ffb9c1;
  font-size:8px;
  font-weight:900;
}
@media(max-width:380px){
  .coach-review-improve{grid-template-columns:1fr}
}

.coach-review-test{
  border:1px dashed rgba(239,136,41,.55);
  background:rgba(239,136,41,.07);
  border-radius:16px;
  padding:13px 14px;
  margin-bottom:12px;
}
.coach-review-test .test-title{
  font-size:14px;
  font-weight:900;
  color:#fff;
}
.coach-review-test .test-meta{
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
  line-height:1.4;
}
.coach-review-test .btn{
  margin-top:10px;
}

#coachImproveSection,#playlistLowReasonWrap{display:none}
#coachImproveSection.show,#playlistLowReasonWrap.show{display:block}
.coach-review-playlist-card{margin-top:16px;padding:14px;border-radius:16px;border:1px solid rgba(97,169,255,.28);background:rgba(97,169,255,.06)}
.coach-review-playlist-card .playlist-title{font-size:15px;font-weight:900;margin-bottom:5px}
.coach-review-playlist-card .playlist-sub{color:var(--muted);font-size:10px;line-height:1.4}
.coach-review-playlist-stars{display:flex;gap:7px;justify-content:center;margin:12px 0 4px;flex-wrap:nowrap}
.coach-review-playlist-stars button{width:43px;height:43px;flex:0 0 43px;border-radius:11px;border:1px solid rgba(244,183,64,.35);background:rgba(244,183,64,.08);color:#f4b740;font-size:25px;display:grid;place-items:center}
.coach-review-playlist-stars button.on{background:rgba(244,183,64,.20);border-color:#f4b740}
.coach-review-required-box{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(239,113,128,.34);background:rgba(239,113,128,.08)}
.coach-review-required-box label{display:block;color:#ffb8c0;font-size:10px;font-weight:900;margin-bottom:6px}
.coach-review-required-box textarea{width:100%;min-height:84px;resize:vertical;padding:11px;border-radius:11px;border:1px solid rgba(239,113,128,.32);background:var(--surface);color:var(--text)}
.prof-review-playlist{margin-top:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(244,183,64,.24);background:rgba(244,183,64,.06);font-size:10px;line-height:1.35}
.prof-review-playlist b{color:#f6d488}
@media(max-width:380px){.coach-review-sheet-stars button,.coach-review-playlist-stars button{width:40px;height:40px;flex-basis:40px;font-size:23px}}

.secretary-app{
 display:none;position:fixed;inset:0;z-index:505;background:#0b1422;color:var(--text);
 overflow:auto;padding-bottom:84px
}
.secretary-app.open{display:block}
.sec-top{
 position:sticky;top:0;z-index:6;background:rgba(11,20,34,.98);border-bottom:1px solid var(--line);
 padding:18px 16px 14px;display:flex;align-items:center;gap:12px
}
.sec-top-title b{display:block;font-size:20px}
.sec-top-title span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.sec-body{padding:18px 16px 110px;max-width:760px;margin:0 auto}
.sec-panel{display:none}.sec-panel.active{display:block}
.sec-welcome{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px}
.sec-section{font-size:18px;font-weight:900;margin:18px 0 10px}
.sec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sec-card{
 background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px
}
.sec-card h3{margin:0 0 6px;font-size:15px}
.sec-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.sec-list{display:flex;flex-direction:column;gap:9px}
.sec-row{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px
}
.sec-row-main{min-width:0}
.sec-row b{display:block;font-size:13px}
.sec-row span{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.35}
.sec-chip{
 display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;
 font-size:9px;font-weight:900;white-space:nowrap;border:1px solid var(--line);
 background:var(--surface2);color:var(--muted)
}
.sec-chip.ok{color:var(--ok);border-color:rgba(54,211,126,.3);background:rgba(54,211,126,.08)}
.sec-chip.warn{color:var(--warn);border-color:rgba(244,183,64,.3);background:rgba(244,183,64,.08)}
.sec-chip.danger{color:#ffb3bc;border-color:rgba(239,113,128,.3);background:rgba(239,113,128,.08)}
.sec-action{
 width:auto;min-width:90px;padding:8px 10px;border-radius:10px;border:1px solid rgba(239,136,41,.35);
 background:rgba(239,136,41,.08);color:#ffc286;font-size:10px;font-weight:900
}
.sec-action:disabled{opacity:.45;cursor:not-allowed}
.sec-permission-box{
 padding:16px;border:1px solid rgba(239,113,128,.28);border-radius:14px;
 background:rgba(239,113,128,.07);color:#ffb6bf;font-size:12px;line-height:1.5
}
.sec-nav{
 position:fixed;left:0;right:0;bottom:0;z-index:545;display:grid;
 grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;padding:6px 6px calc(8px + env(safe-area-inset-bottom));
 background:rgba(8,17,28,.98);border-top:1px solid var(--line)
}
.sec-nav button{
 min-width:0;min-height:48px;border:1px solid rgba(255,255,255,.07);border-radius:10px;
 background:rgba(255,255,255,.03);color:var(--muted);font-size:8px;font-weight:850;
 line-height:1.05;padding:5px 2px
}
.sec-nav button.on{color:var(--brand);border-color:rgba(239,136,41,.35);background:rgba(239,136,41,.09)}
.sec-nav button[hidden]{display:none!important}
.sec-review-item{
 background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:9px
}
.sec-review-item .top{display:flex;justify-content:space-between;gap:10px}
.sec-review-item .stars{color:#f4b740;letter-spacing:1px}
.sec-review-item .who{font-size:10px;color:var(--muted);margin-top:3px}
.sec-review-item .feedback{font-size:11px;line-height:1.4;margin-top:8px}
.sec-locked{color:#ffb3bc}
.sec-open{color:var(--ok)}
@media(max-width:600px){
 .sec-body{max-width:440px}
 .sec-grid{grid-template-columns:1fr}
 .sec-nav button{font-size:7px}
}

.unit-option-list{display:flex;flex-direction:column;gap:8px}
.unit-option{
  width:100%;border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:12px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:var(--text)
}
.unit-option.on{border-color:rgba(239,136,41,.55);background:rgba(239,136,41,.09)}
.unit-option b{display:block;font-size:13px}.unit-option span{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.unit-option .unit-check{color:var(--brand);font-size:18px;font-weight:900}

.header-row{
  grid-template-columns:62px 1fr 136px !important;
  align-items:center !important;
}
.student-code-area{
  justify-self:end;
  width:136px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.student-code-area .student-code-badge{
  width:100%;
  box-sizing:border-box;
  justify-self:auto !important;
}
.student-unit-header{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  width:100%;
  min-height:28px;
  padding:5px 6px;
  box-sizing:border-box;
  border:1px solid rgba(239,136,41,.28);
  border-radius:9px;
  background:rgba(239,136,41,.06);
}
.student-unit-label{
  min-width:0;
  flex:1;
  color:#ffc488;
  font-size:8.5px;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.student-unit-change-btn{
  flex:0 0 auto;
  border:0;
  border-left:1px solid rgba(239,136,41,.25);
  background:transparent;
  color:var(--brand);
  font-size:8px;
  font-weight:900;
  padding:2px 0 2px 5px;
}
.student-unit-change-btn.hidden{
  display:none !important;
}
@media(max-width:380px){
  .header-row{grid-template-columns:54px 1fr 126px !important;gap:7px !important}
  .student-code-area{width:126px}
  .student-unit-label{font-size:7.8px}
  .student-unit-change-btn{font-size:7.4px}
}


/* Fila de espera automática v1.1 */
.waitlist-opportunity-card{margin:0 0 12px;padding:15px;border-radius:17px;border:1px solid rgba(244,183,64,.48);background:linear-gradient(135deg,rgba(244,183,64,.15),rgba(36,49,70,.96))}
.waitlist-opportunity-card .status{font-size:10px;font-weight:950;letter-spacing:.08em;color:#f7ce79;text-transform:uppercase}
.waitlist-opportunity-card .headline{font-size:20px;font-weight:950;line-height:1.15;margin-top:7px;color:#fff}
.waitlist-opportunity-card .class-meta{font-size:12px;color:#dce5f2;margin-top:7px}
.waitlist-opportunity-card .deadline-label{font-size:11px;color:var(--muted);margin-top:12px}
.waitlist-opportunity-card .deadline-time{font-size:28px;font-weight:950;color:#fff;margin-top:3px}
.waitlist-opportunity-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.waitlist-opportunity-actions .btn{margin:0}
.waitlist-leave-confirm{margin:12px 0;padding:14px;border-radius:15px;border:1px solid rgba(239,113,128,.30);background:rgba(239,113,128,.08)}
.waitlist-leave-confirm[hidden]{display:none!important}
.waitlist-leave-confirm b{display:block;font-size:14px;line-height:1.35}
.waitlist-leave-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.waitlist-leave-actions .btn{margin:0}
.waitlist-home-opportunity{margin:0 0 12px}
.waitlist-role-card{background:#0d2237;border:1px solid #214364;border-radius:15px;padding:12px;margin-top:10px}
.waitlist-role-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
.waitlist-role-stat{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:11px;padding:9px;text-align:center}
.waitlist-role-stat b{display:block;font-size:14px;color:#fff}.waitlist-role-stat span{display:block;font-size:8px;color:var(--muted);margin-top:3px}
.waitlist-role-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,.07)}
.waitlist-role-row:first-child{border-top:0}.waitlist-role-pos{font-weight:950;color:var(--brand)}
.waitlist-role-name b{display:block;font-size:12px}.waitlist-role-name span{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.waitlist-role-status{font-size:8px;font-weight:900;padding:5px 7px;border-radius:999px;border:1px solid var(--line);white-space:nowrap;text-align:center}
.waitlist-role-status.active{color:#f7ce79;border-color:rgba(244,183,64,.40);background:rgba(244,183,64,.09)}
.waitlist-role-status.waiting{color:#9fcaff;border-color:rgba(97,169,255,.32);background:rgba(97,169,255,.08)}
.waitlist-role-status.done{color:var(--ok);border-color:rgba(54,211,126,.32);background:rgba(54,211,126,.08)}
.waitlist-class-picker{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.waitlist-class-choice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:13px;padding:11px}
.waitlist-class-choice.on{border-color:rgba(239,136,41,.55);background:rgba(239,136,41,.08)}
.waitlist-class-choice b{display:block;font-size:12px}.waitlist-class-choice span{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.waitlist-history-list{display:flex;flex-direction:column;gap:7px;margin-top:9px}
.waitlist-history-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px}
.waitlist-history-item b{display:block;font-size:11px}.waitlist-history-item span{display:block;color:var(--muted);font-size:9px;line-height:1.35;margin-top:3px}
.waitlist-opportunity-mini{margin-top:8px;padding:9px 10px;border-radius:11px;border:1px solid rgba(244,183,64,.32);background:rgba(244,183,64,.07)}
.waitlist-opportunity-mini b{font-size:11px}.waitlist-opportunity-mini span{display:block;font-size:9px;color:var(--muted);margin-top:3px}
@media(max-width:420px){.waitlist-opportunity-actions,.waitlist-leave-actions{grid-template-columns:1fr}.waitlist-role-row{grid-template-columns:38px minmax(0,1fr) auto}}


/* Questionário de qualidade enviado pelo ADM */
.quality-survey-card{
  border:1px solid rgba(97,169,255,.42);
  background:linear-gradient(135deg,rgba(97,169,255,.16),rgba(239,136,41,.08));
  border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 10px 26px rgba(0,0,0,.18)
}
.quality-survey-card .quality-kicker{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#9fcaff}
.quality-survey-card .quality-title{font-size:20px;font-weight:900;line-height:1.15;margin-top:6px}
.quality-survey-card .quality-sub{font-size:12px;color:var(--muted);line-height:1.45;margin-top:6px}
.quality-survey-card .btn{margin-top:12px}
.quality-question{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px;margin-bottom:11px}
.quality-question>b{display:block;font-size:14px;line-height:1.4;margin-bottom:10px}
.quality-rating{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.quality-rating label{display:grid;place-items:center;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface2);font-weight:900;cursor:pointer}
.quality-rating input{display:none}
.quality-rating label:has(input:checked){border-color:var(--brand);background:rgba(239,136,41,.14);color:#ffd3aa}
.quality-question textarea{width:100%;min-height:92px;resize:vertical;border:1px solid var(--line);border-radius:11px;background:var(--surface2);color:var(--text);padding:11px}
.subscription-progress-note{margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(97,169,255,.07);border:1px solid rgba(97,169,255,.22);font-size:10px;color:var(--muted);line-height:1.45}

