/* v11.5 / Android 39: alarm actions stay outside all scrolling room lists. */
html:not(.eden-android){overflow:auto}
html body #school-alarm-dock{display:block!important;position:sticky!important;top:0!important;z-index:30;flex:none!important;width:100%!important;min-width:0;max-height:none!important;overflow:visible!important;margin:0 0 6px!important;padding:6px!important;box-sizing:border-box;background:#14243a;border:1px solid #49627f;border-radius:10px}
html body #school-alarm-dock .control-title{display:none!important}
html body #school-alarm-dock #actions{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important;padding:0!important}
html body #school-alarm-dock #actions button{display:flex!important;align-items:center;justify-content:flex-start;gap:6px!important;min-height:48px!important;margin:0!important;padding:6px!important;min-width:0;font-size:14px!important}
html body #school-alarm-dock #actions button span{font-size:14px!important;line-height:1.15;overflow-wrap:anywhere}
html body #school-alarm-dock #actions button img{width:30px!important;height:30px!important;flex:none}
html body #school-alarm-dock #actions button small{display:none!important}
html.excubitor-pinned-alarms body #map-filter-toolbar{position:sticky;top:calc(var(--alarm-dock-height,60px) + 6px);z-index:29}
html body .room-panel{min-width:0;flex:none;border:1px solid #49627f;border-radius:9px;background:#14243a;color:#eef4ff;overflow:hidden}
html body .room-panel[hidden],html body .room-panel[data-expanded=false] .room-list,html body .room-panel[data-expanded=false] .room-title{display:none!important}
html body #room-list-toggle{width:100%;min-height:44px;padding:8px 12px;border:0;background:#263b57;color:#eef4ff;font-size:14px;text-align:left;font-weight:750}
html body .room-panel .room-list{max-height:25dvh!important;overflow:auto!important;overscroll-behavior:contain}
html.eden-school body .room-panel .room-title{padding:4px 10px;font-size:12px}
html.eden-school body .room-panel{order:3!important;margin-top:5px}
html.eden-school body .layout>.left{flex:1 1 0!important;min-height:0!important;order:1!important}
html.eden-school body .layout>.selected{order:2!important}
html.eden-school body #school-alarm-dock{position:relative!important;top:auto!important;order:0!important}
html.eden-school body #school-alarm-dock #actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html.eden-school body #map-filter-toolbar{position:relative;top:auto}
.android-download-card{overflow-wrap:anywhere;min-width:0}
.android-download-card [data-apk-download]{display:inline-block;padding:12px 18px;background:#46bce7;color:#061725;border-radius:9px;font-weight:800;text-decoration:none}
.android-download-card [hidden]{display:none!important}
.android-download-card input{display:block;max-width:100%;margin:8px 0 12px;box-sizing:border-box}
.android-download-card button{margin:8px 0}
.android-download-card .settings-note{font-size:12px;overflow-wrap:anywhere}
html body main.app-download-main{max-width:780px;margin:24px auto;padding:16px;display:block;position:static;height:auto;color:#eef4ff}
@media(max-width:760px){html body #school-alarm-dock #actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(orientation:landscape) and (max-height:600px){
 html body #school-alarm-dock #actions,html.eden-school body #school-alarm-dock #actions{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:3px!important}
 html body #school-alarm-dock #actions button{gap:3px!important;padding:4px!important;min-height:44px!important}
 html body #school-alarm-dock #actions button img{width:22px!important;height:22px!important}
 html body #school-alarm-dock #actions button span{font-size:12px!important}
 html.eden-district #eden-android-district-brand{display:none!important}
 html.eden-district #status-panel:not([hidden]){grid-template-rows:auto minmax(0,1fr)!important}
 html.eden-district .action-dock{grid-row:1!important}
 html.eden-district #map-panel{grid-row:2!important}
 html.eden-district .global-actions{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 html.eden-district .action-dock-heading,html.eden-district .action-dock>p{display:none!important}
}

html.eden-school body .layout{display:flex!important;flex-direction:column!important;flex:1 1 0!important;height:auto!important;min-height:0!important;overflow:hidden!important}
html.eden-school body .layout>.left{height:auto!important}
html.eden-school body .room-panel{order:2!important;max-height:100%;box-sizing:border-box}
html.eden-school body .layout>#selected-room{order:3!important;position:relative!important;inset:auto!important;flex:none!important;width:100%!important;margin:5px 0 0!important;max-height:30dvh!important}
html.eden-school.excubitor-room-list-open body .layout>.left{display:none!important}
html.eden-school.excubitor-room-list-open body .room-panel{display:flex;flex-direction:column;flex:1 1 0!important;min-height:0}
html.eden-school body .room-panel #room-list-toggle{flex:none}
html.eden-school.excubitor-room-list-open body .room-panel .room-title{display:none!important}
html.eden-school.excubitor-room-list-open body .room-panel .room-list{flex:1 1 0!important;min-height:0!important;max-height:none!important}

html.eden-school body .layout>.left{grid-template-rows:minmax(0,1fr)!important;overflow:hidden!important}
html.eden-android body.app-download-body{overflow:auto!important;height:auto!important;min-height:100%}
@media(orientation:landscape) and (max-height:600px){
 html.eden-district #status-panel:not([hidden]){grid-template-columns:minmax(0,1fr)!important}
 html.eden-district #map-panel{grid-column:1!important;grid-row:2!important}
 html.eden-district .action-dock{height:auto!important;overflow:visible!important}
 html.eden-district #district-page-actions small{display:none!important}
 html.eden-district .action-dock .global-actions button{min-height:44px!important;padding:4px!important;gap:3px!important}
 html.eden-district .action-dock .global-actions button img{width:24px!important;height:24px!important}
 html.eden-district .action-dock .global-actions button span{font-size:12px!important}
}

@media(max-width:620px),(orientation:landscape) and (max-height:600px){
 html.eden-district .action-dock .global-actions button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:54px!important;padding:4px!important;gap:3px!important}
 html.eden-district .action-dock .global-actions button img{width:24px!important;height:24px!important}
 html.eden-district .action-dock .global-actions button strong{font-size:12px!important;line-height:1.15;min-width:0;max-width:100%;overflow-wrap:normal;white-space:normal;text-align:center}
 html body #school-alarm-dock #actions button{flex-direction:column!important;justify-content:center!important;gap:3px!important;min-height:54px!important;padding:4px!important}
 html body #school-alarm-dock #actions button img{width:24px!important;height:24px!important}
 html body #school-alarm-dock #actions button span{font-size:12px!important;overflow-wrap:normal!important;text-align:center}
}

/* Room analytics expands below the map in the page's normal scroll flow. */
html body #school-heatmap-panel[hidden],html body #filter-heatmap[hidden]{display:none!important}
html body #school-heatmap-panel{display:block;flex:none;box-sizing:border-box;min-width:0;width:100%;max-height:none;overflow:visible;margin:10px 0 6px;padding:10px;background:#14243a;color:#eef4ff;border:1px solid #49627f;border-radius:10px;font-size:13px}
html body #school-heatmap-panel .heatmap-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
html body #school-heatmap-panel .heatmap-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end}
html body #school-heatmap-panel label{display:flex;flex-direction:column;gap:4px;min-width:0}
html body #school-heatmap-panel input,html body #school-heatmap-panel select,html body #school-heatmap-panel button{box-sizing:border-box;min-height:44px;min-width:0;max-width:100%;padding:8px;font:inherit;border-radius:7px;border:1px solid #64809f;background:#0b1525;color:#eef4ff}
html body #school-heatmap-panel input,html body #school-heatmap-panel select{width:100%;color-scheme:dark}
html body #school-heatmap-panel button{cursor:pointer;background:#263b57;font-weight:700}
html body #school-heatmap-panel :focus-visible{outline:2px solid #46bce7;outline-offset:2px}
html body #school-heatmap-panel p{margin:8px 0;line-height:1.45;overflow-wrap:anywhere}
html body #school-heatmap-panel summary{cursor:pointer;min-height:32px;padding:6px 0;box-sizing:border-box}
html body #school-heatmap-panel .heatmap-table{max-width:100%;overflow:visible}
html body #school-heatmap-panel table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
html body #school-heatmap-panel th,html body #school-heatmap-panel td{padding:7px 10px;border-bottom:1px solid #49627f;white-space:normal;overflow-wrap:anywhere}
html body #school-heatmap-panel th{color:#a9d5ed}
html body #map-filter-toolbar .map-filters{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
html body #map-filter-toolbar .map-filters button{flex:1 1 95px!important;min-width:0!important;min-height:44px!important}
/* Keep the icon, label and state inside narrow browser buttons. */
@media(orientation:portrait),(min-height:601px){html:not(.eden-android) body #map-filter-toolbar .map-filters button{flex-basis:128px!important}}
html body #map-filter-toolbar #filter-heatmap[aria-pressed="true"]{background:#5b388c;color:white;border-color:#c095ed}
html body .school-heatmap-layer{pointer-events:none!important}
html.school-heatmap-open{height:auto!important;min-height:100%!important;overflow:auto!important}
html.school-heatmap-open body{height:auto!important;min-height:100%!important;overflow:visible!important}
html:not(.eden-android) .layout.adaptive-map-only .map-slot{height:100%}
html:not(.eden-android) .layout .map-slot{align-items:start}
html:not(.eden-android) .layout.adaptive-map-only .school-sidebar{display:none}
html:not(.eden-android) .layout.adaptive-side{grid-template-columns:minmax(0,1fr) 300px}
html:not(.eden-android):is(:fullscreen,.school-fullscreen) main>nav{display:none}
html:not(.eden-android):is(:fullscreen,.school-fullscreen) main{max-width:none;min-height:calc(100dvh - 58px)}
html:not(.eden-android):is(:fullscreen,.school-fullscreen) main>.heading{position:sticky;top:0;z-index:31;background:#09111f}
html:not(.eden-android):is(:fullscreen,.school-fullscreen) body #school-alarm-dock{top:calc(var(--school-heading-height,64px) + 6px)!important}
html:not(.eden-android):is(:fullscreen,.school-fullscreen) body #map-filter-toolbar{top:calc(var(--school-heading-height,64px) + var(--alarm-dock-height,60px) + 12px)!important}
html body #school-heatmap-filter-notice{color:#ffdb72}
html body #school-heatmap-panel a{color:#8fdaff}
@media(max-width:620px){
 html body #school-heatmap-panel table,html body #school-heatmap-panel tbody{display:block;font-size:13px}
 html body #school-heatmap-panel thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 html body #school-heatmap-panel tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:10px 0;border-bottom:1px solid #49627f}
 html body #school-heatmap-panel td{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;padding:4px 0;border:0}
 html body #school-heatmap-panel td::before{content:attr(data-label);font-size:12px;color:#a9d5ed}
 html body #school-heatmap-panel td:first-child{grid-column:1/-1;font-weight:750;padding-bottom:6px}
 html body #school-heatmap-panel td:first-child::before{display:none}
}
@media(orientation:landscape) and (max-height:600px){html body #school-heatmap-panel{padding:6px}html body #school-heatmap-panel .heatmap-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Older companion styles fix main to the viewport. Only analytics mode needs
   document scrolling; the established non-analytics companion layout is kept. */
html.eden-android.school-heatmap-open{height:auto!important;min-height:100%!important;overflow:auto!important}
html.eden-android.school-heatmap-open body{height:auto!important;min-height:100%!important;overflow:visible!important}
html.eden-school.school-heatmap-open body main{position:relative!important;inset:auto!important;height:auto!important;min-height:100dvh!important;overflow:visible!important}
html.eden-android.eden-school.school-heatmap-open body .layout{flex:none!important;height:auto!important;overflow:visible!important}
html.eden-android.eden-school.school-heatmap-open body .layout>.left{flex:none!important;height:clamp(200px,55dvh,660px)!important}
html.eden-school.school-heatmap-open body #school-alarm-dock{position:sticky!important;top:0!important}
html.eden-school.school-heatmap-open body #map-filter-toolbar{position:sticky!important;top:calc(var(--alarm-dock-height,60px) + 6px)!important}
