:root{--gateway-blue:#79b7f4;--gateway-bright:#3e9df5;--gateway-ice:#e9f5ff;--gateway-navy:#061c2d;--gateway-ink:#102433;--gateway-line:rgba(92,170,238,.42);--gateway-white:#fff}
body{background:linear-gradient(145deg,#f7fbff 0%,#e8f3fb 52%,#d9ebf8 100%);color:var(--gateway-ink)}
.topbar{background:linear-gradient(110deg,#041725,#0a2d47 70%,#0b3f67);border-bottom:3px solid var(--gateway-blue);box-shadow:0 10px 30px rgba(5,28,45,.22)}
.topbar strong{letter-spacing:.02em}.topbar a{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.65rem 1rem}.topbar a:hover{background:var(--gateway-blue);color:#051b2c}
.shell{max-width:1120px}.card{border:1px solid rgba(73,153,220,.22);box-shadow:0 18px 45px rgba(23,67,99,.11);border-radius:20px}.card h2{color:#082b47}.card h3{color:#176ba9;border-bottom:1px solid #d8eaf8;padding-bottom:.45rem}
input,textarea,select{border:1px solid #b8d4e8;border-radius:10px;background:#fbfdff}input:focus,textarea:focus,select:focus{outline:3px solid rgba(62,157,245,.17);border-color:#3e9df5}button{background:linear-gradient(135deg,#177ec5,#3fa4f4);border-radius:999px;box-shadow:0 8px 18px rgba(28,128,199,.22)}
.check-option{display:flex!important;align-items:center;gap:.7rem;min-height:48px;padding:.75rem 1rem;background:#eef7ff;border:1px solid #c9e3f6;border-radius:12px}.check-option input{width:20px;height:20px;margin:0}.help{color:#587085}
.board{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 80% -10%,rgba(121,183,244,.38),transparent 42%),linear-gradient(145deg,#061b2b 0%,#0a3150 48%,#071e31 100%);padding:2.2vh 2.2vw;min-height:100vh}
.board::before{content:"";position:absolute;z-index:-1;inset:8% 20% 5%;background:url('/assets/gateway-jaguar-watermark.png?v=3') center/contain no-repeat;opacity:.06;filter:drop-shadow(0 18px 35px rgba(0,0,0,.3));pointer-events:none}
.board::after{content:"GATEWAY STEM";position:absolute;z-index:-1;right:2.4vw;bottom:1.2vh;color:rgba(255,255,255,.045);font-weight:950;font-size:clamp(3rem,8vw,10rem);letter-spacing:.08em;line-height:1;pointer-events:none}
.board-top{grid-template-columns:minmax(180px,.8fr) minmax(380px,2.3fr) minmax(240px,1fr);gap:1.2vw;margin-bottom:1.7vh}
.panel{border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.93);box-shadow:0 18px 45px rgba(0,0,0,.22);backdrop-filter:blur(14px);color:#0b2940}
.panel.day{border-left:8px solid var(--gateway-blue)}.panel.day small{color:#327eb7;letter-spacing:.16em}.panel.day strong{font-weight:950}
.panel.course{display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#79b7f4,#4f9fe4);color:#061b2b;text-align:center;border:1px solid #a8d5fb;text-shadow:0 1px rgba(255,255,255,.35)}
.panel.course strong{font-size:clamp(2rem,3.8vw,5.1rem);font-weight:950;line-height:.95;letter-spacing:-.045em}.panel.course small{display:block;margin-top:.5rem;font-size:clamp(.75rem,1.1vw,1.25rem);font-weight:900;letter-spacing:.14em}
.panel.date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7vh}.panel.date>strong{font-size:clamp(1.35rem,2vw,2.6rem)}
.pass-status{display:inline-flex;align-items:center;justify-content:center;padding:.48rem .8rem;border-radius:999px;font-size:clamp(.62rem,.88vw,1rem);font-weight:950;letter-spacing:.08em}.pass-status.open{background:#d7f6e4;color:#0c6338;border:1px solid #8cd3ab}.pass-status.closed{background:#ffe1e3;color:#972335;border:1px solid #f3a4ad}
.board-body{gap:1.2vw;height:calc(100vh - 18.5vh);align-items:start}.right{gap:1.4vh;grid-template-rows:none!important;grid-auto-rows:auto;align-content:start}.board-card{height:max-content;max-height:calc(100vh - 19vh);background:rgba(255,255,255,.94);border:1px solid rgba(151,207,249,.55);border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.22);backdrop-filter:blur(10px);overflow:auto}.board-card .label{margin:-1.4vh -1.4vw 1.2vh;padding:.45vh 1.4vw .55vh;background:linear-gradient(100deg,#0a2b43,#0d456d);border-bottom:3px solid var(--gateway-blue);color:#fff!important;text-shadow:0 2px 3px rgba(0,0,0,.45);letter-spacing:.025em}.board-card.is-empty{padding-bottom:.7vh}.board-card.is-empty .board-text,.board-card.is-empty ol,.board-card.is-empty ul{display:none}.board-card ol li::marker,.board-videos li::marker{color:#3b98df;font-weight:900}.board-card a{color:#096ab0}
.lesson-qr{position:fixed;z-index:20;right:2.8vw;bottom:2.6vh;display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem .55rem .55rem;color:#08283e;text-decoration:none;background:rgba(255,255,255,.96);border:2px solid var(--gateway-blue);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.28)}.lesson-qr[hidden]{display:none}.lesson-qr img{width:76px;height:76px;border-radius:8px}.lesson-qr span{font-size:.7rem;letter-spacing:.1em;line-height:1.45}.lesson-qr strong{font-size:.82rem}
.fullscreen-button{position:fixed;z-index:30;left:1.3rem;bottom:1.1rem;padding:.62rem 1rem;opacity:.28;transition:.2s}.fullscreen-button:hover{opacity:1}.display-note{right:1rem;top:.5rem;bottom:auto;opacity:.25}.display-note:hover{opacity:1}
:fullscreen .fullscreen-button{opacity:.12}:fullscreen .display-note{display:none}
@media(max-width:900px){.board-top{grid-template-columns:1fr 2fr}.panel.date{grid-column:1/-1;flex-direction:row}.board-body{height:auto;min-height:76vh}.lesson-qr{position:static;width:max-content;margin:1rem 0 0 auto}.fullscreen-button{display:none}}

/* Blackboard display update v4 */
.board-top{grid-template-columns:minmax(250px,1.12fr) minmax(340px,2fr) minmax(145px,.68fr) minmax(220px,1fr);gap:1vw}
.day-qr{display:grid!important;grid-template-columns:auto 1fr;gap:.7vw;padding:.55vh .7vw}.day-copy{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center}.day-qr-link[hidden]{display:none}.day-qr-link{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#176ba9;text-decoration:none;font-weight:950}.day-qr-link img{width:clamp(72px,5.7vw,112px);height:clamp(72px,5.7vw,112px);background:#fff;border-radius:8px}.day-qr-link small{font-size:clamp(.5rem,.55vw,.72rem);letter-spacing:.08em!important;margin-top:.15rem}.day-qr-link[hidden]+.day-copy{grid-column:1/-1}
.panel.course strong{font-size:clamp(1.8rem,calc(3.1vw * var(--board-scale,1)),4.5rem)}
.panel.friday{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-top:4px solid var(--gateway-blue)}.panel.friday small{font-size:clamp(.55rem,.7vw,.85rem);font-weight:950;letter-spacing:.14em;color:#327eb7}.panel.friday strong{font-size:clamp(1.1rem,1.45vw,1.8rem);font-weight:950;line-height:1.05;margin:.35rem 0 .18rem}.panel.friday strong.no-school{color:#a42d3f}.panel.friday span{font-size:clamp(.7rem,.8vw,1rem);font-weight:800;color:#587085}
.panel.date{gap:.45vh}.panel.date>strong{font-size:clamp(1.25rem,1.8vw,2.35rem)}.panel.date>small{font-size:clamp(.52rem,.68vw,.78rem);font-weight:800;color:#587085;text-transform:uppercase;letter-spacing:.06em}.pass-status{padding:.58rem .95rem;font-size:clamp(.9rem,1.25vw,1.45rem);line-height:1}
.board-card .label{font-size:clamp(20px,calc(2.2vw * var(--board-scale,1)),58px)}.agenda ol{font-size:clamp(22px,calc(2.35vw * var(--board-scale,1)),62px)}.board-text{font-size:clamp(21px,calc(2.15vw * var(--board-scale,1)),58px)}.board-videos{font-size:clamp(17px,calc(1.7vw * var(--board-scale,1)),46px)}
.bell-countdown{margin-top:1.1rem;padding:.7rem 1rem;border-radius:12px;background:linear-gradient(100deg,#0a2b43,#0d456d);color:#fff;font-size:clamp(1rem,calc(1.4vw * var(--board-scale,1)),2rem);font-weight:950;letter-spacing:.12em;text-align:center}
.intermission{position:absolute;inset:13vh 0 0;z-index:3}.board-body{transition:opacity .45s ease}.board.intermission-mode .board-body{opacity:0;pointer-events:none}.board.intermission-mode::before{opacity:.3;inset:13% 25% 3%}.board.intermission-mode::after{color:rgba(255,255,255,.12)}
.font-controls{position:fixed;z-index:30;left:1.3rem;bottom:4.3rem;display:flex;align-items:center;gap:.3rem;opacity:.28;transition:.2s}.font-controls:hover{opacity:1}.font-controls button{padding:.55rem .7rem;min-width:45px}.font-controls span{padding:.45rem .55rem;border-radius:8px;background:rgba(255,255,255,.92);color:#0a2b43;font-size:.62rem;font-weight:950;letter-spacing:.08em}
.class-controls{position:fixed;z-index:30;left:50%;bottom:1rem;transform:translateX(-50%);display:flex;gap:.35rem;opacity:.3;transition:.2s}.class-controls:hover{opacity:1}.class-controls button{padding:.58rem .9rem;background:#163d59;box-shadow:0 7px 18px rgba(0,0,0,.24)}.class-controls button.is-live{background:#13834e}.class-controls button:first-child{border-radius:999px 8px 8px 999px}.class-controls button:last-child{border-radius:8px 999px 999px 8px}
@media(max-width:1050px){.board-top{grid-template-columns:1.2fr 2fr .8fr}.panel.date{grid-column:1/-1;flex-direction:row}.fullscreen-button,.font-controls,.class-controls{display:none}}

/* Blackboard display and communications update v6 */
.board{grid-template-rows:11vh 1fr;gap:2.4vh}.board-top{margin-bottom:0}
.panel.date{color:#fff;border-color:rgba(255,255,255,.42);transition:background .35s ease,box-shadow .35s ease}.panel.date.passes-open{background:linear-gradient(145deg,#0d7a43,#16a562);box-shadow:0 18px 45px rgba(5,95,52,.34)}.panel.date.passes-closed{background:linear-gradient(145deg,#a91f36,#d84350);box-shadow:0 18px 45px rgba(116,18,35,.34)}.panel.date>strong,.panel.date>small{color:#fff}.panel.date .pass-status{padding:.2rem 0;border:0;background:transparent;color:#fff;font-size:clamp(1rem,1.35vw,1.6rem);text-shadow:0 2px 4px rgba(0,0,0,.24)}
.board-videos{font-size:clamp(21px,calc(2.15vw * var(--board-scale,1)),58px);line-height:1.18}
.global-alert{position:fixed;z-index:50;left:50%;top:1rem;transform:translateX(-50%);width:min(92vw,1200px);display:flex;align-items:center;justify-content:center;gap:1rem;padding:.85rem 1.2rem;border:2px solid rgba(255,255,255,.75);border-radius:16px;color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.38);font-size:clamp(1rem,1.35vw,1.5rem)}.global-alert[hidden]{display:none}.global-alert strong{font-size:1.1em;text-transform:uppercase;letter-spacing:.05em}.global-alert.info{background:#126da9}.global-alert.important{background:#c17400}.global-alert.urgent{background:#b51630;animation:alertPulse 1.6s ease-in-out infinite}@keyframes alertPulse{50%{box-shadow:0 14px 45px rgba(215,25,55,.7)}}
.announcement-display{position:absolute;z-index:4;inset:4vh 10vw 5vh;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.2vw;align-content:center}.announcement-display[hidden]{display:none}.announcement-display article{padding:1.5rem 1.8rem;border:2px solid rgba(121,183,244,.65);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 20px 55px rgba(0,0,0,.28);color:#102433}.announcement-display h2{margin:0 0 .8rem;padding-bottom:.55rem;border-bottom:4px solid var(--gateway-blue);color:#0a3655;font-size:clamp(1.5rem,2.3vw,3.3rem);text-transform:uppercase}.announcement-display ul{margin:.2rem 0;padding-left:1.3em;font-size:clamp(1.25rem,1.85vw,2.5rem);line-height:1.3}.announcement-display li::marker{color:#3e9df5}
.board-controls{position:fixed;z-index:60;left:1.2rem;bottom:1rem}.controls-toggle{padding:.62rem 1rem;opacity:.32;transition:.2s}.board-controls:hover .controls-toggle,.controls-toggle[aria-expanded="true"]{opacity:1}.controls-menu{position:absolute;left:0;bottom:calc(100% + .55rem);width:205px;padding:.55rem;border:1px solid rgba(255,255,255,.25);border-radius:15px;background:rgba(5,28,45,.96);box-shadow:0 18px 45px rgba(0,0,0,.4);backdrop-filter:blur(12px)}.controls-menu[hidden]{display:none}.controls-menu button{display:block;width:100%;margin:.22rem 0;padding:.66rem .75rem;border-radius:9px;background:#174a6d;text-align:left;box-shadow:none}.controls-menu button:hover{background:#2a78aa}.controls-menu button.is-live{background:#13834e}.controls-menu hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:.45rem 0}
.admin-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #d8eaf8}.admin-item:last-child{border-bottom:0}.admin-item p{margin:.35rem 0;color:#587085}.admin-item form{margin:0}.danger-button{background:#b72a3e}.admin-alert-card{border-top:5px solid #d84350}
@media(max-width:1050px){.board{gap:1.5vh}.board-controls{display:block}.announcement-display{inset:3vh 4vw}.global-alert{top:.5rem}.controls-menu{width:190px}}

/* Blackboard workflow and display update v7 */
.global-alert{top:50%;transform:translate(-50%,-50%);width:min(86vw,1050px);min-height:180px;flex-direction:column;gap:.75rem;padding:2rem 2.5rem;text-align:center;border-radius:24px;box-shadow:0 0 0 100vmax rgba(2,18,30,.68),0 28px 80px rgba(0,0,0,.58);font-size:clamp(1.25rem,2vw,2.35rem)}.global-alert strong{font-size:1.35em}.global-alert.urgent{animation:alertPulseCentered 1.6s ease-in-out infinite}@keyframes alertPulseCentered{50%{box-shadow:0 0 0 100vmax rgba(2,18,30,.72),0 28px 90px rgba(215,25,55,.85)}}
.panel.date[role="button"]{cursor:pointer;user-select:none}.panel.date[role="button"]:focus-visible{outline:4px solid #fff;outline-offset:3px}
.panel.friday small{font-size:clamp(.72rem,.9vw,1.05rem)}.panel.friday strong{font-size:clamp(1.35rem,1.9vw,2.25rem)}.panel.friday span{font-size:clamp(.85rem,1vw,1.2rem)}
.board-body[hidden],.right[hidden],.board-card[hidden]{display:none!important}.board-body.no-agenda,.board-body.only-agenda{grid-template-columns:1fr}.board-body.no-agenda .right{width:100%}.agenda li ul{margin:.25em 0 .15em;padding-left:1.25em;list-style:disc}.agenda li ul li{padding-left:.08em}.agenda li ul li::marker{color:#3b98df}
.copy-lesson{margin:1.2rem 0;padding:1rem;border:1px solid #c9e3f6;border-radius:14px}.copy-lesson legend{padding:0 .5rem;color:#0a3655;font-weight:800}.copy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem}.pass-command-card{border-top:5px solid #0d7a43}.pass-command-status{display:inline-block;padding:.55rem .9rem;border-radius:999px;font-weight:950;letter-spacing:.04em}.pass-command-status.automatic{background:#d7f6e4;color:#0c6338}.pass-command-status.closed{background:#ffe1e3;color:#972335}.pass-command-actions{display:grid;grid-template-columns:minmax(300px,1fr) auto;gap:1rem;align-items:end}.pass-command-actions form{margin:0}
@media(max-width:1050px){.global-alert{top:50%}.pass-command-actions{grid-template-columns:1fr}.panel.friday small{font-size:.85rem}.panel.friday strong{font-size:1.5rem}}

/* Blackboard distance-readability and balanced quadrant update v8 */
.board{grid-template-rows:14vh minmax(0,1fr);gap:1.8vh;padding:1.6vh 1.8vw}.board-top{height:14vh;grid-template-columns:minmax(290px,1.18fr) minmax(430px,2.15fr) minmax(190px,.8fr) minmax(270px,1.08fr);gap:1vw}.panel{padding:.8vh 1vw}.day-qr{padding:.7vh .8vw}.day-qr-link img{width:clamp(86px,6.1vw,126px);height:clamp(86px,6.1vw,126px)}.day-qr-link small{font-size:clamp(.62rem,.72vw,.92rem)}.panel.day small{font-size:clamp(.82rem,1vw,1.22rem)}.panel.day strong{font-size:clamp(1.65rem,2.35vw,3rem)}.panel.course strong{font-size:clamp(2.25rem,3.65vw,5rem)}.panel.course small{margin-top:.35rem;font-size:clamp(1rem,1.35vw,1.75rem);letter-spacing:.12em}.panel.friday small{font-size:clamp(.88rem,1.05vw,1.3rem)}.panel.friday strong{font-size:clamp(1.65rem,2.15vw,2.7rem)}.panel.friday span{font-size:clamp(1rem,1.15vw,1.4rem)}.panel.date>strong{font-size:clamp(1.65rem,2.15vw,2.8rem)}.panel.date .pass-status{font-size:clamp(1.15rem,1.55vw,1.95rem)}.panel.date>small{font-size:clamp(.7rem,.85vw,1rem)}
.quad-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2vw;height:auto;min-height:0;align-items:stretch}.quad-board.single-column{grid-template-columns:1fr}.quad-column{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:1.3vh;min-width:0;min-height:0;height:100%;overflow:hidden}.quad-column[hidden],.quad-board[hidden]{display:none!important}.quad-column .board-card{flex:0 0 auto;height:auto;min-height:0;max-height:none;overflow:hidden;padding:1.15vh 1.2vw}.quad-column .board-card .label{margin:-1.15vh -1.2vw .9vh;padding:.35vh 1.2vw .45vh;font-size:clamp(22px,calc(2vw * var(--effective-scale,var(--board-scale,1))),54px)}.quad-column .agenda ol{font-size:clamp(20px,calc(2.05vw * var(--effective-scale,var(--board-scale,1))),56px);line-height:1.14}.quad-column .board-text,.quad-column .board-videos{font-size:clamp(19px,calc(1.92vw * var(--effective-scale,var(--board-scale,1))),52px);line-height:1.16}.quad-column .board-videos{margin-top:.1em;margin-bottom:.1em}.quad-column .agenda li ul{font-size:.83em;line-height:1.12}
.board.intermission-mode .board-body{display:none!important}.controls-menu .control-link{display:block;width:100%;box-sizing:border-box;margin:.22rem 0;padding:.72rem .75rem;border-radius:9px;background:#287caf;color:#fff;font-size:.92rem;font-weight:800;text-align:left;text-decoration:none}.controls-menu .control-link:hover{background:#3e9df5;color:#061c2d}.display-note{display:none}
@media(max-width:1250px){.board-top{grid-template-columns:minmax(235px,1.08fr) minmax(330px,1.8fr) minmax(165px,.76fr) minmax(235px,1fr)}.day-qr-link img{width:76px;height:76px}.panel.course strong{font-size:2.55rem}}

/* V8.1 distance readability hotfix */
.panel.course #nextBell{font-size:clamp(1.25rem,1.72vw,2.15rem);font-weight:950;letter-spacing:.09em;line-height:1.05}.panel.friday strong{font-size:clamp(1.95rem,2.65vw,3.25rem);line-height:1}.panel.friday small{font-size:clamp(.95rem,1.15vw,1.4rem)}

/* V9 monthly lesson planner, presentation links, and signup */
.calendar-card{padding:1.25rem;overflow:hidden}.month-heading{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center}.month-heading small,.editor-heading small{color:#1683cd;font-size:.75rem;font-weight:950;letter-spacing:.16em}.month-heading h2{margin:.15rem 0 .4rem;font-size:clamp(1.7rem,3vw,2.7rem)}.month-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e5f3ff;color:#0b639f;font-size:2rem;font-weight:900;text-decoration:none}.month-arrow:hover{background:#79b7f4;color:#061c2d}.calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.35rem 0 1rem;color:#587085;font-size:.9rem}.calendar-actions a,.editor-heading a{padding:.55rem .9rem;border-radius:999px;background:#e9f5ff;color:#0b639f;font-weight:800;text-decoration:none}.lesson-calendar{overflow-x:auto}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));min-width:945px}.calendar-weekdays strong{padding:.55rem;text-align:center;color:#5b7489;font-size:.72rem;letter-spacing:.12em}.calendar-day{min-height:154px;padding:.55rem;border:1px solid #d6e7f3;background:#fbfdff}.calendar-day:nth-child(7n+1){border-radius:12px 0 0 12px}.calendar-day:nth-child(7n){border-radius:0 12px 12px 0}.calendar-day.outside{opacity:.42}.calendar-day.weekend{background:#f0f5f8}.calendar-day.selected-day{background:#e9f5ff;box-shadow:inset 0 0 0 3px #3e9df5}.calendar-day header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.calendar-day header>strong{font-size:1.05rem;color:#143a55}.calendar-day header span{padding:.2rem .42rem;border-radius:999px;background:#dcefff;color:#0b639f;font-size:.62rem;font-weight:950;letter-spacing:.07em}.calendar-day header span.no-school{background:#f7e8ea;color:#a02c3d}.calendar-periods{display:grid;gap:.32rem}.calendar-period{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:.35rem;padding:.37rem .42rem;border-radius:7px;background:#eef6fc;color:#17364d;text-decoration:none;font-size:.72rem}.calendar-period b{color:#1683cd}.calendar-period span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-period:hover,.calendar-period.selected{background:#167fc4;color:#fff}.calendar-period:hover b,.calendar-period.selected b{color:#fff}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.editor-heading h2{margin:.2rem 0}.lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid #d8eaf8}.lesson-nav a{display:flex;align-items:center;padding:.8rem 1rem;border-radius:12px;background:#e9f5ff;color:#0b639f;font-weight:850;text-decoration:none}.lesson-nav a:last-child{justify-content:flex-end;text-align:right}.agenda-link{color:#075f9d!important;font-weight:800;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.12em}.demo-signup a,.button-link{display:inline-block;padding:.75rem 1rem;border-radius:999px;background:#0d6fae;color:#fff;font-weight:850;text-decoration:none}.signup-shell{max-width:880px}.signup-success{text-align:center}.status-approved,.status-pending{display:inline-block;padding:.35rem .6rem;border-radius:999px;font-size:.75rem;font-weight:900}.status-approved{background:#d7f6e4;color:#0c6338}.status-pending{background:#fff0cf;color:#8b5700}.inline-form{margin:0}.inline-form button{padding:.45rem .75rem;font-size:.78rem}table{border-collapse:collapse}th,td{padding:.65rem;border-bottom:1px solid #d8eaf8;vertical-align:middle}
@media(max-width:720px){.calendar-card{padding:.8rem}.calendar-actions{align-items:flex-start;flex-direction:column}.editor-heading{align-items:flex-start;flex-direction:column}.lesson-nav{grid-template-columns:1fr}.lesson-nav a:last-child{justify-content:flex-start;text-align:left}}

/* V10 simplified teacher workflow */
.lesson-editor-card{border-top:5px solid #3e9df5}.lesson-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.lesson-box-editor{padding:1rem;border:1px solid #c9e3f6;border-radius:16px;background:#f8fcff}.lesson-box-editor label:first-child{margin-bottom:.7rem}.lesson-box-editor label:first-child input{font-size:1.08rem;font-weight:900;color:#0a3655;border-width:2px}.lesson-box-editor textarea{min-height:150px}.agenda-editor textarea{min-height:230px}.lesson-options{margin:1rem 0;border:1px solid #c9e3f6;border-radius:14px;background:#f4faff}.lesson-options>summary,.setup-card>summary{cursor:pointer;list-style:none;font-weight:900;color:#0b639f}.lesson-options>summary{padding:1rem}.lesson-options>summary::after{content:'＋';float:right}.lesson-options[open]>summary::after{content:'−'}.options-content{padding:0 1rem 1rem}.options-content code{padding:.15rem .35rem;border-radius:5px;background:#e4f1fa}.setup-card{padding:0;overflow:hidden}.setup-card>summary{padding:1.25rem 1.5rem}.setup-card>summary span{display:flex;flex-direction:column;gap:.25rem}.setup-card>summary strong{font-size:1.25rem;color:#082b47}.setup-card>summary small{font-weight:500;color:#587085}.setup-card>summary::after{content:'Open Setup ＋';float:right;margin-top:-2.1rem;padding:.45rem .7rem;border-radius:999px;background:#e9f5ff;font-size:.78rem}.setup-card[open]>summary::after{content:'Close Setup −'}.setup-content{padding:0 1.5rem 1.5rem;border-top:1px solid #d8eaf8}.course-default-list{display:grid;gap:.8rem}.course-default-form{padding:1rem;border:1px solid #d8eaf8;border-radius:14px;background:#fbfdff}.course-default-form h3{margin-top:0}.course-default-form button{padding:.6rem 1rem}.board-settings-form{margin-top:1.5rem;padding-top:1rem;border-top:2px solid #d8eaf8}
@media(max-width:760px){.lesson-editor-grid{grid-template-columns:1fr}.setup-card>summary::after{display:none}}

/* V10 lightweight classroom hall pass */
.issue-pass-button{padding:.28rem .62rem;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.16);box-shadow:none;font-size:clamp(.6rem,.72vw,.82rem);letter-spacing:.06em}.issue-pass-button:hover{background:#fff;color:#0b2940}.active-pass{position:fixed;z-index:42;top:calc(15.6vh + .5rem);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1rem;min-width:min(620px,82vw);padding:.6rem .75rem .6rem 1rem;border:2px solid #7bd7a2;border-radius:16px;background:rgba(8,52,42,.96);color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.38);backdrop-filter:blur(12px)}.active-pass[hidden]{display:none}.active-pass div{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;align-items:center;flex:1}.active-pass small{grid-column:1/-1;color:#9ee7bd;font-size:.62rem;font-weight:900;letter-spacing:.13em}.active-pass strong{font-size:1.2rem}.active-pass span{font-size:.85rem;font-weight:800;letter-spacing:.05em}.active-pass time{min-width:70px;font-size:1.45rem;font-weight:950;font-variant-numeric:tabular-nums;text-align:center}.active-pass button{padding:.52rem .8rem;background:#fff;color:#0c6338;box-shadow:none}.active-pass.pass-warning{border-color:#ffd56a;background:rgba(100,69,4,.96)}.active-pass.pass-warning small{color:#ffe49c}.active-pass.pass-overdue{border-color:#ff9ba7;background:rgba(119,16,35,.97)}.active-pass.pass-overdue small{color:#ffc0c7}.pass-dialog{width:min(92vw,520px);padding:0;border:0;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.55);color:#102433}.pass-dialog::backdrop{background:rgba(2,18,30,.72);backdrop-filter:blur(4px)}.pass-dialog form{padding:1.4rem}.pass-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.pass-dialog-heading small{color:#1683cd;font-size:.7rem;font-weight:950;letter-spacing:.14em}.pass-dialog-heading h2{margin:.18rem 0}.dialog-close{padding:.2rem .55rem;background:#e9f5ff;color:#0b639f;box-shadow:none;font-size:1.5rem}.pass-dialog label{display:block;margin:.8rem 0;font-weight:800}.pass-dialog input,.pass-dialog select{width:100%;box-sizing:border-box;margin-top:.35rem;padding:.8rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.2rem}.dialog-actions button:first-child{background:#e4edf3;color:#17364d;box-shadow:none}
@media(max-width:760px){.active-pass{top:16vh;min-width:86vw}.active-pass div{grid-template-columns:1fr}.active-pass small{grid-column:auto}.active-pass span{font-size:.7rem}}

/* V10.1 compact expandable hall-pass edge tab */
.active-pass{top:52%;right:0;left:auto;transform:translateY(-50%);min-width:0;width:210px;box-sizing:border-box;padding:.65rem 1.15rem .65rem .85rem;border-right:0;border-radius:16px 0 0 16px;cursor:pointer;transition:width .25s ease,background .25s ease;gap:.6rem}.active-pass div{display:block;min-width:0}.active-pass div small,.active-pass div span,.active-pass>button{display:none}.active-pass div strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.active-pass time{min-width:56px;font-size:1.2rem}.pass-expand-hint{display:block!important;position:absolute;right:.3rem;top:50%;transform:translateY(-50%);font-size:1.2rem!important;font-weight:950;opacity:.8}.active-pass.expanded{width:390px;padding:1rem 1.35rem 1rem 1rem;gap:.85rem}.active-pass.expanded div{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:center}.active-pass.expanded div small{display:block;grid-column:1/-1}.active-pass.expanded div span{display:block}.active-pass.expanded>button{display:block}.active-pass.expanded .pass-expand-hint{transform:translateY(-50%) rotate(180deg)}.active-pass:focus-visible{outline:4px solid #fff;outline-offset:3px}
@media(max-width:760px){.active-pass{top:50%;min-width:0;width:190px}.active-pass.expanded{width:min(390px,92vw)}.active-pass.expanded div{grid-template-columns:1fr}}

/* V10.2 optional agenda link manager */
.agenda-links-toggle{margin-top:.7rem;padding:.58rem .9rem;background:#e5f3ff;color:#0b639f;box-shadow:none;font-size:.82rem}.agenda-links-toggle.is-open{background:#177ec5;color:#fff}.agenda-links-panel{margin-top:.7rem;padding:.85rem;border:1px solid #bcdcf2;border-radius:12px;background:#fff}.agenda-links-panel[hidden]{display:none}.agenda-links-heading{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.7rem}.agenda-links-heading strong{color:#0a3655}.agenda-links-heading small{color:#587085;line-height:1.35}.agenda-link-row{display:grid!important;grid-template-columns:minmax(120px,.8fr) minmax(200px,1.4fr);align-items:center;gap:.7rem;margin:.5rem 0}.agenda-link-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17364d;font-size:.82rem;font-weight:800}.agenda-link-row input{margin:0;padding:.62rem;font-size:.82rem}
@media(max-width:760px){.agenda-link-row{grid-template-columns:1fr;gap:.25rem}}

/* V10.3 compact pass badge and project branding */
.brand{justify-content:center}.brand-logo{display:block;width:min(100%,560px);height:auto;margin:0 auto 1.25rem}.topbar-brand{display:flex;align-items:center;gap:1rem;min-width:0}.topbar-logo{display:block;width:clamp(180px,18vw,285px);height:auto;max-height:58px;object-fit:contain;object-position:left center}.topbar-brand strong{white-space:nowrap}.controls-logo{display:block;width:100%;height:auto;box-sizing:border-box;margin:0 0 .45rem;padding:.35rem .45rem;border-radius:9px;background:#fff}
.active-pass{width:124px;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;padding:.58rem 1rem .58rem .55rem}.active-pass div{width:100%;flex:0 0 auto}.active-pass div strong{width:100%;font-size:.92rem;line-height:1.05;text-align:center}.active-pass time{min-width:0;font-size:1.08rem;line-height:1.05}.active-pass.expanded{width:390px;flex-direction:row;align-items:center;justify-content:flex-start;gap:.85rem;padding:1rem 1.35rem 1rem 1rem}.active-pass.expanded div{width:auto;flex:1}.active-pass.expanded time{min-width:56px;font-size:1.2rem}
@media(max-width:760px){.topbar-logo{width:170px}.topbar-brand strong{display:none}.active-pass{width:116px}.active-pass.expanded{width:min(390px,92vw);flex-direction:row}.active-pass.expanded div{grid-template-columns:1fr}}

/* V10.4 teacher resource uploads and presentation wrapper */
.resource-uploader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center;margin:.75rem 0;padding:.75rem;border:1px dashed #8fc5e9;border-radius:12px;background:#f2f9ff}.resource-uploader input{min-width:0;margin:0;padding:.55rem;background:#fff}.resource-uploader button{padding:.65rem .9rem;white-space:nowrap}.resource-uploader .help{grid-column:1/-1;min-height:1.2em}.presentation-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;background:#061c2d}.presentation-bar{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;border-bottom:3px solid #79b7f4;background:linear-gradient(110deg,#041725,#0a2d47 70%,#0b3f67);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.3)}.presentation-bar>img{width:clamp(170px,18vw,280px);height:56px;box-sizing:border-box;object-fit:contain;object-position:left center}.presentation-bar>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.95rem,1.25vw,1.35rem)}.presentation-bar nav{display:flex;align-items:center;gap:.55rem;margin-left:auto}.presentation-bar a,.presentation-bar button{padding:.6rem .85rem;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:#174a6d;color:#fff;font-size:.85rem;font-weight:850;text-decoration:none;box-shadow:none;white-space:nowrap}.presentation-bar a:hover,.presentation-bar button:hover{background:#79b7f4;color:#061c2d}.presentation-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;background:radial-gradient(circle at center,#103e61,#041725)}.presentation-stage>iframe{width:100%;height:100%;border:0;background:#fff}.presentation-stage>img{display:block;max-width:100%;max-height:100%;object-fit:contain}.embed-fallback{position:absolute;right:1rem;bottom:1rem;margin:0;padding:.55rem .75rem;border-radius:9px;background:rgba(4,23,37,.82);color:#fff;font-size:.78rem;pointer-events:none}
@media(max-width:760px){.resource-uploader{grid-template-columns:1fr}.presentation-bar{align-items:flex-start;flex-wrap:wrap}.presentation-bar>img{width:180px}.presentation-bar>strong{order:3;width:100%}.presentation-bar nav{flex-wrap:wrap}.presentation-bar a,.presentation-bar button{font-size:.72rem}}

/* V11 Fantroy attendance scanner and final jaguar branding */
.topbar-logo{width:clamp(250px,24vw,390px);height:68px;max-height:none}.attendance-shell{max-width:1320px}.attendance-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:1.4rem 0;padding:1.5rem 1.75rem;border-radius:22px;background:linear-gradient(120deg,#071d31,#103f66);color:#fff;box-shadow:0 20px 50px rgba(6,31,51,.2)}.attendance-hero small,.attendance-list-card header small{color:#74c6f2;font-size:.74rem;font-weight:950;letter-spacing:.16em}.attendance-hero h1{margin:.25rem 0;font-size:clamp(2rem,4vw,3.6rem)}.attendance-hero p{margin:.25rem 0;color:#cfe9f8}.attendance-count{display:grid;place-items:center;flex:0 0 125px;width:125px;height:125px;border:3px solid #75c9f5;border-radius:50%;background:rgba(111,190,233,.12)}.attendance-count strong{font-size:3.2rem;line-height:1}.attendance-count span{font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.attendance-grid{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.6fr);gap:1.2rem;align-items:start}.attendance-scan-card{position:sticky;top:1rem;border-top:6px solid #6fbee9}.attendance-settings{display:grid;grid-template-columns:1fr 1.3fr;gap:.75rem}.attendance-scan-card label{display:block;font-weight:850}.attendance-scan-card input,.attendance-scan-card select{width:100%;box-sizing:border-box;margin-top:.35rem}.scan-label{margin-top:1rem}.scan-label input{padding:1rem;border:3px solid #1683cd;font-size:1.45rem;font-weight:850;letter-spacing:.05em}.scan-label input:focus{outline:5px solid rgba(111,190,233,.28)}.scan-submit{width:100%;margin-top:.8rem;padding:1rem;font-size:1.1rem}.attendance-list-card{overflow:hidden}.attendance-list-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.attendance-list-card h2{margin:.15rem 0}.attendance-table-wrap{overflow-x:auto}.attendance-table{width:100%}.attendance-table th{padding:.65rem;background:#0b3551;color:#fff;font-size:.72rem;letter-spacing:.1em;text-align:left;text-transform:uppercase}.attendance-table td{padding:.68rem}.attendance-table tbody tr:nth-child(even){background:#f1f8fd}.attendance-empty{padding:2rem!important;color:#60788c;text-align:center}.attendance-remove{padding:.22rem .55rem;border-radius:8px;background:#fbe6e8;color:#9b2639;box-shadow:none;font-size:1.1rem}.attendance-remove:hover{background:#c92f48;color:#fff}
@media(max-width:850px){.topbar-logo{width:230px;height:58px}.attendance-hero{align-items:flex-start}.attendance-count{flex-basis:90px;width:90px;height:90px}.attendance-count strong{font-size:2.25rem}.attendance-grid{grid-template-columns:1fr}.attendance-scan-card{position:static}.attendance-settings{grid-template-columns:1fr}.attendance-list-card>header{align-items:flex-start;flex-direction:column}}

/* V12 attendance roster search and document uploads */
.attendance-or{display:flex;align-items:center;gap:.65rem;margin:.75rem 0;color:#6a8193;font-size:.7rem;font-weight:950;letter-spacing:.16em}.attendance-or::before,.attendance-or::after{content:'';height:1px;flex:1;background:#cfe1ed}.attendance-upload{margin-top:1rem;padding:.85rem;border:1px solid #c9e3f6;border-radius:12px;background:#f7fbfe}.attendance-upload summary{cursor:pointer;color:#0b639f;font-weight:900}.attendance-upload label{margin-top:.8rem}.attendance-upload button{width:100%;margin-top:.7rem}.attendance-documents{margin-top:1.1rem;padding-top:1rem;border-top:1px solid #d8eaf8}.attendance-documents h3{margin:.1rem 0 .65rem}.attendance-documents a{display:flex;align-items:center;gap:.6rem;margin:.35rem 0;padding:.65rem .75rem;border-radius:10px;background:#eef7fd;color:#0b639f;font-weight:800;text-decoration:none}.attendance-documents a:hover{background:#dcefff}.attendance-documents small{margin-left:auto;color:#657d90;font-weight:700}

/* V13 mobile hall-pass companion */
.mobile-pass-page{min-height:100vh;background:linear-gradient(165deg,#031522,#0a3555 60%,#126fa8);color:#fff}.mobile-pass-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:2px solid rgba(121,183,244,.55);background:rgba(2,18,30,.9)}.mobile-pass-header img{width:min(270px,68vw);height:58px;object-fit:contain;object-position:left center}.mobile-pass-header a{padding:.6rem .8rem;border-radius:999px;background:#174a6d;color:#fff;font-weight:850;text-decoration:none}.mobile-pass-content{width:min(100% - 2rem,560px);margin:0 auto;padding:1.5rem 0 3rem}.mobile-pass-content>small{color:#79c7f2;font-size:.72rem;font-weight:950;letter-spacing:.15em}.mobile-pass-content h1{margin:.25rem 0 1.25rem;font-size:clamp(2.5rem,12vw,4.5rem)}.phone-pass-form,.phone-active-pass{padding:1.2rem;border:1px solid rgba(135,205,246,.48);border-radius:22px;background:rgba(255,255,255,.97);color:#102433;box-shadow:0 22px 55px rgba(0,0,0,.28)}.phone-pass-form label{display:block;margin:.9rem 0;font-weight:900}.phone-pass-form input,.phone-pass-form select{width:100%;box-sizing:border-box;margin-top:.4rem;padding:1rem;border:2px solid #b8d7eb;border-radius:13px;background:#fff;font-size:1.05rem}.phone-pass-form input:focus,.phone-pass-form select:focus{outline:4px solid rgba(80,176,232,.3);border-color:#1683cd}.issue-phone-pass,.return-phone-pass{width:100%;margin-top:.8rem;padding:1.05rem;border-radius:14px;font-size:1.1rem}.issue-phone-pass{background:#1683cd}.phone-active-pass{text-align:center}.phone-active-pass>small{color:#b12940;font-size:.75rem;font-weight:950;letter-spacing:.14em}.phone-active-pass h2{margin:.45rem 0 .15rem;font-size:2rem}.phone-active-pass p{margin:.1rem 0;color:#587085;font-size:1.15rem}.phone-active-pass time{display:block;margin:1rem 0;font-size:4.5rem;font-weight:950;font-variant-numeric:tabular-nums;color:#0b639f}.return-phone-pass{background:#16854c}.phone-pass-note{color:#cbe6f6;font-size:.8rem;text-align:center}
.phone-live-class{display:flex;flex-direction:column;gap:.15rem;margin:-.45rem 0 1rem;padding:.8rem 1rem;border:1px solid rgba(121,199,242,.45);border-radius:14px;background:rgba(3,21,34,.55)}.phone-live-class small{color:#79c7f2;font-size:.63rem;font-weight:950;letter-spacing:.14em}.phone-live-class strong{font-size:1.05rem}.phone-live-class span{color:#cbe6f6;font-size:.75rem}.phone-pass-form :disabled{cursor:not-allowed;opacity:.55}

/* Keep a naturally sized header above the flexible classroom content. */
.board{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;gap:clamp(14px,2vh,26px)}
.board-top{display:grid;flex:0 0 auto;height:auto;min-height:14vh;align-items:stretch;grid-template-columns:minmax(0,1.18fr) minmax(0,2.15fr) minmax(0,.8fr) minmax(0,1.08fr);margin:0}
.board-top .panel{min-width:0;height:auto;box-sizing:border-box}
.panel.course strong{font-size:clamp(28px,3.15vw,64px);line-height:1.04;overflow-wrap:break-word}
.panel.course small{line-height:1.2;letter-spacing:.04em}
.board-body.quad-board{flex:1 1 0;min-height:0;height:auto;margin:0}
.board.intermission-mode .board-top{flex-shrink:0}
@media(max-width:900px){.board-top{grid-template-columns:1.15fr 1.85fr}.board-top .panel.date{grid-column:auto}.board-top .panel.course strong{font-size:clamp(24px,3.5vw,42px)}}
/* Simple teacher workflow and small-window classroom display. */
.copy-grid{display:flex;flex-wrap:wrap;gap:8px}.copy-grid .check-option{min-height:0;padding:7px 10px;font-size:14px}.copy-lesson{margin:12px 0;padding:12px;border:1px solid #c9e3f6;border-radius:12px}.copy-lesson small{display:block;margin-top:8px;color:#587085}.course-default-item{padding:10px;border:1px solid #c9e3f6;border-radius:10px;margin:8px 0}.course-default-item summary{cursor:pointer;font-weight:700}.wizard-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.wizard-step[hidden]{display:none!important}.compact-card[hidden]{display:none!important}
.board.compact-mode{padding:10px;gap:10px}.compact-mode .board-top{min-height:0;display:flex;border-radius:12px;align-items:center;padding:10px;gap:12px}.compact-mode.compact-open .board-top{background:#087a42}.compact-mode.compact-closed .board-top{background:#b62938}.compact-mode .board-top .day,.compact-mode .board-top .friday,.compact-mode #nextBell,.compact-mode #date,.compact-mode #passReason,.compact-mode #issuePassButton{display:none!important}.compact-mode .panel.course,.compact-mode .panel.date{background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0;color:white}.compact-mode .panel.course{flex:1}.compact-mode .panel.course strong{font-size:clamp(20px,4vw,36px);line-height:1.1}.compact-mode .panel.date{flex:0 0 auto}.compact-mode .pass-status{font-size:clamp(14px,2.5vw,22px);color:white!important;background:transparent!important;border:0!important}.compact-mode .board-body{display:none!important}.compact-mode .compact-card{flex:1;min-height:0;overflow:hidden}.compact-card .board-card{max-height:none;min-height:0;height:100%;padding:15px;border-radius:12px;overflow:hidden}.compact-card .label{font-size:clamp(19px,calc(4vw * var(--effective-scale,1)),34px);margin:0 0 10px;padding:6px 10px}.compact-card ol,.compact-card .board-text,.compact-card .board-videos{font-size:clamp(16px,calc(3.6vw * var(--effective-scale,1)),30px);line-height:1.2}.compact-mode .board-controls{bottom:8px;left:8px}.compact-mode .controls-toggle{padding:6px 12px;font-size:12px}.compact-mode .controls-logo{display:none}.compact-mode .intermission{inset:85px 0 0}
/* Teacher Studio: clear hierarchy, quiet editing surfaces, one setup workspace. */
.teacher-studio{background:#eef3f8;color:#18334b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.teacher-studio .shell{max-width:1320px;margin:0 auto;padding:30px 28px 60px}.teacher-studio .topbar{padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#071d30;border-bottom:1px solid #20415d;box-shadow:0 4px 20px #08233b12}.teacher-studio .topbar-brand{display:flex;align-items:center;gap:16px}.teacher-studio .topbar-logo{height:48px;width:auto;max-width:190px;object-fit:contain}.teacher-studio .topbar strong{color:#fff;font-size:16px;white-space:nowrap}.teacher-studio .topbar a{font-size:13px;padding:9px 13px;color:#d9eaff;background:#ffffff08;border:1px solid #ffffff1c;border-radius:9px;text-decoration:none}.teacher-studio .topbar nav{display:flex;gap:8px;flex-wrap:wrap}.studio-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.studio-hero small{font-size:11px;letter-spacing:.16em;color:#2b79af;font-weight:800}.studio-hero h1{font-size:clamp(26px,3vw,38px);letter-spacing:-.035em;margin:7px 0 8px;color:#0b2941;line-height:1.1}.studio-hero p{color:#657b8f;font-size:15px;margin:0}.studio-hero>a{border:1px solid #c8d9e7;border-radius:10px;padding:12px 17px;background:white;color:#244d6b;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap}.studio-hero>a span{margin-left:12px}.teacher-studio .card{border:1px solid #d9e3ec;border-radius:16px;background:#fff;box-shadow:0 5px 22px #173a5910;margin-bottom:22px}.teacher-studio .calendar-card{padding:20px}.teacher-studio .month-heading h2{font-size:23px;letter-spacing:-.02em}.teacher-studio .month-heading small,.teacher-studio .editor-heading small{font-size:10px;letter-spacing:.12em}.teacher-studio .month-arrow{width:36px;height:36px;font-size:25px;border-radius:9px;background:#edf4f9}.teacher-studio .calendar-actions{justify-content:flex-start;margin:10px 0 14px;gap:8px}.teacher-studio .calendar-actions span{margin-left:auto;font-size:12px}.teacher-studio .calendar-actions a{border-radius:7px;font-size:12px;padding:7px 12px;background:#eef5fa}.teacher-studio .calendar-weekdays,.teacher-studio .calendar-grid{grid-template-columns:repeat(7,minmax(135px,1fr))}.teacher-studio .calendar-day{border-color:#e3eaf1;border-radius:0!important;padding:10px;min-height:130px}.teacher-studio .calendar-day.selected-day{background:#f0f8ff;box-shadow:inset 0 3px #318bd0}.teacher-studio .calendar-period{padding:7px 5px;background:#f4f7fa;gap:4px;font-size:11px;border-radius:6px}.teacher-studio .calendar-period.selected{background:#146da7}.teacher-studio .lesson-editor-card{padding:24px;border-top:0}.teacher-studio .editor-heading h2{font-size:24px;letter-spacing:-.025em}.teacher-studio .editor-heading a{border-radius:9px;font-size:13px;background:#e6f3fc}.teacher-studio .help{font-size:12px;line-height:1.5}.teacher-studio .lesson-editor-grid{gap:14px}.teacher-studio .lesson-box-editor{padding:16px;border:1px solid #dbe6ef;border-radius:12px;background:#f8fafc}.teacher-studio input,.teacher-studio textarea,.teacher-studio select{box-sizing:border-box;width:100%;padding:10px 12px;font-size:14px;font-family:inherit;border:1px solid #cfdee9;border-radius:8px;background:white;color:#16354d}.teacher-studio label{display:block;font-size:12px;font-weight:600;color:#526b81}.teacher-studio label input,.teacher-studio label textarea,.teacher-studio label select{margin-top:6px}.teacher-studio .lesson-box-editor label:first-child input{background:transparent;border:0;border-bottom:1px solid #dce6ee;border-radius:0;padding:3px 0 10px;font-size:17px;font-weight:750}.teacher-studio .lesson-box-editor textarea{min-height:150px;resize:vertical;line-height:1.5}.teacher-studio .agenda-editor textarea{min-height:210px}.teacher-studio button{border:0;border-radius:9px;background:#146ea9;padding:11px 17px;color:white;font-weight:700;font-size:13px;box-shadow:none;cursor:pointer}.teacher-studio .agenda-links-toggle{background:#e7f2f9;color:#176da4;font-size:12px;border:1px solid #cde2f0;padding:8px 12px}.teacher-studio .copy-lesson{background:white;border:0;border-top:1px solid #e3ebf1;padding:16px 0 0}.teacher-studio .copy-lesson legend{font-size:12px;font-weight:750;color:#506a80}.teacher-studio .copy-grid .check-option{display:flex!important;align-items:center;background:#f2f7fb;border:1px solid #dce8f1;border-radius:7px;font-size:11px;padding:6px 9px}.teacher-studio .check-option input{width:15px;height:15px;margin:0}.teacher-studio .copy-lesson small{font-size:10px;line-height:1.5}.lesson-save-row{display:flex;align-items:center;gap:16px;margin:18px 0 0}.lesson-save-row span{font-size:12px;color:#768a9b}.teacher-studio .lesson-nav a{font-size:12px;border-radius:8px;background:#f1f6fa;padding:10px 13px}.studio-settings{padding:0;overflow:hidden}.studio-settings>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:22px 24px;cursor:pointer}.studio-settings>summary small{display:block;font-size:10px;letter-spacing:.15em;color:#4282ae;font-weight:800;margin-bottom:6px}.studio-settings>summary strong{display:block;font-size:22px;color:#0b2941}.studio-settings>summary div>span{display:block;font-size:12px;color:#6a8195;margin-top:6px}.setup-chevron{font-size:24px;color:#5b83a0}.studio-settings-form{padding:0 24px 24px;border-top:1px solid #e3ebf1}.studio-tabs{display:flex;gap:4px;border-bottom:1px solid #e3ebf1;padding:14px 0;margin-bottom:22px}.teacher-studio .studio-tabs button{background:transparent;color:#637d91;border-radius:8px;padding:10px 18px}.teacher-studio .studio-tabs button.active{background:#e7f3fb;color:#126aa4}.settings-intro h2{font-size:21px;margin:0 0 7px;letter-spacing:-.02em}.settings-intro p{font-size:12px;color:#6b8193;margin:0 0 20px;line-height:1.5}.studio-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.studio-day>h3{font-size:11px;letter-spacing:.13em;color:#4f7796;border:0;margin:0 0 12px}.studio-course{background:#f8fafc;border:1px solid #dfe8f0;border-radius:10px;padding:14px;margin-bottom:10px}.studio-course-name span{font-size:10px;letter-spacing:.07em;color:#7a91a4}.studio-course-name input{font-size:15px;font-weight:700}.course-titles{margin-top:11px}.course-titles>summary{font-size:11px;font-weight:600;color:#5d7b93;cursor:pointer}.title-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.studio-display-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide-field{grid-column:1/-1}.wide-field small{display:block;font-size:11px;color:#7c91a3;margin-top:7px}.studio-switches{margin-top:22px}.studio-switches>label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #e5edf3}.studio-switches strong{font-size:14px;color:#1f405a}.studio-switches span{display:block;font-size:11px;color:#7990a2;margin-top:5px}.studio-switches input{width:22px;height:22px;accent-color:#1681be}.pin-status{font-size:13px;color:#2d6b80;background:#edf7fb;padding:14px;border-radius:9px;max-width:520px;margin-bottom:20px}.pin-field{max-width:400px}.studio-save{display:flex;align-items:center;justify-content:space-between;padding-top:20px;margin-top:22px;border-top:1px solid #e0eaf2}.studio-save span{font-size:12px;color:#8194a4}[data-studio-panel][hidden]{display:none!important}@media(max-width:850px){.teacher-studio .topbar{flex-direction:column;align-items:flex-start}.teacher-studio .topbar-brand{flex-wrap:wrap}.teacher-studio .shell{padding:20px 14px}.studio-course-grid{grid-template-columns:1fr}.studio-hero{align-items:flex-start}.studio-hero h1{font-size:26px}.teacher-studio .calendar-actions span{display:none}.studio-display-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.lesson-save-row span{display:none}}

.studio-hero p{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.studio-hero p>a{color:#51768f;text-decoration:none;font-size:13px}.studio-hero p>a.board-qr-action{display:inline-flex;background:#146ea9;color:white;border-radius:8px;padding:10px 14px;font-weight:700}.studio-hero h1{font-size:clamp(24px,2.7vw,36px)}
.hall-disabled #passStatus,.hall-disabled #passReason,.hall-disabled #issuePassButton{display:none!important}.compact-mode.hall-disabled .board-top{background:#103d60!important}.phone-pass-shell{max-width:540px;margin:0 auto;padding:24px 16px;font-family:system-ui}.phone-pass-shell>img{width:100%;max-height:130px;object-fit:contain;background:#082c46;padding:15px;border-radius:15px}.phone-pass-shell h1{font-size:26px}.phone-pass-shell .card{padding:20px}.phone-pass-shell label{display:block;margin:16px 0}.phone-pass-shell input,.phone-pass-shell select{width:100%;padding:16px;font-size:18px;box-sizing:border-box}.phone-pass-shell button{width:100%;padding:16px;font-size:17px;margin-top:12px}.phone-pass-shell #phoneTimer{display:block;font-size:38px}.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.roster-upload{padding:18px;background:#f1f7fb;border-radius:12px}.roster-upload button{margin-top:12px}.pass-center-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.pass-center-header nav{display:flex;gap:12px;flex-wrap:wrap}.pass-center .card{padding:20px;overflow-x:auto;margin-top:20px}.pass-table{width:100%;font-size:14px}.pass-table small{display:block;margin-top:5px;color:#688397}.pass-stage{padding:5px 9px;border-radius:15px;background:#e3f1fc}.stage-arrived{background:#dcf6e8}.stage-sent_back{background:#fff0c5}.staff-grants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.staff-grants form{padding:15px;background:#f3f8fc;border-radius:12px}.staff-grants strong,.staff-grants small{display:block}.staff-grants select{width:100%;margin:10px 0}.staff-grants input[type=checkbox]{width:auto}.pass-center [hidden],.phone-pass-shell [hidden]{display:none!important}@media(max-width:700px){.roster-grid,.staff-grants{grid-template-columns:1fr}.pass-center-header{flex-direction:column;align-items:flex-start}}

/* Date remains readable when optional hall passes are disabled or loading. */
.board:not(.compact-mode) .panel.date:not(.passes-open):not(.passes-closed){background:#79b7f4;color:#102f46;border-color:#a9d4ff}
.board:not(.compact-mode) .panel.date:not(.passes-open):not(.passes-closed)>strong,
.board:not(.compact-mode) .panel.date:not(.passes-open):not(.passes-closed)>small{color:#102f46;text-shadow:none}
.board.hall-disabled .panel.date{cursor:default}

/* Approved jaguar artwork, shared with the navigation and app icons. */
.controls-logo{max-height:110px;object-fit:contain;background:#081e30}.controls-brand-title{display:block;text-align:center;font:800 16px system-ui;color:#b1dfff;margin:0 0 12px}.brand-logo{width:140px;max-height:140px;object-fit:contain}

/* Daily publishing first; planning and classroom tools stay available on demand. */
.daily-class-picker{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px;padding:14px 18px;background:#fff;border:1px solid #dce8f1;border-radius:12px}.daily-class-picker label{display:flex;align-items:center;gap:12px;font-weight:700}.daily-class-picker select{min-width:220px;margin:0}.daily-class-picker>span{color:#58758b;font-size:13px}.daily-box-title{margin:0 0 5px;color:#173c56;font-size:18px}.box-title-options{margin:0 0 12px}.box-title-options summary{font-size:12px;color:#58758b;cursor:pointer}.box-title-options label{margin-top:10px}.daily-planner{margin-top:20px}.daily-planner>summary{font-size:18px;font-weight:800;color:#173c56;cursor:pointer}.daily-planner>summary span{font-size:13px;font-weight:400;color:#58758b;margin-left:12px}.daily-planner .calendar-card{margin:18px 0 0;box-shadow:none}.copy-options>summary{cursor:pointer;font-size:14px;color:#416982;margin-top:12px}.lesson-save-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lesson-save-row .primary-save{font-size:17px;padding:14px 22px}.lesson-save-row .save-only{background:#eef4f9;color:#244d6b;box-shadow:none}.teacher-studio .studio-hero{margin-top:10px}.teacher-studio .lesson-editor-card{margin-top:0}@media(max-width:700px){.daily-class-picker label{width:100%}.daily-class-picker select{min-width:0;flex:1}.lesson-save-row .primary-save{width:100%}.daily-planner>summary span{display:block;margin:5px 0 0}}

.teacher-studio .studio-hero p a.button-link{color:#fff}.teacher-studio .lesson-save-row{position:sticky;bottom:12px;z-index:12;background:#fff;border:1px solid #dae7f0;border-radius:12px;padding:12px;box-shadow:0 4px 18px #14334b18}

.teacher-studio .studio-hero{margin:0 0 14px;padding:0}.teacher-studio .studio-hero h1{font-size:26px;margin:0}.teacher-studio .studio-hero p{margin:8px 0 0}.teacher-studio .daily-class-picker{padding:9px 14px;margin-bottom:12px}.teacher-studio .lesson-editor-card{padding:18px}.teacher-studio .editor-heading h2{font-size:22px}.teacher-studio .lesson-workflow{padding:10px 12px}.teacher-studio .lesson-box-editor textarea{min-height:115px}

.department-admin-row{padding:20px 0;border-top:1px solid #d9e6ef}.department-admin-row form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.department-example-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.studio-save[hidden]{display:none!important}.transition-preview{position:fixed;top:8px;left:50%;transform:translateX(-50%);z-index:60;background:#fff3bb;padding:8px 14px;border-radius:8px;font:14px system-ui;color:#132f43}.board.between-blank{background:#061421!important}.board.between-blank::before,.board.between-blank::after{display:none!important}.board.between-blank .board-top,.board.between-blank #activePass{visibility:hidden}

.department-demo-editing .public-demo,.department-demo-editing .demo-tools,.department-demo-editing .demo-pass{display:none!important}.department-demo-editing .demo-editor{position:static;width:min(1120px,100%);margin:24px auto;box-shadow:none;border-radius:18px;color:#183e57}.department-demo-editing #blockEditors{display:grid;grid-template-columns:1fr 1fr;gap:18px}.department-demo-editing #blockEditors>section{padding:18px;background:#fff;border:1px solid #dce7f0;border-radius:12px}.department-demo-editing #blockEditors h3{margin:0 0 8px}.department-demo-editing #blockEditors summary{font-size:12px;cursor:pointer}.department-demo-editing #blockEditors textarea{min-height:125px}.department-demo-editing .editor-close{float:right}.department-demo-editing #saveDemoBoard{font-size:18px;padding:14px 22px}.demo-saved-toast{position:fixed;top:16px;right:16px;z-index:100;background:#146b3a;color:#fff;border-radius:10px;padding:16px;font:700 16px system-ui}.department-board-banner{position:fixed;bottom:14px;right:16px;z-index:30;background:#e9f5fc;color:#1d4b69;padding:10px 14px;border-radius:10px;font:14px system-ui}.department-board-banner a{color:#126aab;margin-left:12px}@media(max-width:700px){.department-demo-editing #blockEditors{grid-template-columns:1fr}.department-demo-editing .demo-editor{margin:0;border-radius:0}.department-board-banner{left:14px;right:14px;font-size:12px}}
