*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--color-canvas);color:var(--color-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.auth-shell,.page-shell{min-height:100dvh}.auth-shell{align-items:center;display:grid;padding:1.5rem}.login-panel{display:grid;grid-gap:1rem;gap:1rem;margin:0 auto;max-width:420px;width:100%}.login-title{font-size:clamp(1.75rem,4vw,2.6rem);line-height:1;margin:0}.login-copy{color:var(--color-muted);line-height:1.5;margin:0}.auth-brand{align-items:baseline;display:inline-flex;gap:.5rem;letter-spacing:-.02em}.auth-brand strong{font-size:1.05rem;font-weight:850}.auth-brand span{color:var(--color-muted);font-size:.82rem;font-weight:700}.auth-switch{align-items:center;background:var(--color-surface);border:2px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-hard);display:flex;flex-wrap:wrap;gap:.5rem .85rem;justify-content:space-between;padding:.85rem 1rem}.auth-switch p{color:var(--color-muted);font-size:.9rem;font-weight:650;margin:0}.auth-switch a{background:var(--color-secondary);border:2px solid var(--color-line);border-radius:var(--radius);box-shadow:2px 2px 0 var(--color-line);color:var(--color-ink);font-size:.9rem;font-weight:800;padding:.5rem .85rem;transition:transform 80ms ease,box-shadow 80ms ease;white-space:nowrap}.auth-switch a:hover{box-shadow:4px 4px 0 var(--color-line);transform:translate(-1px,-1px)}.auth-switch a:active{box-shadow:1px 1px 0 var(--color-line);transform:translate(1px,1px)}.auth-switch a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.form-stack{display:grid;grid-gap:.9rem;gap:.9rem}.auth-help-link{color:var(--color-accent);justify-self:end}.auth-card-link{margin-top:.9rem}.checkbox-field{align-items:center;display:flex;gap:.5rem}.error-box{background:#ffe2df;color:var(--color-danger);font-weight:700}.error-box,.notice-box{border:2px solid var(--color-line);border-radius:var(--radius);font-size:.9rem;padding:.75rem}.notice-box{align-items:center;display:flex;font-weight:800;gap:1rem;justify-content:space-between}.notice-dismiss{background:transparent;border:0;cursor:pointer;font-size:1.1rem;font-weight:700;line-height:1;opacity:.6;padding:0 .25rem}.notice-dismiss:hover{opacity:1}.notice-success{background:#dff5ea}.notice-error{background:#ffe2df;color:var(--color-danger)}.notice-warning{background:#fff1cf}.notice-readonly{background:#eef2f7;color:var(--color-muted)}.tt-readonly-banner{flex-wrap:wrap}.send-back-form{display:grid;grid-gap:.5rem;gap:.5rem;max-width:520px}.rollcall-import-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.rollcall-download-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.app-frame{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--color-ink);color:#ffffff;display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.brand-top{gap:.6rem;justify-content:space-between}.brand-monogram,.brand-top{align-items:center;display:flex}.brand-monogram{background:var(--color-secondary);border-radius:var(--radius);color:var(--color-ink);flex:none;font-size:.85rem;font-weight:850;height:2.45rem;justify-content:center;letter-spacing:0;width:2.45rem}.brand-text{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.brand-title{font-size:.9rem;font-weight:850;line-height:1.2;overflow-wrap:anywhere}.brand-subtitle{color:#aeb6bf;font-size:.72rem}.nav-list{display:grid;grid-gap:.3rem;gap:.3rem}.nav-link{align-items:center;border-radius:var(--radius);display:flex;gap:.6rem;padding:.65rem .7rem}.nav-count{background:var(--color-danger);border-radius:999px;color:#ffffff;font-size:.72rem;font-weight:850;line-height:1;margin-left:auto;min-width:1.45rem;padding:.25rem .35rem;text-align:center}.nav-link-active{background:var(--color-secondary);color:var(--color-ink);font-weight:800}.sidebar-footer{border-top:1px solid rgba(255,255,255,.12);display:grid;grid-gap:.6rem;gap:.6rem;margin-top:auto;min-width:0;padding-top:.9rem}.user-chip{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);gap:.55rem;min-width:0;padding:.5rem .55rem}.user-avatar,.user-chip{align-items:center;display:flex}.user-avatar{background:var(--color-secondary);border-radius:999px;color:var(--color-ink);flex:none;font-size:.76rem;font-weight:850;height:2.1rem;justify-content:center;width:2.1rem}.user-meta{display:grid;grid-gap:.05rem;gap:.05rem;min-width:0}.user-name{font-size:.82rem;font-weight:800}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#aeb6bf;font-size:.71rem}.ctx-switcher{display:grid;grid-gap:.55rem;gap:.55rem;min-width:0}.ctx-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);color:#ffffff;display:grid;grid-gap:.3rem;gap:.3rem;padding:.6rem .7rem;text-align:left;width:100%}.ctx-card-button{cursor:pointer;font:inherit;transition:background .12s ease,border-color .12s ease}.ctx-card-button:hover{background:rgba(255,255,255,.09);border-color:var(--color-secondary)}.ctx-card-button:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.ctx-card[data-pending=true]{animation:ctx-pulse 1.1s ease-in-out infinite;cursor:progress}@keyframes ctx-pulse{50%{border-color:var(--color-secondary)}}.ctx-card-line{align-items:center;display:flex;gap:.4rem;min-width:0}.ctx-card-dept>svg:first-child{color:var(--color-secondary);flex:none}.ctx-card-dept-name{flex:1 1 auto;font-size:.98rem;font-weight:850;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-card-caret{color:#aeb6bf;flex:none}.ctx-card-sub{color:#b7bec6;font-size:.72rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-card-term{color:#e7e9ec;font-size:.8rem;font-weight:700}.ctx-card-term>svg:first-child{color:#aeb6bf;flex:none}.ctx-card-term-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-status{border-radius:999px;flex:none;font-size:.64rem;font-weight:800;letter-spacing:.02em;padding:.1rem .45rem;text-transform:uppercase}.ctx-status-active{background:var(--color-success-tint);color:var(--color-success)}.ctx-status-planning{background:var(--color-warning-tint);color:var(--color-warning)}.ctx-status-closed{background:#e6e2da;color:var(--color-muted)}.ctx-pop{background:var(--color-surface);border:2px solid var(--color-ink);border-radius:var(--radius);box-shadow:var(--shadow-hard);color:var(--color-ink);display:grid;grid-gap:.85rem;gap:.85rem;margin:0;max-height:min(44vh,22rem);overflow-y:auto;padding:.85rem;width:100%}.ctx-pop-head{font-size:.72rem;font-weight:850;letter-spacing:.04em;margin:0;text-transform:uppercase}.ctx-pop-group{display:grid;grid-gap:.25rem;gap:.25rem}.ctx-pop-label{color:var(--color-muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ctx-pop-inst{display:grid;grid-gap:.15rem;gap:.15rem}.ctx-pop-inst-name{color:var(--color-muted);font-size:.72rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere;padding:.1rem .15rem 0}.ctx-pop-row{align-items:center;background:#ffffff;border:2px solid var(--color-ink);border-radius:var(--radius);color:var(--color-ink);cursor:pointer;display:flex;font:inherit;font-size:.85rem;font-weight:750;gap:.4rem;padding:.4rem .55rem;text-align:left;transition:transform 90ms ease,box-shadow 90ms ease;width:100%}.ctx-pop-row:hover{box-shadow:2px 2px 0 var(--color-ink);transform:translate(-1px,-1px)}.ctx-pop-row:active{box-shadow:none;transform:translate(0)}.ctx-pop-row:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.ctx-pop-row[data-active=true]{background:var(--color-secondary);box-shadow:2px 2px 0 var(--color-ink)}.ctx-pop-row-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.ctx-pop-back{background:transparent;border:none;color:var(--color-muted);font:inherit;font-size:.72rem;font-weight:850;gap:.25rem;letter-spacing:.04em;padding:.1rem;text-transform:uppercase}.ctx-pop-back,.ctx-pop-inst-switch{align-items:center;cursor:pointer;display:flex;width:100%}.ctx-pop-inst-switch{background:var(--color-surface-sunken);border:2px solid var(--color-ink);border-radius:var(--radius);color:var(--color-ink);font:inherit;font-size:.82rem;font-weight:800;gap:.35rem;padding:.4rem .55rem}.ctx-pop-back:hover,.ctx-pop-inst-switch:hover{color:var(--color-accent)}.ctx-pop-back:focus-visible,.ctx-pop-inst-switch:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.ctx-pop-inst-change{letter-spacing:.04em;margin-left:auto;text-transform:uppercase}.ctx-pop-inst-change,.ctx-pop-row-meta{color:var(--color-muted);font-size:.66rem;font-weight:800}.ctx-pop-row-meta{background:var(--color-surface-sunken);border-radius:999px;flex:none;padding:.05rem .4rem}.sidebar-collapsed .ctx-card,.sidebar-collapsed .ctx-switcher{display:none}@media (prefers-reduced-motion:reduce){.ctx-card[data-pending=true]{animation:none;opacity:.6}.ctx-card-button,.ctx-pop-row{transition:none}.ctx-pop-row:hover{transform:none}}.context-prompt{border:2px solid var(--color-ink);border-radius:var(--radius);box-shadow:4px 4px 0 var(--color-ink);display:grid;grid-gap:.75rem;gap:.75rem;max-width:32rem;padding:1.5rem}.ctx-prompt-grid{display:grid;grid-gap:.85rem;gap:.85rem}.ctx-prompt-grid[data-pending=true]{cursor:progress;opacity:.7}.ctx-prompt-field{display:grid;grid-gap:.3rem;gap:.3rem}.ctx-prompt-field-label{align-items:center;color:var(--color-ink);display:flex;font-size:.75rem;font-weight:800;gap:.35rem;letter-spacing:.02em;text-transform:uppercase}.ctx-native-select{background:#ffffff;border:2px solid var(--color-ink);border-radius:var(--radius);color:var(--color-ink);font:inherit;font-weight:700;min-height:2.5rem;padding:.45rem .6rem;width:100%}.ctx-prompt-readonly{align-items:center;color:var(--color-ink);display:flex;font-weight:800;gap:.5rem}.page-stack{display:grid;grid-gap:1.25rem;gap:1.25rem}.org-tree,.org-tree ul{display:grid;grid-gap:.3rem;gap:.3rem;list-style:none;margin:0;padding:0}.org-tree ul{border-left:2px solid var(--color-border);margin:.3rem 0 .3rem .6rem;padding-left:.85rem}.org-univ{font-weight:850}.org-inst{font-weight:750}.org-dept{align-items:center;display:inline-flex;font-weight:700;gap:.4rem}.org-prog{font-size:.86rem}.org-tree small{color:var(--color-muted);font-weight:600}.org-empty{color:var(--color-muted);font-size:.85rem}.org-forms{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.org-form{display:grid;grid-gap:.6rem;gap:.6rem}.setup-org-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin-top:.75rem}.setup-org-grid>div{display:flex;flex-direction:column}.term-row{flex-wrap:wrap;gap:.5rem}.term-row,.term-status-form{align-items:center;display:flex}.term-status-form{gap:.4rem;margin-left:auto}.term-status-form .ui-input{width:auto}.term-roll-forward{border:1px solid var(--color-border);border-radius:var(--radius);flex-basis:100%;margin-top:.35rem;padding:.65rem .75rem}.term-roll-forward>summary{align-items:center;cursor:pointer;display:flex;font-size:.86rem;font-weight:800;gap:.45rem}.term-roll-forward[open]>summary{margin-bottom:.7rem}.term-roll-forward .org-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.term-roll-forward .ui-button{align-self:end}.slot-term-picker{align-items:end;display:flex;flex-wrap:wrap;gap:.6rem}.slot-list{display:grid;grid-gap:.5rem;gap:.5rem;list-style:none;margin:0 0 1rem;padding:0}.slot-row{align-items:center;border:2px solid var(--color-border);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .6rem}.slot-order{background:var(--color-ink);border-radius:999px;color:#fff;font-size:.78rem;font-weight:800;min-width:1.6rem;padding:.15rem .4rem;text-align:center}.slot-edit-form{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.slot-edit-form .ui-input{width:auto}.slot-break{align-items:center;display:inline-flex;font-size:.82rem;font-weight:700;gap:.3rem}.slot-row-actions{align-items:center;display:flex;gap:.3rem;margin-left:auto}.slot-move{background:#fff;border:2px solid var(--color-ink);border-radius:var(--radius);cursor:pointer;font-weight:800;padding:.2rem .45rem}.slot-readonly{align-items:center;display:inline-flex;gap:.45rem}.slot-add-form{border-top:2px dashed var(--color-border);padding-top:.9rem}.slot-copy-form{background:var(--color-surface-sunken);border:1px solid #d9e2ec;border-radius:var(--radius);margin-bottom:.9rem;padding:.75rem}.app-main{align-content:start;display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:minmax(0,1fr);padding:1.5rem}.app-main,.ui-card,.ui-card-content{min-width:0}.page-header{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between}.page-title{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1;margin:0}.page-kicker{color:var(--color-muted);font-size:.9rem;font-weight:750;margin:0 0 .35rem}.dashboard-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.faculty-load-row{background:#ffffff;border:1.5px solid var(--color-line);border-radius:var(--radius);display:grid;grid-gap:.45rem;gap:.45rem;padding:.62rem}.split-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)}.faculty-detail-summary{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(5,minmax(0,1fr))}.faculty-detail-layout{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(320px,.38fr)}.faculty-detail-aside,.faculty-detail-main,.faculty-record-grid{display:grid;grid-gap:1rem;gap:1rem}.faculty-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-metric-value{font-size:1.35rem;font-weight:850;line-height:1.15;min-height:1.55rem;overflow-wrap:anywhere}.detail-fact-grid{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-fact-grid-compact{grid-template-columns:1fr}.detail-fact{background:#ffffff;border:1.5px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.2rem;gap:.2rem;min-width:0;padding:.7rem}.detail-fact span{color:var(--color-muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.detail-fact strong{font-size:.92rem;line-height:1.3;overflow-wrap:anywhere}.editor-disclosure{border-top:1px solid var(--color-hairline);margin-top:1rem;padding-top:.8rem}.editor-disclosure summary{align-items:center;background:#ffffff;border:1.5px solid var(--color-hairline);border-radius:var(--radius);cursor:pointer;display:flex;font-size:.85rem;font-weight:850;gap:.4rem;justify-content:space-between;list-style:none;padding:.6rem .7rem}.editor-disclosure summary::-webkit-details-marker{display:none}.editor-disclosure summary:after{align-items:center;background:var(--color-secondary);border:1.5px solid var(--color-line);border-radius:999px;content:"+";display:inline-flex;font-size:1rem;height:1.35rem;justify-content:center;line-height:1;width:1.35rem}.editor-disclosure summary:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.editor-disclosure[open] summary:after{content:"-"}.editor-disclosure[open] summary{margin-bottom:.8rem}.faculty-detail-form-grid,.faculty-roster-create-grid{align-items:end;display:grid;grid-gap:.8rem;gap:.8rem}.faculty-detail-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faculty-detail-actions{align-items:center;display:flex;gap:.5rem}.faculty-roster-create-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-value{font-size:2rem;font-weight:850;line-height:1}.stat-label{color:var(--color-muted);font-size:.82rem;font-weight:750;margin-top:.35rem}.metric-card-head{align-items:center;color:var(--color-muted);display:flex;font-size:.78rem;font-weight:850;gap:.35rem;margin-bottom:.65rem;text-transform:uppercase}.metric-progress{background:#ebe4d8;border:1.5px solid var(--color-line);border-radius:var(--radius);height:.65rem;margin-top:.75rem;overflow:hidden}.metric-progress span{background:var(--color-primary);display:block;height:100%}.metric-progress-table{margin-top:0;min-width:120px}.health-summary{align-items:center;border-bottom:1px solid var(--color-hairline);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.health-summary div{display:grid;grid-gap:.15rem;gap:.15rem}.faculty-load-list,.health-list,.issue-list{display:grid;grid-gap:.7rem;gap:.7rem}.faculty-load-row,.health-row,.issue-row{align-items:center;background:#ffffff;border:1.5px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.7rem;gap:.7rem;padding:.75rem}.health-row{grid-template-columns:auto minmax(0,1fr)}.faculty-load-row div:first-child,.health-row div,.issue-row div{display:grid;grid-gap:.15rem;gap:.15rem}.faculty-load-row span,.health-row span,.issue-row span{color:var(--color-muted);font-size:.82rem}.issue-row{grid-template-columns:auto minmax(0,1fr);transition:box-shadow .12s ease,transform .12s ease}.issue-row:hover{box-shadow:3px 3px 0 var(--color-line);transform:translate(-1px,-1px)}.dashboard-actions{margin-top:1rem}.load-summary{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.faculty-load-row{grid-template-columns:minmax(0,1fr) max-content}.load-meter{background:#ebe4d8;border:1.5px solid var(--color-line);border-radius:var(--radius);grid-column:1/-1;height:.65rem;overflow:hidden}.load-meter span{background:var(--color-accent);display:block;height:100%}.faculty-load-value{align-items:center;display:flex;gap:.45rem;justify-content:flex-end;white-space:nowrap}.coverage-cell{align-items:center;display:flex;gap:.6rem}.notification-list,.notification-row{display:grid;grid-gap:.75rem;gap:.75rem}.notification-row{align-items:center;background:#ffffff;border:1.5px solid var(--color-hairline);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr) auto;padding:.85rem}.notification-row-unread{background:#fff1cf;border-color:var(--color-line)}.notification-icon{align-items:center;background:var(--color-secondary);border:1.5px solid var(--color-line);border-radius:var(--radius);display:inline-flex;height:2.25rem;justify-content:center;width:2.25rem}.notification-main{display:grid;grid-gap:.25rem;gap:.25rem}.notification-main p{color:var(--color-muted);font-size:.9rem;margin:0}.notification-main span{color:var(--color-muted);font-size:.78rem;font-weight:750}.notification-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.notification-actions{justify-content:flex-end}.self-profile{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.profile-stack{display:grid;grid-gap:1rem;gap:1rem}.qual-save-row{display:flex;justify-content:flex-end;margin-top:.85rem}.profile-section-grid{column-gap:1rem;column-count:2}.profile-section-grid>*{page-break-inside:avoid;break-inside:avoid;margin-bottom:1rem}.qual-slot-grid{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.exp-split,.summary-split{align-items:start;display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1024px){.profile-section-grid{column-count:1}.exp-split,.qual-slot-grid,.summary-split{grid-template-columns:1fr}}.profile-card-column{display:grid;grid-gap:1rem;gap:1rem}.profile-card-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.profile-card-wide{column-span:all}.profile-card-1col{grid-template-columns:1fr}.profile-field-with-proof,.profile-wide-field{grid-column:1/-1}.profile-field-with-proof{background:#ffffff;border:1.5px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.7rem;gap:.7rem;padding:.75rem}.profile-field-main{min-width:0}.profile-checkbox-with-proof{min-height:2.35rem}.proof-panel{background:#f8f4ec;border:1.5px dashed var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.55rem;gap:.55rem;min-width:0;padding:.65rem}.proof-panel-head{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.proof-panel-head>span{color:var(--color-muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.proof-panel-head .ui-badge{align-items:center;display:inline-flex;gap:.25rem}.inline-proof-upload{align-items:end;display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.additional-proof-form .ui-button,.inline-proof-upload .ui-button,.profile-submit-row .ui-button{align-items:center;display:inline-flex;gap:.4rem;justify-content:center;width:100%}.additional-proof-form{align-items:end;background:#f8f4ec;border:1.5px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));min-width:0;padding:.75rem}.additional-proof-form .ui-button{min-width:0}.profile-submit-row{align-items:center;background:#ffffff;border:2px solid var(--color-line);border-radius:var(--radius);display:flex;gap:1rem;justify-content:space-between;padding:.9rem}.profile-submit-row p{margin:.2rem 0 0}.module-table .proof-panel{background:#ffffff;min-width:260px;padding:.5rem}.module-table .inline-proof-upload{grid-template-columns:1fr}.self-profile div{background:#ffffff;border:1.5px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.15rem;gap:.15rem;min-width:0;overflow-wrap:anywhere;padding:.75rem}.load-breakdown{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.load-breakdown div{background:var(--color-secondary);border:1.5px solid var(--color-line);border-radius:var(--radius);display:grid;grid-gap:.15rem;gap:.15rem;padding:.65rem}.load-breakdown span{color:var(--color-muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.profile-section-gap,.self-empty-copy{margin-top:1rem}.module-table{border-collapse:collapse;width:100%}.table-scroll{max-width:100%;min-width:0;overflow-x:auto;width:100%}.table-scroll .module-table{min-width:max-content}.module-table td,.module-table th{border-bottom:1px solid var(--color-hairline);padding:.65rem;text-align:left;vertical-align:top}.module-table th{font-size:.75rem;text-transform:uppercase}.load-allocation-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.load-allocation-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}.load-allocation-views{border:1px solid var(--color-line);border-radius:var(--radius);display:inline-flex;overflow:hidden}.load-allocation-views a{color:var(--color-muted);font-size:.84rem;font-weight:800;padding:.48rem .72rem;text-decoration:none}.load-allocation-views a+a{border-left:1px solid var(--color-line)}.load-allocation-views a[aria-current=page]{background:var(--color-secondary);color:var(--color-text)}.load-allocation-table th a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-hairline);text-decoration-color:var(--color-hairline);text-underline-offset:.2rem}.load-allocation-table th a[aria-current=page]{-webkit-text-decoration-color:var(--color-line);text-decoration-color:var(--color-line)}.load-allocation-sub{color:var(--color-muted);display:block;font-size:.76rem;margin-top:.12rem}.load-allocation-assignments{display:grid;grid-gap:.2rem;gap:.2rem;min-width:180px}.load-allocation-table .text-link{font-size:.8rem;font-weight:750;white-space:nowrap}.table-row-muted td{background:#f8f4ec;color:var(--color-muted)}.directory-room-cell{display:grid;grid-gap:.15rem;gap:.15rem;min-width:150px}.compact-list,.plan-list{display:grid;grid-gap:.7rem;gap:.7rem}.compact-row,.plan-row{align-items:center;border:2px solid var(--color-line);border-radius:var(--radius);display:grid;grid-gap:.8rem;gap:.8rem;padding:.75rem}.compact-row{grid-template-columns:minmax(0,1fr) auto}.compact-row div,.plan-row div{display:grid;grid-gap:.15rem;gap:.15rem}.compact-row span,.muted-copy,.plan-row span{color:var(--color-muted);font-size:.85rem}.inline-status-form{align-items:center;display:flex;gap:.35rem}.review-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.section-subtitle{font-size:.95rem;margin:0 0 .5rem}.tt-plan-workspace{display:grid;grid-gap:1rem;gap:1rem}.tt-allotment-summary,.tt-plan-group-head,.tt-plan-workspace-head{align-items:center;display:flex;gap:1rem;justify-content:space-between}.tt-plan-workspace-head .muted-copy,.tt-plan-workspace-head .section-title{margin:0}.tt-plan-create{position:relative}.tt-plan-create>summary{list-style:none}.tt-plan-create>summary::-webkit-details-marker{display:none}.tt-plan-create-form{background:var(--color-surface);border:2px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-hard);display:grid;grid-gap:.7rem;gap:.7rem;padding:.85rem;position:absolute;right:0;top:calc(100% + .45rem);width:min(25rem,calc(100vw - 2rem));z-index:30}.tt-plan-create-form p{color:var(--color-muted);font-size:.82rem;margin:0}.tt-plan-group{display:grid;grid-gap:.55rem;gap:.55rem}.tt-plan-group+.tt-plan-group{border-top:1px solid var(--color-hairline);padding-top:.9rem}.tt-plan-group-head{align-items:baseline;justify-content:flex-start}.tt-plan-group-head span{color:var(--color-muted);font-size:.8rem}.tt-plan-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.tt-allotment-summary{background:var(--color-surface-sunken);border:1px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:.7rem .8rem}.tt-allotment-summary>div{display:grid;grid-gap:.08rem;gap:.08rem}.tt-allotment-summary>div span{color:var(--color-muted);font-size:.8rem}.plan-card{background:#ffffff;border:2px solid var(--color-line);border-radius:var(--radius);transition:box-shadow .12s ease}.plan-card:hover{box-shadow:3px 3px 0 var(--color-line)}.plan-card-readonly{background:var(--color-surface-sunken)}.plan-card-main{align-items:center;color:inherit;display:grid;grid-gap:.05rem .75rem;gap:.05rem .75rem;grid-template-columns:2.25rem minmax(0,1fr) auto;padding:.7rem .85rem;text-decoration:none}.plan-card-icon{align-items:center;background:var(--color-secondary);border:2px solid var(--color-line);border-radius:var(--radius);display:inline-flex;grid-row:span 2;height:2.25rem;justify-content:center;width:2.25rem}.plan-card-text{display:flex;flex-direction:column;min-width:0}.plan-card-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-card-text span{color:var(--color-muted);font-size:.8rem}.plan-card-actions{border-top:2px solid var(--color-line);display:flex}.plan-card-actions>*{display:flex;flex:1 1;margin:0}.history-term{border-top:2px solid var(--color-line);display:grid;grid-gap:.85rem;gap:.85rem;padding-top:1rem}.history-term-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.history-term-header .muted-copy,.history-term-header .section-subtitle{margin:0}.plan-card-actions>*+*{border-left:2px solid var(--color-line)}.plan-action{align-items:center;background:none;border:0;color:var(--color-text);cursor:pointer;display:inline-flex;flex:1 1;font:inherit;font-size:.82rem;font-weight:600;gap:.35rem;justify-content:center;list-style:none;padding:.5rem .4rem;white-space:nowrap}.plan-action::-webkit-details-marker{display:none}.plan-action:hover{background:#f1f5f9}.plan-action-danger{color:var(--color-danger)}.plan-action-danger:hover{background:var(--color-danger);color:#fff}.plan-rename{position:relative}.plan-rename[open]>.plan-action{background:#f1f5f9}.plan-rename-form{align-items:center;background:#fff;border:1px solid var(--color-hairline);border-radius:var(--radius);bottom:calc(100% + .3rem);box-shadow:0 8px 24px rgb(15 23 42/.16);display:flex;gap:.35rem;left:0;padding:.45rem;position:absolute;z-index:20}.plan-rename-form .ui-input{min-width:12rem}.tt-plan-row .plan-card-actions{border-top:0}.tt-plan-row .plan-card-actions,.tt-plan-row .plan-card-actions>*+*{border-left:1px solid var(--color-hairline)}.plan-action-icon{min-width:2.7rem;padding:.5rem}.tt-plan-row .plan-rename-form{bottom:auto;left:auto;right:0;top:calc(100% + .3rem)}.inline-link{align-items:center;display:inline-flex;font-size:.9rem;font-weight:800;gap:.4rem;width:-moz-fit-content;width:fit-content}.tt-grid{border-top:2px solid var(--color-line);display:grid;grid-template-columns:128px repeat(6,minmax(124px,1fr));max-width:100%;overflow-x:auto;width:100%}.tt-grid-row{display:contents}.tt-grid-cell{background:#ffffff;border-bottom:1px solid var(--color-hairline);border-right:1px solid var(--color-hairline);display:grid;grid-gap:.3rem;gap:.3rem;min-height:4.5rem;min-width:0;padding:.5rem}.tt-grid-head{align-content:center;background:var(--color-secondary);color:var(--color-ink);font-size:.78rem;font-weight:850;min-height:2.5rem;text-align:center;text-transform:uppercase}.tt-grid-head:first-child,.tt-grid-time{border-left:2px solid var(--color-line)}.tt-grid-corner{background:var(--color-ink);color:#ffffff}.tt-grid-time{align-content:center;background:var(--color-canvas);font-size:.72rem;font-weight:800}.tt-grid-span6{grid-column:span 6}.tt-grid-break{align-content:center;background:#ece7dc;color:var(--color-muted);font-weight:750;letter-spacing:.08em;text-align:center;text-transform:uppercase}.tt-division-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.tt-division-tab{border:2px solid var(--color-line);border-radius:var(--radius);display:grid;grid-gap:.1rem;gap:.1rem;min-width:76px;padding:.45rem .7rem;transition:box-shadow .12s ease,transform .12s ease}.tt-division-tab span{color:var(--color-muted);font-size:.72rem}.tt-division-tab:hover{box-shadow:3px 3px 0 var(--color-line);transform:translate(-1px,-1px)}.tt-division-tab-active{background:var(--color-secondary);box-shadow:3px 3px 0 var(--color-line)}.tt-entry{background:#e5f4ee;border:1.5px solid var(--color-line);border-left-width:5px;border-radius:var(--radius);cursor:-webkit-grab;cursor:grab;display:grid;font-size:.78rem;grid-gap:.18rem;gap:.18rem;min-width:0;overflow-wrap:anywhere;padding:.45rem;position:relative}.tt-entry-th{background:#f0fdfa;border-left-color:#0f766e}.tt-entry-pr{background:#eff6ff;border-left-color:#2563eb}.tt-entry-tut{background:#fff7ed;border-left-color:#7c2d12}.tt-entry span{color:var(--color-muted)}.tt-entry-warning{background:#fff1cf}.tt-entry-lab{height:100%}.tt-entry-head{align-items:center;display:flex;gap:.35rem}.tt-entry-adjust-link{background:#ffffff;border:1px solid var(--color-hairline);border-radius:999px;color:var(--color-text);font-size:.68rem;font-weight:850;line-height:1;margin-left:auto;padding:.18rem .45rem;text-decoration:none}.tt-entry-adjust-link:hover{border-color:#99f6e4;color:#0f766e}.tt-room-tag{align-self:start;justify-self:start;width:-moz-fit-content;width:fit-content;max-width:100%;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a!important;font-size:.72rem;font-weight:800;letter-spacing:.01em;line-height:1;padding:.16rem .4rem;white-space:nowrap}.tt-room-tag-tba{background:#fff1cf;border-color:#f4cf86;color:#92580a!important}.tt-room-tag-button{cursor:pointer;font:inherit;text-align:left}.tt-room-tag-button:focus-visible,.tt-room-tag-button:hover{border-color:var(--color-accent)}.tt-room-picker-popover{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-hard);color:var(--color-text);margin:auto;max-height:min(72vh,34rem);padding:0;width:min(28rem,calc(100vw - 2rem))}.tt-room-picker-popover::-webkit-backdrop{background:rgb(15 23 42/.24)}.tt-room-picker-popover::backdrop{background:rgb(15 23 42/.24)}.tt-room-picker-heading{align-items:center;border-bottom:1px solid var(--color-hairline);display:grid;grid-gap:.1rem;gap:.1rem;grid-template-columns:minmax(0,1fr) auto;padding:.7rem}.tt-room-picker-heading>div{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.tt-room-picker-heading span{color:var(--color-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.tt-room-picker-search{align-items:center;border-bottom:1px solid var(--color-hairline);display:flex;gap:.5rem;padding:.65rem .7rem}.tt-room-picker-search svg{color:var(--color-muted);flex:0 0 auto}.tt-room-picker-search input{background:transparent;border:0;color:var(--color-text);font:inherit;min-width:0;width:100%}.tt-room-picker-results{display:grid;max-height:min(55vh,26rem);overflow-y:auto;padding:.35rem}.tt-room-picker-results>p{color:var(--color-muted);margin:0;padding:1rem;text-align:center}.tt-room-picker-option{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--color-hairline);color:var(--color-text);cursor:pointer;display:grid;font:inherit;grid-gap:.65rem;gap:.65rem;grid-template-columns:minmax(5rem,auto) minmax(0,1fr) 1rem;padding:.62rem .55rem;text-align:left;width:100%}.tt-room-picker-option:focus-visible,.tt-room-picker-option:hover,.tt-room-picker-option[aria-pressed=true]{background:var(--color-surface-sunken)}.tt-room-picker-code{color:var(--color-accent);font-size:.82rem;font-weight:850}.tt-room-picker-meta{color:var(--color-muted);font-size:.76rem}.tt-room-picker-clear{color:var(--color-danger)}.occ-type-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.occ-type-chip{background:var(--color-surface-sunken);border:1px solid var(--color-hairline);border-radius:999px;color:var(--color-muted);font-size:.78rem;font-weight:600;padding:.2rem .7rem;text-decoration:none}.occ-type-chip-active{background:#0f172a;border-color:#0f172a;color:var(--color-surface-sunken)}.occ-subject{color:var(--color-text);font-size:.74rem;font-weight:600;line-height:1.2}.occ-cell-empty{background:repeating-linear-gradient(45deg,#fbfdff,#fbfdff 7px,var(--color-surface-sunken) 7px,var(--color-surface-sunken) 14px)}.occ-cell-free{align-items:center;background:#f0fdf4;display:flex;justify-content:center}.occ-free-tag{color:var(--color-success);font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.occ-cell-break-mapped{background:#fff7ed}.occ-break-tag{align-self:center;color:#9a3412;font-size:.7rem;font-weight:700;justify-self:center;letter-spacing:.02em;text-transform:uppercase}.occ-cell-conflict{box-shadow:inset 0 0 0 2px #dc2626}.occ-dept-legend{display:flex;flex-wrap:wrap;gap:.5rem}.occ-dept-pill{align-items:baseline;background:var(--color-surface-sunken);border:1px solid var(--color-hairline);border-radius:999px;display:inline-flex;gap:.4rem;padding:.2rem .7rem}.occ-slot-warn{color:#b45309;white-space:nowrap}.occ-slot-ok,.occ-slot-warn{font-size:.72rem;font-weight:600}.occ-slot-ok{color:var(--color-success)}.occ-warn-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius);color:#92400e;font-size:.85rem;font-weight:500;padding:.7rem .9rem}.occ-search{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.occ-search input[type=search]{max-width:18rem}.tt-fac-line{color:var(--color-text)!important;font-size:.74rem;line-height:1.2}.tt-entry-title{align-items:start;display:flex;gap:.25rem;justify-content:space-between;padding-right:1.2rem}.tt-entry-title strong{min-width:0}.tt-entry-del{background:rgba(255,255,255,.85);border:1px solid var(--color-line);border-radius:999px;cursor:pointer;font-size:.85rem;height:1.2rem;line-height:1;padding:0;position:absolute;right:3px;top:3px;width:1.2rem}.tt-entry-del:hover{background:var(--color-danger);color:#fff}.tt-manual{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0}.tt-manual .ui-input{font-size:.85rem;max-width:220px;min-height:2.2rem}.tt-slot-toggle{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;margin:.55rem 0 0}.tt-slot-toggle .ui-button{min-height:2rem;padding:.25rem .6rem;white-space:nowrap}@media (max-width:900px){.app-frame{grid-template-columns:1fr}.sidebar{position:static}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid{grid-template-columns:1fr}}.faculty-assignments-list{display:grid;grid-gap:.15rem;gap:.15rem}.faculty-assignment-row{align-items:start;border-bottom:1px solid var(--color-hairline);display:grid;grid-gap:.35rem .5rem;gap:.35rem .5rem;grid-template-columns:minmax(0,1fr) auto;padding:.45rem 0}.faculty-assignment-row:last-child{border-bottom:0}.faculty-assignment-copy{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.faculty-assignment-copy strong{font-size:.86rem;overflow-wrap:anywhere}.faculty-assignment-copy span,.faculty-assignments-empty{color:var(--color-muted);font-size:.76rem}.faculty-assignments-empty{display:block;padding:.25rem 0}.assign-manage{display:contents}.assign-manage>summary{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--color-muted);cursor:pointer;display:inline-flex;font-size:.76rem;font-weight:750;gap:.3rem;grid-column:2;grid-row:1;min-height:2rem;justify-content:center;list-style:none;padding:.25rem .45rem;white-space:nowrap}.assign-manage>summary::-webkit-details-marker{display:none}.assign-manage>summary:hover,.assign-manage[open]>summary{background:var(--color-surface-sunken);border-color:var(--color-hairline);color:var(--color-text)}.assign-manage>summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.assign-manage-panel{background:var(--color-surface-sunken);border-top:1px solid var(--color-hairline);display:grid;grid-gap:.65rem;gap:.65rem;grid-column:1/-1;margin-top:.1rem;padding:.65rem}.assign-manage-heading{display:grid}.assign-manage-copy{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.allotment-action-note,.assign-manage-copy>span{color:var(--color-muted);font-size:.74rem}.allotment-action-note{display:block;font-weight:700}.allotment-action-button{align-items:center;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:750;gap:.35rem;list-style:none}.allotment-action-button::-webkit-details-marker{display:none}.allotment-action-button:hover,.rooms-edit[open]>.allotment-action-button{color:var(--color-accent)}.allotment-action-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.rooms-edit-form{background:var(--color-surface-sunken);border:1px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.4rem;gap:.4rem;padding:.4rem}.rooms-current{color:var(--color-muted);font-size:.72rem;line-height:1.35}.rooms-checkboxes{border:0;display:grid;grid-gap:.2rem .6rem;gap:.2rem .6rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.rooms-check{align-items:center;display:flex;font-size:.74rem;font-weight:600;gap:.3rem}.replace-faculty-form{min-width:0}.assign-manage-field{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.assign-manage-commands{display:grid;grid-gap:.45rem;gap:.45rem;grid-template-columns:1fr}.assign-manage-commands .ui-button,.assign-manage-commands>.ui-button{min-height:2.15rem;padding:.3rem .6rem;white-space:nowrap;width:100%}.remove-faculty-form{flex:0 0 auto}.remove-faculty-form .ui-button{color:var(--color-danger);min-height:2.15rem;padding:.3rem .6rem;white-space:nowrap}.remove-faculty-form .ui-button:hover{background:var(--color-danger);color:#fff}.chip-remove{background:var(--color-danger);border:none;border-radius:999px;color:#ffffff;cursor:pointer;height:1.1rem;justify-content:center;width:1.1rem}.assign-form,.chip-remove{align-items:center;display:inline-flex}.assign-form{gap:.3rem}.assign-select{width:150px}.assign-select,.assign-select-batch{font-size:.8rem;min-height:2rem;padding:.25rem .4rem}.assign-select-batch{width:86px}.assign-hours{font-size:.8rem;min-height:2rem;padding:.25rem .4rem;width:58px}.allot-table{table-layout:fixed;width:100%}.table-scroll .allot-table{min-width:68rem}.allot-table td{vertical-align:top}.allot-table td:first-child,.allot-table th:first-child{width:24%}.allot-table td:nth-child(2),.allot-table th:nth-child(2){width:20%}.allot-table td:nth-child(3),.allot-table th:nth-child(3){width:40%}.allot-table td:nth-child(4),.allot-table th:nth-child(4){width:16%}.allot-row-stale{box-shadow:inset 3px 0 0 var(--warning)}.off-div{background:var(--surface-2);border-radius:var(--radius);font-weight:800;padding:.15rem .5rem;white-space:nowrap}.offering-cell{min-width:0}.offering-cell-head{align-items:center;display:flex;gap:.4rem;margin-bottom:.35rem}.offering-title{display:block;line-height:1.18;overflow-wrap:anywhere}.allot-load-cell{font-feature-settings:"tnum";white-space:normal}.allot-load-primary{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:space-between;margin-bottom:.3rem}.cov-stack{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem}.allot-load-cell .cov-stack{margin-top:.35rem}.cov-detail{color:var(--color-muted);font-size:.84rem;white-space:nowrap}.allot-load-cell>.cov-detail{display:block;margin-top:.18rem}.allot-card-head{gap:.75rem;justify-content:space-between}.allot-card-head,.allot-card-metrics{align-items:center;display:flex;flex-wrap:wrap}.allot-card-metrics{gap:.45rem}.allot-card-metrics span{background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:999px;color:var(--color-muted);font-size:.82rem;font-weight:700;padding:.18rem .55rem;white-space:nowrap}.allot-card-metrics strong{color:var(--color-text)}.assign-grid{align-items:end;border-top:1px solid var(--color-hairline);display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:minmax(11rem,1fr) 5rem auto;margin-top:.45rem;min-width:0;padding-top:.6rem}.assign-grid-batched{grid-template-columns:minmax(11rem,1fr) 6.5rem 5.5rem auto}.assign-field{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.assign-field-label{color:var(--color-muted);font-size:.67rem;font-weight:800;text-transform:uppercase}.ag-control,.ag-hours{font-size:.8rem;min-height:2rem;padding:.25rem .4rem;width:100%}.faculty-picker{min-width:0;width:100%}.faculty-picker-trigger{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);color:var(--color-text);cursor:pointer;display:grid;font:inherit;grid-gap:.08rem;gap:.08rem;min-height:2rem;padding:.28rem .45rem;text-align:left;width:100%}.faculty-picker-trigger strong{font-size:.78rem}.faculty-picker-trigger span{color:var(--color-muted);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faculty-picker-option:focus-visible,.faculty-picker-search input:focus-visible,.faculty-picker-trigger:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.faculty-picker-popover{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-hard);color:var(--color-text);margin:auto;max-height:min(70vh,34rem);padding:0;width:min(32rem,calc(100vw - 2rem))}.faculty-picker-popover::-webkit-backdrop{background:rgb(15 23 42/.24)}.faculty-picker-popover::backdrop{background:rgb(15 23 42/.24)}.faculty-picker-heading{align-items:center;border-bottom:1px solid var(--color-hairline);display:flex;justify-content:space-between;padding:.55rem .7rem}.picker-close{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--color-muted);cursor:pointer;display:inline-flex;height:2rem;justify-content:center;padding:0;width:2rem}.picker-close:hover{background:var(--color-surface-sunken);border-color:var(--color-hairline);color:var(--color-text)}.faculty-picker-search{align-items:center;border-bottom:1px solid var(--color-hairline);display:flex;gap:.5rem;padding:.7rem}.faculty-picker-search svg{color:var(--color-muted);flex:0 0 auto}.faculty-picker-search input{background:transparent;border:0;color:var(--color-text);font:inherit;min-width:0;outline:0;width:100%}.faculty-picker-results{display:grid;max-height:min(58vh,28rem);overflow-y:auto;padding:.35rem}.faculty-picker-results>p{color:var(--color-muted);margin:0;padding:1rem;text-align:center}.faculty-picker-option{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--color-hairline);color:var(--color-text);cursor:pointer;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:3.5rem minmax(0,1fr) auto 1rem;padding:.62rem .55rem;text-align:left;width:100%}.faculty-picker-option:last-child{border-bottom:0}.faculty-picker-option:hover,.faculty-picker-option[aria-pressed=true]{background:var(--color-surface-sunken)}.faculty-picker-code{color:var(--color-accent);font-size:.76rem;font-weight:850}.faculty-picker-person{display:grid;min-width:0}.faculty-picker-person small,.faculty-picker-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faculty-picker-load,.faculty-picker-person small{color:var(--color-muted);font-size:.74rem}.ag-add,.faculty-picker-load{white-space:nowrap}.ag-add{box-shadow:2px 2px 0 var(--color-line);font-size:.82rem;min-height:2rem;padding:.25rem .55rem}.ag-add:active{box-shadow:1px 1px 0 var(--color-line);transform:translate(1px,1px)}.allot-row-actions{display:grid;grid-gap:.7rem;gap:.7rem;min-width:0}.delete-offering-form{display:inline-flex;flex:0 0 auto}.delete-offering-button{align-items:center;background:transparent;border:0;color:var(--color-muted);cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:750;gap:.35rem;padding:0}.delete-offering-button:hover{border-color:var(--color-danger);color:var(--color-danger)}.delete-offering-button-danger{color:var(--color-danger)}.delete-offering-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.delete-offering-blocked{color:var(--color-muted);font-size:.72rem;font-weight:700;white-space:nowrap}.gen-row{align-items:center;display:flex;gap:.5rem;margin-top:.7rem}.gen-divider{border-top:1px solid var(--color-hairline);margin:.9rem 0}.gen-row .ui-input{max-width:200px}.staffing-clear-panel{background:var(--color-surface-sunken);border:1px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.15rem;gap:.15rem;padding:.7rem}.staffing-clear-panel>strong{font-size:.9rem}.assign-form .ui-button{min-height:2rem;padding:.3rem .6rem}.free-faculty-query-form{align-items:end;display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:minmax(8rem,.25fr) minmax(0,1fr) auto}.free-faculty-slot-field{min-width:0}.free-faculty-slot-grid{display:flex;flex-wrap:wrap;gap:.35rem}.free-faculty-slot-chip{align-items:center;background:#f8fafc;border:1px solid var(--color-hairline);border-radius:999px;color:var(--color-muted);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:750;gap:.35rem;min-height:2rem;padding:.2rem .6rem .2rem .45rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.free-faculty-slot-chip:has(input:checked){background:#ecfdf5;border-color:#99f6e4;color:#0f766e}.free-faculty-slot-chip input{accent-color:#0f766e;margin:0}.free-faculty-window{align-items:center;background:#f8fafc;border:1px solid var(--color-hairline);border-radius:var(--radius);color:var(--color-muted);display:flex;gap:.55rem;justify-content:space-between;margin-top:.8rem;padding:.6rem .7rem}.free-faculty-window strong{color:var(--color-text)}.free-faculty-window span{text-align:right}.free-faculty-result{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:1rem}.free-faculty-result-head{align-items:start;border-bottom:1px solid var(--color-hairline);color:var(--color-muted);display:flex;gap:.75rem;justify-content:space-between;padding-bottom:.7rem}.free-faculty-result-head div{display:grid;grid-gap:.15rem;gap:.15rem}.free-faculty-result-head strong{color:var(--color-text)}.free-faculty-result-head>span{font-size:.78rem;font-weight:700;text-align:right}.free-faculty-list{display:grid;grid-gap:.55rem;gap:.55rem}.free-faculty-row{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius);overflow:hidden}.free-faculty-row[open]{border-color:var(--color-line);box-shadow:var(--shadow-soft)}.free-faculty-summary{align-items:center;cursor:pointer;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:2.3rem minmax(13rem,1.35fr) minmax(16rem,1.25fr) minmax(11rem,.9fr) minmax(8rem,.8fr);list-style:none;min-width:0;padding:.7rem}.free-faculty-summary::-webkit-details-marker{display:none}.free-faculty-rank{align-items:center;background:#f1f5f9;border:1px solid var(--color-hairline);border-radius:999px;color:var(--color-muted);display:inline-flex;font-size:.78rem;font-weight:800;height:2rem;justify-content:center;width:2rem}.free-faculty-loads,.free-faculty-person,.free-faculty-split{min-width:0}.free-faculty-person{display:grid;grid-gap:.15rem;gap:.15rem}.free-faculty-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.free-faculty-loads span,.free-faculty-person span,.free-faculty-split span{color:var(--color-muted);font-size:.78rem}.free-faculty-loads,.free-faculty-split{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.free-faculty-loads>span,.free-faculty-split>span{align-items:center;background:#f8fafc;border:1px solid var(--color-hairline);border-radius:999px;display:inline-flex;gap:.25rem;padding:.18rem .5rem;white-space:nowrap}.free-faculty-loads strong{color:var(--color-text)}.free-faculty-loads>.free-faculty-tone-light{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.free-faculty-loads>.free-faculty-tone-balanced{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.free-faculty-loads>.free-faculty-tone-heavy{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.free-faculty-tone strong{color:inherit}.free-faculty-timeline{align-items:center;display:grid;grid-gap:.24rem;gap:.24rem;grid-auto-flow:column;grid-auto-columns:minmax(.72rem,1fr)}.free-faculty-tick{border:1px solid transparent;border-radius:999px;display:block;height:.72rem;min-width:.72rem}.free-faculty-tick-free{background:#f1f5f9;border-color:#d8e0e8}.free-faculty-tick-busy{background:#f97373;border-color:#dc2626}.free-faculty-tick-target{border-color:#0f766e;box-shadow:0 0 0 1px #0f766e}.free-faculty-detail{background:#f8fafc;border-top:1px solid var(--color-hairline);padding:.65rem .9rem .75rem 3.75rem}.free-faculty-detail ul{display:grid;grid-gap:.35rem;gap:.35rem;list-style:none;margin:0;padding:0}.free-faculty-detail li{color:var(--color-muted);font-size:.82rem}.free-faculty-empty{min-height:1px}.adjustment-view-tabs{border-bottom:1px solid var(--color-hairline);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.adjustment-view-tab{align-items:center;border-bottom:3px solid transparent;color:var(--color-muted);display:flex;gap:.55rem;min-width:0;padding:.75rem;text-decoration:none}.adjustment-view-tab:hover{background:var(--color-surface-sunken);color:var(--color-text)}.adjustment-view-tab-active{border-bottom-color:var(--color-accent);color:var(--color-text)}.adjustment-view-tab>span{display:grid;grid-gap:.08rem;gap:.08rem;min-width:0}.adjustment-view-tab small,.adjustment-view-tab strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adjustment-view-tab small{color:var(--color-muted);font-size:.72rem}.adjustment-ledger{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.adjustment-grid{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.6fr) minmax(18rem,.8fr)}.adjustment-grid-single{grid-template-columns:minmax(0,1fr)}.adjustment-form{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.adjustment-form-actions,.adjustment-slot-field,.adjustment-wide-field{grid-column:1/-1}.adjustment-slot-list{display:flex;flex-wrap:wrap;gap:.35rem}.adjustment-slot-chip{align-items:center;background:#f8fafc;border:1px solid var(--color-hairline);border-radius:999px;color:var(--color-muted);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:750;gap:.35rem;min-height:2rem;padding:.2rem .6rem .2rem .45rem}.adjustment-slot-chip:has(input:checked){background:#ecfdf5;border-color:#99f6e4;color:#0f766e}.adjustment-slot-chip-locked{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.adjustment-slot-chip input{accent-color:#0f766e;margin:0}.adjustment-entry-context{background:linear-gradient(180deg,#f8fafc,#ffffff);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);display:grid;grid-gap:.75rem;gap:.75rem;grid-column:1/-1;padding:.9rem}.adjustment-entry-context-head{display:grid;grid-gap:.15rem;gap:.15rem}.adjustment-entry-kicker{color:var(--color-muted);font-size:.7rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.adjustment-entry-context-head strong{font-size:1rem}.adjustment-entry-context-head span:last-child{color:var(--color-muted);font-size:.82rem}.adjustment-entry-context-grid{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.adjustment-entry-context-grid div{background:#ffffff;border:1px solid var(--color-hairline);border-radius:var(--radius);padding:.55rem}.adjustment-entry-context-grid dt,.adjustment-entry-faculty span{color:var(--color-muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.adjustment-entry-context-grid dd{font-size:.82rem;font-weight:750;margin:.12rem 0 0}.adjustment-entry-faculty{background:#f0fdfa;border:1px solid #99f6e4;border-radius:var(--radius);display:grid;grid-gap:.18rem;gap:.18rem;margin:0;padding:.6rem}.adjustment-entry-faculty strong{color:#0f766e;font-size:.86rem}.adjustment-entry-note{margin:0}.adjustment-fixed-faculty{background:#f8fafc;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);color:var(--color-text);display:grid;grid-gap:.2rem;gap:.2rem;padding:.65rem .75rem}.adjustment-fixed-faculty span{color:var(--color-muted);font-size:.8rem}.adjustment-notes{min-height:5.2rem;resize:vertical}.adjustment-form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.adjustment-form-actions .muted-copy{margin:0}.adjustment-balance-list{display:grid;grid-gap:.55rem;gap:.55rem}.adjustment-balance-row{border:1px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.65rem;gap:.65rem;padding:.7rem}.adjustment-balance-row>div{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.adjustment-balance-row>div span{color:var(--color-muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adjustment-balance-row dl{display:grid;grid-gap:.45rem;gap:.45rem;grid-template-columns:repeat(3,1fr);margin:0}.adjustment-balance-row dl div{background:#f8fafc;border:1px solid var(--color-hairline);border-radius:var(--radius);padding:.45rem}.adjustment-balance-row dt{color:var(--color-muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.adjustment-balance-row dd{font-size:1rem;font-weight:850;margin:.12rem 0 0}.adjustment-balance-positive dd{color:#1d4ed8}.adjustment-balance-negative dd{color:#0f766e}.adjustment-balance-even dd{color:var(--color-muted)}.adjustment-table-wrap{overflow-x:auto}.adjustment-table{border-collapse:collapse;min-width:58rem;width:100%}.adjustment-table td,.adjustment-table th{border-bottom:1px solid var(--color-hairline);padding:.65rem .7rem;text-align:left;vertical-align:top}.adjustment-table th{color:var(--color-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.adjustment-table td{font-size:.84rem}.adjustment-table td span,.adjustment-table td strong{display:block}.adjustment-table td span{color:var(--color-muted);font-size:.76rem;margin-top:.15rem}.adjustment-source-tag{color:#475569;font-size:.7rem;font-weight:800;text-transform:uppercase}.adjustment-status{background:#f8fafc;border:1px solid var(--color-hairline);border-radius:999px;color:var(--color-muted);display:inline-flex;font-size:.72rem;font-weight:850;padding:.2rem .5rem}@media (max-width:920px){.adjustment-form,.adjustment-grid{grid-template-columns:minmax(0,1fr)}.adjustment-entry-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.free-faculty-query-form{grid-template-columns:minmax(0,1fr)}.free-faculty-query-form .ui-button{justify-content:center}.free-faculty-summary{grid-template-columns:2.3rem minmax(0,1fr)}.free-faculty-loads,.free-faculty-split,.free-faculty-timeline{grid-column:2}.free-faculty-detail{padding-left:.9rem}}@media (max-width:640px){.adjustment-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.adjustment-view-tab small,.adjustment-view-tab strong{overflow:visible;text-overflow:clip;white-space:normal}.free-faculty-query-form,.free-faculty-window{display:grid}.free-faculty-window span{text-align:left}.free-faculty-result-head{display:grid}.free-faculty-result-head>span{text-align:left}.free-faculty-loads,.free-faculty-split{align-items:flex-start;display:grid}}.list-scroll{max-height:380px;overflow-y:auto;padding-right:.25rem}.inline-field-grid{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.tt-entry-form-grid{align-items:end;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:minmax(240px,1.5fr) .45fr minmax(170px,.9fr) minmax(160px,.8fr) minmax(150px,.8fr) minmax(200px,1fr) auto}.tt-entry-batch-field,.tt-entry-label-field{min-width:0}.batch-picker{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;min-height:2.25rem}.batch-picker label{align-items:center;border:1.5px solid var(--color-line);border-radius:var(--radius);display:inline-flex;font-size:.78rem;font-weight:800;gap:.25rem;padding:.25rem .45rem}.batch-picker input{margin:0}.batch-picker-table{min-width:130px}.tt-batch-picker{max-width:100%}.tt-batch-scope{display:grid;grid-gap:.35rem;gap:.35rem}.tt-batch-derived{margin:.7rem 0 0}.tt-batch-derived,.tt-batch-scope{border-top:1px solid var(--border);padding-top:.7rem}.tt-batch-scope{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}.tt-batch-scope-label{font-size:.8rem;font-weight:700}.tt-batch-chip{background:#fff;border:1.5px solid var(--color-line);border-radius:999px;cursor:pointer;font:inherit;font-size:.74rem;font-weight:700;line-height:1;padding:.26rem .6rem}.tt-batch-chip:hover:not(:disabled){background:#f1f5f9}.tt-batch-chip-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.tt-batch-chip:disabled{cursor:not-allowed;opacity:.45}.tt-batch-scope-hint{flex-basis:100%;margin:0}.resource-form-grid{align-items:end;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.form-field{display:grid;grid-gap:.35rem;gap:.35rem}.ui-label-text{color:var(--color-muted);font-size:.78rem;font-weight:800}.weekday-picker{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.weekday-picker label{align-items:center;border:1.5px solid var(--color-line);border-radius:var(--radius);display:inline-flex;font-size:.78rem;font-weight:800;gap:.25rem;min-height:2rem;padding:.25rem .45rem}.weekday-picker input{margin:0}.weekday-picker-table{margin-top:.35rem;min-width:190px}.slot-range-fields{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.slot-range-fields-table{min-width:150px}.resource-notes-field{grid-column:span 2}.audit-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.audit-issues{display:flex;flex-direction:column;gap:.2rem;list-style:none;margin:0;padding:0}.audit-issue-error{color:var(--color-danger)}.audit-issue-warn{color:var(--color-text-muted)}.audit-row-invalid{background:rgba(185,28,28,.05)}.bulk-assign-body{margin-top:.75rem}.bulk-assign-actions{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.bulk-assign-upload{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.roster-import-upload{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.roster-import-upload .ui-label{min-width:14rem}.roster-import-paste{align-items:flex-start;display:flex;flex-direction:column;gap:.6rem}.roster-import-paste .ui-label{width:100%}.roster-textarea{font-family:var(--font-mono,ui-monospace,monospace);font-size:.8rem;min-height:9rem;resize:vertical;white-space:pre;width:100%}.bulk-rooms-field{grid-column:span 2}.bulk-room-list{border:2px solid var(--color-line);border-radius:var(--radius);display:grid;grid-gap:.3rem .6rem;gap:.3rem .6rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin-top:.35rem;max-height:15rem;overflow:auto;padding:.5rem}.bulk-room-list label{align-items:center;display:flex;font-size:.8rem;font-weight:600;gap:.4rem}.bulk-room-list input{margin:0}.resource-directory-section{display:grid;grid-gap:.9rem;gap:.9rem;scroll-margin-top:1rem}.resource-section-head{align-items:flex-end;border-bottom:2px solid var(--color-line);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.75rem}.resource-section-head>div{min-width:0}.resource-section-head h2{font-size:1.25rem;margin:0;text-wrap:balance}.resource-section-head .muted-copy{margin:.4rem 0 0;max-width:72ch}.resource-filter-bar{align-items:end;background:var(--color-surface);border:1.5px solid var(--color-hairline);border-radius:var(--radius);display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(14rem,1fr) minmax(9rem,.45fr) minmax(9rem,.45fr) auto;padding:.75rem}.resource-filter-bar .ui-input{width:100%}.resource-filter-bar-wide{grid-template-columns:minmax(14rem,1fr) repeat(3,minmax(8rem,.4fr)) auto}.resource-filter-actions{align-items:center;display:flex;gap:.75rem}.institute-room-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}.institute-room-tile{background:var(--color-surface);border:2px solid var(--color-line);border-radius:var(--radius);box-shadow:2px 2px 0 var(--color-line);display:grid;grid-gap:.75rem;gap:.75rem;min-width:0;padding:.85rem}.institute-room-tile-inactive{background:var(--color-surface-sunken);border-style:dashed;box-shadow:none}.institute-room-head{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.institute-room-head>div{min-width:0}.alloc-head h3,.institute-room-head h3{font-size:1.05rem;margin:0;overflow-wrap:anywhere}.alloc-head p,.institute-room-head p{color:var(--color-muted);font-size:.82rem;margin:.2rem 0 0;overflow-wrap:anywhere}.alloc-room-facts,.institute-room-facts{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.alloc-room-facts>div,.institute-room-facts>div{min-width:0}.alloc-room-facts dt,.institute-room-facts dt{color:var(--color-muted);font-size:.7rem;font-weight:750;text-transform:uppercase}.alloc-room-facts dd,.institute-room-facts dd{font-size:.86rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:750;margin:.12rem 0 0;overflow-wrap:anywhere}.institute-room-actions{align-items:center;border-top:1px solid var(--color-hairline);display:flex;flex-wrap:wrap;gap:.55rem;padding-top:.75rem}.department-resource-schedule{border-top:1px solid var(--color-hairline);display:grid;font-size:.8rem;grid-gap:.25rem;gap:.25rem;padding-top:.7rem}.department-resource-schedule p{color:var(--color-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0;overflow-wrap:anywhere}.department-resource-note{border-left:2px solid var(--color-accent);color:var(--color-text);margin-top:.2rem;padding-left:.5rem}.resource-tile-disclosure{min-width:0}.resource-tile-disclosure[open]{flex:1 1 100%}.resource-add-disclosure>summary,.resource-tile-disclosure>summary{align-items:center;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:750;gap:.35rem;list-style:none}.resource-add-disclosure>summary::-webkit-details-marker,.resource-tile-disclosure>summary::-webkit-details-marker{display:none}.resource-add-disclosure>summary:hover,.resource-tile-disclosure>summary:hover{color:var(--color-primary)}.resource-tile-edit-form{border-top:1px solid var(--color-hairline);grid-template-columns:1fr;margin-top:.65rem;padding-top:.65rem}.resource-deactivate-disclosure .muted-copy{font-size:.78rem;margin:.55rem 0}.resource-add-disclosure{background:var(--color-surface);border:1.5px dashed var(--color-line);border-radius:var(--radius);padding:.85rem}.resource-add-disclosure[open]>summary{margin-bottom:.85rem}.resource-grid-empty{border:1.5px dashed var(--color-hairline);border-radius:var(--radius);grid-column:1/-1;margin:0;padding:1rem}.institute-allocation-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,24rem),1fr))}.institute-allocation-tile{align-content:start;background:var(--color-surface);border:2px solid var(--color-line);border-radius:var(--radius);box-shadow:2px 2px 0 var(--color-line);display:grid;min-width:0}.alloc-head{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;min-width:0;padding:.85rem}.alloc-head>div:first-child{min-width:0}.alloc-room-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.alloc-room-facts{background:var(--color-surface-sunken);border-bottom:1px solid var(--color-hairline);border-top:1px solid var(--color-hairline);grid-template-columns:repeat(3,minmax(0,1fr));padding:.65rem .85rem}.alloc-room-rows{display:grid}.alloc-sched{display:grid;font-size:.8rem;grid-gap:.35rem;gap:.35rem;min-width:0;padding:.8rem .85rem}.alloc-sched+.alloc-sched{border-top:1px solid var(--color-hairline)}.alloc-sched-head{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.alloc-sched-head strong{min-width:0;overflow-wrap:anywhere}.alloc-sched-head>span:last-child{color:var(--color-muted);margin-left:auto}.alloc-sched p{color:var(--color-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0;overflow-wrap:anywhere}.alloc-note{border-left:2px solid var(--color-accent);padding-left:.5rem}.alloc-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.alloc-actions details[open]{flex:1 1 100%}.alloc-edit-box[open]{border:1px solid var(--color-hairline);border-radius:var(--radius);padding:.75rem}.alloc-edit-box .resource-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alloc-edit-summary{background:var(--color-ink);border-radius:var(--radius);color:var(--color-surface);cursor:pointer;display:inline-block;font-size:.78rem;font-weight:700;list-style:none;padding:.3rem .8rem}.alloc-edit-summary::-webkit-details-marker{display:none}.alloc-edit-summary:hover{background:var(--color-primary)}.alloc-edit-box[open] .alloc-edit-summary{margin-bottom:.6rem}@media (max-width:900px){.resource-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-filter-actions{align-self:end}}.crud-form-grid{align-items:end;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:.7fr minmax(220px,2fr) .55fr .7fr auto}.crud-form-grid-wide{grid-template-columns:.75fr minmax(220px,1.5fr) .65fr .55fr .8fr repeat(4,.55fr) auto}.faculty-form-grid{grid-template-columns:minmax(220px,1.3fr) minmax(240px,1.4fr) .75fr .8fr .9fr auto}.faculty-profile-form-grid{align-items:end;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.profile-form-section-title{border-top:1px solid var(--color-hairline);color:var(--color-muted);font-size:.78rem;font-weight:850;grid-column:1/-1;margin-top:.2rem;padding-top:.8rem;text-transform:uppercase}.faculty-profile-proof-field{grid-column:span 2}.faculty-profile-cell{display:grid;grid-gap:.4rem;gap:.4rem;min-width:0}.faculty-deactivate-fields{display:grid;grid-gap:.35rem;gap:.35rem;min-width:180px}.division-batch-cell{display:grid;grid-gap:.45rem;gap:.45rem;min-width:150px}.auto-split-form{align-items:center;display:flex;gap:.35rem}.auto-split-form .ui-input{min-height:2rem;min-width:64px;padding:.3rem .45rem;width:68px}.auto-split-form .ui-button{min-height:2rem;padding:.3rem .55rem;white-space:nowrap}.table-input{font-size:.82rem;min-height:2rem;min-width:160px;padding:.3rem .45rem}.table-input-code{min-width:72px;width:82px}.table-input-code-wide{min-width:128px;width:138px}.table-input-short{min-width:90px;width:108px}.table-input-salutation{min-width:90px;width:96px}.table-input-kind{min-width:110px;width:116px}.table-input-email,.table-input-name{min-width:240px}.table-input-number{min-width:70px;width:82px}.table-input-day{min-width:82px;width:92px}.table-input-room,.table-input-slot{min-width:150px;width:168px}.table-input-offering{min-width:250px;width:280px}.table-input-label{min-width:240px;width:280px}.table-input-url{min-width:260px;width:300px}.table-input-date{min-width:132px;width:142px}.row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.row-actions .ui-button{min-height:2rem;padding:.3rem .6rem}@media (max-width:1100px){.faculty-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.faculty-detail-layout,.faculty-record-grid{grid-template-columns:1fr}.crud-form-grid,.crud-form-grid-wide,.faculty-form-grid,.faculty-profile-form-grid,.faculty-roster-create-grid,.resource-form-grid,.tt-entry-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faculty-load-row{grid-template-columns:minmax(0,1fr)}.notification-row{align-items:start;grid-template-columns:auto minmax(0,1fr)}.notification-actions{grid-column:1/-1}.faculty-load-value,.notification-actions{justify-content:flex-start}.additional-proof-form,.profile-section-grid{grid-template-columns:1fr}}@media (max-width:560px){.dashboard-grid,.faculty-detail-summary{grid-template-columns:1fr}.page-header{align-items:start;flex-direction:column}.resource-section-head{align-items:flex-start;flex-direction:column}.alloc-edit-box .resource-form-grid,.resource-filter-bar{grid-template-columns:1fr}.resource-filter-actions{align-items:stretch;flex-wrap:wrap}.crud-form-grid,.crud-form-grid-wide,.detail-fact-grid,.faculty-detail-form-grid,.faculty-form-grid,.faculty-profile-form-grid,.faculty-roster-create-grid,.inline-field-grid,.profile-card-grid,.resource-form-grid,.tt-entry-form-grid{grid-template-columns:1fr}.faculty-profile-proof-field,.resource-notes-field{grid-column:auto}.inline-proof-upload,.profile-submit-row{align-items:stretch;flex-direction:column;grid-template-columns:1fr}.profile-submit-row .review-actions{justify-content:flex-start}}.code-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.code-chip{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;display:inline-flex;font-weight:600;gap:.4rem;padding:.2rem .35rem .2rem .7rem}.code-chip button{background:transparent;border:0;border-radius:999px;color:var(--muted);cursor:pointer;font-size:.95rem;line-height:1;padding:.1rem .35rem}.code-chip button:hover{background:var(--danger-soft);color:var(--danger)}.builder-controls{background:var(--surface);border-bottom:1px solid var(--border);margin-bottom:.4rem;padding-top:.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:5}.rollcall-builder-toolbar{align-items:end;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;padding:.75rem}.rollcall-builder-toolbar .builder-count{font-weight:700}.sem-overview-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:.85rem}.sem-overview-card{border:1px solid var(--border);border-radius:var(--radius);color:inherit;display:flex;flex-direction:column;gap:.85rem;padding:1.15rem 1.25rem;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.sem-overview-card:hover{border-color:var(--color-accent);box-shadow:0 6px 18px rgba(15,23,42,.1);transform:translateY(-2px)}.sem-card-head{align-items:center;display:flex;justify-content:space-between}.sem-card-title{font-size:1.3rem;font-weight:800}.sem-card-stats{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(3,1fr)}.sem-stat{align-items:center;background:var(--surface-2);border-radius:var(--radius);display:flex;flex-direction:column;gap:.1rem;padding:.55rem .25rem}.sem-stat-num{font-size:1.45rem;font-weight:800;line-height:1}.sem-stat-label{color:var(--color-muted);font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sem-card-bar{background:var(--surface-2);border-radius:999px;height:9px;overflow:hidden}.sem-card-bar span{background:#22c55e;display:block;height:100%}.sem-card-progress-label{color:var(--color-muted);font-size:.78rem;margin-top:-.35rem}.sem-card-open-btn{align-items:center;background:var(--color-accent);border-radius:var(--radius);color:#fff;display:flex;font-size:.95rem;font-weight:700;justify-content:center;margin-top:auto;padding:.6rem 1rem}.sem-overview-card:hover .sem-card-open-btn{background:#0e7490}.sem-card-lpt{color:var(--color-muted);font-size:.82rem}.elective-pool{background:var(--color-surface-sunken);border:1.5px solid var(--color-line);border-radius:var(--radius);margin-bottom:.85rem;padding:.7rem .85rem}.elective-pool-head{align-items:center;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:.5rem}.elective-pool-title{font-size:.95rem;font-weight:800}.elective-pool-note{color:var(--color-muted);font-size:.78rem}.subject-chosen-row td{background:#f0fdf4}.subject-totals td{border-top:2px solid var(--color-line);font-weight:800}.subjects-toolbar{align-items:center;display:flex;gap:.6rem;justify-content:flex-end;margin-bottom:.6rem}.elective-chosen-banner{background:var(--color-success-tint);border:1px solid #86efac;border-radius:999px;color:var(--color-success);gap:.3rem}.elective-chosen-banner,.elective-nopick-banner{align-items:center;display:inline-flex;font-size:.82rem;font-weight:700;padding:.25rem .7rem}.elective-nopick-banner{background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;color:#b45309}.subject-total-strip{align-items:center;background:linear-gradient(180deg,var(--color-surface-sunken),#f1f5f9);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:.6rem;padding:.85rem 1rem}.sts-title{font-size:.78rem;font-weight:800;letter-spacing:.03em;margin-right:auto;text-transform:uppercase}.sts-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;padding:.35rem .7rem}.sts-chip strong{font-size:1.05rem}.sts-chip-accent{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.subject-choose-btn{font-size:.78rem;min-height:auto;padding:.15rem .5rem}.subject-chosen-tag{align-items:center;background:var(--color-success-tint);border-radius:999px;color:var(--color-success);display:inline-flex;font-size:.75rem;font-weight:700;gap:.25rem;padding:.15rem .55rem}.subject-credit-only td{background:#fffbeb;color:var(--color-muted)}.hb-cell{align-items:center;display:flex;gap:.3rem}.hb-batches{align-items:center;color:var(--color-muted);display:inline-flex;font-size:.78rem;gap:.1rem}.hb-batch-input{min-width:40px;width:44px}.subject-choose-btn,.subject-sched-btn{font-size:.78rem;min-height:auto;padding:.15rem .5rem;white-space:nowrap}.pool-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.pool-chip{align-items:center;background:var(--surface-2);border:1px solid #c084fc;border-radius:999px;display:inline-flex;gap:.4rem;padding:.2rem .3rem .2rem .7rem}.pool-chip-count{background:#ede9fe;border-radius:999px;color:#6d28d9;font-size:.72rem;font-weight:700;padding:.05rem .45rem}.pool-chip button{background:transparent;border:0;color:var(--color-muted);cursor:pointer;line-height:1;padding:0 .2rem}.pool-chip button:hover{color:var(--danger)}.reorder-bar{align-items:center;display:flex;gap:.75rem}.reorder-list{display:grid;grid-gap:.4rem;gap:.4rem;list-style:none;margin:.6rem 0;padding:0}.reorder-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:-webkit-grab;cursor:grab;display:flex;gap:.7rem;padding:.45rem .7rem}.reorder-item-dragging{border-color:var(--color-accent);opacity:.7}.reorder-grip{color:var(--color-muted);cursor:-webkit-grab;cursor:grab;font-size:1.1rem}.reorder-code{font-weight:700;min-width:92px}.reorder-name{flex:1 1}.reorder-updown{display:inline-flex;gap:.2rem}.reorder-updown button{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:.75rem;line-height:1;padding:.25rem .4rem}.reorder-updown button:disabled{cursor:not-allowed;opacity:.4}.reorder-actions{display:flex;gap:.5rem}.rollcall-subhead{color:var(--color-muted);font-size:.75rem;font-weight:700;letter-spacing:.03em;margin:1.1rem 0 .5rem;text-transform:uppercase}.rollcall-subhead:first-child{margin-top:0}.danger-zone{background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius);margin-top:1.25rem;padding:.7rem .85rem}.danger-zone-label{color:var(--color-danger);font-size:.75rem;font-weight:700;letter-spacing:.03em;margin:0 0 .55rem;text-transform:uppercase}.division-tools{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem}.danger-zone .division-tools{margin-bottom:0}.bulk-div-tool{border:2px solid var(--color-line);border-radius:var(--radius);flex-basis:100%;padding:.5rem .75rem}.bulk-div-tool>summary{cursor:pointer;font-size:.8rem;font-weight:800}.bulk-div-form{align-items:end;display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:.6rem}.bulk-div-hint{font-size:.75rem;grid-column:1/-1}.division-panel-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.division-panel{border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .7rem;transition:box-shadow .15s ease}.division-panel:hover{box-shadow:0 4px 12px rgba(15,23,42,.08)}.division-panel-head{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.division-panel-head .division-strength{font-weight:700;margin-right:auto}.division-panel-head .division-strength small{color:var(--color-muted);font-size:.72rem;font-weight:400;margin-left:.3rem}.division-delete{color:var(--danger);font-size:.78rem;min-height:auto;padding:.15rem .45rem}.division-delete:hover{background:var(--danger);color:#fff}.division-archive{color:var(--color-muted);font-size:.78rem;min-height:auto;padding:.15rem .45rem}.division-archive:hover{background:var(--color-secondary);color:var(--color-ink)}.inactive-division-details{border-top:1px solid var(--border);display:grid;grid-gap:.7rem;gap:.7rem;margin-top:1rem;padding-top:.8rem}.inactive-division-details>summary{color:var(--color-muted);cursor:pointer;font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.inactive-division-list{display:grid;grid-gap:.5rem;gap:.5rem}.inactive-division-row{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.55rem .65rem}.inactive-division-row>div:first-child{display:grid;grid-gap:.1rem;gap:.1rem}.inactive-division-row span{color:var(--color-muted);font-size:.78rem}.inactive-division-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.faculty-staffid{font-feature-settings:"tnum";font-weight:700}.faculty-table td{vertical-align:middle}.faculty-table{table-layout:fixed}.table-scroll .faculty-table{min-width:0}.faculty-table td:first-child,.faculty-table th:first-child{width:7rem}.faculty-table td:nth-child(2),.faculty-table th:nth-child(2){width:18%}.faculty-table td:nth-child(3),.faculty-table th:nth-child(3){width:16%}.faculty-table td:nth-child(4),.faculty-table th:nth-child(4){overflow-wrap:anywhere;width:28%}.faculty-table td:nth-child(5),.faculty-table td:nth-child(6),.faculty-table th:nth-child(5),.faculty-table th:nth-child(6){width:6.5rem}.faculty-table td:nth-child(7),.faculty-table th:nth-child(7){width:11.5rem}.faculty-delete{color:var(--danger);font-size:.8rem;min-height:auto;padding:.2rem .5rem}.faculty-delete:hover{background:var(--danger);color:#fff}.division-panel-batches{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.div-pill{border-radius:var(--radius);color:#0f172a;font-weight:700;padding:.1rem .5rem}.batch-pill{align-items:center;background:var(--surface-2);border-radius:999px;display:inline-flex;font-size:.85rem;gap:.25rem;padding:.15rem .3rem .15rem .6rem}.batch-pill button{background:transparent;border:0;color:var(--color-muted);cursor:pointer;line-height:1;padding:0 .25rem}.batch-pill button:hover{color:var(--danger)}.builder-filter-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.div-chip{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer;display:inline-flex;font:inherit;gap:.35rem;padding:.2rem .7rem}.div-chip-active{background:var(--surface-2);font-weight:700}.div-swatch{border-radius:var(--radius);height:12px;width:12px}.builder-details>summary{cursor:pointer;font-weight:600;margin-bottom:.5rem}.rollcall-tally{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0}.rollcall-tally span{background:var(--surface-2);border-radius:var(--radius);font-size:.85rem;padding:.15rem .5rem}.rollcall-row{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rollcall-row-selected td{background:var(--accent-soft)}.rollcall-row-unplaced td:first-child{box-shadow:inset 3px 0 0 var(--warning)}.tt-cell-add>summary{color:var(--color-muted);cursor:pointer;font-weight:700;list-style:none;opacity:.3;text-align:center}.tt-cell-add>summary::-webkit-details-marker{display:none}.tt-cell-add[open]>summary,.tt-grid-cell:hover .tt-cell-add>summary{opacity:1}.tt-cell-add-form{display:flex;flex-direction:column;gap:.3rem;margin-top:.3rem}.tt-cell-add-form .ui-input{font-size:.78rem;padding:.2rem .3rem}.tt-preferred-room{align-items:start;display:grid;grid-gap:.55rem;gap:.55rem;padding:.7rem .8rem}.auto-entry-readiness,.tt-preferred-room{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.85rem}.auto-entry-readiness{padding:.55rem .8rem}.auto-entry-summary{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:.5rem}.auto-entry-status{border-radius:var(--radius);font-size:.7rem;font-weight:800;letter-spacing:.02em;padding:.1rem .45rem;text-transform:uppercase}.auto-entry-status-ready{background:var(--color-success-tint);color:var(--color-success)}.auto-entry-status-attention{background:#fef9c3;color:#854d0e}.auto-entry-status-blocked{background:var(--color-danger-tint);color:var(--color-danger)}.auto-entry-summary-label{font-weight:700}.auto-entry-counts{color:var(--color-muted);font-size:.74rem}.auto-entry-body{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:.55rem}.auto-entry-group{display:grid;grid-gap:.2rem;gap:.2rem}.auto-entry-group ul{margin:0;padding-left:1.1rem}.auto-entry-group li{font-size:.8rem;line-height:1.35}.auto-entry{display:grid;grid-gap:.5rem;gap:.5rem}.auto-entry-preview-launch{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.auto-entry-policy-toggle{display:inline-flex;align-items:flex-start;gap:.45rem;max-width:26rem;padding:.35rem .55rem;border:1px solid #dbe3ef;border-radius:var(--radius);background:var(--color-surface-sunken);color:var(--color-ink);font-size:.82rem;font-weight:600;line-height:1.25}.auto-entry-policy-toggle input{margin-top:.1rem}.auto-entry-policy-toggle small{display:block;margin-top:.1rem;color:var(--color-muted);font-size:.72rem;font-weight:500}.auto-entry-policy-select{align-items:center;min-width:min(100%,24rem)}.auto-entry-policy-select-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid var(--color-hairline);border-radius:var(--radius);color:var(--color-ink);font:inherit;font-size:.78rem;line-height:1.2;max-width:13.75rem;min-height:2rem;padding:.35rem .55rem}.auto-entry-preview-button,.semester-auto-entry-preview-button{min-width:12.5rem;justify-content:center}.auto-entry-spin{animation:auto-entry-spin .8s linear infinite}@keyframes auto-entry-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.auto-entry-spin{animation:none}}.auto-entry-modal-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(15,23,42,.45)}.auto-entry-modal{display:flex;flex-direction:column;width:min(46rem,100%);max-height:min(85vh,44rem);background:#ffffff;border-radius:var(--radius);box-shadow:0 20px 60px rgba(15,23,42,.35);overflow:hidden}.auto-entry-modal-wide{width:min(67.5rem,100%)}.auto-entry-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-hairline)}.auto-entry-modal-title{display:flex;align-items:center;gap:.45rem;margin:0;font-size:1.05rem}.auto-entry-modal-sub{margin:.25rem 0 0;font-size:.82rem}.auto-entry-modal-close{border:0;background:transparent;cursor:pointer;color:var(--color-muted);padding:.25rem;line-height:0}.auto-entry-modal-body{padding:1rem 1.25rem;overflow-y:auto}.auto-entry-quality{display:flex;flex-wrap:wrap;align-items:stretch;gap:.4rem;margin:0 0 .85rem}.auto-entry-quality-chip{display:inline-flex;flex-direction:column;gap:.05rem;padding:.3rem .55rem;border:1px solid var(--color-hairline);border-radius:var(--radius);background:var(--color-surface-sunken);line-height:1.2}.auto-entry-quality-warn{border-color:#fcd34d;background:#fffbeb}.auto-entry-quality-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--color-muted)}.auto-entry-quality-warn .auto-entry-quality-label{color:#92400e}.auto-entry-quality-value{font-size:.85rem;font-weight:600;color:var(--color-ink)}.auto-entry-quality-warn .auto-entry-quality-value{color:#92400e}.auto-entry-quality-score{margin-left:auto;align-self:flex-end;font-size:.72rem}.auto-entry-preview-table-wrap{overflow-x:auto}.auto-entry-preview-table{width:100%;border-collapse:collapse;font-size:.82rem}.auto-entry-preview-table td,.auto-entry-preview-table th{text-align:left;padding:.4rem .5rem;border-bottom:1px solid #f1f5f9;white-space:nowrap}.auto-entry-kind{display:inline-block;font-size:.72rem;font-weight:600;padding:.1rem .4rem;border-radius:var(--radius)}.auto-entry-kind-create{background:var(--color-success-tint);color:var(--color-success)}.auto-entry-kind-assign{background:#dbeafe;color:#1e40af}.auto-entry-modal-reasons ul{margin:.5rem 0 0;padding-left:1.1rem;display:grid;grid-gap:.35rem;gap:.35rem}.auto-entry-modal-reasons li{font-size:.82rem;line-height:1.4}.auto-entry-modal-foot{display:flex;justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;border-top:1px solid var(--color-hairline)}.auto-entry-apply-button{min-width:10rem;justify-content:center}.tt-preferred-room-summary{align-items:center;display:flex;gap:1rem;justify-content:space-between}.tt-preferred-room-summary>div{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.tt-preferred-room-summary>.tt-preferred-room-actions{align-items:end;display:grid;grid-gap:.35rem;gap:.35rem;justify-items:end}.tt-preferred-room-actions .ui-button{align-items:center;display:inline-flex;gap:.4rem}.tt-preferred-room-form label>span,.tt-preferred-room-label{color:var(--color-muted);font-size:.72rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.tt-preferred-room-value{overflow-wrap:anywhere}.tt-preferred-room-attention{background:var(--color-warning-tint);border:1px solid var(--color-warning);border-radius:var(--radius);color:var(--color-warning);font-size:.82rem;margin:0;padding:.38rem .55rem}.tt-preferred-room-edit{width:min(100%,36rem)}.tt-preferred-room-edit>summary{color:var(--color-accent);cursor:pointer;font-size:.82rem;font-weight:800;width:max-content}.tt-preferred-room-form{align-items:end;display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:minmax(220px,1fr) auto;margin-top:.55rem}.tt-preferred-room-form label{display:grid;grid-gap:.18rem;gap:.18rem}.tt-class-assign-dialog{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-hard);color:var(--color-ink);max-height:min(78vh,680px);max-width:min(92vw,720px);overflow:auto;padding:1rem;width:100%}.tt-class-assign-dialog::-webkit-backdrop{background:rgb(15 23 42/.44)}.tt-class-assign-dialog::backdrop{background:rgb(15 23 42/.44)}.tt-class-assign-dialog>header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.tt-class-assign-dialog h2{font-size:1.05rem;margin:.15rem 0 0}.tt-dialog-close{aspect-ratio:1;min-height:2rem;padding:.35rem}.tt-class-assign-summary{background:var(--surface-2);border:1px solid var(--color-line);font-size:.86rem;margin:.85rem 0;padding:.55rem .65rem}.tt-class-assign-failures{display:grid;grid-gap:.5rem;gap:.5rem}.tt-class-assign-failures article{background:var(--color-warning-tint);border:1px solid var(--color-warning);border-radius:var(--radius);display:grid;grid-gap:.35rem;gap:.35rem;padding:.55rem .65rem}.tt-class-assign-failures article>div{align-items:start;display:flex;gap:.65rem;justify-content:space-between}.tt-class-assign-failures article span{color:var(--color-muted);font-size:.8rem;white-space:nowrap}.tt-class-assign-failures article p{color:#92400e;font-size:.84rem;margin:0}.tt-class-assign-dialog>footer{display:flex;justify-content:end;margin-top:.85rem}.tt-tray{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.85rem;padding:.75rem}.tt-place-details{margin-bottom:.6rem}.tt-place-summary{color:var(--color-muted);cursor:pointer;font-size:.72rem;font-weight:850;letter-spacing:0;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.tt-place-summary:hover{color:var(--color-ink)}.tt-place-details[open] .tt-place-summary{margin-bottom:.5rem}.tt-place-row{align-items:end;display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:auto minmax(140px,.8fr) minmax(220px,1.6fr) minmax(100px,.55fr) minmax(160px,1fr) auto}.tt-place-title{align-self:center;white-space:nowrap}.tt-place-field{display:grid;grid-gap:.18rem;gap:.18rem;min-width:0}.tt-place-field>span{color:var(--color-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.tt-place-add,.tt-place-field .ui-input{min-height:2.35rem;min-width:92px;white-space:nowrap}.tt-tray-cards{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}.tt-tray-section-head{align-items:end;border-top:1px solid var(--color-hairline);display:flex;gap:.75rem;justify-content:space-between;margin:.65rem 0 .5rem;padding-top:.65rem}.tt-tray-section-head>div{display:grid;grid-gap:.08rem;gap:.08rem}.tt-tray-section-head span{color:var(--color-muted);font-size:.82rem}.tt-tray-count{background:#fff;border:1px solid var(--color-hairline);border-radius:999px;color:var(--color-ink);font-weight:800;padding:.18rem .55rem;white-space:nowrap}.tt-tray-section-head>.tt-tray-head-actions{align-items:center;display:flex;gap:.5rem}.tt-parallel-toggle{font-size:.78rem;white-space:nowrap}.tt-parallel-toggle-on{box-shadow:2px 2px 0 var(--color-line)}.tt-card{background:var(--surface);border:1px solid var(--border);border-left-width:5px;border-radius:var(--radius);cursor:-webkit-grab;cursor:grab;display:flex;flex-direction:column;font:inherit;gap:.16rem;min-width:0;padding:.52rem .6rem;text-align:left}.tt-card-th{background:#f0fdfa;border-left-color:#0f766e}.tt-card-pr{background:#eff6ff;border-left-color:#2563eb}.tt-card-tut{background:#fff7ed;border-left-color:#7c2d12}.tt-card-title{align-items:start;display:flex;gap:.35rem;justify-content:space-between}.tt-card-title strong{min-width:0}.tt-card strong{overflow-wrap:anywhere}.tt-card-armed,.tt-card:hover{border-color:var(--color-accent)}.tt-card-armed{box-shadow:0 0 0 2px var(--accent-soft)}.tt-card-full{cursor:not-allowed;opacity:.5}.tt-card:disabled{pointer-events:auto}.tt-card-nofac{border-color:var(--color-accent)}.tt-nofac{color:#b45309;font-weight:700}.tt-card-count{color:var(--color-muted);font-size:.8rem;font-weight:750}.tt-component-badge{border:1px solid;border-radius:999px;flex:0 0 auto;font-size:.72rem;font-weight:900;line-height:1;padding:.16rem .3rem}.tt-component-badge-th{background:#ccfbf1;color:#0f766e}.tt-component-badge-pr{background:#dbeafe;color:#1d4ed8}.tt-component-badge-tut{background:#ffedd5;color:#9a3412}.tt-cell-place{border-left:0;border-top:0;color:var(--color-muted);cursor:pointer;font:inherit;font-weight:700;text-align:center}.tt-cell-place:hover{background:var(--color-surface-sunken)}.tt-cell-armable{color:var(--color-accent);outline:1px dashed var(--color-accent);outline-offset:-3px}.tt-cell-readonly{cursor:default}.tt-cell-readonly:hover{background:transparent}.tt-cell-add,.tt-cell-armable:hover{background:var(--accent-soft)}.tt-cell-add{border:1px dashed var(--color-accent);border-radius:var(--radius);color:var(--color-accent);cursor:pointer;font:inherit;font-size:.72rem;font-weight:800;margin-top:.15rem;padding:.18rem;width:100%}.tt-cell-add:hover:not(:disabled){background:var(--color-accent);color:#fff}.tt-entry-list{border-top:1px solid var(--color-hairline);margin-top:1rem;padding-top:.85rem}.tt-entry-list-summary{cursor:pointer;padding:.2rem 0}.tt-entry-list-summary::marker{color:var(--color-accent)}.tt-entry-list-summary-copy{display:inline-grid;gap:.08rem;margin-left:.2rem;vertical-align:middle}.tt-entry-list-body{display:grid;grid-gap:.65rem;gap:.65rem;margin-top:.75rem}.tt-entry-list-head-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.tt-entry-column-count,.tt-entry-total-count{background:#fff;border:1px solid var(--color-hairline);border-radius:999px;font-size:.78rem;font-weight:850;padding:.18rem .52rem;white-space:nowrap}.tt-entry-list-summary .tt-entry-total-count{float:right}.tt-entry-clear-button{color:var(--color-danger);min-height:1.95rem;padding:.24rem .55rem}.tt-entry-clear-button:hover:not(:disabled){background:var(--color-danger);color:#fff}.tt-entry-component-grid{align-items:start;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.tt-entry-column{align-content:start;display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.tt-entry-column-head{align-items:center;background:var(--color-secondary);border:1px solid var(--color-hairline);border-radius:var(--radius);display:flex;justify-content:space-between;padding:.38rem .5rem}.tt-entry-column-head,.tt-entry-empty{grid-column:1/-1}.tt-entry-empty{border:1px dashed var(--color-hairline);border-radius:var(--radius);margin:0;padding:.65rem}.tt-entry-list-card{align-items:stretch;background:#fff;border:1px solid var(--color-hairline);border-left-width:5px;border-radius:var(--radius);display:grid;grid-gap:.38rem;gap:.38rem;grid-template-columns:1fr;padding:.65rem}.tt-entry-list-card-th{border-left-color:#0f766e}.tt-entry-list-card-pr{border-left-color:#2563eb}.tt-entry-list-card-tut{border-left-color:#7c2d12}.tt-entry-list-card-editing{align-items:stretch;grid-template-columns:1fr}.tt-entry-list-main{align-items:flex-start;display:flex;gap:.5rem}.tt-entry-list-titles{display:grid;grid-gap:.05rem;gap:.05rem;min-width:0;flex:1 1 auto}.tt-entry-list-main span,.tt-entry-list-main strong{overflow-wrap:anywhere}.tt-entry-list-main .tt-component-badge{flex:0 0 auto;width:-moz-fit-content;width:fit-content;margin-top:.12rem}.tt-entry-list-card span{font-size:.86rem}.tt-entry-faculty-line{align-items:center;background:var(--color-surface-sunken);border:1px solid var(--color-hairline);border-radius:var(--radius);display:flex;gap:.4rem;min-width:0;padding:.32rem .42rem}.tt-entry-faculty-line>span:last-child{overflow-wrap:anywhere}.tt-entry-meta-label{color:var(--color-muted);font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.tt-entry-detail-grid{display:grid;grid-gap:.35rem;gap:.35rem;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.tt-entry-batch-chip,.tt-entry-detail-chip{background:#fffaf0;border:1px solid #eadfbf;border-radius:var(--radius);display:grid;grid-gap:.06rem;gap:.06rem;min-width:0;padding:.32rem .42rem}.tt-entry-batch-chip,.tt-entry-detail-chip span:not(.tt-entry-meta-label){overflow-wrap:anywhere}.tt-entry-room-chip-tba{background:#fff1cf;border-color:#d97706}.tt-entry-room-chip-tba .tt-entry-meta-label,.tt-entry-room-chip-tba strong{color:#92400e}.tt-entry-card-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}.tt-entry-delete-button,.tt-entry-edit-button{min-height:1.8rem;padding:.2rem .5rem}.tt-entry-delete-button{color:var(--color-danger)}.tt-entry-delete-button:hover{background:var(--color-danger);color:#fff}.tt-entry-edit-grid{align-items:end;display:grid;grid-gap:.45rem;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.tt-entry-edit-grid label{display:grid;grid-gap:.18rem;gap:.18rem}.tt-entry-edit-grid label span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.tt-entry-edit-grid .ui-input{min-height:2rem;padding:.25rem .4rem}.tt-entry-list-meta{display:flex;flex-wrap:wrap;gap:.35rem}@media (max-width:760px){.tt-plan-group-head,.tt-plan-workspace-head{align-items:flex-start}.tt-plan-group-head{flex-direction:column;gap:.1rem}.tt-plan-row .plan-card-main{gap:.05rem .5rem;grid-template-columns:2rem minmax(0,1fr) auto;padding:.65rem}.tt-plan-row .plan-card-icon{height:2rem;width:2rem}.plan-action-icon{min-width:2.35rem;padding-inline:.35rem}.tt-allotment-summary{grid-template-columns:auto minmax(0,1fr)}.tt-allotment-summary .inline-link{grid-column:2}.tt-preferred-room-summary{align-items:start;flex-direction:column;gap:.35rem}.tt-preferred-room-summary>.tt-preferred-room-actions{justify-items:start}.tt-preferred-room-form{grid-template-columns:1fr}.tt-class-assign-failures article>div{display:grid;grid-gap:.2rem;gap:.2rem}.tt-class-assign-failures article span{white-space:normal}.tt-place-row{grid-template-columns:1fr}.tt-tray-section-head{align-items:stretch;flex-direction:column}.tt-entry-list-head-actions{justify-content:flex-start}.tt-entry-column,.tt-entry-component-grid,.tt-entry-detail-grid{grid-template-columns:1fr}}.portfolio-assign{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.85rem 1rem;gap:.85rem 1rem;align-items:end}.portfolio-field{display:flex;flex-direction:column;gap:.35rem}.portfolio-field label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.portfolio-assign>button{align-self:end}.portfolio-deferred{grid-column:1/-1;margin:0}.module-chips{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center}.module-chip{background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#3730a3;font-size:.72rem;font-weight:700;line-height:1;padding:.22rem .5rem;white-space:nowrap}.portfolio-modules-hint{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.1rem 0 0}.sidebar-head{display:grid;grid-gap:.55rem;gap:.55rem}.sidebar-toggle{align-items:center;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);color:#ffffff;cursor:pointer;display:flex;flex:none;padding:.4rem}.sidebar-toggle:hover{background:rgba(255,255,255,.12)}.app-frame.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar-collapsed .sidebar{padding:1rem .55rem}.sidebar-collapsed .brand-text,.sidebar-collapsed .btn-label,.sidebar-collapsed .nav-count,.sidebar-collapsed .nav-label,.sidebar-collapsed .user-meta{display:none}.sidebar-collapsed .user-chip{justify-content:center;padding:.4rem}.sidebar-collapsed .sidebar-head{justify-items:center}.sidebar-collapsed .brand-top{align-items:center;flex-direction:column;gap:.5rem}.sidebar-collapsed .nav-link{justify-content:center;padding:.65rem .5rem}.sidebar-collapsed .sidebar-footer form button{justify-content:center;width:100%}.nav-section{color:#9aa3ad;font-size:.72rem;font-weight:800;letter-spacing:.09em;padding:.7rem .7rem .25rem;text-transform:uppercase}.sidebar-collapsed .nav-section{border-top:1px solid rgba(255,255,255,.16);color:transparent;font-size:0;line-height:0;margin:.4rem .45rem .15rem;padding:0}@media (max-width:900px){.app-main{gap:1rem;padding:.85rem}.app-frame.sidebar-collapsed{grid-template-columns:1fr}.sidebar,.sidebar-collapsed .sidebar{gap:.65rem;min-width:0;padding:.75rem}.sidebar-collapsed .sidebar-head,.sidebar-head{align-items:center;grid-template-columns:auto minmax(0,1fr);justify-items:stretch}.brand-top,.sidebar-collapsed .brand-top{flex-direction:row}.sidebar-toggle{display:none}.sidebar-collapsed .brand-text,.sidebar-collapsed .user-meta{display:grid}.sidebar-collapsed .btn-label,.sidebar-collapsed .nav-label{display:inline}.sidebar-collapsed .nav-count{display:inline-block}.sidebar-collapsed .ctx-card,.sidebar-collapsed .ctx-switcher{display:grid}.ctx-card-sub{display:none}.nav-list{display:flex;gap:.4rem;max-width:100%;min-width:0;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin;width:100%}.nav-section{display:none}.nav-link,.sidebar-collapsed .nav-link{flex:0 0 auto;justify-content:flex-start;padding:.55rem .65rem}.sidebar-footer{align-items:center;border-top:0;display:flex;gap:.6rem;margin-top:0;padding-top:0}.sidebar-collapsed .user-chip{justify-content:flex-start}.sidebar-collapsed .sidebar-footer form button{width:auto}}@media (max-width:760px){.faculty-dashboard-header{order:0}.faculty-dashboard-schedule{order:1}.faculty-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));order:2}.faculty-dashboard-details{order:3}}.profile-tabs{display:grid;grid-gap:0;gap:0}.profile-tab-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.profile-tab{background:var(--color-surface);border:2px solid var(--color-line);border-radius:999px;box-shadow:2px 2px 0 var(--color-line);color:var(--color-ink);cursor:pointer;font-size:.9rem;font-weight:800;padding:.5rem 1.05rem;transition:transform 80ms ease,box-shadow 80ms ease,background 80ms ease}.profile-tab:hover{box-shadow:4px 4px 0 var(--color-line);transform:translate(-1px,-1px)}.profile-tab:active{box-shadow:1px 1px 0 var(--color-line);transform:translate(1px,1px)}.profile-tab:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.profile-tab-active,.profile-tab-active:hover{background:var(--color-secondary);box-shadow:4px 4px 0 var(--color-line);color:var(--color-ink)}.profile-tab-panel{display:grid;grid-gap:1.25rem;gap:1.25rem}.profile-tab-panel[hidden]{display:none}.profile-tab-group{display:grid;grid-gap:1.25rem;gap:1.25rem}.profile-sticky-save{background:var(--color-canvas);border:2px solid var(--color-ink);border-radius:var(--radius);bottom:.75rem;margin-top:1.25rem;position:-webkit-sticky;position:sticky;z-index:5}.fmaster-scroll{border:2px solid var(--color-line);border-radius:var(--radius);max-height:80vh;overflow:auto}.fmaster-table{border-collapse:separate;border-spacing:0;font-size:.72rem}.fmaster-table td,.fmaster-table th{border-bottom:1px solid var(--color-hairline);border-right:1px solid var(--color-hairline);padding:2px 5px}.fmaster-table thead th{background:var(--color-ink);color:#ffffff;font-weight:700;position:-webkit-sticky;position:sticky;text-align:center;z-index:2}.fmaster-table thead tr:first-child th{box-sizing:border-box;height:30px;top:0}.fmaster-table thead tr:nth-child(2) th{top:30px}.fmaster-sticky{position:-webkit-sticky;position:sticky;z-index:3}.fmaster-table thead .fmaster-sticky{z-index:4}.fmaster-col-sno{background:#ffffff;left:0;min-width:34px;text-align:center;width:34px}.fmaster-col-name{background:#ffffff;font-weight:700;left:34px;min-width:190px;text-align:left;width:190px}.fmaster-table tbody td.fmaster-col-sno,.fmaster-table tbody th.fmaster-col-name{color:var(--color-text)}.fmaster-col-desig{min-width:120px;width:120px}.fmaster-slot{font-size:.72rem;font-weight:600;white-space:nowrap}.fmaster-cell{min-width:86px;text-align:center;vertical-align:middle}.fmaster-cell-block{align-items:center;display:flex;flex-direction:column;justify-content:center;line-height:1.15}.fmaster-cell-block+.fmaster-cell-block{border-top:1px dashed var(--color-hairline);margin-top:2px;padding-top:2px}.fmaster-cell-block strong{font-size:.7rem}.fmaster-cell-th{background:#f0fdfa}.fmaster-cell-pr{background:#eff6ff}.fmaster-cell-tut{background:#fff7ed}.fmaster-room{color:var(--color-muted)}.fmaster-room-tba{color:var(--color-danger);font-weight:700}.fmaster-num{font-weight:600;min-width:40px;text-align:center;width:40px}.fmaster-num-total{background:#fef3c7}.fmaster-col-remarks{color:#b45309;font-weight:700;min-width:110px;white-space:nowrap;width:110px}.plan-status-pill{border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:0;padding:.12rem .55rem;text-transform:uppercase;white-space:nowrap}.plan-status-published{background:var(--color-success-tint);border:1px solid #86efac;color:var(--color-success)}.plan-status-draft{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.plan-status-superseded{background:var(--color-hairline);border:1px solid var(--color-hairline);color:var(--color-muted)}.plan-current{align-items:center;display:flex;gap:.45rem}.fmaster-plan-hint{margin-top:.6rem}.tt-division-tab .plan-status-pill{justify-self:start}.card-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.toast-viewport{display:flex;flex-direction:column;gap:.5rem;max-width:min(360px,calc(100vw - 2rem));pointer-events:none;position:fixed;right:1rem;top:1rem;width:100%;z-index:1000}.toast{align-items:flex-start;background:var(--color-surface);border:2px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-hard);display:flex;font-size:.9rem;font-weight:700;gap:.6rem;line-height:1.35;overflow-wrap:anywhere;padding:.7rem .75rem;pointer-events:auto;position:relative}@media (prefers-reduced-motion:no-preference){.toast{animation:toast-in .14s ease-out}}@keyframes toast-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.toast-success{background:#dff5ea;border-color:#5a9f7d;--toast-accent:#287653}.toast-warning{background:#fff1cf;border-color:#c89431;--toast-accent:#9a6410}.toast-error{background:#ffe2df;border-color:#c75a50;color:var(--color-danger);--toast-accent:var(--color-danger)}.toast-icon{flex:none;margin-top:.05rem}.toast-message{flex:1 1 auto;min-width:0}.toast-dismiss{background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;flex:none;line-height:1;opacity:.65;padding:.1rem}.toast-dismiss:hover{opacity:1}.toast-progress{animation:toast-countdown linear forwards;background:var(--toast-accent);bottom:0;height:3px;left:0;position:absolute;transform-origin:left center;width:100%}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.toast-progress{display:none}}@media (max-width:560px){.toast-viewport{left:1rem;max-width:none;right:1rem;top:max(.75rem,env(safe-area-inset-top));width:auto}}.avail-intro{margin:0 0 .85rem}.avail-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.85rem}.avail-modes{display:inline-flex;border:1px solid #d1d5db;border-radius:var(--radius);overflow:hidden}.avail-mode{border:0;border-right:1px solid #d1d5db;background:#fff;padding:.4rem .8rem;font-size:.82rem;font-weight:600;color:#374151;cursor:pointer}.avail-mode:last-child{border-right:0}.avail-mode-preferred.is-active{background:var(--color-success-tint);color:var(--color-success)}.avail-mode-unavailable.is-active{background:var(--color-danger-tint);color:var(--color-danger)}.avail-mode-available.is-active{background:var(--color-hairline);color:var(--color-ink)}.avail-hint{margin:0;font-size:.78rem}.avail-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.avail-grid{border-collapse:collapse;min-width:32rem;width:100%}.avail-grid td,.avail-grid th{border:1px solid var(--color-hairline);text-align:center;padding:0}.avail-grid thead th{padding:.4rem .5rem;font-size:.8rem;background:var(--color-surface-sunken)}.avail-corner,.avail-slot-head{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--color-surface-sunken)}.avail-slot-head{padding:.35rem .6rem;text-align:left;white-space:nowrap}.avail-slot-label{display:block;font-size:.82rem;font-weight:600}.avail-slot-time{display:block;font-size:.72rem}.avail-cell-wrap{padding:0}.avail-cell{display:flex;align-items:center;justify-content:center;width:100%;min-width:3rem;height:2.4rem;border:0;background:#fff;font-size:.78rem;font-weight:700;cursor:pointer;color:#374151;touch-action:none}.avail-cell:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.avail-cell-preferred{background:#bbf7d0;color:var(--color-success)}.avail-cell-unavailable{background:#fecaca;color:var(--color-danger)}.avail-cell-hard{background:var(--color-danger);color:#fff;box-shadow:inset 0 0 0 2px rgba(127,29,29,.4)}.avail-cell-available{background:#fff}.avail-cell.is-readonly{cursor:default}.avail-save-row{display:flex;justify-content:flex-end;margin-top:.9rem}.hard-availability-form{display:grid;grid-gap:.85rem;gap:.85rem}.hard-availability-scroll{max-height:32rem}.hard-availability-grid{min-width:38rem}.hard-availability-cell{min-width:3rem;height:2.4rem}.hard-availability-check{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer}.hard-availability-check input{position:absolute;opacity:0;pointer-events:none}.hard-availability-check span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fff;color:#374151;font-size:.78rem;font-weight:800}.hard-availability-check input:checked+span{background:var(--color-danger);color:#fff}.hard-availability-check input:focus-visible+span{outline:2px solid #2563eb;outline-offset:-2px}.hard-availability-check input:disabled+span{cursor:default;opacity:.78}.hard-availability-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.hard-availability-actions p{margin:0;max-width:42rem}.sem-auto-entry{align-items:flex-start;display:grid;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem;min-width:0}.sem-auto-entry .auto-entry-preview-launch{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin-top:0;min-width:0;width:100%}.sem-auto-entry .auto-entry-policy-toggle{max-width:none;min-width:0;width:100%}.sem-auto-entry .auto-entry-policy-select{min-width:0}.sem-auto-entry .auto-entry-policy-select-control,.sem-auto-entry .semester-auto-entry-preview-button{max-width:100%;min-width:0;width:100%}.sem-auto-entry .semester-auto-entry-preview-button{white-space:normal}.sem-readiness{border:1px solid var(--color-hairline);border-radius:var(--radius);background:#fff;margin-bottom:1rem}.sem-auto-entry .sem-readiness{margin-bottom:0;min-width:0}.sem-readiness-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.65rem .9rem;cursor:pointer;list-style:none}.sem-readiness-summary::-webkit-details-marker{display:none}.sem-readiness-summary:before{content:"▸";color:#9ca3af;font-size:.8rem}.sem-readiness[open] .sem-readiness-summary:before{content:"▾"}.sem-readiness-title{font-weight:600}.sem-readiness-meta{font-size:.82rem}.sem-readiness-status{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:.12rem .45rem;border-radius:var(--radius)}.sem-readiness-status-ready{background:var(--color-success-tint);color:var(--color-success)}.sem-readiness-status-attention{background:#fef9c3;color:#854d0e}.sem-readiness-status-blocked{background:var(--color-danger-tint);color:var(--color-danger)}.sem-readiness-body{padding:0 .9rem .9rem;border-top:1px solid #f1f5f9}.sem-readiness-issues{margin:.75rem 0 0;padding-left:1.1rem;display:grid;grid-gap:.3rem;gap:.3rem;font-size:.85rem;color:var(--color-danger)}.sem-readiness-table-wrap{overflow-x:auto;margin-top:.75rem}.sem-readiness-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:40rem}.sem-readiness-table td,.sem-readiness-table th{text-align:left;padding:.35rem .5rem;border-bottom:1px solid #f1f5f9;white-space:nowrap}.sem-readiness-table td:not(:first-child):not(:nth-child(2)):not(:nth-child(3)),.sem-readiness-table th:not(:first-child):not(:nth-child(2)):not(:nth-child(3)){text-align:right}.sem-readiness-row-blocked{background:#fef2f2}.sem-readiness-foot{margin:.6rem 0 0;font-size:.76rem}@media (max-width:760px){.sem-auto-entry{gap:.6rem}}