/* Academic class-color editor; selectors are scoped to new controls only. */
.ccLaunch { display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:7px!important; min-height:40px!important; padding:8px 14px!important; border:1px solid #c8ddf0!important; border-radius:9px!important; background:#f5faff!important; color:#2578b5!important; font:inherit!important; font-size:13px!important; white-space:nowrap!important; }
.ccHeadActions { display:flex;align-items:center;gap:8px;margin-left:auto; }
.adminClassCard .ccClassHeader {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:40px!important;height:auto!important;margin-bottom:16px!important;}
.adminClassCard .ccClassHeader h2 {margin:0!important;min-width:0!important;}
.adminClassCard .ccClassHeader .ccHeadActions {position:static!important;display:flex!important;gap:8px!important;align-items:center!important;flex:0 0 auto!important;}
.adminClassCard .ccClassHeader #saveAdminClasses {position:static!important;inset:auto!important;transform:none!important;width:auto!important;min-width:60px!important;height:40px!important;margin:0!important;}
.ccLaunchRow { display:flex;justify-content:flex-end; margin:12px 0 8px; }
.ccDialog { box-sizing:border-box;width:min(780px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 40px);padding:0;margin:auto;border:1px solid #d3e3f0;border-radius:20px;box-shadow:0 24px 70px #132f5040;background:#fff;color:#263d50;overflow:hidden;font-family:inherit; }
.ccDialog::backdrop { background:rgb(22 41 61 / 40%); }
.ccDialog * {box-sizing:border-box;}
.ccDialog[open] {display:flex;flex-direction:column;}
.ccDialog button,.ccDialog select {font-family:inherit;}
.ccDialog button {touch-action:manipulation;}
.ccHeader {display:flex;align-items:center;gap:12px;padding:21px 24px;border-bottom:1px solid #dce8f2;background:#fff;flex-shrink:0;}
.ccTitle {display:flex;align-items:center;gap:10px;min-width:0;}
.ccTitle h2 {margin:0;font-size:21px;font-weight:800;line-height:1.3;white-space:nowrap;}
.ccTitleIcon {display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf5ff;font-size:20px;}
.ccTerm {margin-left:auto;padding:7px 10px;border-radius:7px;background:#f1f6fa;color:#60798f;font-size:12px;white-space:nowrap;}
.ccClose {display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #dce5ed;border-radius:9px;background:#fff;color:#748a9b;font-size:25px;line-height:1;}
.ccContent {overflow:auto;min-height:0;padding:22px 24px;overscroll-behavior:contain;}
.ccSelectors {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px;}
.ccField {display:grid;gap:8px;min-width:0;}
.ccLabel {font-size:13px;color:#516b80;font-weight:800;}
.ccField select {width:100%;min-width:0;height:44px;padding:0 32px 0 12px;border:1px solid #cbdde9;border-radius:9px;background-color:#fff;color:#28445b;font-size:14px;text-align:center;text-align-last:center;}
.ccColumns {display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:22px;}
.ccSectionTitle {display:flex;align-items:center;gap:8px;justify-content:space-between;margin:0 0 13px;font-size:14px;font-weight:800;line-height:1.3;}
.ccTinyLabel {font-size:12px;font-weight:700;color:#7790a3;}
.ccPalette {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;}
.ccColor {display:grid;place-items:center;width:100%;height:42px;min-width:0;padding:0;border:3px solid transparent;border-radius:10px;background:var(--cc-color);box-shadow:inset 0 0 0 1px #0000000b;color:var(--cc-ink,#fff);font-size:20px;line-height:1;}
.ccColor[aria-pressed="true"] {outline:2px solid #294f72;outline-offset:3px;}
.ccColor span {visibility:hidden;text-shadow:0 1px 2px #0005;}
.ccColor[aria-pressed="true"] span {visibility:visible;}
.ccCustom {display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;margin-top:17px;}
.ccCustomLabel {grid-column:1/-1;font-size:12px;color:#637d91;}
.ccCustom input {min-width:0;width:100%;height:40px;margin:0;border:1px solid #cbdde9;border-radius:8px;background:#fff;color:#36566f;font-family:inherit;font-size:13px;text-align:center;}
.ccCustom input[type="color"] {padding:5px;}
.ccCustom input[type="text"] {padding:8px 12px;text-transform:uppercase;letter-spacing:.3px;}
.ccClasses {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.ccClass {display:flex;align-items:center;justify-content:center;gap:7px;height:39px;min-width:0;padding:0 5px;border:1px solid #dce6ed;border-radius:8px;background:#fff;color:#435e74;font-size:12px;white-space:nowrap;}
.ccClass[aria-pressed="true"] {background:#eff7ff;border:1.5px solid #2b88cf;color:#236caa;}
.ccDot {flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--cc-color);}
.ccPreview {padding:17px;background:#f4f8fc;border:1px solid #dfebf3;border-radius:13px;}
.ccPreviewLabel {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.ccPreviewLabel h3 {margin:0;font-size:13px;color:#53718a;}
.ccPreviewDate {font-size:12px;color:#7790a3;}
.ccLesson {background:var(--cc-color);color:var(--cc-ink,#fff);border-radius:12px;padding:16px 18px;box-shadow:0 5px 10px #28476612;}
.ccLessonTop {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #ffffff35;}
.ccLessonClass {display:flex;align-items:center;gap:9px;font-size:15px;}
.ccPeriod {display:inline-flex;align-items:center;justify-content:center;height:23px;padding:0 8px;border-radius:6px;background:#ffffff24;font-size:12px;white-space:nowrap;}
.ccLessonOpen {font-size:12px;white-space:nowrap;opacity:.9;}
.ccLessonInfo {display:grid;grid-template-columns:32px minmax(0,1fr);gap:7px 10px;font-size:13px;line-height:1.45;}
.ccLessonInfo span {opacity:.78;}
.ccLessonInfo strong {font-weight:800;word-break:keep-all;overflow-wrap:anywhere;}
.ccFooter {display:flex;align-items:center;gap:9px;padding:15px 24px;border-top:1px solid #dce8f2;background:#fff;flex-shrink:0;}
.ccAction {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:82px;padding:9px 17px;border:1px solid #ccdeec;border-radius:9px;background:#fff;color:#446580;font-size:13px;font-weight:800;white-space:nowrap;}
.ccReset {margin-right:auto;background:#f6f9fc;}
.ccSave {border-color:#2bbf6b;background:#2ecc71;color:#fff;min-width:90px;}
.ccToast {position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:10000;padding:12px 20px;border-radius:10px;background:#253d52;color:#fff;font-size:13px;white-space:nowrap;}
body:has(.ccDialog[open]) :is(#peMobileSettingsModal,#peLocalSettingsModal) {visibility:hidden;}
@media(max-width:600px){
 .ccDialog {width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:17px;}
 .ccHeader {gap:8px;padding:15px 16px;}
 .ccTitle {gap:8px;}.ccTitle h2{font-size:18px;}.ccTitleIcon{width:30px;height:30px;border-radius:8px;font-size:18px;}
 .ccTerm {padding:5px 6px;font-size:11px;}.ccClose{flex-basis:36px;width:36px;height:36px;font-size:23px;}
 .ccContent {padding:17px 16px;}.ccSelectors{gap:10px;margin-bottom:18px;}.ccLabel{font-size:12px;}.ccField{gap:6px;}.ccField select{font-size:13px;}
 .ccColumns {grid-template-columns:1fr;gap:19px;margin-bottom:19px;}.ccSectionTitle{font-size:13px;margin-bottom:11px;}.ccPalette{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}.ccColor{height:44px;border-radius:9px;}
 .ccClasses{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;}.ccClass{height:44px;font-size:11px;padding-inline:3px;gap:4px;}.ccDot{width:8px;height:8px;flex-basis:8px;}
 .ccCustom {grid-template-columns:48px minmax(0,1fr);margin-top:14px;gap:7px;}.ccCustom input{height:38px;}.ccCustomLabel{font-size:11px;}
 .ccPreview {padding:12px;}.ccPreviewDate{font-size:11px;}.ccPreviewLabel h3{font-size:12px;}.ccLesson{padding:13px;}.ccLessonClass{font-size:13px;gap:7px;}.ccLessonInfo{font-size:12px;grid-template-columns:28px 1fr;gap:6px 8px;}.ccLessonTop{margin-bottom:10px;padding-bottom:10px;}.ccLessonOpen{font-size:11px;}
 .ccFooter {padding:12px 16px;gap:7px;}.ccAction {min-width:68px;font-size:12px;padding:8px 12px;}.ccSave{min-width:73px;}.ccReset{padding-inline:10px;}
}
@media(max-width:350px){.ccHeader{padding:13px 12px;}.ccTitle h2{font-size:17px;}.ccTitleIcon{display:none;}.ccContent{padding:15px 12px;}.ccFooter{padding:12px;}.ccTerm{font-size:11px;}.ccPalette{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}.ccClasses{grid-template-columns:repeat(4,minmax(0,1fr));}.ccClass{gap:5px;}.ccDot{width:8px;height:8px;flex-basis:8px;}}

.adminClassCard .ccClassHeader .ccLaunch {margin-left:auto!important;flex:0 0 auto!important;}
.ccLaunchRow {margin:12px 0 8px;display:flex;justify-content:flex-end;}
.ccLaunchRow[aria-hidden="true"] {display:none!important;}
.ccMessage {margin:0 0 14px;padding:10px 12px;border:1px solid #efc6c6;border-radius:8px;background:#fff5f5;color:#a32c2c;font-size:13px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.ccMessage[hidden] {display:none!important;}
.ccDialog [aria-invalid="true"] {border-color:#c83e45;outline:1px solid #c83e45;}
.ccDialog button:disabled {cursor:wait;opacity:.6;}
.ccDialog .ccLesson :is(strong,span) {color:inherit;}
.lessonBadge.peClassCustomColor,.mobileLesson.peClassCustomColor,.lessonBadge.peClassCustomColor b,.mobileLesson.peClassCustomColor :is(b,strong,i,em,small,span) {color:var(--pe-class-ink,#fff)!important;}
.ccDialog button:focus-visible,.ccDialog input:focus-visible,.ccDialog select:focus-visible {outline:2px solid #1878c6;outline-offset:3px;}
body:has(.ccDialog[open]) {overflow:hidden;}
.ccDialog .ccClass > span {white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;flex-shrink:0!important;}
/* 1.22.89 — one compact action row, preserving the original class-save button. */
@layer peLocalTypography {
 html body .adminClassCard .ccClassHeaderCompact {display:none!important;}
 html body .adminClassCard .ccClassActions {display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto!important;margin-left:auto!important;min-width:0!important;}
 html body .adminClassCard #adminClassGrid + .ccClassActions {margin-top:12px!important;margin-bottom:8px!important;}
 html body .adminClassCard .ccClassActions[aria-hidden="true"] {display:none!important;}
 html body .adminClassCard .ccClassActions :is(.ccLaunch,#saveAdminClasses) {
  position:static!important;inset:auto!important;transform:none!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;flex:0 0 104px!important;
  width:104px!important;min-width:104px!important;max-width:104px!important;height:44px!important;min-height:44px!important;
  box-sizing:border-box!important;margin:0!important;padding:8px!important;gap:5px!important;
  text-align:center!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;
 }
 html body .adminClassCard .ccClassHeader {flex-wrap:wrap!important;}
}
