/* MAESTRO.AI themed iPad/PWA display — Phase 3 API and pairing unchanged */
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#142b4d;background:linear-gradient(140deg,#fffbf5,#fff6eb);overflow:auto}
header{display:flex;align-items:center;justify-content:space-between;padding:16px 3vw;background:#fff;border-bottom:3px solid #ff8900;box-shadow:0 3px 20px rgba(142,76,12,.07);gap:20px}.brand{display:flex;align-items:center;gap:14px}.logo{width:54px;height:54px;background:#fff5e9;border:1px solid #ffdfbf;border-radius:13px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#f26800;font-size:28px}.logo img{width:100%;height:100%;object-fit:contain}.logo img[hidden],.logo-fallback[hidden]{display:none}.eyebrow{font-size:12px;letter-spacing:1.4px;color:#f06908;font-weight:850}h1{font-size:17px;margin:6px 0 0;color:#1b3557}h2{font-size:clamp(36px,5vw,68px);margin:0;line-height:1.1}.clock{text-align:right}.clock strong{font-size:clamp(24px,3vw,42px);color:#0f2a50}.clock small{display:block;color:#8795a8}
main#displayScreen{display:grid;grid-template-columns:1.2fr 1fr;gap:17px;padding:2.7vh 3vw;min-height:calc(100vh - 141px)}main#displayScreen[hidden],main#pairScreen[hidden]{display:none}.roomCard,.scheduleCard,.panel{background:#fff;border:1px solid #f2deca;border-radius:17px;padding:3vw;min-width:0;box-shadow:0 8px 35px rgba(133,80,23,.055)}.roomCard{border-top:4px solid #ff8200}.room-title-group{display:flex;gap:16px;align-items:center;margin:20px 0 15px}.room-icon{flex:0 0 100px;width:100px;height:100px;background:#fff5e6;border:1px solid #ffe2c0;border-radius:14px;display:flex;justify-content:center;align-items:center}.room-icon img{max-width:97%;max-height:97%;object-fit:contain}.room-icon img[hidden],.room-icon-fallback[hidden]{display:none}.room-icon-fallback{font-size:48px;color:#d87e23}
.status{display:inline-block;color:#07874d;background:#e0f8e9;border-radius:12px;padding:11px 18px;font-size:clamp(22px,3.5vw,42px);font-weight:850;margin:8px 0}.status.busy{background:#fff0e4;color:#de5c14}.status.soon{background:#fff3d0;color:#a57605}.status.offline{background:#ffe5e5;color:#c92f41}.hint{color:#798ca4;font-size:14px;line-height:1.55}.divider{height:1px;background:#f2e6dc;margin:20px 0}h3{margin:10px 0;font-size:23px;color:#1e3351}.scheduleCard h3{margin:0 0 15px;color:#f06908;letter-spacing:1.2px;font-size:14px}.session{padding:14px 0;border-bottom:1px solid #f3ebe2}.session strong{color:#ed6a11;margin-right:14px}.session small{display:block;color:#7e90a7;margin-top:6px}.pairing{max-width:760px;margin:7vh auto;text-align:center;border-top:4px solid #ff8200}.pairing .label{margin:25px 0 0;color:#2b4261;font-size:22px}#pairCode{font-size:clamp(52px,10vw,95px);font-weight:900;letter-spacing:.14em;color:#f26800;margin:22px 0}#pairStatus{font-size:19px;color:#7088a1}footer{display:flex;justify-content:space-between;padding:11px 3vw;color:#8292a7;font-size:11px;gap:12px}#dimOverlay{position:fixed;pointer-events:none;inset:0;background:#000;opacity:0;transition:opacity .25s}
@media(max-width:700px){main#displayScreen{display:block;height:auto}.roomCard,.scheduleCard{margin-bottom:15px;padding:20px}.room-icon{flex-basis:76px;width:76px;height:76px}.room-icon-fallback{font-size:34px}footer{display:block;line-height:1.7}.clock small{font-size:10px}h2{font-size:36px}}

/* v3 MAESTRO distance-readable display: colors, badges and pairing unchanged. */
main#displayScreen{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:stretch}
.roomCard,.scheduleCard{overflow-wrap:break-word}
.room-title-group{margin:18px 0 13px}
.room-icon{flex-basis:112px;width:112px;height:112px}
h2#room{font-size:clamp(54px,6.2vw,100px);font-weight:900;letter-spacing:-.035em;line-height:1.04}
.status{font-size:clamp(26px,3vw,40px)}
#current{font-size:clamp(32px,3.3vw,51px);line-height:1.17;font-weight:850;margin:13px 0 0}
.instructor-primary{font-size:clamp(21px,2.2vw,33px);color:#173454;font-weight:800;line-height:1.23;margin:16px 0 0}
.training-time{font-size:clamp(17px,1.6vw,23px);color:#57728c;font-weight:700;line-height:1.3;margin:9px 0 0}
.next-title{font-size:clamp(26px,2.65vw,38px);line-height:1.2;font-weight:850;color:#1e3351;margin:13px 0 0}
.instructor-secondary{font-size:clamp(19px,1.9vw,28px);line-height:1.25;font-weight:800;color:#294766;margin:12px 0 0}
.scheduleCard h3{font-size:17px}
.scheduleCard{max-height:calc(100vh - 154px);overflow-y:auto}
.session{padding:16px 0}
.session strong{display:block;font-size:clamp(16px,1.25vw,20px);margin:0 0 8px}
.session .session-course{display:block;color:#193453;font-weight:850;font-size:clamp(21px,2vw,29px);line-height:1.24}
.session small{font-size:clamp(18px,1.55vw,23px);color:#486580;font-weight:700;line-height:1.25}
@media(max-width:900px){
 main#displayScreen{grid-template-columns:1fr;min-height:0}
 .scheduleCard{max-height:none;overflow-y:visible}
 h2#room{font-size:clamp(46px,8vw,76px)}
 #current{font-size:clamp(30px,5vw,44px)}
 .instructor-primary{font-size:clamp(22px,3vw,29px)}
 .session .session-course{font-size:clamp(22px,3vw,28px)}
}
@media(max-height:700px) and (min-width:901px){
 header{padding-top:9px;padding-bottom:9px}
 main#displayScreen{padding-top:12px;padding-bottom:12px;min-height:calc(100vh - 114px)}
 .roomCard,.scheduleCard{padding:24px}
 .room-title-group{margin:10px 0}
 .room-icon{flex-basis:88px;width:88px;height:88px}
 h2#room{font-size:65px}
 #current{font-size:35px}
 .instructor-primary{font-size:24px;margin-top:10px}
 .divider{margin:14px 0}
 .scheduleCard{max-height:calc(100vh - 125px)}
}
@media(max-height:900px) and (min-width:901px){
  header{padding-top:11px;padding-bottom:11px}
  main#displayScreen{padding-top:14px;padding-bottom:8px;min-height:calc(100vh - 120px)}
  .roomCard,.scheduleCard{padding:22px}
  .room-title-group{margin:11px 0 10px}
  .room-icon{flex-basis:98px;width:98px;height:98px}
  h2#room{font-size:clamp(54px,6vw,83px)}
  .status{margin:5px 0;font-size:34px;padding:9px 14px}
  .divider{margin:13px 0}
  #current{font-size:clamp(32px,3vw,43px);margin-top:9px}
  .instructor-primary{font-size:clamp(22px,2.1vw,29px);margin-top:10px}
  .training-time{margin-top:7px}
  .next-title{font-size:clamp(26px,2.6vw,35px);margin-top:9px}
  .instructor-secondary{font-size:clamp(20px,1.85vw,26px);margin-top:9px}
  .scheduleCard{max-height:calc(100vh - 128px)}
}

/* v4 — Full-width MAESTRO classroom signage; no Up Next or agenda. */
body{overflow:hidden}
main#displayScreen{display:block;min-height:0;height:calc(100vh - 132px);padding:16px 2vw 8px}
.roomCard{height:100%;overflow:hidden;border-top:6px solid #ff7900;padding:20px 32px;background:#fffefa}
.signHead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:165px}
.roomNameArea{flex:1;min-width:0}
.room-title-group{margin:6px 0 0;gap:19px}
.room-icon{flex:0 0 128px;width:128px;height:128px}
h2#room{font-size:115px;line-height:1.02;letter-spacing:-3px}
.signState{flex:none;max-width:30%;padding-top:20px}
.status{font-size:32px;margin:0;white-space:normal;text-align:center}
.roomCard>.hint{font-size:20px;line-height:1.2;font-weight:800;color:#607996}
.roomCard>.divider{margin:15px 0 17px}
.roomCard>.eyebrow,#instructorBlock>.eyebrow{font-size:18px;letter-spacing:2.3px}
#current{font-size:102px;line-height:1.04;letter-spacing:-1px;margin:10px 0 0;color:#142c4c;font-weight:900;overflow-wrap:break-word}
#instructorBlock{margin-top:17px}
#instructorBlock[hidden]{display:none}
.instructor-primary{font-size:61px;line-height:1.08;margin:7px 0 0;font-weight:850;color:#204060;overflow-wrap:break-word}
.training-time{font-size:22px;color:#a5590a;font-weight:800;margin-top:12px}
@media(max-height:700px) and (orientation:landscape){
 header{padding:9px 2vw}
 main#displayScreen{height:calc(100vh - 100px);padding:9px 1.5vw 4px}
 .roomCard{padding:13px 21px}
 .signHead{min-height:117px}
 .room-icon{width:84px;height:84px;flex-basis:84px}
 h2#room{font-size:70px}
 .roomCard>.hint{font-size:16px}
 .roomCard>.divider{margin:7px 0 10px}
 .roomCard>.eyebrow,#instructorBlock>.eyebrow{font-size:13px}
 #current{font-size:65px;margin-top:7px}
 #instructorBlock{margin-top:8px}
 .instructor-primary{font-size:42px;margin-top:4px}
 .training-time{font-size:17px;margin-top:6px}
 .status{font-size:24px;padding:7px 12px}
 .signState{padding-top:10px}
}
@media(orientation:portrait){
 main#displayScreen{height:calc(100vh - 132px)}
 .roomCard{padding:20px}
 .signHead{display:block;min-height:210px}
 .room-icon{width:85px;height:85px;flex-basis:85px}
 h2#room{font-size:68px}
 .signState{padding-top:12px;max-width:none}
 #current{font-size:68px}
 .instructor-primary{font-size:43px}
}
