.academy-calendar{margin:18px 26px 0;display:flex;justify-content:flex-end}.academy-calendar .cal-shell{width:100%;min-width:0;box-sizing:border-box;background:#fff;border:1px solid #dbe3f2;border-radius:12px;overflow:hidden;color:#1b2947}.academy-calendar .cal-bar{display:flex;align-items:center;gap:12px;padding:11px 16px;flex-wrap:wrap}.academy-calendar .cal-bar strong{margin-right:auto}.academy-calendar .cal-summary{font-size:12px;color:#687998}.academy-calendar .cal-tools{display:flex;align-items:center;gap:8px;padding:12px 16px;flex-wrap:wrap;border-top:1px solid #e4eaf3}.academy-calendar .cal-spacer{flex:1}.academy-calendar .cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e4eaf3}.academy-calendar .cal-day{min-width:0;min-height:125px;border:0;border-right:1px solid #e4eaf3;border-radius:0;background:#fff;color:#1b2947;text-align:left;padding:10px 8px;display:flex;flex-direction:column;gap:6px;cursor:pointer;font:inherit}.academy-calendar .cal-day:last-child{border-right:0}.academy-calendar .cal-day>b{font-size:22px}.academy-calendar .cal-day.selected{background:#f1f5ff;box-shadow:inset 0 3px #2958dc}.academy-calendar .cal-day small{font-size:12px}.academy-calendar .cal-event{font-size:12px;overflow-wrap:anywhere;background:#fff5e6;border-left:3px solid #bd7a20;padding:5px;border-radius:4px}.academy-calendar .cal-event.course{background:#eaf0ff;border-left-color:#3865e7}.academy-calendar .cal-event small{display:block;color:#586987}.academy-calendar .cal-detail{padding:14px 17px;background:#f4f7fc}.academy-calendar .cal-detail article{display:flex;gap:14px;justify-content:space-between;border-top:1px solid #dce5f3;margin-top:10px;padding-top:10px}.academy-calendar .cal-detail article>div:first-child{min-width:0;overflow-wrap:anywhere}.academy-calendar .cal-detail b,.academy-calendar .cal-meta{display:block}.academy-calendar .cal-meta,.academy-calendar .cal-private{font-size:12px;color:#657594}.academy-calendar .cal-detail p{white-space:pre-wrap;font-size:13px;margin:6px 0}.academy-calendar .cal-actions{display:flex;gap:6px;flex-shrink:0;align-items:flex-start}.academy-calendar .cal-status{font-size:12px;margin:0;padding:0 16px 10px;color:#687998}.academy-calendar .cal-editor{padding:17px;border-top:1px solid #dce5f3}.academy-calendar .cal-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.academy-calendar .cal-full{grid-column:1/-1}.academy-calendar input,.academy-calendar select,.academy-calendar textarea{width:100%;box-sizing:border-box}.academy-calendar .cal-result{color:#a72d36}.academy-calendar [hidden]{display:none!important}.cal-preview{padding:10px 26px;color:#687998}@media(max-width:700px){.academy-calendar{margin:12px}.academy-calendar .cal-week{grid-template-columns:repeat(4,minmax(0,1fr))}.academy-calendar .cal-day{border-bottom:1px solid #e4eaf3;min-height:100px}.academy-calendar .cal-fields{grid-template-columns:1fr}.academy-calendar .cal-full{grid-column:auto}.academy-calendar .cal-detail article{flex-wrap:wrap}.academy-calendar .cal-tools{padding:10px}.academy-calendar input,.academy-calendar select,.academy-calendar textarea{font-size:16px}}@media(pointer:coarse){.academy-calendar button{min-height:44px}}

.academy-calendar .cal-month .cal-day{border-bottom:1px solid #e4eaf3}.academy-calendar .cal-blank{background:#f6f8fc;border-right:1px solid #e4eaf3;border-bottom:1px solid #e4eaf3}.academy-calendar .cal-tools [aria-pressed="true"]{background:#2858df;color:#fff}@media(max-width:700px){.academy-calendar .cal-month .cal-blank{display:none}}
/* Compact management shell; scoped to management only. */
.admin-clean .admin-shell{grid-template-columns:225px minmax(0,1fr)}
.admin-clean .sidebar{padding:22px 14px}.admin-clean .sidebar .brand{font-size:14px;padding:0 5px 20px}.admin-clean .nav-group{margin:18px 10px 7px;padding:0;font-size:11px;letter-spacing:.05em}.admin-clean .side-button{padding:10px 12px;min-height:40px;margin:3px 0;font-size:13px;border-radius:7px}.admin-clean .admin-menu-group{margin:5px 0}.admin-clean .admin-menu-group summary{list-style:none;padding:11px 12px;cursor:pointer;font-size:13px;color:#dce6f8}.admin-clean .admin-menu-group summary::-webkit-details-marker{display:none}.admin-clean .admin-menu-group summary::after{content:'＋';float:right;color:#a6b9d8}.admin-clean .admin-menu-group[open] summary::after{content:'−'}.admin-clean .admin-menu-items{margin-left:12px;padding-left:7px;border-left:1px solid #3b5074}.admin-clean .admin-menu-items .side-button{font-size:12px}.admin-clean .side-home{font-size:12px}.admin-clean .admin-header{padding:15px 24px;min-height:72px}.admin-clean .admin-header p{font-size:12px}.admin-clean .workspace{padding:20px 24px}.admin-clean .workspace-head{margin-bottom:18px}.admin-clean .workspace-head h1{font-size:23px}.admin-clean .workspace-head .eyebrow{display:none}.admin-clean .panel{border-radius:10px;box-shadow:none}.admin-clean .small-button,.admin-clean .button{border-radius:7px}.admin-clean .academy-calendar{margin:16px 24px 0}.admin-clean .cal-bar{padding:10px 16px}.admin-clean .cal-summary{max-width:65%;overflow-wrap:anywhere}.admin-clean .cal-day{min-height:92px;padding:8px}.admin-clean .cal-day>b{font-size:19px}.admin-clean .cal-tools .button{padding:9px 14px;font-size:13px}.admin-clean .cal-status{padding-bottom:8px}.admin-clean .cal-detail{padding:10px 16px}
.admin-clean .staff-notices{margin:14px 24px 0;background:#fff;border:1px solid #e2e7ef;border-radius:10px;box-shadow:none}.admin-clean .staff-notices-head{padding:12px 16px;border-bottom:0;gap:10px}.admin-clean .staff-notices-head strong{font-size:16px}.admin-clean .staff-notices-list{max-height:none;overflow:visible;padding:0}.admin-clean .staff-notice-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 16px;border-top:1px solid #e5eaf2;background:#fff;color:#1c2d48;font-size:13px}.admin-clean .staff-notice-row:hover{background:#f5f7fc}.admin-clean .staff-notice-row strong{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:600}.admin-clean .staff-notice-row time{font-size:12px;color:#6a7a93;white-space:nowrap}.admin-clean .staff-notice-row .badge{font-size:11px;white-space:nowrap}.admin-clean .notice-dialog-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#32435e;margin:16px 0 22px}.admin-clean .staff-notice-dialog h2{font-size:22px;padding-right:25px}.admin-clean .staff-notice-dialog .notice-ack-actions{flex-wrap:wrap}
.admin-clean .application-panel{margin:16px 24px 0;padding:20px;border-radius:10px;box-shadow:none}.admin-clean .application-heading h2{font-size:21px}.admin-clean .application-heading .eyebrow{display:none}.admin-clean .application-heading p{font-size:12px;margin-bottom:12px}.admin-clean .application-heading{margin-bottom:12px}.admin-clean .application-periods{gap:6px;margin-bottom:10px}.admin-clean .application-hint{font-size:11px;margin-bottom:12px}.admin-clean .application-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-clean .application-summary>div{padding:13px 16px;border-radius:8px;background:#f4f6fa}.admin-clean .application-summary>div:first-child{background:#edf2ff}.admin-clean .application-summary strong{font-size:26px}.admin-clean .application-range{font-size:12px}.admin-clean .application-table td,.admin-clean .application-table th{padding:11px;font-size:13px}.admin-clean .stats{gap:12px;margin-bottom:18px}.admin-clean .stat{padding:16px;border-radius:10px}.admin-clean .stat strong{font-size:27px}.admin-clean .dashboard-grid{gap:14px}.admin-clean .visitor-stats{margin:0 24px 16px;font-size:12px}.admin-clean .visitor-stats p{display:none}
@media(max-width:900px){.admin-clean .admin-shell{display:block}.admin-clean .sidebar{position:relative;height:auto;display:none}.admin-clean .sidebar.open{display:block}.admin-clean .mobile-toolbar{display:inline-flex}.admin-clean .admin-header{flex-wrap:wrap}.admin-clean .cal-summary{max-width:100%}}
@media(max-width:600px){.admin-clean .admin-header{padding:14px}.admin-clean .academy-calendar,.admin-clean .staff-notices{margin:12px 12px 0}.admin-clean .application-panel{margin:12px 12px 0;padding:14px}.admin-clean .workspace{padding:16px 12px}.admin-clean .staff-notice-row{flex-wrap:wrap;gap:7px;padding:11px 12px}.admin-clean .staff-notice-row strong{flex-basis:65%}.admin-clean .staff-notice-row time{margin-left:auto}.admin-clean .application-summary>div{padding:11px 8px}.admin-clean .application-summary strong{font-size:23px}.admin-clean .visitor-stats{margin:0 12px 12px}}

/* Weekend/holiday color depends on ISO date, never grid position. */
.academy-calendar .cal-day.cal-saturday{background:#f2f7ff}
.academy-calendar .cal-day.cal-holiday{background:#fff3f3}
.academy-calendar .cal-day.cal-saturday>small,.academy-calendar .cal-day.cal-saturday>b,.academy-calendar .cal-blue{color:#2457b9}
.academy-calendar .cal-day.cal-holiday>small,.academy-calendar .cal-day.cal-holiday>b,.academy-calendar .cal-red{color:#bb2939}
.academy-calendar .cal-holiday-name{display:block;color:#b12234;font-size:12px;font-weight:600;overflow-wrap:anywhere;line-height:1.5}
.academy-calendar .cal-day.selected{box-shadow:inset 0 3px #2958dc,inset 0 0 0 1px #2958dc}
.academy-calendar .cal-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0 16px 8px;font-size:12px}
.academy-calendar .cal-holiday-coverage{font-size:12px;color:#687998;margin:0;padding:0 16px 10px}
.academy-calendar .cal-event{color:#1b2947}

/* 2026-10-12: calendar heading emphasis only. */
.academy-calendar .cal-shell .cal-bar{
 background:linear-gradient(110deg,#164bb8 0%,#3658c8 48%,#7041b4 100%);
 color:#fff;padding:15px 18px;gap:12px;min-height:64px;box-sizing:border-box;
}
.academy-calendar .cal-shell .cal-bar>strong{
 color:#fff;font-size:17px;font-weight:750;letter-spacing:-.3px;line-height:1.5;
 display:flex;align-items:center;gap:10px;
}
.academy-calendar .cal-shell .cal-bar>strong::before{
 content:'';display:block;width:5px;height:23px;border-radius:3px;
 background:#a5e9ff;flex-shrink:0;
}
.academy-calendar .cal-shell .cal-bar .cal-summary{
 color:#fff;font-size:12px;line-height:1.7;min-width:0;overflow-wrap:anywhere;
}
.academy-calendar .cal-shell .cal-bar .cal-toggle{
 background:#fff;color:#2448aa;border:1px solid #fff;border-radius:9px;
 min-height:44px;min-width:100px;padding:10px 16px;font-size:14px;font-weight:750;
 box-shadow:0 3px 10px rgba(10,24,72,.16);cursor:pointer;flex-shrink:0;
}
.academy-calendar .cal-shell .cal-bar .cal-toggle:hover{background:#eaf3ff;border-color:#eaf3ff;color:#163b9d}
.academy-calendar .cal-shell .cal-bar .cal-toggle[aria-expanded="true"]{background:#e8efff;border-color:#e8efff;color:#253d86}
.academy-calendar .cal-shell .cal-bar .cal-toggle:focus-visible{outline:3px solid #a5e9ff;outline-offset:3px}
@media(max-width:600px){
 .academy-calendar .cal-shell .cal-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:13px 12px;gap:8px 10px}
 .academy-calendar .cal-shell .cal-bar>strong{font-size:15px;margin:0;grid-column:1;grid-row:1}
 .academy-calendar .cal-shell .cal-bar .cal-toggle{grid-column:2;grid-row:1;padding:9px 12px;min-width:90px}
 .academy-calendar .cal-shell .cal-bar .cal-summary{grid-column:1/-1;grid-row:2;max-width:100%;font-size:12px}
}
