/* Planning reference: compact controls, slate text and blue actions. */
:root{--accent:#2563eb;--blue:#2563eb;--blue-soft:#edf3ff;--orange:#dbeafe;--line:#e2e7ee;--muted:#64748b}
body{color:#263142;background:#f6f7f9}
body .primary-btn,body .secondary-btn,body .btn-icon,body .um button:not([data-tab]),body .ref-sync button:not([data-ref-tab]),body .um-dialog button,body .form-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;height:auto;padding:7px 11px;border:1px solid #d7dde4;border-radius:6px;font:600 11px/18px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:#455365;box-shadow:none}
body .primary-btn,body .um-dialog button[type=submit],body .ref-sync button.primary-btn{background:#2563eb;border-color:#2563eb;color:#fff}
body .primary-btn:hover,body .um-dialog button[type=submit]:hover{background:#1d4ed8;border-color:#1d4ed8}
body button:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
body button:disabled{opacity:.5;cursor:not-allowed}
body .text-btn,body .module-edit-button:hover,body .data-table-sort:hover,body .module-detail-arrow:hover{color:#2563eb}
body .module-name-line strong,body .students-table td:nth-child(2) strong,body .instructor-name-cell strong{font-size:13px;font-weight:600;line-height:1.4;color:#293343}
body .modules-catalog-table td,body .students-table td{height:44px;padding-top:8px;padding-bottom:8px}
body .modules-catalog-table tbody tr:hover,body .instructor-accordion[open],body .semester-disclosure .maquette-grid tbody tr:hover{background:#f7f9fc}
body .instructor-course-list{border:1px solid #e3e7ed;border-radius:7px;overflow:hidden;padding:0;margin:14px 0;list-style:none}
body .instructor-course-list li{display:grid;grid-template-columns:minmax(220px,1.7fr) 80px minmax(170px,1fr) 90px;gap:14px;align-items:center;min-height:42px;padding:9px 12px;border:0;border-bottom:1px solid #e8ecf1;border-radius:0;background:#fff;box-shadow:none}
body .instructor-course-list li:last-child{border-bottom:0}body .instructor-course-title{font-size:12px;font-weight:500;color:#334155;background:none;border:0;padding:0;text-align:left}
body .instructor-course-list small{display:none}body .instructor-course-list strong,body .instructor-course-hours{font-size:11px;font-weight:500;color:#64748b}body .instructor-course-hours{text-align:right}
body .modal-backdrop{background:rgba(25,35,49,.36);padding:24px}body .modal{width:min(760px,100%);max-height:calc(100dvh - 48px);padding:24px;border:1px solid #e2e7ee;border-radius:10px;background:#fff;box-shadow:0 24px 80px #17203330;overflow:auto}
body .modal h2,body .um-dialog h2{margin:0 32px 8px 0;color:#263142;font-size:22px;line-height:1.25;letter-spacing:-.02em}
body .modal>p{margin:0 0 22px;font-size:12px;line-height:1.6;color:#64748b}
body .form-grid,body .um-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}body .field,body .um-fields>label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;color:#505a68;font-weight:500}
body .field input,body .field select,body .field textarea,body .um-fields input:not([type=checkbox]),body .um-fields select,body .um-fields textarea{width:100%;min-height:36px;border:1px solid #dce2ea;border-radius:6px;background:#fff;padding:8px 10px;color:#263142;font:12px/1.5 Inter,sans-serif}
body .field textarea,body .um-fields textarea{min-height:100px;resize:vertical}body .form-actions,body .um-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid #e7ebf0}
body .maquette-course-reference,body .ref-readonly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;margin:0 0 20px;border:1px solid #e4e9f0;border-radius:7px;background:#f8fafc}
body .maquette-course-reference small,body .ref-readonly small{display:block;font-size:10px;color:#738094;margin-bottom:5px}body .maquette-course-reference strong,body .ref-readonly strong{font-size:12px;color:#334155;font-weight:500}
body .um-dialog{width:min(760px,calc(100vw - 32px));padding:24px;border:1px solid #e2e7ee;border-radius:10px;max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 24px 80px #17203330}body .um-dialog::backdrop{background:rgba(25,35,49,.36)}
body .settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body .settings-card{display:grid;grid-template-columns:38px 1fr;align-items:start;gap:14px;min-height:158px;padding:18px;border:1px solid #e2e7ee;border-radius:8px;background:#fff;text-align:left;color:#263142;font:12px/1.55 Inter,sans-serif}
body .settings-card .settings-icon{width:38px;height:38px;border-radius:7px;display:grid;place-items:center;background:#edf3ff;color:#2563eb;font-size:20px}body .settings-copy{display:grid;gap:7px}body .settings-copy>strong{font-size:15px;font-weight:600}body .settings-copy>span{font-size:12px;color:#6c7480}body .settings-copy>.settings-link{font-size:11px;font-weight:600;color:#2563eb;margin-top:15px}
.settings-back{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:12px;color:#64748b}.planning-settings-back{height:38px;margin:0 0 8px}.planning-settings-back button{height:30px}.planning-workspace-main:has(.planning-settings-back:not([hidden])) .planning-workspace-host{height:calc(100% - 46px)}
.portal-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;margin:0 0 16px;border:1px solid #bdd0fa;border-radius:7px;background:#edf3ff;color:#2458b4;font-size:12px}
body.portal-can-preview .sidebar-user .profile-select{display:block!important;margin-top:7px;max-width:100%;min-width:0;width:100%;height:32px;padding:5px 7px;font-size:10px}
body .semester-disclosure>summary{display:grid;grid-template-columns:var(--maquette-summary-columns,minmax(220px,1fr) repeat(4,minmax(100px,.65fr)) 20px);align-items:center;gap:12px;min-width:0;padding:10px 4px}
body .semester-disclosure>summary>.semester-pill{grid-column:1}body .semester-disclosure>summary>strong{grid-column:2;font-size:11px;font-weight:500;color:#64748b}body .maquette-semester-totals{display:contents}body .maquette-semester-totals>span{font-size:10px;color:#64748b}body .maquette-semester-totals>span b{font-size:12px;font-weight:600;color:#334155;display:block;margin-top:3px}body .semester-caret{grid-column:6;justify-self:end}
@media(max-width:760px){body .settings-grid,body .form-grid,body .um-fields{grid-template-columns:1fr}body .modal,body .um-dialog{padding:18px}body .instructor-course-list li{grid-template-columns:1fr auto;gap:6px}.instructor-course-title-cell{grid-column:1/-1}body .instructor-course-group{grid-column:1}body .instructor-course-semester{grid-column:2}body .instructor-course-hours{grid-column:2}body .maquette-course-reference,body .ref-readonly{grid-template-columns:1fr}body .semester-disclosure>summary{grid-template-columns:minmax(110px,1fr) repeat(3,80px) 18px;gap:6px}body .semester-disclosure>summary>strong{display:none}body .semester-caret{grid-column:5}body .maquette-semester-totals>span{font-size:9px}}
.portal-chat{margin-top:24px;padding:20px;border:1px solid #e2e7ee;border-radius:8px;background:#fff}.portal-chat>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.portal-chat h2{display:flex;align-items:center;gap:8px;font-size:16px;margin:0 0 7px}.portal-chat header p{margin:0;font-size:12px;color:#64748b}.portal-chat-messages{max-height:340px;overflow:auto;margin:18px 0;border-top:1px solid #edf0f4;padding-top:12px}.portal-chat-message{margin:0 0 12px;padding:12px;border-radius:7px;background:#f7f9fc;font-size:12px}.portal-chat-message.user{margin-left:12%;background:#edf3ff}.portal-chat-message strong{font-size:10px;color:#64748b}.portal-chat-message p{white-space:pre-wrap;line-height:1.65;margin:6px 0 0;overflow-wrap:anywhere}.portal-chat-sources,.portal-chat-suggestions{display:flex;gap:10px;flex-wrap:wrap}.portal-chat form{margin-top:16px}.portal-chat form>label{font-size:11px;color:#64748b}.portal-chat form>div{display:flex;gap:8px;align-items:flex-end;margin-top:6px}.portal-chat textarea{flex:1;min-width:0;resize:vertical;min-height:62px;border:1px solid #dce2ea;border-radius:6px;padding:9px 10px;font:12px/1.5 Inter,sans-serif;color:#263142}.portal-chat>small{display:block;margin-top:9px;font-size:10px;color:#738094}
body.portal-authenticated.portal-can-preview #profile-select{display:block!important}
.work-status{font-size:12px;line-height:1.5;color:#397454;min-height:18px;margin:0 0 14px}.work-status.error{color:#b42318}.work-panel{padding:20px;margin-bottom:16px;border:1px solid #e2e7ee;border-radius:8px;background:#fff}.work-panel h2{font-size:15px;margin:0 0 16px;font-weight:600}.work-panel label{display:grid;gap:7px;font-size:12px;font-weight:500;color:#505a68}.work-panel input,.work-panel select,.work-panel textarea{width:100%;padding:8px 10px;min-height:36px;border:1px solid #dce2ea;border-radius:6px;background:#fff;color:#263142;font:12px/1.5 Inter,sans-serif}.work-panel textarea{resize:vertical}.work-availability{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(350px,1.1fr);align-items:start;gap:16px}.work-availability .work-panel{margin:0}.work-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.work-calendar-head h2{margin:0;text-transform:capitalize}.work-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:16px 0}.work-weekday{text-align:center;font-size:10px;color:#758194;padding:5px}.work-calendar-day{height:38px;padding:0;border:1px solid transparent;border-radius:5px;background:#f8fafc;color:#334155;font:12px Inter,sans-serif;cursor:pointer}.work-calendar-day.outside{color:#aab4c2;background:#fff}.work-calendar-day.unavailable{background:#e8eef8;border-color:#afbed3;color:#425c7e}.work-calendar-day.selected{background:#2563eb;border-color:#2563eb;color:#fff}.work-range-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.work-range-form>button{grid-column:1/-1;justify-self:start}.work-ranges{list-style:none;padding:0;margin:16px 0 0}.work-ranges li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #edf0f4;font-size:11px}.work-course-comment{margin-top:16px}.work-course-comment small{font-size:10px;color:#738094}.work-course-comment:first-of-type{margin-top:0}.work-panel textarea+h2{margin-top:22px}.work-filter{max-width:300px;margin-bottom:16px}.work-files article{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e7ebf0;padding:12px 0}.work-files article:last-child{border:0}.work-files strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.work-files p{font-size:12px;color:#64748b;line-height:1.5;margin:5px 0}.work-files small{font-size:10px;color:#7a8798}
@media(max-width:1000px){.work-availability{grid-template-columns:1fr}}@media(max-width:600px){.work-panel{padding:15px}.work-files article{align-items:flex-start;flex-direction:column}.work-range-form{grid-template-columns:1fr}.work-month-grid{gap:2px}.work-calendar-day{height:34px}}
/* Identical tracks place the semester totals under the group totals. */
body .maquette-accordion>.accordion-body{padding:0}body .maquette-accordion>summary,body .semester-disclosure>summary{display:grid;grid-template-columns:minmax(210px,1.35fr) minmax(90px,.7fr) 88px 120px 120px 90px 18px;gap:12px;align-items:center;padding:11px 14px;list-style:none}body .maquette-accordion>summary::-webkit-details-marker{display:none}body .maquette-accordion>summary::before,body .maquette-accordion>summary::after{content:none}body .semester-disclosure>summary>.semester-pill{grid-column:1}body .semester-campus-spacer{grid-column:2}body .semester-disclosure>summary>strong{grid-column:3;display:block}body .semester-caret{grid-column:7}body .maquette-semester-totals>span:nth-child(1){grid-column:4}body .maquette-semester-totals>span:nth-child(2){grid-column:5}body .maquette-semester-totals>span:nth-child(3){grid-column:6}body .maquette-semester-totals>span b{display:inline;margin-left:4px}body .maquette-semester-totals>span{font-size:10px}body .semester-tools{padding:8px 14px}body .maquette-group-caret{grid-column:7;color:#7b8798;transition:transform .15s}body .maquette-accordion[open]>summary .maquette-group-caret{transform:rotate(180deg)}
@media(max-width:1200px){body .maquette-accordion>summary,body .semester-disclosure>summary{grid-template-columns:minmax(150px,1.2fr) minmax(65px,.6fr) 65px 95px 95px 75px 16px;gap:8px;padding-inline:10px}body .maquette-semester-totals>span{font-size:9px}body .maquette-semester-totals>span b{font-size:11px;display:block;margin-left:0}}@media(max-width:760px){body .maquette-accordion{overflow-x:auto}body .maquette-accordion>summary,body .semester-disclosure>summary{min-width:700px}body .maquette-accordion>.accordion-body{min-width:700px}}

/* Footer remains above the administrator role selector at short desktop heights. */
@media(min-width:621px){body .sidebar{padding-bottom:0}body .sidebar .nav-list{min-height:0;flex:1;overflow:auto;padding-bottom:8px}body .sidebar-footer-tools{position:static;flex:0 0 auto;margin-top:auto;margin-bottom:0}body .sidebar-user{position:static;flex:0 0 auto;margin-top:10px;padding-bottom:8px}body .sidebar-head{flex-shrink:0}body .sidebar-user-info{min-width:0}}
body .maquette-accordion[open]>summary::after,body .maquette-accordion[open]>summary::before,body .semester-disclosure>summary::after,body .semester-disclosure[open]>summary::after{content:none}
body .maquette-accordion>.accordion-body{padding-inline:0}body .semester-disclosure>summary>.semester-pill{justify-self:start}body .maquette-semester-totals>span{display:block;line-height:1.45}body .maquette-semester-totals>span b{display:block;margin:3px 0 0}body .semester-disclosure>summary>strong{margin:0}
body .maquette-accordion[open] .semester-disclosure>summary::before,body .maquette-accordion[open] .semester-disclosure>summary::after{content:none}
body .maquette-accordion>summary>*{grid-row:1}body .maquette-accordion>summary>span:nth-child(2){grid-column:2;display:block}body .maquette-accordion>summary>span:nth-child(3){grid-column:3;display:block}body .maquette-accordion>summary>span:nth-child(4){grid-column:4;display:block}body .maquette-accordion>summary>span:nth-child(5){grid-column:5;display:block}body .maquette-accordion>summary>span:nth-child(6){grid-column:6;display:block}body .semester-disclosure>summary>*{grid-row:1}body .maquette-semester-totals>span{grid-row:1;white-space:normal}
body .settings-card{min-height:142px;padding:16px}body .settings-copy>strong{margin:0;line-height:1.4}body .settings-copy>.settings-link{padding:0;display:flex;align-items:center;gap:6px;min-height:0;line-height:18px;margin-top:10px}

body .instructor-course-list .instructor-course-title{font:500 12px/1.5 Inter,sans-serif}body .instructor-planning-button{display:inline-flex;width:auto;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 11px;font:600 11px/18px Inter,sans-serif;border:1px solid #d7dde4;border-radius:6px;background:#fff}
body .um-dialog{position:fixed}body .um-dialog button.portal-dialog-close{position:absolute;right:15px;top:15px;width:30px;height:30px;min-height:30px;padding:0;font-size:23px;font-weight:400;border:0;background:transparent;color:#64748b}body .um-dialog .um-actions{position:sticky;bottom:-24px;background:#fff;z-index:2;padding-bottom:10px}
@media(max-width:620px){body .topbar{min-width:0;gap:8px}body .brand{display:block;flex:1;min-width:0;overflow:hidden;line-height:1.3}body .brand>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .brand>.brand-year{display:none}body .mobile-header-controls{flex:0 0 auto;gap:5px}body .sidebar.mobile-open{max-height:calc(100dvh - 56px);overflow:auto}body .sidebar-footer-tools{flex-wrap:wrap}body .sidebar-year-card{flex:1 0 100%}body .sidebar.mobile-open .sidebar-user{display:flex;flex:1 0 100%;max-width:none;margin-top:8px}body .sidebar-user-info{display:flex;flex-direction:column;align-items:flex-start;width:100%}body .sidebar-user .profile-select{max-width:100%}.portal-preview-banner{align-items:flex-start;flex-direction:column}.portal-chat{padding:15px}.portal-chat>header{flex-direction:column}}
body .settings-card:hover{border-color:#bed0f4;background:#fff}body .avatar-button:hover{outline-color:#bed0f4}body .account-role{background:#edf3ff;color:#2563eb}body .filter-bar select:focus,body .filter-bar input:focus,body .scope-filter-bar select:focus,body .field input:focus,body .field select:focus,body .field textarea:focus{border-color:#82a7ef;box-shadow:0 0 0 3px #2563eb18}
