.foundation-storage-warning{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:2147483647;display:none;max-width:min(760px,92vw);padding:11px 16px;border:2px solid #d87a65;border-radius:14px;background:#fff1ed;color:#8b3e31;font:900 12px/1.35 Arial,sans-serif;box-shadow:0 12px 35px #0003}.foundation-storage-warning.show{display:block}
/* Universal game host */
#slphqUniversalGameHost{padding:8px;background:linear-gradient(145deg,#eaf6ff,#f7fbff)}#slphqUniversalGameHost.hidden{display:none!important}.foundation-game-shell{height:calc(100vh - 16px);display:flex;flex-direction:column;overflow:hidden;border:3px solid #cfe0ee;border-radius:22px;background:#fff;box-shadow:0 20px 60px #244a6b33}.foundation-game-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:9px 12px;background:#eef7fc;border-bottom:2px solid #d5e6f0}.foundation-game-back{border:0;border-radius:11px;padding:9px 12px;background:#fff;color:#365f78;font-weight:1000;box-shadow:0 3px 0 #d2e2ea}.foundation-game-title{margin-right:auto;min-width:200px;color:#315d73}.foundation-game-title b{display:block;font-size:17px}.foundation-game-title small{display:block;font-size:9px;margin-top:2px;color:#728896;font-weight:850}.foundation-game-target{display:flex;align-items:center;gap:6px;border-radius:10px;padding:6px 8px;background:#fff;color:#587181;font-size:9px;font-weight:1000}.foundation-game-target select{border:1px solid #cbdde8;border-radius:8px;padding:5px 7px;background:#fff;color:#365b73;font-weight:900}.foundation-game-students{display:flex;flex-wrap:wrap;gap:5px}.foundation-game-students button{border:1px solid #c8dce8;border-radius:999px;padding:6px 8px;background:#fff;color:#48697d;font-size:9px;font-weight:1000}.foundation-game-students button.active{background:#3f86b0;color:#fff;border-color:#3f86b0}.foundation-game-status{max-width:260px;border-radius:10px;padding:7px 9px;background:#fff;color:#607786;font-size:9px;font-weight:900}.foundation-game-frame{width:100%;flex:1 1 auto;min-height:0;border:0}.foundation-game-target.hidden{display:none!important}
/* Reporting */
#progressScreen .progress-summary{grid-template-columns:repeat(9,minmax(0,1fr))}.foundation-report-intelligence{display:grid;grid-template-columns:1.45fr .85fr;gap:11px;margin:11px 0}.foundation-report-card{border:2px solid #dbe7f2;border-radius:16px;background:#fff;padding:11px;min-width:0}.foundation-trend-card{grid-row:span 2}.foundation-narrative-card{grid-column:1/-1}.foundation-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.foundation-report-head h3{margin:0;color:#224e78;font-size:17px}.foundation-report-head p{margin:3px 0 0;color:#758796;font-size:10px;font-weight:800;line-height:1.35}.foundation-report-btn{border:2px solid #bfd5e6;border-radius:10px;padding:8px 11px;background:#f5fbff;color:#3d6680;font-weight:950;cursor:pointer;white-space:nowrap}.foundation-trend-chart{min-height:210px;border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f4f9fd);overflow:hidden}.foundation-trend-chart svg{display:block;width:100%;height:220px}.foundation-axis{stroke:#c9d9e5;stroke-width:1.5}.foundation-minute-bar{fill:#d9ecf8}.foundation-accuracy-line{fill:none;stroke:#2c78af;stroke-width:3}.foundation-accuracy-dot{fill:#2c78af;stroke:#fff;stroke-width:2}.foundation-chart-label,.foundation-chart-date{font:700 9px Arial,sans-serif;fill:#748897}.foundation-trend-legend{display:flex;gap:8px;font-size:9px;font-weight:900;color:#62798a}.foundation-report-empty{display:grid;place-items:center;min-height:110px;color:#7b8c99;font-size:11px;font-weight:850;text-align:center}.foundation-support-profile{display:flex;flex-direction:column;gap:9px}.foundation-support-row>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#456478;font-size:10px}.foundation-support-row b{font-size:11px}.foundation-support-row span{font-weight:800;color:#778b99}.foundation-support-bar,.foundation-service-bar{height:9px;border-radius:999px;background:#e9eff3;overflow:hidden;margin-top:4px}.foundation-support-bar i,.foundation-service-bar i{display:block;height:100%;border-radius:999px;background:#5da0c8}.foundation-support-bar .one{background:#8bb6d0}.foundation-support-bar .two{background:#d3b55b}.foundation-support-bar .help{background:#d48072}.foundation-service-top{display:flex;justify-content:space-between;gap:10px;color:#416351;font-size:11px}.foundation-service-top span{font-weight:850}.foundation-service-bar i{background:#64a77c}.foundation-service-bottom{margin-top:6px;color:#698071;font-size:10px;font-weight:850}.foundation-service-none{display:flex;flex-direction:column;gap:4px;color:#6a7f71;font-size:10px}.foundation-service-none b{font-size:13px;color:#3c6450}.foundation-narrative-card textarea{width:100%;box-sizing:border-box;resize:vertical;border:2px solid #d6e3ed;border-radius:12px;background:#fbfdff;color:#3d5669;padding:10px 11px;font:750 12px/1.5 Arial,sans-serif}.foundation-row-actions{display:flex;gap:5px;justify-content:center}.foundation-row-actions button{border:1px solid #cbdce7;border-radius:8px;padding:5px 7px;background:#fff;color:#45697f;font-size:9px;font-weight:950;cursor:pointer}.foundation-row-actions .danger{border-color:#edc5bd;color:#9b4a3e;background:#fff6f4}
.foundation-session-modal{position:fixed;inset:0;z-index:2147483100;display:flex;align-items:center;justify-content:center;padding:18px;background:#152532b8;backdrop-filter:blur(5px)}.foundation-session-modal.hidden{display:none}.foundation-session-card{width:min(620px,94vw);border-radius:22px;background:#fff;padding:18px;box-shadow:0 24px 75px #0007}.foundation-session-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.foundation-session-head h2{margin:0;color:#315d73}.foundation-session-head p{margin:4px 0 0;color:#718490;font-size:11px;font-weight:800}.foundation-session-head button{border:0;border-radius:10px;padding:8px 10px;background:#edf3f6;color:#526b79;font-weight:1000}.foundation-session-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:15px 0}.foundation-session-fields label{display:flex;flex-direction:column;gap:5px;color:#617887;font-size:10px;font-weight:1000;text-transform:uppercase}.foundation-session-fields input{border:2px solid #d3e2eb;border-radius:10px;padding:9px 10px;color:#38596d;font-weight:850}.foundation-session-actions{display:flex;justify-content:flex-end;gap:8px}.foundation-session-actions button{border:0;border-radius:10px;padding:9px 12px;background:#edf3f6;color:#4c6879;font-weight:950}.foundation-session-actions .primary{background:#387fac;color:#fff}.foundation-session-status{min-height:18px;margin-top:7px;color:#a0493e;font-size:10px;font-weight:850}
@media(max-width:1000px){#progressScreen .progress-summary{grid-template-columns:repeat(3,1fr)}.foundation-report-intelligence{grid-template-columns:1fr}.foundation-trend-card{grid-row:auto}.foundation-narrative-card{grid-column:auto}}@media(max-width:700px){.foundation-session-fields{grid-template-columns:1fr}.foundation-game-status{display:none}}
@media print{body>*:not(#progressScreen){display:none!important}#progressScreen{display:block!important;position:static!important;background:#fff!important;padding:0!important}#progressScreen .progress-shell{width:100%!important;border:0!important;box-shadow:none!important;padding:0!important}.progress-header button,.progress-filter,.progress-actions,.foundation-row-actions,.foundation-report-btn{display:none!important}.progress-table-wrap{max-height:none!important;overflow:visible!important}.foundation-report-intelligence{break-inside:avoid}}

/* ===== v71 production hardening / system center ===== */
.production-side-door{background:linear-gradient(180deg,#fff8e8,#eef7ff)!important;border-color:#dcc988!important;color:#5f5a3e!important}
@media(min-width:1101px){#gradeBandScreen .six-door-heading-row{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}.side-door{padding:9px 10px!important}.side-door-copy strong{font-size:13px!important}}
.production-overlay{position:fixed;inset:0;z-index:2147482500;background:rgba(20,38,52,.78);backdrop-filter:blur(8px);padding:18px;display:flex;align-items:center;justify-content:center}.production-overlay.hidden{display:none!important}.production-shell{width:min(1250px,96vw);height:min(900px,94vh);border:3px solid #cfdfeb;border-radius:26px;background:linear-gradient(180deg,#fbfdff,#f4f8fb);box-shadow:0 30px 100px #0008;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.production-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 14px;background:linear-gradient(135deg,#eff8ff,#fffaf0);border-bottom:1px solid #dce7ee}.production-kicker{font-size:10px;font-weight:1000;letter-spacing:.12em;color:#688092}.production-head h1{margin:4px 0 3px;color:#315d73;font-size:27px}.production-head p{margin:0;color:#718590;font-size:11px;font-weight:800}.production-head>button{border:0;border-radius:11px;padding:9px 11px;background:#e8f0f4;color:#4a6575;font-weight:1000;cursor:pointer}.production-tabs{display:flex;gap:7px;padding:9px 14px;background:#fff;border-bottom:1px solid #dde8ef;overflow-x:auto}.production-tabs button{white-space:nowrap;border:1px solid #d3e2eb;border-radius:999px;padding:7px 10px;background:#f8fbfd;color:#5b7382;font-size:10px;font-weight:1000;cursor:pointer}.production-tabs button.active{background:#397fa9;border-color:#397fa9;color:#fff}.production-body{overflow:auto;padding:15px 16px 28px}.production-body [data-panel].hidden{display:none!important}.production-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.production-stat-grid article{border:2px solid #dce8ef;border-radius:16px;background:#fff;padding:13px;text-align:center}.production-stat-grid b{display:block;color:#315d73;font-size:26px}.production-stat-grid span{display:block;margin-top:2px;color:#748793;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.05em}.production-grid{display:grid;gap:12px}.production-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.production-card{border:2px solid #dce8ef;border-radius:18px;background:#fff;padding:14px;min-width:0}.production-card h2,.production-card-head h2{margin:0;color:#315d73;font-size:18px}.production-card p,.production-card-head p{margin:4px 0 10px;color:#718590;font-size:10px;line-height:1.4;font-weight:800}.production-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.production-card-head button,.production-primary,.production-button-row button,.production-roster button,.production-health-summary button{border:1px solid #cbdde8;border-radius:10px;padding:8px 10px;background:#f5faff;color:#42677c;font-weight:950;cursor:pointer}.production-primary{background:#387fa9!important;color:#fff!important;border-color:#387fa9!important}.production-button-row{display:flex;flex-wrap:wrap;gap:8px}.production-button-row button:disabled{opacity:.45;cursor:not-allowed}.production-checklist{display:flex;flex-direction:column;gap:7px;color:#526d7e;font-size:11px;font-weight:850}.production-service-chips{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0 10px}.production-service-chips span{border-radius:999px;padding:6px 8px;font-size:9px;font-weight:1000}.production-service-chips .good{background:#e7f7ec;color:#2d7047}.production-service-chips .due{background:#fff1e9;color:#9b5839}.production-service-chips .warn{background:#fff7d8;color:#8a6e21}.production-mini-list{max-height:220px;overflow:auto;border-top:1px solid #edf2f5}.production-mini-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid #edf2f5;color:#547080;font-size:10px}.production-mini-list b{color:#365e73}.production-mini-list span{font-weight:850}.production-note,.production-status{margin-top:12px;border:1px solid #d8e6ee;border-radius:12px;padding:10px 12px;background:#f8fbfd;color:#617886;font-size:10px;font-weight:850;line-height:1.45}.production-note.bad,.production-status.bad{border-color:#ecc5bd;background:#fff4f1;color:#97473d}.production-count{display:inline-flex;align-items:center;justify-content:center;min-width:35px;height:30px;border-radius:999px;background:#edf5fa;color:#41677c;font-weight:1000;font-size:11px}.production-roster{display:flex;flex-direction:column;gap:7px;max-height:420px;overflow:auto}.production-roster>div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'name action' 'meta action';gap:2px 10px;align-items:center;border:1px solid #e0e9ef;border-radius:12px;padding:9px;background:#fbfdfe}.production-roster b{grid-area:name;color:#3a6075;font-size:11px}.production-roster>div>span:not(.production-row-buttons){grid-area:meta;color:#7a8d98;font-size:9px;font-weight:800}.production-roster>div>button,.production-row-buttons{grid-area:action}.production-row-buttons{display:flex;gap:5px}.production-row-buttons .danger,.production-roster .danger{border-color:#ecc5bd;background:#fff4f1;color:#984a40}.production-health-summary{display:flex;align-items:center;gap:12px;border:2px solid #dbe8ef;border-radius:16px;padding:12px 14px;background:#fff;margin-bottom:10px}.production-health-summary b{font-size:15px;color:#3b6479}.production-health-summary span{font-size:10px;font-weight:850;color:#718692;margin-right:auto}.production-health-summary.pass{border-color:#bfe0c8;background:#f5fcf7}.production-health-summary.warn{border-color:#ead89c;background:#fffaf0}.production-health-summary.fail{border-color:#e9b8ae;background:#fff4f2}.production-health-list{display:flex;flex-direction:column;gap:7px}.production-health-list>div{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #dee8ee;border-radius:13px;background:#fff;padding:9px 11px}.production-health-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:1000}.production-health-list .pass .production-health-icon{background:#e2f4e8;color:#2e7549}.production-health-list .warn .production-health-icon{background:#fff2c6;color:#86671b}.production-health-list .fail .production-health-icon{background:#fde5e0;color:#9c453b}.production-health-list b{display:block;color:#3d6175;font-size:11px}.production-health-list small{display:block;color:#7b8c97;font-size:9px;margin-top:2px;font-weight:800}.production-health-list em{font-style:normal;font-size:8px;font-weight:1000;letter-spacing:.08em;color:#728591}.registry-head{margin-bottom:10px}.production-registry-list{display:flex;flex-direction:column;gap:7px}.production-game-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #dce7ed;border-radius:13px;background:#fff;padding:8px}.production-game-row.bad{border-color:#e7b2aa;background:#fff6f4}.production-game-row img,.production-game-placeholder{width:58px;height:48px;border-radius:9px;object-fit:cover;background:#eef4f8;display:grid;place-items:center}.production-game-row b{display:block;color:#345e75;font-size:11px}.production-game-row small{display:block;color:#85959f;font-size:8px;font-weight:850;margin-top:1px}.production-game-row span{display:block;color:#647b8a;font-size:9px;font-weight:800;margin-top:3px}.production-game-row em{font-style:normal;font-size:8px;font-weight:1000;color:#5f7e70}.production-bank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.production-bank-grid article{border:1px solid #dae6ed;border-radius:14px;background:#fff;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 9px}.production-bank-grid b{display:block;color:#365f75;font-size:11px}.production-bank-grid small{display:block;color:#87959e;font-size:8px}.production-bank-grid strong{color:#397ca3;font-size:20px}.production-bank-grid p{grid-column:1/-1;margin:2px 0 0;color:#6d8290;font-size:8.5px;font-weight:850}.foundation-registry-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:1px solid #dbe7ee;border-radius:13px;background:#fff;padding:8px;text-align:left}.foundation-registry-cover{width:64px;height:52px;object-fit:cover;border-radius:10px}.foundation-registry-card strong{display:block;color:#355f75}.foundation-registry-card small{display:block;color:#80939e;font-size:8px}.foundation-registry-targets{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.foundation-registry-targets span{border-radius:999px;background:#eef5f9;padding:3px 5px;color:#617b8b;font-size:7px;font-weight:900}
/* v71 reporting controls + trial editor */
.foundation-date-presets{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0 11px;padding:8px 10px;border:1px solid #dce7ee;border-radius:12px;background:#f8fbfd}.foundation-date-presets b{font-size:9px;color:#647d8d;text-transform:uppercase;letter-spacing:.07em}.foundation-date-presets button{border:1px solid #cfdee8;border-radius:999px;padding:5px 8px;background:#fff;color:#4c6e81;font-size:8.5px;font-weight:950;cursor:pointer}.foundation-row-actions button:disabled{opacity:.4;cursor:not-allowed}.foundation-trial-card{width:min(900px,96vw);max-height:90vh;display:flex;flex-direction:column}.foundation-trial-rows{display:flex;flex-direction:column;gap:6px;overflow:auto;margin:12px 0;padding-right:4px}.foundation-trial-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 120px auto;gap:7px;align-items:center;border:1px solid #e0e9ef;border-radius:10px;padding:8px;background:#fbfdfe}.foundation-trial-copy b{display:block;color:#3d6175;font-size:10px}.foundation-trial-copy span{display:block;color:#7b8e99;font-size:8.5px;margin-top:2px}.foundation-trial-row select{border:1px solid #ccdde7;border-radius:8px;background:#fff;padding:7px;color:#48697c;font-size:9px;font-weight:900}.foundation-trial-row button{border:1px solid #ecc4bc;border-radius:8px;padding:7px 8px;background:#fff4f1;color:#984b41;font-size:8.5px;font-weight:950}.production-body,.production-roster,.production-mini-list,.production-registry-list,.foundation-trial-rows{scrollbar-width:auto;scrollbar-color:#89acc2 #edf4f8}.production-body::-webkit-scrollbar,.production-roster::-webkit-scrollbar,.production-mini-list::-webkit-scrollbar,.foundation-trial-rows::-webkit-scrollbar{width:11px}.production-body::-webkit-scrollbar-thumb,.production-roster::-webkit-scrollbar-thumb,.production-mini-list::-webkit-scrollbar-thumb,.foundation-trial-rows::-webkit-scrollbar-thumb{background:#89acc2;border:3px solid #edf4f8;border-radius:999px}
/* Non-game surfaces remain reachable at ordinary browser zoom. */
#gradeBandScreen,#resourcesDoorScreen,#gamesHubScreen,#progressScreen,#dataScreen,#sessionScreen,#littleLearnerAreaScreen,#elementaryDoorScreen,#elementaryCategoryScreen,#juniorActivityChooserScreen,#articulationEntryScreen{scrollbar-gutter:stable}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(52,127,169,.35);outline-offset:2px}
@media(max-width:900px){.production-stat-grid{grid-template-columns:repeat(2,1fr)}.production-grid.two{grid-template-columns:1fr}.production-bank-grid{grid-template-columns:repeat(2,1fr)}.foundation-trial-row{grid-template-columns:1fr 1fr}.foundation-trial-copy{grid-column:1/-1}}
@media(max-width:620px){.production-overlay{padding:6px}.production-shell{height:98vh;width:99vw;border-radius:18px}.production-stat-grid,.production-bank-grid{grid-template-columns:1fr}.production-head h1{font-size:22px}.foundation-trial-row{grid-template-columns:1fr}.foundation-trial-copy{grid-column:auto}}

/* v72: caseload-wide batch printing */
.foundation-batch-print-btn{background:linear-gradient(180deg,#1f789e,#155b7a)!important;color:#fff!important;border-color:#155b7a!important;box-shadow:0 4px 0 #0e435b!important;min-width:190px!important}.foundation-batch-print-btn span{font-weight:1000;letter-spacing:.025em}.foundation-batch-print-note{margin:6px 0 12px;padding:8px 11px;border-radius:11px;background:#eaf6fb;border:1px solid #c9e4ef;color:#476879;font-size:10px;font-weight:850}.progress-filter:has(#batchPrintAllDataBtn){grid-template-columns:minmax(180px,1.3fr) minmax(135px,.8fr) minmax(135px,.8fr) auto auto auto!important}@media(max-width:1120px){.progress-filter:has(#batchPrintAllDataBtn){grid-template-columns:repeat(3,minmax(0,1fr))!important}.foundation-batch-print-btn{min-height:48px}}@media(max-width:720px){.progress-filter:has(#batchPrintAllDataBtn){grid-template-columns:1fr!important}}
