/* Compact work surface: the toolbox and save action stay within reach. */
body:has(.curriculum-workspace){display:flex;flex-direction:column;height:100dvh;overflow:hidden}
body:has(.curriculum-workspace)>.appbar,body:has(.curriculum-workspace)>.app-navigation{flex-shrink:0}
body.viewer-mode #viewer:has(.curriculum-workspace){display:block;flex:1;min-height:0;height:auto;overflow:hidden;padding:8px 14px}
.curriculum-workspace{height:100%;max-width:1640px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:49px minmax(0,1fr);gap:6px 12px;color:#eef5f5;box-sizing:border-box}
.curriculum-workspace-header{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.curriculum-workspace-header h1{font-size:20px;margin:0;letter-spacing:-.4px}
.curriculum-workspace button,.curriculum-goals-dialog button{touch-action:manipulation}.curriculum-workspace button:focus-visible{outline:2px solid #87d3ce;outline-offset:2px}
.curriculum-workspace-locations{grid-column:2;grid-row:1;display:flex;gap:6px;align-items:start}.curriculum-workspace-locations button{min-height:44px;padding:8px 18px;background:#203139;color:#e9f1f3;border:1px solid #48606c;border-radius:6px;font-size:14px;font-weight:700}.curriculum-workspace-locations button[aria-pressed=true]{background:#9e283e;border-color:#c7697a;color:white}
.curriculum-workspace-courses{grid-column:1;grid-row:1;display:flex;gap:6px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin;scrollbar-color:#59757e #1c2b32}
.curriculum-workspace .curriculum-course-choice{flex:0 0 auto;min-height:44px;white-space:nowrap;padding:8px 15px;border:1px solid #45606a;border-radius:6px;background:#1c2b32;color:#eff6f7;font-size:14px}.curriculum-workspace button.curriculum-course-choice:hover{background:#30464e;color:#fff;border-color:#9bc6ca}.curriculum-workspace .curriculum-course-choice[aria-pressed=true]{background:#2c484b;border-color:#89c9c3;box-shadow:inset 0 -2px #89c9c3}
.curriculum-workspace-content{grid-column:1/-1;min-height:0;display:flex;flex-direction:column;gap:6px}.curriculum-course-description{display:none;align-items:baseline;gap:12px;min-width:0;flex-shrink:0}.curriculum-course-description h2{font-size:15px;margin:0}.curriculum-course-description p{margin:0;color:#aec3c8;font-size:12px}
.curriculum-workspace-program{min-height:0;flex:1;display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:44px minmax(0,1fr);gap:6px 12px}
.curriculum-workspace .curriculum-navigation{grid-column:1;grid-row:1;gap:5px}.curriculum-workspace .curriculum-navigation button{min-height:44px;min-width:44px;padding:8px;font-size:16px}.curriculum-workspace .curriculum-navigation strong{font-size:14px}
.curriculum-workspace .curriculum-lesson-picker{display:block;grid-column:2;grid-row:1;min-width:0}.curriculum-workspace .curriculum-lesson-picker>summary{display:none}.curriculum-workspace .curriculum-number-strip{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:4px;margin:0;padding:0 0 3px;scrollbar-width:thin}.curriculum-workspace .curriculum-number-strip button{flex:0 0 44px;min-width:44px;min-height:41px;padding:6px;font-size:14px}
.curriculum-workspace .curriculum-program-body{grid-column:1/-1;min-height:0;display:flex;flex-direction:column;gap:6px}.curriculum-workspace .curriculum-shared-note{display:none}.curriculum-workspace .curriculum-updated{margin:0;font-size:11px;color:#b7cbd0;flex-shrink:0}.curriculum-workspace .curriculum-program-body>div:empty{display:none}
.curriculum-workbench{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:10px;min-height:0;flex:1}.curriculum-workbench.without-toolbox{grid-template-columns:minmax(0,1fr)}.curriculum-workbench-main{display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0}
.curriculum-workspace .curriculum-program-sheet{grid-template-columns:minmax(0,1.2fr) minmax(220px,.85fr);grid-template-areas:"current previous";align-items:stretch;padding:12px;gap:12px;min-height:0;flex:1;margin:0!important}.curriculum-workspace .curriculum-current{padding:0;min-height:0;overflow:hidden}.curriculum-workspace .curriculum-previous{min-height:0;overflow:auto;padding:10px;scrollbar-width:thin}
.curriculum-workspace .curriculum-previous .curriculum-plan-view{max-height:none;overflow:visible}.curriculum-workspace .curriculum-previous h3{font-size:16px;margin:0 0 8px}.curriculum-workspace .curriculum-previous .curriculum-plan-row{font-size:14px;margin:7px 0;padding-bottom:7px}.curriculum-workspace .curriculum-history-copy{font-size:14px;line-height:1.4;min-height:38px;padding:7px 8px;margin:4px 0}.curriculum-workspace .curriculum-previous .curriculum-muted{font-size:12px;line-height:1.4;margin:6px 0}.curriculum-workspace .curriculum-history-help{display:none}.curriculum-workspace .curriculum-history-destination{min-height:36px;padding:6px;margin:3px 0 6px;background:#443720;color:#fff0d4;border-color:#866a40;font-size:13px}
.curriculum-workspace .curriculum-compact-form{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;margin:0}.curriculum-workspace .curriculum-compact-form h3{font-size:18px;margin:0;flex-shrink:0}.curriculum-inputs{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:0;flex:1;padding:2px;scrollbar-width:thin;scroll-padding:8px}.curriculum-workspace .curriculum-field,.curriculum-workspace .curriculum-assignment,.curriculum-goals-dialog .curriculum-field{color:#dbe7e8}.curriculum-workspace .curriculum-compact-form .curriculum-field{font-size:14px;gap:4px}.curriculum-workspace .curriculum-compact-form .curriculum-field textarea{font-size:16px;line-height:1.4;min-height:44px;padding:8px 9px;flex-shrink:0}.curriculum-workspace .curriculum-compact-form .dance-active{color:#b1e3de}.curriculum-workspace .curriculum-compact-form .dance-active textarea{border-color:#89c9c3;box-shadow:0 0 0 1px #89c9c3}.curriculum-workspace .curriculum-private-links{order:initial;margin:0}.curriculum-workspace .curriculum-private-links summary{font-size:12px;min-height:36px;padding:9px 0}
.curriculum-save-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid #3b555d;padding-top:8px;flex-shrink:0}.curriculum-save-bar .curriculum-notice{flex:1;font-size:12px;line-height:1.35}.curriculum-save-bar button{min-height:44px;font-size:14px;padding:8px 16px;white-space:nowrap}
.curriculum-workspace .curriculum-shared-extras{background:#2b2e36;border-color:#b2a2d4;margin:0;padding:9px 12px;max-height:110px;overflow:auto;flex-shrink:0}.curriculum-workspace .curriculum-shared-extras h3{font-size:14px;margin:0 0 4px}.curriculum-workspace .curriculum-shared-extras p,.curriculum-workspace .curriculum-shared-extras ul{font-size:13px;margin:4px 0;line-height:1.4}.curriculum-workspace .curriculum-shared-extras ul{padding-left:20px}
/* One permanent palette; selecting a dance expands only its contextual goals. */
.curriculum-toolbox{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#1b2b31;border:1px solid #49616a;border-radius:8px;padding:10px;gap:7px;box-shadow:0 4px 12px #0002}.curriculum-toolbox h3{font-size:16px;margin:0}.curriculum-toolbox-targets{display:flex;gap:3px;flex-shrink:0}.curriculum-toolbox-targets button{min-height:40px;padding:6px 4px;flex:1;font-size:12px;background:#253c43;border-color:#4c6971;color:#e7f0f1}.curriculum-toolbox-targets button[aria-pressed=true]{background:#37635e;color:white;border-color:#87c9bd}.curriculum-toolbox-hint{font-size:11px;color:#b5d8d3;margin:0;min-height:14px}.curriculum-toolbox-dances{flex-shrink:0;display:grid;gap:8px}.curriculum-toolbox-group h4{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#b6c8cd;margin:0 0 4px}.curriculum-toolbox-dance-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.curriculum-toolbox-dance-buttons button{min-height:40px;padding:6px 5px;font-size:13px;background:#263c43;border-color:#49616b;color:#eff8f7;line-height:1.2;white-space:normal}.curriculum-toolbox button:hover{background:#35565c;color:#fff}.curriculum-toolbox-dance-buttons button[aria-pressed=true]{background:#36635e;border-color:#a3d6c9;color:#fff}
.curriculum-toolbox-goals{min-height:0;overflow:auto;scrollbar-width:thin;border-top:1px solid #4c686d;padding-top:8px}.curriculum-toolbox-goals:empty{display:none}.curriculum-toolbox-goal-heading{display:flex;align-items:center;gap:6px;justify-content:space-between;font-size:13px;color:#d0ece6}.curriculum-toolbox-goal-heading button{min-height:36px;min-width:36px;padding:4px;background:#284149;color:#dcf1ef;border-color:#4a6469}.curriculum-toolbox-goals p{font-size:12px;line-height:1.4;margin:6px 0;color:#c4d5d6}.curriculum-goal-choice{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;min-height:44px;padding:6px 0;color:#e8f3f3;font-size:14px;line-height:1.35}.curriculum-goal-choice input[type=checkbox]{width:21px!important;height:21px!important;min-width:21px!important;margin:0!important;accent-color:#65c8bc}.curriculum-goal-choice span{min-width:0;overflow-wrap:anywhere}.curriculum-goal-choice small{display:block;font-size:11px;color:#bdced0;margin-top:2px}
.curriculum-workspace-utilities{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end}.curriculum-workspace-utilities button{min-height:40px;font-size:12px;background:transparent;border:1px solid #465e68;color:#cbdce1;padding:7px 10px}.curriculum-workspace .curriculum-secondary-actions{display:flex;gap:6px;margin:0}
.curriculum-goals-dialog{width:min(760px,calc(100vw - 30px))}.curriculum-goal-bank-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.curriculum-goal-bank-group h3{color:#a9dbd5;margin-bottom:5px}.curriculum-goal-add{border-top:1px solid #405d65;padding-top:16px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px}.curriculum-goal-add button{grid-column:2;justify-self:start;min-height:42px}.curriculum-goals-dialog .curriculum-field input,.curriculum-goals-dialog .curriculum-field select{font-size:16px;min-height:44px}
@media(max-width:1100px){.curriculum-workbench{grid-template-columns:minmax(0,1fr) 260px;gap:8px}.curriculum-workspace .curriculum-program-sheet{grid-template-columns:minmax(0,1fr) minmax(195px,.9fr);padding:10px;gap:10px}.curriculum-workspace .curriculum-course-choice{padding:8px 11px}.curriculum-toolbox-dance-buttons button{font-size:12px}}
@media(min-width:701px) and (max-width:950px){.curriculum-workspace{grid-template-rows:44px 49px minmax(0,1fr)}.curriculum-workspace-header{position:static;width:auto;height:auto;clip-path:none;grid-row:1;grid-column:1;align-self:center}.curriculum-workspace-header h1{font-size:18px}.curriculum-workspace-courses{grid-row:2;grid-column:1/-1}.curriculum-workspace-content{grid-row:3}.curriculum-workspace-program{grid-template-columns:180px minmax(0,1fr)}.curriculum-workspace .curriculum-number-strip button{flex-basis:40px;min-width:40px}.curriculum-workspace .curriculum-navigation strong{font-size:13px}.curriculum-workbench{grid-template-columns:minmax(0,1fr) 222px}.curriculum-toolbox-dance-buttons{grid-template-columns:1fr 1fr}.curriculum-workspace .curriculum-program-sheet{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(325px,1.1fr) minmax(160px,.7fr);grid-template-areas:"current" "previous"}.curriculum-workspace .curriculum-previous{padding:10px}.curriculum-workspace .curriculum-previous .curriculum-plan-view{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.curriculum-workspace .curriculum-previous .curriculum-plan-view>h3,.curriculum-workspace .curriculum-previous .curriculum-plan-view>.curriculum-field{grid-column:1/-1}.curriculum-workspace .curriculum-previous .curriculum-plan-row{margin:2px 0}.curriculum-course-description p{font-size:11px}}
@media(max-height:780px) and (min-width:951px){.curriculum-toolbox{position:relative;overflow:visible}.curriculum-toolbox-goals{position:absolute;right:calc(100% + 10px);bottom:0;width:260px;max-height:calc(100% - 20px);padding:10px;background:#233c43;border:1px solid #658d90;border-radius:8px;box-shadow:0 8px 28px #0006;z-index:5}.curriculum-toolbox-dances{gap:6px}.curriculum-toolbox-dance-buttons button{min-height:36px}.curriculum-toolbox{gap:5px;padding:8px}.curriculum-workspace .curriculum-shared-extras{max-height:78px}.curriculum-inputs{gap:7px}}
@media(max-width:700px){
 body.viewer-mode #viewer:has(.curriculum-workspace){padding:6px 8px}.curriculum-workspace{grid-template-rows:49px minmax(0,1fr);gap:5px 8px}.curriculum-workspace-header h1{font-size:15px}.curriculum-workspace-locations{gap:4px}.curriculum-workspace-locations button{font-size:12px;padding:7px 8px}.curriculum-course-description{display:none}.curriculum-workspace-program{grid-template-columns:1fr;grid-template-rows:42px 40px minmax(0,1fr);gap:4px}.curriculum-workspace .curriculum-navigation{justify-content:center}.curriculum-workspace .curriculum-navigation strong{min-width:140px;text-align:center}.curriculum-workspace .curriculum-lesson-picker{grid-column:1;grid-row:2}.curriculum-workspace .curriculum-program-body{grid-row:3}.curriculum-workspace .curriculum-number-strip button{min-height:38px;flex-basis:40px;min-width:40px}
 .curriculum-workbench{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:6px}.curriculum-workbench-main{overflow:auto;gap:6px}.curriculum-workspace .curriculum-program-sheet{display:flex;flex-direction:column;flex:none;padding:10px;gap:10px}.curriculum-workspace .curriculum-current{overflow:visible}.curriculum-workspace .curriculum-compact-form{height:auto}.curriculum-inputs{overflow:visible;flex:none}.curriculum-workspace .curriculum-previous{max-height:none;overflow:visible}.curriculum-workspace .curriculum-shared-extras{max-height:none;overflow:visible}.curriculum-workspace .curriculum-save-bar{position:sticky;bottom:0;background:#192e33;z-index:2}.curriculum-workspace-utilities{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.curriculum-workspace-utilities button{white-space:nowrap;font-size:11px;min-height:36px;padding:6px}.curriculum-workspace-utilities .curriculum-secondary-actions{flex-shrink:0}
 .curriculum-toolbox{padding:7px;gap:4px;max-height:235px}.curriculum-toolbox>h3,.curriculum-toolbox-hint{display:none}.curriculum-toolbox-targets button{min-height:36px}.curriculum-toolbox-dances{display:flex;gap:10px;overflow:auto}.curriculum-toolbox-group{flex:0 0 auto}.curriculum-toolbox-group h4{font-size:10px}.curriculum-toolbox-dance-buttons{display:flex;gap:4px}.curriculum-toolbox-dance-buttons button{min-height:38px;white-space:nowrap;font-size:12px;padding:6px 9px}.curriculum-toolbox-goals{max-height:112px}.curriculum-toolbox-goal-heading{font-size:12px}.curriculum-goal-choice{font-size:13px}.curriculum-goal-bank-rows,.curriculum-goal-add{grid-template-columns:1fr}.curriculum-goal-add button{grid-column:1}
}
@media print{body:has(.curriculum-workspace){height:auto;overflow:visible}.curriculum-workspace,.curriculum-workspace-program,.curriculum-workspace-content,.curriculum-workspace .curriculum-program-body,.curriculum-workbench,.curriculum-workbench-main,.curriculum-workspace .curriculum-program-sheet,.curriculum-inputs{display:block;height:auto;overflow:visible}.curriculum-toolbox,.curriculum-save-bar,.curriculum-workspace-utilities{display:none}}

@media(min-width:701px) and (max-width:950px) and (max-height:950px){.curriculum-workspace .curriculum-program-sheet{display:flex;flex-direction:column;overflow:auto}.curriculum-workspace .curriculum-current{flex:0 0 360px}.curriculum-workspace .curriculum-previous{flex-shrink:0;overflow:visible}.curriculum-workspace .curriculum-previous .curriculum-plan-view{display:block}.curriculum-toolbox{overflow:auto;overscroll-behavior:contain}.curriculum-toolbox-goals{flex-shrink:0;max-height:220px}}

.curriculum-workspace-program,.curriculum-workspace .curriculum-program-body,.curriculum-workbench,.curriculum-toolbox,.curriculum-workspace .curriculum-program-sheet,.curriculum-workspace .curriculum-compact-form{min-width:0}
