body:has(.practice-center) .layout{max-width:1764px!important;width:100%}
body:has(.practice-center) main{max-width:none!important;width:100%!important}
/* V2: keep both rails in the grid; central content may always shrink. */
.practice-center:not(.teacher-workbench-shell){max-width:1740px!important}
.practice-center :where(section,article,aside,fieldset,details,summary,label,div){min-width:0}
.practice-center :where(input,select,textarea,button){box-sizing:border-box;max-width:100%}
.practice-center :where(p,strong,small,summary){overflow-wrap:anywhere}
.practice-center:not(.teacher-workbench-shell) .practice-workspace-body{grid-template-columns:260px minmax(0,1fr) 260px!important;gap:16px}
.practice-center:not(.teacher-workbench-shell):not(.workspace-has-actions) .practice-workspace-body{grid-template-columns:260px minmax(0,1fr)!important}
.practice-center .practice-action-rail .practice-submit-dock-inner{padding:12px!important}
.practice-center .practice-paper-layout-card .practice-layout-wrap{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:16px}
@container(min-width:1001px){.practice-center .practice-paper-layout-card .practice-layout-wrap{grid-template-columns:340px minmax(0,1fr)!important}}
.practice-center .practice-inspector,.practice-center .practice-canvas,.practice-center .practice-preview-shell{min-width:0;max-width:100%}
.practice-center .practice-layout-module-head,.practice-center .practice-module-controls{flex-wrap:wrap!important}
.practice-center .practice-layout-module-head strong{white-space:normal}
.practice-center .practice-paper-layout-card .practice-layout-module[data-rows="1"] .practice-family-chips{flex-wrap:wrap;overflow:visible}
@media(max-width:1440px){
 .practice-center:not(.teacher-workbench-shell) .practice-workspace-body{grid-template-columns:240px minmax(0,1fr) 240px!important;gap:12px}
 .practice-center:not(.teacher-workbench-shell):not(.workspace-has-actions) .practice-workspace-body{grid-template-columns:240px minmax(0,1fr)!important}
 .practice-center .practice-card{padding:14px}
 .practice-center .practice-inspector{padding:8px}
 .practice-center .practice-status-calendar-card{padding:10px}
 .practice-center .practice-status-day small{font-size:9px!important}
}
@media(max-width:1100px){
 .practice-center:not(.teacher-workbench-shell) .practice-workspace-body{grid-template-columns:240px minmax(0,1fr)!important}
 .practice-center .practice-paper-layout-card .practice-layout-wrap{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:760px){
 .practice-center:not(.teacher-workbench-shell) .practice-workspace-body{display:flex!important}
 .practice-center .practice-tag{white-space:normal}
 .practice-center .practice-card-head{flex-wrap:wrap}
 .practice-center .practice-submit-copy>p{max-width:none}
}

@media(max-width:760px){
 .practice-center .practice-blocks{overflow:visible}
 .practice-center .practice-block-header{display:none}
 .practice-center .practice-block-row{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 0}
 .practice-center .practice-block-row>div:first-child{grid-column:1/-1}
 .practice-center .practice-block-row label{min-width:0;display:grid;gap:4px}
 .practice-center .practice-block-row select,.practice-center .practice-block-row input{width:100%}
}

.practice-expanded-paper{width:min(980px,calc(100vw - 24px));max-height:94dvh;padding:16px;background:#edf2f7}
.practice-expanded-paper>button{position:sticky;top:0;z-index:1;margin-bottom:12px}
.practice-expanded-paper-content{max-width:100%;overflow:auto}
.practice-expanded-paper-content iframe{display:block;width:794px;max-width:100%;height:1123px;border:0;background:white;margin:auto}
.practice-expanded-paper-content .practice-paper{width:794px;max-width:100%;margin:auto}
.practice-major-question-settings{margin-block:14px;padding:12px;border:1px solid #d6e1ec;border-radius:8px;background:#fbfdff}
.practice-major-question-settings h3{margin:0 0 8px}
.practice-fourth-question{display:grid;gap:4px;font-size:12px;margin-top:12px}

.practice-expression-settings{display:grid;gap:5px}.practice-expression-settings label{display:grid;gap:3px}.practice-expression-settings small{font-size:10px}
.practice-repeating-option{display:flex!important;align-items:center;font-size:12px;gap:6px!important}.practice-repeating-option input{width:auto!important}
.practice-preview-hint{flex-basis:100%;font-size:12px;color:#526f87}
.practice-inline-settings{margin-top:16px;padding:10px;border:2px solid #70a3cd;border-radius:8px;background:white;max-height:70vh;overflow:auto;scroll-margin-top:18px}
.practice-inline-settings-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.practice-inline-settings .practice-block-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px;min-width:0;padding:10px 0}
.practice-inline-settings .practice-block-row>div:first-child,.practice-inline-settings .practice-expression-settings,.practice-inline-settings .practice-shortcut-options,.practice-inline-settings .practice-unit-scope-panel{grid-column:1/-1}
.practice-inline-settings .practice-shortcut-cards{display:block}.practice-inline-settings .practice-shortcut-card{margin-top:10px}
@media(min-width:1101px){.practice-center:not(.practice-show-calendar):has(#practice-setup-form) .practice-workspace-body{grid-template-columns:minmax(0,1fr) 230px!important}.practice-center:not(.practice-show-calendar):has(#practice-setup-form) .practice-status-calendar{display:none}.practice-center:has(#practice-setup-form) .practice-page{grid-column:1;grid-row:1}.practice-center:has(#practice-setup-form) .practice-action-rail{grid-column:2;grid-row:1}.practice-center.practice-show-calendar:has(#practice-setup-form) .practice-page{grid-column:2}.practice-center.practice-show-calendar:has(#practice-setup-form) .practice-action-rail{grid-column:3}}

.curriculum-current{margin-top:12px!important}.curriculum-current-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.curriculum-current-grid p{font-size:12px;line-height:1.4;margin:5px 0}.curriculum-current-grid strong{display:block}.curriculum-course-title{display:block;margin-bottom:8px;color:#235c85}.curriculum-unit{margin:12px 0;border:1px solid #d6e1eb;border-radius:9px;background:white;overflow:hidden}.curriculum-unit>h3{margin:0;padding:10px 12px;background:var(--unit-color);font-size:15px}.curriculum-lesson,.curriculum-lesson-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) 58px 154px;gap:10px;padding:8px 12px;align-items:center;font-size:12px;border-top:1px solid #edf1f5}.curriculum-lesson-head{font-size:11px;color:#697d91}.curriculum-lesson button{font-size:11px;padding:5px 7px;min-height:30px;white-space:normal}.curriculum-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.curriculum-editor-toolbar button{font-size:12px;padding:6px 9px;min-height:34px}.curriculum-json-label{display:grid;gap:6px}.curriculum-json-label textarea{width:100%;font:12px/1.6 Consolas,monospace;white-space:pre;overflow:auto;min-height:300px}.curriculum-preset-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e3eaf0}.curriculum-preset-row small{display:block;font-size:11px;color:#708298}.curriculum-preset-row button{flex-shrink:0;font-size:12px;min-height:32px}.curriculum-prompt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.curriculum-prompt-fields label,.curriculum-prompt-builder>label{display:grid;gap:4px;font-size:12px}.curriculum-prompt-builder textarea{width:100%;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.curriculum-prompt-fields textarea{min-height:90px}#curriculum-validation{font-size:12px;overflow-wrap:anywhere}#curriculum-config-preview pre{max-height:180px;overflow:auto;font-size:12px}@media(max-width:1100px){.curriculum-lesson,.curriculum-lesson-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 45px 112px;gap:6px;padding-inline:8px}.curriculum-current-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.curriculum-lesson-head{display:none}.curriculum-lesson{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.curriculum-lesson>strong{grid-column:1/-1}.curriculum-prompt-fields{grid-template-columns:minmax(0,1fr)}.curriculum-preset-row{flex-wrap:wrap}}

#curriculum-config-list{max-height:320px;overflow:auto;padding-right:4px}

/* Curriculum unit coverage: wrapping cards and controls at every workspace width. */
#practice-coverage-units{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.practice-coverage-panel{margin-top:12px;min-width:0}
.practice-coverage-unit{border:1px solid #ccddec;border-radius:8px;padding:10px;background:#f7fafc;min-width:0}
.practice-coverage-unit summary{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;cursor:pointer}
.practice-coverage-unit summary label,.practice-coverage-blocks label{display:flex;gap:6px;align-items:center;min-width:0}
.practice-coverage-unit input[type=checkbox]{width:auto;flex:0 0 auto}
.practice-coverage-unit summary span,.practice-coverage-blocks small{font-size:11px;color:#536d85}
.practice-coverage-blocks{display:grid;gap:7px;margin-top:10px}
.practice-coverage-blocks span,.practice-module-sources{overflow-wrap:anywhere;min-width:0}
.practice-coverage-blocks label:has(input:disabled){opacity:.65}
.practice-module-sources{font-size:12px;margin:8px 0;color:#365a78}

#curriculum-ai-prompt{white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:480px;width:100%;box-sizing:border-box;min-width:0}


/* D4 curriculum-driven workflow + wider calendar card */
.curriculum-lesson>span small{display:block;margin-top:4px;color:#52748d;font-size:10px;line-height:1.4}
.curriculum-lesson-actions{display:flex;flex-wrap:wrap;gap:5px}
.curriculum-lesson-actions button{min-height:30px;padding:5px 8px;font-size:10px}
.practice-center:not(.teacher-workbench-shell) .practice-workspace-body{--practice-calendar-rail:260px;--practice-calendar-card:350px;--practice-calendar-overhang:90px;grid-template-columns:var(--practice-calendar-rail) minmax(0,1fr) 250px!important;gap:16px!important}
.practice-center:not(.teacher-workbench-shell):not(.workspace-has-actions) .practice-workspace-body{grid-template-columns:var(--practice-calendar-rail) minmax(0,1fr)!important}
.practice-center:not(.teacher-workbench-shell) .practice-page{margin-left:var(--practice-calendar-overhang)}
.practice-center .practice-status-calendar{width:var(--practice-calendar-card);max-width:none;z-index:12;top:84px}
.practice-center .practice-status-calendar-card{width:100%;padding:15px}
.practice-center .practice-status-calendar-week,.practice-center .practice-status-calendar-grid{gap:6px}
.practice-center .practice-status-day{min-height:42px;padding:4px}
.practice-center .practice-status-day b{font-size:12px}
.practice-center .practice-status-day small{font-size:9px;line-height:1.1}
.practice-center .practice-status-calendar-week span{font-size:9px}
.practice-center .practice-status-calendar-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;font-size:10px}
@media(max-width:1440px) and (min-width:1181px){
 .practice-center:not(.teacher-workbench-shell) .practice-workspace-body{--practice-calendar-rail:240px;--practice-calendar-card:320px;--practice-calendar-overhang:80px;grid-template-columns:var(--practice-calendar-rail) minmax(0,1fr) 220px!important;gap:12px!important}
 .practice-center:not(.teacher-workbench-shell):not(.workspace-has-actions) .practice-workspace-body{grid-template-columns:var(--practice-calendar-rail) minmax(0,1fr)!important}
 .practice-center .practice-status-day{min-height:38px}
}
@media(max-width:1180px){
 .practice-center:not(.teacher-workbench-shell) .practice-workspace-body,.practice-center:not(.teacher-workbench-shell):not(.workspace-has-actions) .practice-workspace-body{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 .practice-center:not(.teacher-workbench-shell) .practice-page{margin-left:0}
 .practice-center .practice-status-calendar{position:static;width:100%;max-width:none;top:auto}
 .practice-center .practice-status-calendar-card{width:100%}
 .practice-center .practice-status-calendar-grid{min-height:auto}
}
@media(max-width:760px){
 .practice-center .practice-status-calendar-card{padding:10px}
 .practice-center .practice-status-day{min-height:36px}
 .curriculum-lesson-actions{width:100%}
 .curriculum-lesson-actions button{flex:1 1 140px}
}


/* D4 generation Current Stage / focus */
.practice-current-stage-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr) auto;gap:14px;align-items:center;margin:10px 0;padding:14px 16px;border:1px solid #c9dce9;border-left:4px solid #2e74aa;border-radius:8px;background:#f6fbfe}
.practice-current-stage-card span{display:block;color:#71869a;font-size:10px;font-weight:800;letter-spacing:.08em}
.practice-current-stage-card strong{display:block;margin-top:4px;color:#244b6c;font-size:14px}
.practice-current-stage-card p{margin:4px 0 0;color:#587087;font-size:11px}
.practice-current-stage-card>a{white-space:nowrap;font-size:12px;font-weight:800}
.practice-current-stage-focus{padding-left:14px;border-left:1px solid #d7e5ef}
.practice-current-stage-focus b{color:#1d6599}
.practice-current-stage-focus b.is-low{color:#a45e22}
.practice-focus-warnings{display:grid;gap:4px;margin-top:7px}
.practice-focus-warnings:empty{display:none}
.practice-focus-warnings p{margin:0;padding:6px 8px;border-radius:5px;background:#fff7e8;color:#855a1d;font-size:10px}
.practice-module-focus{margin:3px 0;color:#2c6f52;font-size:10px;font-weight:800}
.practice-focus-badge{display:inline-block;margin-left:5px;padding:1px 5px;border-radius:999px;background:#e7f5ed;color:#28714f;font-size:9px;font-style:normal;vertical-align:1px}
@media(max-width:760px){.practice-current-stage-card{grid-template-columns:1fr;gap:9px}.practice-current-stage-focus{padding:9px 0 0;border-left:0;border-top:1px solid #d7e5ef}}


/* D4.1: class-first generation context and full-width calendar rail */
.practice-generation-context-card{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(240px,1.15fr) minmax(220px,.9fr) minmax(220px,.95fr) auto;gap:0;margin:14px 0 10px;border:1px solid #bfd5e6;border-left:5px solid #245b8f;border-radius:9px;background:linear-gradient(135deg,#f7fbfe,#eef6fb);box-shadow:0 6px 18px #1f5f9910;overflow:hidden}
.practice-generation-context-card>div,.practice-generation-context-card>fieldset{padding:14px 15px;border-right:1px solid #d8e6f0}
.practice-generation-context-card>div>span,.practice-generation-mode legend{display:block;margin:0 0 5px;color:#70889d;font-size:9px;font-weight:900;letter-spacing:.08em}
.practice-generation-context-class strong{display:block;color:#174f7f;font-size:25px;line-height:1.15}
.practice-generation-context-card div>strong{display:block;color:#234b6c;font-size:13px;line-height:1.4}
.practice-generation-context-card div>small{display:block;margin-top:4px;color:#71869a;font-size:10px;line-height:1.4}
.practice-generation-context-stage strong{font-size:14px!important}
.practice-generation-context-history strong{color:#2c6e54!important}
.practice-generation-mode{min-width:0;margin:0;border:0}
.practice-generation-mode label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 7px;align-items:center;padding:3px 0;color:#2d526f;font-size:10px;font-weight:800}
.practice-generation-mode label input{grid-row:1/3;margin:0}
.practice-generation-mode label span{font-size:11px}.practice-generation-mode label small{color:#8193a3;font-size:9px;font-weight:500}
.practice-generation-mode p{margin:5px 0 0;color:#607a90;font-size:9px;line-height:1.4}
#practice-context-edit-scope{align-self:stretch;margin:12px;min-width:118px;padding:8px 10px;font-size:10px;font-weight:800}
.practice-profile-scope{margin-top:8px}

.practice-center:not(.teacher-workbench-shell) .practice-workspace-body{--practice-calendar-rail:clamp(310px,24vw,380px);grid-template-columns:var(--practice-calendar-rail) minmax(0,1fr) 220px!important;gap:14px!important}
.practice-center:not(.teacher-workbench-shell):not(.workspace-has-actions) .practice-workspace-body{grid-template-columns:var(--practice-calendar-rail) minmax(0,1fr)!important}
.practice-center:not(.teacher-workbench-shell) .practice-page{margin-left:0!important}
.practice-center .practice-status-calendar{width:100%!important;max-width:none!important;top:84px}
.practice-center .practice-status-calendar-card{width:100%;padding:16px!important}
.practice-center .practice-status-calendar-head{grid-template-columns:40px minmax(0,1fr) 40px;gap:9px;margin-bottom:11px}
.practice-center .practice-status-calendar-head strong{font-size:14px}.practice-center .practice-status-calendar-head button{min-height:40px}
.practice-center .practice-status-calendar-week,.practice-center .practice-status-calendar-grid{gap:7px!important}
.practice-center .practice-status-calendar-grid{min-height:220px}
.practice-center .practice-status-calendar-grid>.is-empty{min-height:44px}
.practice-center .practice-status-day{min-height:48px!important;padding:5px 3px!important}
.practice-center .practice-status-day b{font-size:13px!important}.practice-center .practice-status-day small{font-size:9px!important;line-height:1.15!important}
.practice-center .practice-status-calendar-week span{font-size:9px!important}
.practice-center .practice-status-calendar-legend{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-top:11px!important;font-size:9px!important}
.practice-center .practice-status-calendar-checkin{margin-top:11px;padding:10px;font-size:11px}

@media(max-width:1440px) and (min-width:1181px){
 .practice-center:not(.teacher-workbench-shell) .practice-workspace-body{--practice-calendar-rail:clamp(310px,24vw,330px);grid-template-columns:var(--practice-calendar-rail) minmax(0,1fr) 205px!important;gap:12px!important}
 .practice-center:not(.teacher-workbench-shell):not(.workspace-has-actions) .practice-workspace-body{grid-template-columns:var(--practice-calendar-rail) minmax(0,1fr)!important}
 .practice-generation-context-card{grid-template-columns:minmax(160px,.7fr) minmax(210px,1.1fr) minmax(190px,.9fr) minmax(190px,.9fr)}
 #practice-context-edit-scope{grid-column:1/-1;margin:0 12px 12px;min-height:34px}
}
@media(max-width:1180px){
 .practice-center:not(.teacher-workbench-shell) .practice-workspace-body,.practice-center:not(.teacher-workbench-shell):not(.workspace-has-actions) .practice-workspace-body{grid-template-columns:minmax(0,1fr)!important}
 .practice-center .practice-status-calendar{position:static;width:100%!important;top:auto}
 .practice-generation-context-card{grid-template-columns:repeat(2,minmax(0,1fr))}
 .practice-generation-context-card>div,.practice-generation-context-card>fieldset{border-bottom:1px solid #d8e6f0}
 #practice-context-edit-scope{grid-column:1/-1;min-height:38px}
}
@media(max-width:680px){
 .practice-generation-context-card{grid-template-columns:1fr}
 .practice-generation-context-card>div,.practice-generation-context-card>fieldset{border-right:0}
 .practice-generation-context-class strong{font-size:22px}
 .practice-center .practice-status-calendar-card{padding:11px!important}
 .practice-center .practice-status-calendar-grid{min-height:auto}
 .practice-center .practice-status-day{min-height:38px!important}
 .practice-center .practice-status-calendar-legend{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


@media(max-width:1320px) and (min-width:1181px){
 .practice-generation-context-card{grid-template-columns:repeat(2,minmax(0,1fr))}
 .practice-generation-context-card>div,.practice-generation-context-card>fieldset{border-bottom:1px solid #d8e6f0}
 #practice-context-edit-scope{grid-column:1/-1}
}
