@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: hsl(210, 20%, 98%);--surface: hsl(0, 0%, 100%);--surface-2: hsl(214, 32%, 94%);--ink: hsl(221, 39%, 14%);--muted: hsl(218, 12%, 43%);--faint: hsl(217, 18%, 88%);--primary: hsl(226, 70%, 48%);--primary-dark: hsl(230, 52%, 24%);--success: hsl(150, 62%, 40%);--warning: hsl(38, 92%, 52%);--danger: hsl(354, 76%, 54%);--teal: hsl(186, 66%, 36%);--shadow: 0 16px 45px hsla(222, 36%, 22%, .1);--radius: 8px;--motion-fast: .14s;--motion-base: .22s;--motion-slow: .32s;--motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--motion-ease-emphasized: cubic-bezier(.16, 1, .3, 1)}.motion-page{animation:motion-fade-up var(--motion-base) var(--motion-ease-emphasized)}.motion-panel{animation:motion-soft-in var(--motion-base) var(--motion-ease-emphasized)}.motion-modal{animation:motion-scale-in var(--motion-base) var(--motion-ease-emphasized)}.motion-menu{animation:motion-fade-up var(--motion-fast) var(--motion-ease-emphasized)}.motion-list{contain:layout style}.motion-list-item{animation:motion-soft-in var(--motion-fast) var(--motion-ease-emphasized)}.motion-interactive{transition:transform var(--motion-fast) var(--motion-ease-standard),opacity var(--motion-fast) var(--motion-ease-standard),background-color var(--motion-fast) var(--motion-ease-standard),border-color var(--motion-fast) var(--motion-ease-standard),box-shadow var(--motion-fast) var(--motion-ease-standard),color var(--motion-fast) var(--motion-ease-standard)}.motion-entering{animation:motion-soft-in var(--motion-base) var(--motion-ease-emphasized)}.motion-leaving{pointer-events:none;animation:motion-item-out var(--motion-base) var(--motion-ease-standard) forwards}@keyframes motion-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-soft-in{0%{opacity:0;transform:translateY(6px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes motion-item-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-4px) scale(.97)}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:var(--sidebar-width, 236px) minmax(0,1fr);height:100vh;max-height:100vh;overflow:hidden;transition:grid-template-columns .2s cubic-bezier(.16,1,.3,1)}.app-shell.sidebar-collapsed{--sidebar-width: 68px}.launcher-shell{align-items:center;display:grid;min-height:100vh;padding:32px}.launcher-panel{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:28px;margin:0 auto;max-width:980px;padding:34px;width:100%}.launcher-brand,.wizard-title{align-items:center;display:flex;gap:12px}.launcher-brand strong,.wizard-title strong{display:block;font-size:18px}.launcher-brand span,.wizard-title span{color:var(--muted);display:block;font-size:13px;margin-top:3px}.launcher-copy h1{font-size:clamp(34px,5vw,58px);line-height:1;margin:0}.launcher-copy p{color:var(--muted);font-size:16px;line-height:1.55;margin:14px 0 0;max-width:720px}.launcher-actions{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.decision-card{background:#f8fafb;border:1px solid var(--faint);border-radius:var(--radius);color:var(--ink);display:grid;gap:10px;min-height:190px;padding:22px;text-align:left;position:relative;transition:all .2s cubic-bezier(.16,1,.3,1);outline:none;text-decoration:none}.decision-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #29303d0f;border-color:#b8c1e0;background:#fcfcfd}.decision-card:active{transform:translateY(0)}.decision-card svg{color:var(--primary);transition:transform .2s ease}.decision-card:hover svg{transform:scale(1.08)}.decision-card strong{font-size:22px}.decision-card span{color:var(--muted);font-size:14px;line-height:1.5}.primary-decision{background:#f2f4fd;border-color:#acb9e2}.primary-decision:hover{border-color:var(--primary);background:#f6f8fd;box-shadow:0 12px 24px #2e3c6b14}.resume-previous-btn{position:absolute;top:16px;right:16px;background:var(--surface);color:var(--ink);border:1px solid var(--faint);border-radius:9999px;padding:5px 12px 5px 10px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 6px #0000000a;transition:all .2s cubic-bezier(.16,1,.3,1);z-index:10;cursor:pointer}.resume-previous-btn:hover{background:#f6f8fd;border-color:#a8b9f0;color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 10px #e2463014}.resume-previous-btn:active{transform:translateY(0)}.resume-previous-btn .pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 #254dd066;animation:pulse-indicator 2s infinite;flex-shrink:0}@keyframes pulse-indicator{0%{transform:scale(.9);box-shadow:0 0 #254dd066}70%{transform:scale(1);box-shadow:0 0 0 5px #254dd000}to{transform:scale(.9);box-shadow:0 0 #254dd000}}.sidebar{background:#16203c;color:#e1e7ef;display:flex;flex-direction:column;gap:28px;padding:22px 16px;position:relative;transition:padding .2s cubic-bezier(.16,1,.3,1)}.sidebar.collapsed{padding:22px 10px;align-items:center}.sidebar.collapsed .brand-block{padding:10px 0 14px;justify-content:center;gap:0}.sidebar.collapsed .nav-item{justify-content:center;padding:0;width:44px;height:44px}.sidebar.collapsed .nav-item span,.sidebar.collapsed .brand-block div,.sidebar.collapsed .sidebar-footer span,.sidebar.collapsed .setup-sections-nav{display:none!important}.sidebar-toggle{position:absolute;top:345px;transform:translateY(-50%);right:-12px;width:24px;height:24px;border-radius:50%;background:var(--surface);border:1px solid var(--faint);color:var(--muted);box-shadow:var(--shadow-sm),0 2px 4px #0000000f;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .2s cubic-bezier(.16,1,.3,1);padding:0;outline:none}.sidebar-toggle:hover{background:var(--primary-faint);border-color:var(--primary);color:var(--primary);transform:translateY(-50%) scale(1.1);box-shadow:var(--shadow)}.brand-block{align-items:center;display:flex;gap:12px;padding:10px 8px 14px}.nav-item-wrapper{display:flex;flex-direction:column;width:100%}.submenu-list{display:flex;flex-direction:column;gap:4px;margin-left:20px;padding-left:10px;margin-top:4px;margin-bottom:8px;border-left:1px solid hsla(0,0%,100%,.08);opacity:1;overflow:visible}.submenu-item{display:flex;align-items:center;gap:8px;background:transparent;border:0;border-radius:6px;padding:6px 10px;color:#acb5c3;text-align:left;font-size:12.5px;font-weight:500;width:100%;cursor:pointer;transition:all .15s ease;position:relative;outline:none}.submenu-item.indented{padding-left:24px}.submenu-item.indented:before{content:"↳";color:#8995a9;margin-right:-2px;font-size:11px;font-weight:700}.submenu-item:hover{background:#acb5c314;color:#fff}.submenu-item.active{background:#254dd0;color:#fff;font-weight:600;box-shadow:0 3px 10px #254dd040}.submenu-sec-icon{display:inline-flex;align-items:center;opacity:.7;flex-shrink:0}.submenu-item.active .submenu-sec-icon{opacity:1}.submenu-sec-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submenu-sec-badge{font-size:9px;font-weight:800;background:#ffffff24;color:#fff;padding:1px 5px;border-radius:99px;line-height:1;display:inline-flex;align-items:center}.submenu-item.active .submenu-sec-badge{background:#ffffff3d}.nav-item.greyed-out-lock{opacity:.25!important;filter:grayscale(1) contrast(.85)!important;cursor:not-allowed!important;pointer-events:auto!important;transition:all .2s ease;background:transparent!important;border-left:0!important;box-shadow:none!important}.nav-item.greyed-out-lock:hover{background:transparent!important;color:#acb5c3!important;opacity:.25!important;box-shadow:none!important}.nav-item.greyed-out-lock svg{color:#acb5c3!important}.custom-toast{position:fixed;bottom:24px;right:24px;z-index:10000;background:#0e1425f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(38,92%,52%,.25);border-left:4px solid var(--warning);border-radius:8px;box-shadow:0 20px 40px #0b101e66,0 4px 12px #0000001a;padding:14px 18px;display:flex;align-items:center;gap:12px;max-width:380px;animation:toast-in .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-icon{color:var(--warning);flex-shrink:0}.toast-content{font-size:13px;font-weight:500;color:#fff;line-height:1.45;flex:1}.toast-close{background:transparent;border:0;color:#acb5c3;font-size:18px;font-weight:700;padding:0 4px;cursor:pointer;transition:color .15s ease;line-height:1;display:inline-flex;align-items:center}.toast-close:hover{color:#fff}.app-dialog-backdrop{position:fixed;inset:0;z-index:12000;background:#141a2a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px}.app-dialog-card{width:min(520px,100%);background:var(--surface);border:1px solid var(--faint);border-radius:10px;box-shadow:0 24px 56px #141a2a59;padding:18px;display:grid;gap:12px;max-height:min(82vh,640px);overflow-y:auto;overscroll-behavior:contain}.app-dialog-card h3{margin:0;font-size:18px;line-height:1.2}.app-dialog-card p{margin:0;font-size:14px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.app-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.master-usage-dialog{display:grid;gap:14px;max-width:520px;padding:24px;position:relative;width:min(520px,100%)}.master-usage-dialog h3{margin:0}.master-usage-dialog-subtitle{color:var(--muted);font-size:13px;line-height:1.4;margin:-8px 28px 0 0;overflow-wrap:anywhere}.master-usage-summary{align-items:baseline;background:#f5f7f9;border:1px solid var(--faint);border-radius:8px;display:flex;gap:8px;padding:12px}.master-usage-summary strong{color:var(--primary-dark);font-size:26px}.master-usage-summary span{color:var(--muted);font-size:12px;font-weight:700}.master-usage-detail-list{border:1px solid var(--faint);border-radius:8px;overflow:hidden}.master-usage-detail-row{align-items:center;border-bottom:1px solid var(--faint);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:9px 11px}.master-usage-detail-row:last-child{border-bottom:0}.master-usage-detail-row span,.master-usage-empty{color:var(--muted);font-size:12px}.master-usage-detail-row strong{color:var(--ink);font-size:12px}.master-usage-empty{padding:11px}.master-remap-panel{display:grid;gap:6px}.master-remap-panel label{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.app-dialog-warning{border-top:3px solid var(--warning)}.app-dialog-danger{border-top:3px solid var(--danger)}.app-dialog-info{border-top:3px solid var(--primary)}.new-semester-modal-backdrop{position:fixed;inset:0;z-index:12000;background:#141a2a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px}.new-semester-pathway-card,.rollover-modal-card{background:var(--surface);border:1px solid var(--faint);border-radius:10px;box-shadow:0 24px 56px #141a2a59;max-height:calc(100dvh - 32px);overflow:hidden;width:min(720px,100%)}.rollover-modal-card{display:flex;flex-direction:column;width:min(980px,100%)}.new-semester-pathway-header,.rollover-modal-header{align-items:flex-start;border-bottom:1px solid var(--faint);display:flex;gap:16px;justify-content:space-between;padding:18px 20px}.new-semester-eyebrow{color:var(--primary);display:block;font-size:11px;font-weight:800;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.new-semester-pathway-header h2,.rollover-modal-header h2{color:var(--ink);font-size:21px;line-height:1.2;margin:0}.new-semester-pathway-header p,.rollover-modal-header p{color:var(--muted);font-size:13px;line-height:1.45;margin:6px 0 0;max-width:640px}.new-semester-pathway-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 20px}.new-semester-choice-card{background:#f9fafb;border:1px solid var(--faint);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;gap:8px;min-height:170px;padding:16px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.new-semester-choice-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 45%,var(--faint));box-shadow:0 12px 26px #141a2a1f;transform:translateY(-1px)}.new-semester-choice-card:disabled{cursor:not-allowed;opacity:.55}.new-semester-choice-card.recommended{background:linear-gradient(180deg,hsl(226,70%,98%),var(--surface));border-color:color-mix(in srgb,var(--primary) 34%,var(--faint))}.new-semester-choice-icon{align-items:center;background:color-mix(in srgb,var(--primary) 12%,white);border-radius:8px;color:var(--primary);display:inline-flex;height:38px;justify-content:center;width:38px}.new-semester-choice-card strong{font-size:16px}.new-semester-choice-card span:last-child,.new-semester-inline-note,.rollover-modal-footer span{color:var(--muted);font-size:12px;line-height:1.45}.new-semester-inline-note{background:#fef9eb;border-top:1px solid hsl(42,72%,86%);padding:11px 20px}.new-semester-pathway-footer,.rollover-modal-footer{align-items:center;border-top:1px solid var(--faint);display:flex;gap:10px;justify-content:space-between;padding:14px 20px}.rollover-modal-body{display:grid;flex:1 1 auto;gap:16px;min-height:0;overflow-y:auto;padding:16px 20px}.rollover-semester-panel,.rollover-option-group{border:1px solid var(--faint);border-radius:8px;background:var(--surface)}.rollover-semester-panel{padding:14px}.rollover-panel-title{align-items:center;color:var(--ink);display:flex;gap:8px;margin-bottom:12px}.rollover-form-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.rollover-form-grid label{display:grid;gap:5px}.rollover-form-grid label:first-child{grid-column:span 2}.rollover-form-grid label span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.rollover-options-panel{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.rollover-option-group{overflow:hidden}.rollover-option-group-heading{background:#f9fafb;border-bottom:1px solid var(--faint);display:grid;gap:3px;padding:12px}.rollover-option-group-heading strong{color:var(--ink);font-size:13px}.rollover-option-group-heading span{color:var(--muted);font-size:11px;line-height:1.35}.rollover-option-list{display:grid}.rollover-option-row{align-items:center;border-bottom:1px solid var(--faint);cursor:pointer;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;min-height:44px;padding:9px 12px}.rollover-option-row:last-child{border-bottom:0}.rollover-option-row.blocked{cursor:not-allowed;opacity:.55}.rollover-option-row span{display:grid;gap:2px;min-width:0}.rollover-option-row strong{color:var(--ink);font-size:12px}.rollover-option-row em{color:var(--muted);font-size:10px;font-style:normal}.rollover-option-row b{background:#f2f5f7;border-radius:999px;color:var(--muted);font-size:10px;min-width:24px;padding:3px 7px;text-align:center}.rollover-modal-footer>div{display:flex;gap:8px}.rollover-modal-header,.rollover-modal-footer{flex:0 0 auto}@media(max-width:840px){.new-semester-pathway-grid,.rollover-options-panel,.rollover-form-grid{grid-template-columns:1fr}.rollover-form-grid label:first-child{grid-column:auto}.new-semester-pathway-footer,.rollover-modal-footer{align-items:stretch;flex-direction:column}.rollover-modal-footer>div{justify-content:flex-end}}.launcher-panel,.verification-item,.qualification-tile,.entity-group,.tt-cohort-deck,.tt-drawer-card,.custom-select-dropdown,.search-results-menu{animation:motion-soft-in var(--motion-base) var(--motion-ease-emphasized)}.deliveries-modal,.app-dialog-card,.new-semester-pathway-card,.rollover-modal-card{animation:motion-scale-in var(--motion-base) var(--motion-ease-emphasized)}.deliveries-modal-overlay,.app-dialog-backdrop,.new-semester-modal-backdrop{animation:motion-fade-up var(--motion-fast) var(--motion-ease-standard)}.select-button,.icon-button,.secondary-button,.primary-button,.nav-item,.verification-item,.qualification-tile,.tt-drawer-card,.tt-cohort-deck-header,.custom-select-trigger,.custom-select-option,.search-result-item{transition:transform var(--motion-fast) var(--motion-ease-standard),background-color var(--motion-fast) var(--motion-ease-standard),border-color var(--motion-fast) var(--motion-ease-standard),box-shadow var(--motion-fast) var(--motion-ease-standard),color var(--motion-fast) var(--motion-ease-standard),opacity var(--motion-fast) var(--motion-ease-standard)}.select-button:hover,.icon-button:hover,.secondary-button:hover,.primary-button:hover,.search-result-item:hover,.tt-drawer-card:hover,.qualification-tile:hover,.verification-item:hover{transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.launcher-panel,.verification-item,.qualification-tile,.entity-group,.tt-cohort-deck,.tt-drawer-card,.custom-select-dropdown,.search-results-menu,.deliveries-modal,.deliveries-modal-overlay,.app-dialog-card,.app-dialog-backdrop{animation:none!important}.select-button,.icon-button,.secondary-button,.primary-button,.nav-item,.verification-item,.qualification-tile,.tt-drawer-card,.tt-cohort-deck-header,.custom-select-trigger,.custom-select-option,.search-result-item{transition:none!important}}.brand-block strong{display:block;font-size:18px;line-height:1.2}.brand-mark{align-items:center;background:#254dd0;border-radius:8px;color:#fff;display:grid;height:42px;justify-items:center;width:42px}.nav-list{display:grid;gap:6px}.sidebar-actions-row{display:flex;gap:8px;width:100%;padding:0 4px}.sidebar-actions-column{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}.sidebar-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;height:36px;border-radius:8px;font-size:12.5px;font-weight:700;transition:all .15s cubic-bezier(.16,1,.3,1);outline:none;border:0;cursor:pointer}.sidebar-action-btn.primary-action{background:#3c61dd26;border:1px solid hsla(226,70%,55%,.3);color:#becaf4}.sidebar-action-btn.primary-action:hover{background:#3c61dd40;border-color:#3c61dd99;color:#fff;box-shadow:0 4px 12px #254dd026}.sidebar-action-btn.secondary-action{background:#ffffff0d;border:1px solid hsla(0,0%,100%,.1);color:#c4cad4}.sidebar-action-btn.secondary-action:hover{background:#ffffff1f;border-color:#ffffff40;color:#fff;box-shadow:0 4px 12px #0003}.sidebar-action-btn-collapsed{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;transition:all .15s cubic-bezier(.16,1,.3,1);outline:none;border:0;cursor:pointer}.sidebar-action-btn-collapsed.primary-action{background:#3c61dd26;border:1px solid hsla(226,70%,55%,.3);color:#becaf4}.sidebar-action-btn-collapsed.primary-action:hover{background:#3c61dd40;border-color:#3c61dd99;color:#fff}.sidebar-action-btn-collapsed.secondary-action{background:#ffffff0d;border:1px solid hsla(0,0%,100%,.1);color:#c4cad4}.sidebar-action-btn-collapsed.secondary-action:hover{background:#ffffff1f;border-color:#ffffff40;color:#fff}.nav-item{align-items:center;background:transparent;border:0;border-radius:8px;color:#acb5c3;display:flex;gap:11px;min-height:42px;padding:0 12px;text-align:left;transition:background .18s ease,color .18s ease}.nav-item:hover,.nav-item.active{background:#ffffff17;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #2fc67a}.sidebar-footer{align-items:center;color:#abb5c4;display:flex;font-size:12px;gap:8px;margin-top:auto;padding:12px 8px}.status-dot,.tone-dot{border-radius:999px;display:inline-block;height:8px;width:8px}.status-dot,.tone-dot.success{background:var(--success)}.tone-dot.warning{background:var(--warning)}.tone-dot.neutral{background:#7f8b9f}.workspace{display:flex;flex-direction:column;min-width:0;padding:18px;height:100%;overflow:hidden}.topbar{align-items:center;display:flex;justify-content:space-between;gap:18px;margin-bottom:16px}.topbar-center{display:flex;justify-content:flex-end;align-items:center;width:100%}.mobile-menu{display:none}.topbar h1{font-size:clamp(24px,3vw,34px);letter-spacing:0;line-height:1;margin:0}.topbar p,.board-toolbar p,.section-heading p,.inspector-header p{color:var(--muted);font-size:13px;line-height:1.45;margin:5px 0 0}.topbar-actions{align-items:center;display:flex;gap:8px;min-width:0}.select-button,.icon-button,.secondary-button,.primary-button{align-items:center;border:1px solid var(--faint);border-radius:8px;display:inline-flex;font-size:13px;font-weight:700;gap:8px;height:38px;justify-content:center;padding:0 13px;white-space:nowrap}.select-button,.secondary-button,.icon-button{background:var(--surface);color:var(--ink)}.primary-button{background:var(--primary);border-color:var(--primary);color:#fff}.secondary-button.compact{height:34px}.secondary-button.full,.primary-button.full{width:100%}.icon-button{padding:0;width:38px}.search-box{align-items:center;background:var(--surface);border:1px solid var(--faint);border-radius:8px;display:flex;gap:8px;height:38px;padding:0 11px;position:relative;width:clamp(210px,21vw,310px)}.search-box input{background:transparent;border:0;color:var(--ink);min-width:0;outline:0;width:100%}.search-placeholder{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:5px;inset:0 11px 0 36px;min-width:0;overflow:hidden;pointer-events:none;position:absolute;white-space:nowrap}.search-placeholder-main{min-width:0;overflow:hidden;text-overflow:ellipsis}.search-placeholder-separator{color:color-mix(in srgb,var(--muted) 72%,transparent);flex:0 0 auto}.search-placeholder-shortcut{background:#eef1fc;border:1px solid hsl(224,52%,88%);border-radius:6px;color:#2a4284;flex:0 0 auto;font-size:11px;font-weight:800;letter-spacing:0;line-height:1;padding:3px 5px}.search-placeholder.is-truncated{gap:4px}.search-placeholder.is-truncated .search-placeholder-main{color:color-mix(in srgb,var(--muted) 72%,transparent)}.search-placeholder.is-truncated .search-placeholder-shortcut{background:transparent;border-color:transparent;color:#304a91;font-size:10px;padding:0}.search-stack{position:relative}.search-results-menu{position:absolute;top:calc(100% + 6px);left:0;width:min(560px,72vw);max-height:min(56vh,520px);overflow-y:auto;background:var(--surface);border:1px solid var(--faint);border-radius:10px;box-shadow:0 20px 45px #242c422e;padding:6px;z-index:120}.search-result-item{width:100%;border:0;background:transparent;color:var(--ink);border-radius:8px;padding:9px 10px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px}.search-result-item:hover,.search-result-item.active{background:#eef1fc}.search-result-main{min-width:0;display:flex;flex-direction:column;gap:2px}.search-result-main strong{font-size:12px;font-weight:700;color:var(--ink)}.search-result-main span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-chip{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--primary-dark);background:#e6ebfa;border:1px solid hsl(226,48%,83%);border-radius:999px;padding:3px 7px;flex-shrink:0}.search-results-empty{padding:12px;font-size:12px;color:var(--muted)}.master-search-pulse{animation:master-search-pulse 1.2s ease;box-shadow:0 0 0 3px #254dd033}@keyframes master-search-pulse{0%{transform:scale(.995);box-shadow:0 0 #254dd06b}55%{transform:scale(1);box-shadow:0 0 0 8px #254dd014}to{transform:scale(1);box-shadow:0 0 #254dd000}}.scheduler-layout{display:grid;flex:1;gap:16px;grid-template-columns:minmax(620px,1fr) 356px;min-height:0}.schedule-matrix-layout{grid-template-columns:minmax(720px,1fr) 356px}.main-board-layout{grid-template-columns:minmax(0,1fr)}.tt-scheduler{--tt-label-width: 224px;--tt-day-width: 62px;--tt-hour-width: 72px;--tt-lane-width: calc(var(--tt-hour-width) * 13);display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 342px;height:100%;min-height:0;width:100%}.tt-scheduler.drawer-closed{grid-template-columns:minmax(0,1fr) 74px}.tt-workspace,.tt-unscheduled{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);box-shadow:var(--shadow);min-height:0}.tt-workspace{display:flex;flex-direction:column;overflow:hidden}.tt-toolbar{align-items:center;border-bottom:1px solid var(--faint);display:flex;gap:18px;justify-content:space-between;padding:16px 18px 14px}.tt-kicker{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.tt-toolbar h2{font-size:20px;line-height:1.1;margin:4px 0 0}.tt-scheduler.is-top-matter-compact .tt-toolbar{justify-content:flex-end;padding:8px 10px}.tt-scheduler.is-top-matter-compact .tt-toolbar-heading{display:none!important}.tt-scheduler.is-top-matter-compact .tt-controls{justify-content:flex-end;width:100%}.tt-scheduler.is-top-matter-compact .tt-status-row{padding-top:8px;padding-bottom:8px}.tt-controls{align-items:center;display:flex;gap:10px;min-width:0}@media(max-width:1460px){.tt-toolbar{align-items:stretch;flex-direction:column;gap:10px}.tt-toolbar>div:first-child{flex:0 0 auto;margin-right:0!important;min-width:0;width:100%}.tt-controls{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-start;width:100%}}.tt-select-label{align-items:center;background:#f8fafb;border:1px solid var(--faint);border-radius:var(--radius);color:var(--ink);display:flex;gap:7px;height:36px;padding:0 9px}.tt-select-label span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.tt-select-label select,.tt-cohort-picker select{appearance:none;background:transparent;border:0;color:var(--ink);font-size:13px;font-weight:700;outline:0;padding-right:2px}.tt-drawer-toggle{align-items:center;background:#effafb;border:1px solid hsl(186,34%,72%);border-radius:var(--radius);color:#155e66;display:flex;gap:8px;height:36px;padding:0 11px}.tt-drawer-toggle span{font-size:12px;font-weight:800}.tt-drawer-toggle.attention{animation:ttPulse 1.8s ease-in-out infinite;background:#fff8eb;border-color:#f8be59;color:#7d4608}.tt-status-row{align-items:center;border-bottom:1px solid var(--faint);display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px}.tt-metric{align-items:center;background:#f8fafb;border:1px solid var(--faint);border-radius:999px;color:var(--muted);display:inline-flex;gap:7px;min-height:28px;padding:0 10px}.tt-metric span,.tt-validation-note span{font-size:12px}.tt-metric strong{color:var(--ink);font-size:12px}.tt-metric.success{background:#f0faf5;border-color:#9fd0b8;color:#1a7547}.tt-metric.warning{background:#fff8eb;border-color:#f9c56c;color:#a35c0a}.tt-metric.danger{animation:ttPulse 1.8s ease-in-out infinite;background:#fef0f2;border-color:#f08993;color:#a21624}.tt-metric.danger strong{color:#87121e}.tt-validation-note{align-items:center;border:1px solid var(--faint);border-radius:var(--radius);display:flex;gap:8px;margin-left:auto;min-height:30px;padding:0 10px}.tt-validation-note strong{font-size:12px;white-space:nowrap}.tt-validation-note.success{background:#f0faf5;border-color:#9fd0b8}.tt-validation-note.warning{background:#fff8eb;border-color:#f9c56c}.tt-validation-note.danger{background:#fef0f2;border-color:#f39ba4}.tt-scroll{flex:1;min-height:0;overflow:auto}.tt-grid-shell{min-width:calc(var(--tt-label-width) + var(--tt-day-width) + var(--tt-lane-width))}.tt-grid-header{background:#f8fafb;border-bottom:1px solid var(--faint);display:grid;grid-template-columns:var(--tt-label-width) var(--tt-day-width) var(--tt-lane-width);position:sticky;top:0;z-index:120}.tt-row-heading,.tt-day-heading{align-items:end;border-right:1px solid var(--faint);color:var(--muted);display:flex;font-size:11px;font-weight:800;min-height:66px;padding:0 12px 10px;text-transform:uppercase}.tt-time-heading{display:grid;grid-template-rows:30px 36px}.tt-macro-block{align-items:center;border-left:1px solid var(--faint);color:#475366;display:flex;font-size:11px;font-weight:800;grid-row:1;padding-left:10px;text-transform:uppercase}.tt-macro-block.morning{grid-column:1 / span 4}.tt-macro-block.afternoon{border-left:2px solid hsl(221,26%,34%);grid-column:5 / span 5}.tt-macro-block.evening{border-left:2px solid hsl(221,26%,34%);grid-column:10 / span 4}.tt-time-heading,.tt-hour-row{grid-template-columns:repeat(13,var(--tt-hour-width))}.tt-hour-row{display:grid;grid-row:2}.tt-hour-row span{border-left:1px dashed hsl(217,18%,78%);color:var(--muted);font-size:10px;font-weight:700;padding:10px 0 0 7px}.tt-hour-row span:nth-child(5),.tt-hour-row span:nth-child(10){border-left:2px solid hsl(221,26%,34%)}.tt-grid-body{display:grid}.tt-row-group{border-bottom:1px solid var(--faint);display:grid;grid-template-columns:var(--tt-label-width) minmax(0,1fr)}.tt-row-label{align-items:start;background:#fff;border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);display:flex;gap:10px;min-height:190px;padding:13px 12px;position:sticky;left:0;z-index:110}.tt-row-label svg{color:var(--teal);margin-top:1px}.tt-row-label strong{display:block;font-size:calc(13px * var(--tt-font-scale, 1));line-height:1.25}.tt-row-label span{color:var(--muted);display:block;font-size:calc(11px * var(--tt-font-scale, 1));line-height:1.35;margin-top:4px}.tt-day-lanes{display:grid}.tt-lane-row{display:grid;grid-template-columns:var(--tt-day-width) var(--tt-lane-width);min-height:38px}.tt-lane-row+.tt-lane-row{border-top:1px solid hsl(217,18%,92%)}.tt-day-cell{align-items:center;background:#fcfcfd;border-right:1px solid var(--faint);color:var(--muted);display:flex;font-size:11px;font-weight:800;justify-content:center;text-transform:uppercase}.tt-lane{display:grid;grid-template-columns:repeat(26,calc(var(--tt-hour-width) / 2));min-height:38px;position:relative}.tt-lane-grid{display:grid;grid-column:1 / -1;grid-row:1;grid-template-columns:repeat(26,calc(var(--tt-hour-width) / 2));pointer-events:none}.tt-lane-grid span{border-left:1px solid transparent;min-height:38px}.tt-lane-grid .hour-line{border-left-color:#cfd4de;border-left-style:dashed}.tt-lane-grid .half-line{border-left-color:#eaecf0;border-left-style:dotted}.tt-lane-grid .macro-line{border-left:2px solid hsl(217,18%,84%)}.tt-drop-preview{align-self:stretch;background:#1f8c981f;border:1px dashed hsl(186,66%,36%);border-radius:6px;grid-row:1;margin:4px 2px 4px 5px;pointer-events:none;z-index:2}.tt-delivery-card{border-radius:7px;color:var(--ink)}.tt-delivery-card.placed{align-content:flex-start;align-self:center;background:#f1f4fe;border:1px solid hsl(226,48%,80%);border-left:4px solid var(--primary);box-shadow:0 8px 18px #24304c1f;cursor:grab;display:grid;gap:2px;grid-row:1;margin:4px 2px 4px 5px;min-height:30px;min-width:0;overflow:hidden;padding:5px 7px;position:relative;transition:align-self .18s cubic-bezier(.16,1,.3,1),margin .18s cubic-bezier(.16,1,.3,1),min-height .18s cubic-bezier(.16,1,.3,1),box-shadow .15s ease;z-index:3}.tt-selection-rectangle{border:1.5px dashed var(--primary, #3b82f6);background-color:#6366f126;pointer-events:none;box-sizing:border-box;border-radius:4px}.tt-delivery-card.placed.drag-selected{outline:2px solid var(--primary, #3b82f6)!important;outline-offset:1px;box-shadow:0 0 0 3px #6366f140,0 10px 20px #24304c29}.tt-card-snooze-badge{align-items:center;background:#f3f5f7f0;border:1px solid hsla(215,18%,74%,.75);border-radius:999px;color:var(--muted);display:inline-flex;height:16px;justify-content:center;pointer-events:none;position:absolute;right:3px;top:3px;width:16px;z-index:4}.tt-delivery-card.placed.snoozed{box-shadow:0 6px 14px #36415914}.tt-pref-dot{border-radius:50%;display:inline-block;height:4px;width:4px;margin-left:3px;vertical-align:middle;flex-shrink:0}.tt-pref-dot{background:#f59f0a;box-shadow:0 0 3px #f59f0a}.tt-delivery-card.placed.expanded{align-self:stretch;align-content:flex-start;margin:4px 2px 4px 5px}.tt-delivery-card.placed.expanded.compact-card{gap:3px}.tt-delivery-card.placed.expanded.compact-card .tt-card-main{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px}.tt-delivery-card.placed.expanded.compact-card .tt-card-main strong{max-width:100%;width:100%;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;text-align:left}.tt-delivery-card.placed.expanded.compact-card .tt-card-right-pills{align-items:flex-start;max-width:100%;width:100%}.tt-delivery-card.placed.expanded.compact-card .tt-card-pill-row{justify-content:flex-start;max-width:100%}.tt-delivery-card.placed.expanded.compact-card .tt-card-staff,.tt-delivery-card.placed.expanded.compact-card .tt-card-room{max-width:100%;text-align:left}.tt-delivery-card.placed.expanded.compact-card .tt-card-meta{flex-direction:column;align-items:flex-start;gap:2px}.tt-delivery-card.placed.compact-card{padding:5px}.tt-delivery-card.placed.narrow-card{padding:4px}.tt-delivery-card.placed.hyper-narrow-card{padding:3px!important}.tt-card-expanded-layout{align-items:stretch;column-gap:4px;display:flex;height:100%;min-height:0;min-width:0;overflow:hidden;width:100%}.tt-card-expanded-left{display:grid;flex:1 1 0;grid-template-rows:repeat(3,auto);min-height:0;min-width:0;overflow:hidden;row-gap:1px}.tt-card-expanded-right{align-items:stretch;display:grid;flex:0 1 46%;grid-template-rows:minmax(0,1fr) minmax(0,1fr);justify-items:end;max-width:92px;min-height:0;min-width:0;overflow:hidden;row-gap:2px;text-align:right}.tt-card-expanded-unit,.tt-card-expanded-time,.tt-card-expanded-period,.tt-card-expanded-right .tt-card-backfill,.tt-card-expanded-right .tt-card-staff,.tt-card-expanded-right .tt-card-room{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-card-expanded-unit{align-self:center;display:block;font-size:calc(11px * var(--tt-font-scale, 1));font-weight:850;line-height:1}.tt-card-expanded-time{align-self:center;color:#475366;font-size:calc(10px * var(--tt-font-scale, 1));font-weight:700;line-height:1}.tt-card-expanded-period{align-self:center;color:#5c6d8a;font-size:calc(9.25px * var(--tt-font-scale, 1));font-weight:850;letter-spacing:0;line-height:1.15;text-transform:uppercase;white-space:normal;word-break:break-word}.tt-card-expanded-teacher-row,.tt-card-expanded-room-row{align-items:center;display:inline-flex;gap:2px;justify-content:flex-end;max-width:100%;min-width:0;overflow:hidden;width:100%}.tt-card-expanded-teacher-row{align-self:start}.tt-card-expanded-room-row{align-self:end}.tt-card-expanded-right .tt-card-staff,.tt-card-expanded-right .tt-card-room,.tt-card-expanded-right .tt-card-backfill{align-items:center;display:inline-flex;flex:0 1 auto;font-size:calc(9.25px * var(--tt-font-scale, 1));justify-content:center;line-height:1;padding:1px 5px;text-align:center}.tt-delivery-card.placed.narrow-card .tt-card-expanded-layout{column-gap:3px}.tt-delivery-card.placed.narrow-card .tt-card-expanded-right{flex-basis:42%;max-width:58px;row-gap:1px}.tt-delivery-card.placed.narrow-card .tt-card-expanded-unit{font-size:calc(10px * var(--tt-font-scale, 1))}.tt-delivery-card.placed.narrow-card .tt-card-expanded-time,.tt-delivery-card.placed.narrow-card .tt-card-expanded-period,.tt-delivery-card.placed.narrow-card .tt-card-expanded-right .tt-card-staff,.tt-delivery-card.placed.narrow-card .tt-card-expanded-right .tt-card-room,.tt-delivery-card.placed.narrow-card .tt-card-expanded-right .tt-card-backfill{font-size:calc(8.5px * var(--tt-font-scale, 1))}.tt-delivery-card.placed.hyper-narrow-card .tt-card-expanded-layout{column-gap:2px}.tt-delivery-card.placed.hyper-narrow-card .tt-card-expanded-right{flex-basis:38%;max-width:34px}.tt-delivery-card.placed.hyper-narrow-card .tt-card-expanded-unit{font-size:calc(9.25px * var(--tt-font-scale, 1))}.tt-delivery-card.placed.hyper-narrow-card .tt-card-expanded-time,.tt-delivery-card.placed.hyper-narrow-card .tt-card-expanded-period,.tt-delivery-card.placed.hyper-narrow-card .tt-card-expanded-right .tt-card-staff,.tt-delivery-card.placed.hyper-narrow-card .tt-card-expanded-right .tt-card-room,.tt-delivery-card.placed.hyper-narrow-card .tt-card-expanded-right .tt-card-backfill{font-size:calc(7.75px * var(--tt-font-scale, 1));padding:1px 3px}.tt-delivery-card.placed.hyper-narrow-card .tt-pref-dot{display:none}.tt-delivery-card.placed:active{cursor:grabbing}@keyframes tt-clash-pulse{0%,to{outline-color:#f5142b85;box-shadow:0 0 #f5142b1f,0 2px 6px #24304c1a}50%{outline-color:#f5142be6;box-shadow:0 0 0 4px #f5142b14,0 2px 6px #24304c1a}}.tt-delivery-card.placed.clash{animation:tt-clash-pulse 1.35s ease-in-out infinite;min-height:0!important;outline:2px solid hsla(354,92%,52%,.7);outline-offset:-1px;overflow:hidden;padding:3px 6px}.tt-delivery-card.placed.clash:hover{animation:none;outline-color:#ee1b30;box-shadow:0 6px 20px #8c172338;z-index:25!important;overflow:visible}.tt-delivery-card.dragging{opacity:.46}.tt-delivery-card.teal,.tt-drawer-card.teal{background:#effafb;border-color:#9ad0d6;border-left-color:var(--teal)}.tt-delivery-card.amber,.tt-drawer-card.amber{background:#fff8eb;border-color:#f9c56c;border-left-color:var(--warning)}.tt-delivery-card.green,.tt-drawer-card.green{background:#f0faf5;border-color:#9fd0b8;border-left-color:var(--success)}.tt-delivery-card.rose,.tt-drawer-card.rose{background:#fef0f2;border-color:#f39ba4;border-left-color:var(--danger)}.tt-delivery-card.unassigned,.tt-drawer-card.unassigned{background:#f3f5f6!important;border-color:#d6dbe0!important;border-left-color:#8b99a7!important}.tt-delivery-card.unassigned .tt-card-main strong,.tt-drawer-card.unassigned .tt-drawer-card-title strong{color:var(--muted)!important}.tt-delivery-card.swap-hover-target{outline:2px dashed hsla(226,80%,52%,.9);outline-offset:-2px;box-shadow:0 10px 24px #293a7033,0 0 0 2px #2350e738;transform:scale(1.02);z-index:52!important}.tt-swap-freeze-layer{position:fixed;inset:0;z-index:11980;background:transparent}.tt-swap-connector{position:fixed;inset:0;z-index:11990;pointer-events:none}.tt-swap-connector-line{fill:none;stroke:#315ae3f2;stroke-width:3;stroke-linecap:round;stroke-dasharray:10 8;animation:tt-swap-dash .9s linear infinite}.tt-swap-confirm-modal{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:12020;width:min(760px,calc(100vw - 24px));border:1px solid hsla(226,42%,80%,.9);border-radius:18px;background:#fff;box-shadow:0 16px 36px #18213a38;display:grid;gap:12px;padding:14px}.tt-swap-confirm-copy{display:flex;align-items:center;gap:10px;min-width:0;color:var(--ink)}.tt-swap-confirm-copy strong{display:block;font-size:13px;line-height:1.2}.tt-swap-confirm-copy span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.tt-swap-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tt-swap-option{display:flex;align-items:flex-start;gap:8px;border:1px solid hsl(218,28%,88%);border-radius:12px;padding:9px 10px;background:#f8fafc;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.tt-swap-option.selected{border-color:#315ae3b3;background:#f5f7ff;box-shadow:0 0 0 2px #315ae314}.tt-swap-option input{width:14px;height:14px;margin:2px 0 0;accent-color:var(--primary);flex-shrink:0}.tt-swap-option strong{display:block;font-size:12px;color:var(--ink);line-height:1.2}.tt-swap-option small{display:block;margin-top:2px;font-size:10.5px;line-height:1.25;color:var(--muted)}.tt-swap-keep-teachers{display:flex;align-items:center;gap:8px;border:1px solid hsl(218,30%,90%);border-radius:12px;padding:10px 12px;background:#fbfcfd;cursor:pointer;transition:background-color .16s ease,border-color .16s ease;margin-top:4px}.tt-swap-keep-teachers:hover{background:#f4f7fa;border-color:#c4cede}.tt-swap-keep-teachers input{width:14px;height:14px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.tt-swap-keep-teachers span{font-size:12px;color:var(--ink);line-height:1.2}.tt-swap-keep-teachers strong{font-weight:600}.tt-swap-effect-panel{display:grid;gap:6px;border:1px solid hsl(218,30%,90%);border-radius:12px;background:#fbfcfd;padding:8px}.tt-swap-effect-row{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;font-size:11px}.tt-swap-effect-label{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tt-swap-effect-values{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;color:var(--ink)}.tt-swap-effect-values span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:#eff2f5;padding:4px 7px}.tt-swap-effect-values strong{color:var(--primary);font-size:10px}.tt-swap-empty-effect{color:var(--muted);font-size:11px;text-align:center;padding:5px}.tt-swap-confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.tt-swap-confirm-actions button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.tt-swap-options,.tt-swap-effect-row{grid-template-columns:1fr}.tt-swap-confirm-actions{justify-content:stretch}.tt-swap-confirm-actions button{flex:1}}@keyframes tt-swap-dash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-36}}.tt-card-room.flagged-danger{border:1px solid var(--danger)!important;background:#fef0f2!important;color:var(--danger)!important;border-radius:4px;padding:1px 5px;font-weight:700}.tt-card-staff.flagged-warning{border:1px solid var(--warning)!important;background:#fff8eb!important;color:#99650a!important;border-radius:4px;padding:1px 5px;font-weight:700}.tt-card-room.flagged-unassigned,.tt-card-staff.flagged-unassigned{border:1px solid hsl(210,14%,80%)!important;background:#f0f2f4!important;color:#5c6b7a!important;border-radius:4px;padding:1px 5px;font-weight:700}.tt-delivery-card.has-warning{outline:2px solid hsla(38,92%,52%,.28)}.tt-delivery-card.has-backfill{outline:2px solid hsla(150,62%,42%,.28)}.tt-unscheduled.dock-pulse{animation:tt-dock-click-pulse .32s ease-out}@keyframes tt-dock-click-pulse{0%{box-shadow:0 0 #254dd057}70%{box-shadow:0 0 0 8px #254dd000}to{box-shadow:0 0 #254dd000}}.tt-card-backfill{border:1px solid hsl(150,48%,74%);background:#e7f9f0;color:#186d42;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:800;white-space:nowrap}.tt-card-main,.tt-card-meta,.tt-warning-badges,.tt-drawer-card-title,.tt-drawer-card-meta{align-items:center;display:flex;gap:7px;min-width:0}.tt-card-main{justify-content:space-between;align-items:flex-start}.tt-delivery-card.placed.unit-priority:not(.priority-tight) .tt-card-main strong{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.tt-card-right-pills{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;max-width:100%}.tt-delivery-card.placed.unit-priority .tt-card-right-pills{flex:0 1 auto;min-width:0}.tt-delivery-card.placed.priority-tight .tt-card-main{gap:4px}.tt-delivery-card.placed.priority-tight .tt-card-main strong{flex:1 1 auto;max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis;font-size:10px;letter-spacing:0}.tt-delivery-card.placed.priority-tight .tt-card-right-pills{flex:0 0 auto;gap:1px}.tt-delivery-card.placed.priority-tight.narrow-card .tt-card-main strong{font-size:9.5px}.tt-delivery-card.placed.expanded.compact-card.priority-tight .tt-card-main strong{max-width:100%;width:100%;font-size:10.5px}.tt-delivery-card.placed.expanded.compact-card.priority-tight.narrow-card .tt-card-main strong{font-size:10px}.tt-card-pill-row{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;min-width:0}.tt-card-main strong{font-size:calc(11px * var(--tt-font-scale, 1));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.tt-card-main span,.tt-card-meta span{color:#475366;font-size:calc(10px * var(--tt-font-scale, 1));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-card-meta{justify-content:space-between}.tt-card-room.compact-secondary{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-warning-badges{flex-wrap:wrap;margin-top:2px}.tt-warning-badges span{align-items:center;background:#fff0d6;border:1px solid hsl(38,92%,70%);border-radius:999px;color:#905109;display:inline-flex;font-size:9px;font-weight:800;gap:3px;line-height:1;padding:2px 5px}.tt-warning-badges span.tooltip-trigger{position:relative;cursor:help}.tt-warning-badges span.tooltip-trigger .tt-tooltip-card{position:absolute;bottom:130%;left:50%;transform:translate(-50%) translateY(5px);background:#0f1729;color:#fff;padding:8px 12px;border-radius:8px;width:220px;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10000;display:flex;flex-direction:column;gap:4px}.tt-warning-badges span.tooltip-trigger .tt-tooltip-card strong{font-size:11px;font-weight:800;text-transform:uppercase;color:#f7b23b;letter-spacing:.05em;line-height:1.2}.tt-warning-badges span.tooltip-trigger .tt-tooltip-card p{font-size:11px;line-height:1.4;margin:0;color:#dbe0e6;font-weight:500;white-space:normal}.tt-warning-badges span.tooltip-trigger .tt-tooltip-card:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:hsl(222,47%,11%) transparent transparent transparent}.tt-warning-badges span.tooltip-trigger:hover .tt-tooltip-card{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.tt-unscheduled{display:flex;flex-direction:column;min-height:0;overflow:visible;position:relative;transition:width .16s ease}.tt-unscheduled-toggle{position:absolute;top:271px;left:-12px;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--surface);border:1px solid var(--faint);color:var(--muted);box-shadow:var(--shadow-sm),0 2px 4px #0000000f;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .2s cubic-bezier(.16,1,.3,1);padding:0;outline:none}.tt-unscheduled-toggle:hover{background:var(--primary-faint);border-color:var(--primary);color:var(--primary);transform:translateY(-50%) scale(1.1);box-shadow:var(--shadow)}.tt-unscheduled.closed{align-items:center;padding:12px 8px}.tt-unscheduled.closed .tt-cohort-picker,.tt-unscheduled.closed .tt-drawer-list,.tt-unscheduled.closed .tt-drawer-head div{display:none}.tt-unscheduled.closed .tt-drawer-head{border:0;justify-content:center;padding:0}.tt-drawer-head{align-items:center;border-bottom:1px solid var(--faint);display:flex;justify-content:space-between;padding:16px}.tt-drawer-head span,.tt-cohort-picker span{color:var(--muted);display:block;font-size:11px;font-weight:800;text-transform:uppercase}.tt-drawer-head h3{font-size:18px;margin:4px 0 0}.tt-unscheduled.attention .tt-drawer-head svg{color:var(--warning)}.tt-cohort-picker{display:grid;gap:7px;padding:14px 16px}.tt-cohort-picker select{background:#f8fafb;border:1px solid var(--faint);border-radius:var(--radius);height:36px;padding:0 10px;width:100%}.tt-drawer-list{display:grid;gap:8px;min-height:0;overflow:auto;padding:10px 12px 16px}.tt-drawer-card{align-items:start;background:var(--surface);border:1px solid var(--faint);border-left:4px solid hsl(217,18%,78%);border-radius:var(--radius);cursor:grab;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr);padding:11px 10px}.tt-drawer-card:active{cursor:grabbing}.tt-drawer-card svg{color:var(--muted);margin-top:1px}.tt-drawer-card-title{align-items:center;display:flex;gap:6px;justify-content:space-between}.tt-drawer-card-title strong{font-size:12px}.tt-drawer-card-title span{background:#ffffffc7;border:1px solid hsla(217,18%,78%,.9);border-radius:999px;color:var(--ink);font-size:10px;font-weight:800;padding:2px 6px}.tt-drawer-card p{color:#475366;font-size:11px;line-height:1.35;margin:5px 0 8px}.tt-drawer-card-meta{display:flex;flex-wrap:wrap;gap:4px}.tt-drawer-card-meta span{background:#ffffffb8;border:1px solid hsla(217,18%,82%,.88);border-radius:999px;color:var(--muted);font-size:10px;font-weight:700;padding:2px 6px}.tt-empty-bucket{align-items:center;border:1px dashed var(--faint);border-radius:var(--radius);color:var(--muted);display:grid;gap:6px;justify-items:center;padding:28px 14px;text-align:center}.tt-empty-bucket strong{color:var(--ink);font-size:13px}.tt-empty-bucket span{font-size:12px;line-height:1.4}@keyframes tt-bucket-pulse{0%,to{box-shadow:0 0 #476be14d,var(--shadow);border-color:#95a5da}50%{box-shadow:0 0 0 4px #476be100,var(--shadow);border-color:#5c78d6}}.tt-unscheduled.drag-ready{animation:tt-bucket-pulse 1.4s ease-in-out infinite;border-style:dashed}.tt-unscheduled.drop-active{animation:none;background:#f2f4fd;border-color:var(--primary);border-style:dashed;box-shadow:0 0 0 3px #476be12e,var(--shadow)}.tt-cohort-deck{border-radius:var(--radius);position:relative;transition:transform .18s cubic-bezier(.16,1,.3,1)}.tt-cohort-deck.stacked{margin-bottom:10px}.tt-cohort-deck-header{align-items:flex-start;background:#f1f4fe;border:1px solid hsl(226,48%,80%);border-left:4px solid var(--primary);border-radius:var(--radius);cursor:pointer;display:flex;gap:8px;padding:10px 12px;position:relative;z-index:2;transition:background .12s ease,border-color .12s ease;-webkit-user-select:none;user-select:none}.tt-cohort-deck.teal .tt-cohort-deck-header{background:#effbfa;border-color:#a9dad5;border-left-color:var(--teal)}.tt-cohort-deck.amber .tt-cohort-deck-header{background:#fdf7ec;border-color:#e2ceac;border-left-color:var(--amber)}.tt-cohort-deck.green .tt-cohort-deck-header{background:#effbf3;border-color:#b0ddc1;border-left-color:var(--green)}.tt-cohort-deck.rose .tt-cohort-deck-header{background:#fef1f2;border-color:#e7bbbf;border-left-color:var(--rose)}.tt-cohort-deck-header:hover{background:#e5eafb}.tt-cohort-deck-header svg{color:var(--muted);flex-shrink:0;margin-top:2.5px}.tt-cohort-deck-header strong{flex:1;font-size:12px;min-width:0;line-height:1.35;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.tt-cohort-deck-header .tt-deck-count{margin-top:1.5px;flex-shrink:0}.tt-deck-count{background:#ffffffc7;border:1px solid hsla(217,18%,78%,.9);border-radius:999px;color:var(--ink);font-size:10px;font-weight:800;padding:2px 7px}.tt-deck-chevron{color:var(--muted);transition:transform .2s cubic-bezier(.16,1,.3,1)}.tt-deck-chevron.open{transform:rotate(180deg)}.tt-deck-stack-ghosts{pointer-events:none;position:relative}.tt-deck-ghost{background:#e7ebf9;border:1px solid hsl(226,40%,78%);border-left:4px solid hsl(226,60%,72%);border-radius:var(--radius);height:14px;margin:-3px 4px 0;opacity:.6}.tt-cohort-deck.teal .tt-deck-ghost{background:#e2f3f1;border-color:#a5d5d0;border-left-color:#47c2b6}.tt-cohort-deck.amber .tt-deck-ghost{background:#f7eede;border-color:#d7c4a2;border-left-color:#da9b2f}.tt-cohort-deck.green .tt-deck-ghost{background:#e2f3e8;border-color:#a5d5b6;border-left-color:#36a15d}.tt-cohort-deck.rose .tt-deck-ghost{background:#faebec;border-color:#ddb0b5;border-left-color:#dd4050}.tt-deck-ghost.ghost-2{margin:-3px 8px 0;opacity:.35}.tt-deck-cards{animation:tt-deck-fan .2s cubic-bezier(.16,1,.3,1);display:grid;gap:7px;margin-top:7px}@keyframes tt-deck-fan{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tt-drawer-card-actions{display:flex;gap:6px;margin-top:8px}.tt-card-action-btn{align-items:center;background:#ffffffb8;border:1px solid hsla(217,18%,80%,.88);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-size:10px;font-weight:700;gap:4px;padding:3px 8px;transition:background .12s ease,border-color .12s ease,color .12s ease}.tt-card-action-btn:hover{background:#e5eafb;border-color:#95a5da;color:var(--primary)}.tt-card-action-btn.danger:hover{background:#fcedef;border-color:#e2acb1;color:var(--danger)}@keyframes ttPulse{0%,to{box-shadow:0 0 #f5a31440}50%{box-shadow:0 0 0 5px #f5a31400}}@media(max-width:980px){.tt-scheduler,.tt-scheduler.drawer-closed{grid-template-columns:minmax(0,1fr)}.tt-workspace{min-height:640px;order:1}.tt-unscheduled{order:2}.tt-unscheduled.closed{min-height:58px}.tt-toolbar{align-items:stretch;flex-direction:column}.tt-controls{display:grid;grid-template-columns:1fr}.tt-select-label,.tt-zoom-control,.tt-drawer-toggle{justify-content:center;width:100%}.tt-validation-note{align-items:flex-start;flex-direction:column;margin-left:0;padding:8px 10px;width:100%}}.wizard-shell{--wiz-bg: hsl(228, 22%, 95%);--wiz-surface: hsl(0, 0%, 100%);--wiz-accent: hsl(248, 68%, 54%);--wiz-accent-dark: hsl(248, 56%, 28%);--wiz-accent-faint: hsl(248, 70%, 95%);--wiz-muted: hsl(240, 10%, 48%);--wiz-faint: hsl(240, 14%, 90%);--wiz-step-done: hsl(150, 58%, 42%);background:var(--wiz-bg);display:flex;flex-direction:column;min-height:100vh}.wizard-topbar{align-items:center;background:var(--wiz-surface);border-bottom:1px solid var(--wiz-faint);box-shadow:0 1px 0 var(--wiz-faint);display:flex;gap:24px;height:58px;padding:0 28px;position:sticky;top:0;z-index:100}.wizard-topbar-brand{align-items:center;display:flex;flex-shrink:0;gap:11px}.wizard-topbar-brand .wiz-brand-mark{align-items:center;background:var(--wiz-accent);border-radius:8px;color:#fff;display:grid;height:36px;justify-items:center;width:36px}.wizard-topbar-brand strong{color:#252537;display:block;font-size:15px;line-height:1.1}.wizard-topbar-brand span{color:var(--wiz-muted);display:block;font-size:11px}.wizard-topbar-center{flex:1;display:flex;justify-content:center}.wizard-exit-btn{align-items:center;background:transparent;border:1px solid var(--wiz-faint);border-radius:8px;color:var(--wiz-muted);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;gap:7px;height:34px;padding:0 13px;transition:all .18s ease}.wizard-exit-btn:hover{background:#fdf2f2;border-color:#e7b1b1;color:#9f2d2d}.wizard-progress-strip,.wiz-step-item{align-items:center;display:flex;gap:0}.wiz-step-bubble{align-items:center;border-radius:999px;display:grid;font-size:11px;font-weight:800;height:26px;justify-items:center;position:relative;transition:all .22s ease;width:26px;z-index:1}.wiz-step-label{color:#89899f;font-size:11px;font-weight:600;margin-left:7px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiz-step-connector{background:var(--wiz-faint);flex-shrink:0;height:2px;margin:0 6px;width:28px}.wiz-step-item.step-done .wiz-step-bubble{background:var(--wiz-step-done);color:#fff}.wiz-step-item.step-active .wiz-step-bubble{background:var(--wiz-accent);box-shadow:0 0 0 4px var(--wiz-accent-faint);color:#fff}.wiz-step-item.step-active .wiz-step-label{color:var(--wiz-accent-dark);font-weight:800}.wiz-step-item.step-pending .wiz-step-bubble{background:#e8e8ed;color:#84849a}.wiz-step-item.step-done .wiz-step-connector{background:var(--wiz-step-done)}.wizard-stage{flex:1;margin:0 auto;max-width:740px;padding:40px 20px 120px;width:100%}.wizard-stage-full{display:flex;flex:1;flex-direction:column;min-height:0;padding:20px}.wizard-stage-title{margin-bottom:32px}.wizard-stage-title .wiz-step-label-eyebrow{color:var(--wiz-accent);display:block;font-size:11px;font-weight:800;letter-spacing:.7px;margin-bottom:8px;text-transform:uppercase}.wizard-stage-title h1{color:#1d1d2b;font-size:clamp(24px,4vw,36px);line-height:1.1;margin:0 0 10px}.wizard-stage-title p{color:var(--wiz-muted);font-size:15px;line-height:1.55;margin:0;max-width:560px}.wizard-cta-bar{background:linear-gradient(to top,var(--wiz-bg) 60%,transparent);bottom:0;display:flex;gap:12px;justify-content:flex-end;left:0;padding:20px 20px 28px;position:fixed;right:0;z-index:90}.wizard-cta-bar .wiz-back-btn{align-items:center;background:var(--wiz-surface);border:1px solid var(--wiz-faint);border-radius:10px;color:var(--wiz-muted);display:inline-flex;font-size:14px;font-weight:700;gap:8px;height:46px;padding:0 20px;transition:all .18s ease}.wizard-cta-bar .wiz-back-btn:hover{background:#f6f6f8;color:#29293d}.wizard-cta-bar .wiz-next-btn{align-items:center;background:var(--wiz-accent);border:0;border-radius:10px;box-shadow:0 4px 18px #4f3ad95c;color:#fff;display:inline-flex;font-size:15px;font-weight:800;gap:10px;height:46px;padding:0 28px;transition:all .18s ease}.wizard-cta-bar .wiz-next-btn:hover{background:var(--wiz-accent-dark);box-shadow:0 6px 24px #3321ab66;transform:translateY(-1px)}.back-link{align-items:center;align-self:flex-start;background:transparent;border:0;color:#b7bfcc;display:inline-flex;font-size:13px;font-weight:800;gap:8px;padding:6px 4px}.wizard-choice-screen{display:flex;flex-direction:column;gap:16px}.wizard-choice-hero{align-items:center;background:var(--wiz-surface);border:2px solid hsl(248,50%,84%);border-radius:14px;box-shadow:0 8px 32px #4733cc1a;cursor:pointer;display:flex;flex-direction:column;gap:14px;padding:42px 36px;text-align:center;transition:all .2s ease;width:100%}.wizard-choice-hero:hover{border-color:var(--wiz-accent);box-shadow:0 12px 42px #4733cc2e;transform:translateY(-2px)}.wizard-choice-hero .choice-icon-wrap{align-items:center;background:var(--wiz-accent-faint);border-radius:14px;color:var(--wiz-accent);display:grid;height:60px;justify-items:center;width:60px}.wizard-choice-hero h2{color:#1d1d2b;font-size:22px;font-weight:800;margin:0}.wizard-choice-hero p{color:var(--wiz-muted);font-size:14px;line-height:1.55;margin:0;max-width:460px}.wizard-choice-hero .choice-cta-label{align-items:center;background:var(--wiz-accent);border-radius:9px;box-shadow:0 3px 12px #4f3ad94d;color:#fff;display:inline-flex;font-size:14px;font-weight:800;gap:8px;height:42px;margin-top:4px;padding:0 22px;pointer-events:none}.wizard-choice-secondary{background:var(--wiz-surface);border:1px solid var(--wiz-faint);border-radius:12px;overflow:hidden;transition:all .22s ease}.wizard-choice-secondary.expanded{border-color:#c4bfe3;box-shadow:0 4px 18px #5140bf14}.wiz-secondary-trigger{align-items:center;background:transparent;border:0;display:flex;gap:12px;justify-content:space-between;padding:16px 20px;text-align:left;width:100%}.wiz-secondary-trigger-left{align-items:center;color:#313149;display:flex;gap:12px}.wiz-secondary-trigger-left svg{color:var(--wiz-accent);flex-shrink:0}.wiz-secondary-trigger-left strong{display:block;font-size:14px;font-weight:700}.wiz-secondary-trigger-left span{color:var(--wiz-muted);display:block;font-size:12px;margin-top:1px}.wiz-toggle-chip{background:#f0eefb;border-radius:99px;color:var(--wiz-accent);flex-shrink:0;font-size:11px;font-weight:700;padding:5px 13px;transition:all .18s ease;white-space:nowrap}.wiz-secondary-trigger:hover .wiz-toggle-chip{background:var(--wiz-accent);color:#fff}.wiz-secondary-body{border-top:1px solid var(--wiz-faint);padding:20px;animation:fadeIn .22s ease}.wizard-header{align-items:center;display:flex;justify-content:space-between;gap:18px;margin-bottom:16px}.wizard-header h1{font-size:clamp(26px,4vw,40px);line-height:1;margin:0}.wizard-header p{color:var(--muted);font-size:13px;margin:8px 0 0}.wizard-content-card{background:var(--wiz-surface);border:1px solid var(--wiz-faint);border-radius:14px;box-shadow:0 4px 24px #29293d0d;display:grid;gap:22px;padding:28px}.wizard-placement{display:grid;flex:1;gap:16px;grid-template-columns:minmax(720px,1fr) 356px;min-height:0;min-height:600px}.matrix-panel,.inspector-panel,.route-surface,.content-section{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);box-shadow:var(--shadow)}.matrix-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden}.board-toolbar{align-items:center;border-bottom:1px solid var(--faint);display:flex;justify-content:space-between;gap:12px;padding:16px 18px}.board-toolbar h2,.section-heading h2,.inspector-header h2{font-size:18px;letter-spacing:0;line-height:1.15;margin:0}.toolbar-controls{align-items:center;display:flex;gap:10px}.segmented,.tab-row{background:#eef2f6;border:1px solid hsl(217,22%,90%);border-radius:8px;display:flex;padding:3px}.segmented button,.tab-row button{background:transparent;border:0;border-radius:6px;color:var(--muted);font-size:12px;font-weight:800;height:28px;padding:0 10px;text-transform:capitalize}.segmented button.selected,.tab-row button.active{background:#fff;box-shadow:0 1px 4px #29303d1f;color:var(--primary-dark)}.matrix-scroll{flex:1;min-height:506px;overflow:auto}.semester-matrix-panel{min-height:0}.semester-board-scroll{flex:1;min-height:560px;overflow:auto}.semester-board{display:grid;grid-template-columns:160px 62px repeat(15,minmax(62px,1fr));min-width:1152px}.header-cell,.day-heading,.session-heading,.cohort-name,.term-label,.matrix-cell{border-bottom:1px solid var(--faint);border-right:1px solid var(--faint)}.header-cell{align-items:center;background:#f8fafb;color:var(--muted);display:flex;font-size:12px;font-weight:800;min-height:40px;padding:0 12px}.cohort-sticky{grid-column:1}.term-sticky{grid-column:2}.day-heading{align-items:center;background:#f8fafb;color:var(--ink);display:flex;font-size:13px;font-weight:800;grid-column:span 3;justify-content:center;min-height:40px}.session-heading{align-items:center;background:#fff;color:var(--muted);display:flex;font-size:10px;font-weight:800;justify-content:center;min-height:36px}.cohort-name{background:#f8fafb;display:grid;gap:4px;min-height:82px;padding:10px}.cohort-name:not(.cohort-start){border-bottom-color:#eceff3}.cohort-name strong{font-size:13px}.cohort-name span{color:var(--muted);font-size:11px;line-height:1.35}.term-label{align-items:center;background:#fff;color:var(--primary-dark);display:flex;font-size:12px;font-weight:800;justify-content:center;min-height:82px}.matrix-cell{background:#fff;border-left:0;min-height:82px;padding:6px;text-align:left}.matrix-cell:hover{background:#f6f8fd}.matrix-cell.filled{background:#fcfcfd}.delivery-drawer{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.drawer-section{display:grid;gap:10px;padding:0 18px 18px}.delivery-tile{align-items:start;background:#f1f4fe;border:1px solid hsl(226,48%,80%);border-left:4px solid var(--primary);border-radius:8px;color:var(--ink);display:grid;gap:8px;grid-template-columns:auto 1fr;padding:10px}.delivery-tile.warning{background:#fff7eb;border-color:#f9c56c;border-left-color:var(--warning)}.delivery-tile.danger{background:#fef0f2;border-color:#f39ba4;border-left-color:var(--danger)}.delivery-tile.success{background:#f0faf5;border-color:#98cdb3;border-left-color:var(--success)}.delivery-tile>div{display:grid;gap:4px}.delivery-tile span{color:#4b576c;display:block;font-size:11px;line-height:1.25}.compact-tile{align-items:center;grid-template-columns:1fr;height:100%;justify-items:center;padding:7px;text-align:center}.compact-tile .slot-topline{display:block}.compact-tile .slot-topline strong{font-size:11px;line-height:1}.compact-tile .slot-title{font-size:10px;line-height:1.25}.matrix-grid{display:grid;grid-template-columns:62px repeat(4,minmax(154px,1fr));min-width:760px}.time-axis{border-right:1px solid var(--faint);color:var(--muted);display:grid;font-size:11px;font-weight:700;grid-template-rows:54px repeat(6,82px);padding-top:54px;text-align:right}.time-axis span{padding-right:12px}.cohort-lane{border-right:1px solid var(--faint);min-width:0}.lane-header{background:#f8fafb;border-bottom:1px solid var(--faint);display:grid;gap:3px;height:54px;padding:10px 12px}.lane-header strong{font-size:13px}.lane-header span{color:var(--muted);font-size:11px}.lane-body{height:492px;position:relative}.grid-line{border-bottom:1px solid hsl(216,24%,94%);height:82px}.slot-card{background:#f1f4fe;border:1px solid hsl(226,48%,80%);border-left:4px solid var(--primary);border-radius:8px;box-shadow:0 10px 22px #3d508f1a;color:var(--ink);display:grid;gap:4px;left:10px;padding:10px;position:absolute;right:10px;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border .16s ease}.slot-card:hover,.slot-card.selected{box-shadow:0 14px 30px #32488f33;transform:translateY(-1px)}.slot-card.selected{outline:2px solid hsla(226,70%,48%,.32)}.slot-card.has-capacity{background:#fff7eb;border-color:#f9c56c;border-left-color:var(--warning)}.slot-card.has-teacher{background:#effafb;border-color:#97d2d8;border-left-color:var(--teal)}.slot-card.has-room{background:#fef0f2;border-color:#f39ba4;border-left-color:var(--danger)}.slot-topline{align-items:center;display:flex;justify-content:space-between}.slot-topline strong{font-size:13px}.slot-topline span,.slot-card>span{color:#4b576c;font-size:11px;line-height:1.25}.slot-title{color:var(--ink)!important;font-weight:700}.slot-warning{align-items:center;color:#a92d39;display:inline-flex;font-size:11px;font-weight:800;gap:4px;margin-top:1px}.validation-ribbon{border-top:1px solid var(--faint);display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}.validation-chip{align-items:center;background:#f2f4f8;border-radius:8px;color:var(--muted);display:flex;font-size:12px;font-weight:700;gap:7px;min-height:30px;padding:0 10px}.validation-chip span{color:var(--ink)}.validation-chip.success span{color:var(--success)}.validation-chip.warning span{color:#bc6d06}.validation-chip.danger span{color:var(--danger)}.inspector-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.inspector-header{padding:18px}.eyeless-label{color:var(--primary);display:block;font-size:11px;font-weight:800;margin-bottom:8px;text-transform:uppercase}.inspector-panel .tab-row{margin:0 18px 14px}.inspector-content{display:grid;gap:10px;overflow:auto;padding:0 18px 18px}.field-row,.metric-row{align-items:center;border-bottom:1px solid var(--faint);display:flex;justify-content:space-between;min-height:44px}.field-row span,.metric-row span{color:var(--muted);font-size:12px}.field-row strong,.metric-row strong{font-size:13px;text-align:right}.drawer-actions{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:8px}.status-card{align-items:flex-start;background:#f5f7fa;border:1px solid var(--faint);border-radius:8px;display:flex;gap:10px;padding:12px}.status-card svg{flex:0 0 auto;margin-top:1px}.status-card.success svg{color:var(--success)}.status-card.warning svg{color:#d57b07}.status-card.danger svg{color:var(--danger)}.status-card strong,.candidate-row strong,.report-card strong{display:block;font-size:13px}.status-card span,.candidate-row span,.report-card span,.staff-row span{color:var(--muted);display:block;font-size:12px;line-height:1.4;margin-top:3px}.substitute-list{gap:16px}.substitute-group{display:grid;gap:8px}.group-heading{align-items:center;display:flex;gap:8px;font-size:12px}.candidate-row{align-items:center;background:#f8fafb;border:1px solid var(--faint);border-radius:8px;color:var(--ink);display:flex;justify-content:space-between;padding:11px;text-align:left}.candidate-row b{color:var(--primary);font-size:13px}.route-surface{display:grid;gap:18px;padding:20px}.route-surface.two-column{align-items:start;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(180px,1fr))}.rules-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(190px,1fr))}.rule-card{background:#f8fafb;border:1px solid var(--faint);border-radius:8px;display:grid;gap:7px;padding:14px}.rule-card strong{font-size:14px}.rule-card span,.rule-card small{color:var(--muted);font-size:12px;line-height:1.35}.content-section{box-shadow:none;display:grid;gap:18px;padding:18px}.section-heading,.split-heading{align-items:center;display:flex;gap:12px}.split-heading{justify-content:space-between}.section-icon{align-items:center;background:#eef1fc;border-radius:8px;color:var(--primary);display:grid;height:40px;justify-items:center;width:40px}.week-grid{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(112px,1fr))}.week-tile{background:#fff;border:1px solid var(--faint);border-radius:8px;display:grid;gap:7px;min-height:76px;padding:12px;text-align:left}.week-tile span{color:var(--muted);font-size:12px}.week-tile strong{font-size:13px}.week-tile.study{box-shadow:inset 0 3px 0 var(--success)}.week-tile.break{background:#fff7eb;box-shadow:inset 0 3px 0 var(--warning)}.form-stack{display:grid;gap:12px}.form-field{display:grid;gap:6px}.form-field span{color:var(--muted);font-size:12px;font-weight:700}.form-field input{background:#f8fafb;border:1px solid var(--faint);border-radius:8px;color:var(--ink);height:38px;padding:0 11px}.staff-grid{display:grid;gap:10px}.staff-row{align-items:center;background:#f8fafb;border:1px solid var(--faint);border-radius:8px;display:grid;gap:16px;grid-template-columns:minmax(230px,1.2fr) minmax(180px,1fr) 90px;padding:14px}.gauge{background:#dce2ea;border-radius:999px;height:10px;overflow:hidden}.gauge-fill{background:#7f8b9f;border-radius:inherit;display:block;height:100%}.gauge-fill.good,.gauge-fill.target{background:var(--success)}.gauge-fill.over{background:linear-gradient(90deg,var(--warning),var(--danger))}.tab-row.standalone{justify-self:start}.data-table{border:1px solid var(--faint);border-radius:8px;overflow:hidden}.table-row{background:#fff;border-bottom:1px solid var(--faint);display:grid;gap:14px;grid-template-columns:1.2fr 1fr .8fr .8fr;min-height:54px;padding:0 14px;place-items:center start}.table-row:last-child{border-bottom:0}.table-row span{color:var(--muted);font-size:13px}.table-row .primary-cell{color:var(--ink);font-weight:800}.rollover-flow{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(118px,1fr))}.flow-step{background:#f8fafb;border:1px solid var(--faint);border-radius:8px;display:grid;gap:8px;min-height:92px;padding:14px}.flow-step span{align-items:center;background:#dfe5ec;border-radius:999px;color:var(--muted);display:grid;font-size:12px;font-weight:800;height:26px;justify-items:center;width:26px}.flow-step.done{border-color:#92c9ad}.flow-step.done span{background:var(--success);color:#fff}.report-list{display:grid;gap:10px}.report-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(160px,1fr))}.report-card{background:#f8fafb;border:1px solid var(--faint);border-radius:8px;color:var(--ink);display:grid;gap:8px;min-height:164px;padding:18px;text-align:left}.report-card svg{color:var(--primary)}.report-card small{color:var(--teal);font-size:12px;font-weight:800;margin-top:auto}@media(max-width:1180px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.brand-block div:last-child,.nav-item span,.sidebar-footer span{display:none}.brand-block{justify-content:center;padding-inline:0}.nav-item{justify-content:center;padding:0}.scheduler-layout,.schedule-matrix-layout,.wizard-placement,.route-surface.two-column{grid-template-columns:1fr}.wizard-progress-strip .wiz-step-label,.wizard-topbar-brand span{display:none}.rules-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.inspector-panel{min-height:420px}.topbar-actions{flex-wrap:wrap}}@media(max-width:760px){.launcher-shell{padding:12px}.launcher-panel{padding:20px}.launcher-actions,.form-grid,.rules-grid{grid-template-columns:1fr}.wizard-shell{flex-direction:column}.wizard-topbar{height:auto;padding:12px 14px;flex-wrap:wrap;gap:10px}.wizard-progress-strip{overflow-x:auto;width:100%;justify-content:flex-start;padding-bottom:4px}.wizard-stage{padding:20px 14px 110px}.master-data-floating-apply{right:14px;bottom:14px;min-width:0;max-width:calc(100vw - 28px);padding:10px 12px 10px 10px}.master-data-floating-apply-copy strong{font-size:12px}.master-data-floating-apply-copy span{font-size:10px}.app-shell{display:block;height:auto;max-height:none;overflow:visible}.sidebar{display:none}.workspace{padding:12px;height:auto;overflow:visible}.mobile-menu{align-items:center;background:#fff;border:1px solid var(--faint);border-radius:8px;display:grid;height:40px;justify-items:center;width:40px}.topbar{grid-template-columns:auto 1fr}.topbar-actions{grid-column:1 / -1}.search-box,.select-button,.secondary-button,.primary-button{flex:1 1 160px}.department{display:none}.board-toolbar,.split-heading,.section-heading{align-items:flex-start;flex-direction:column}.toolbar-controls,.drawer-actions{grid-template-columns:1fr;width:100%}.week-grid,.rollover-flow,.report-grid{grid-template-columns:1fr}.matrix-grid{min-width:820px}.semester-board{min-width:1640px}.staff-row,.table-row{grid-template-columns:1fr;place-items:start}}.dropzone-container{border:2px dashed hsl(226,30%,80%);border-radius:var(--radius);padding:30px;text-align:center;background:#fcfcfd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;position:relative;transition:all .25s cubic-bezier(.16,1,.3,1)}.dropzone-container:hover,.dropzone-container.dragging{border-color:var(--primary);background:#f6f8fd}.dropzone-container.dragging{transform:scale(1.02)}.dropzone-icon{color:var(--primary);opacity:.8;margin-bottom:4px}.dropzone-container strong{font-size:15px;color:var(--ink)}.dropzone-container span{font-size:13px;color:var(--muted)}.dropzone-container input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.launcher-error{background:#fef0f2;border:1px solid hsl(354,78%,80%);border-radius:var(--radius);color:var(--danger);font-size:13px;font-weight:500;padding:10px 14px;margin-top:10px}.verification-modal-overlay{background:var(--bg);display:flex;align-items:stretch;justify-content:stretch;overflow:hidden;height:100%;width:100%}.verification-modal{width:100%;height:100%;background:var(--bg);border:0;border-radius:0;box-shadow:none;display:grid;grid-template-rows:1fr;overflow:hidden}.verification-modal-header{padding:16px 24px;border-bottom:1px solid var(--faint);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px}.verification-modal-header h2{font-size:22px;font-weight:800;margin:0;color:var(--ink)}.verification-modal-header p{font-size:13px;color:var(--muted);margin:4px 0 0}.verification-modal-body{display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%;background:var(--bg);padding:0;gap:0}.verification-modal-body.cockpit-columns{display:flex;flex-direction:column;flex:1;overflow:hidden;gap:0;min-width:0;height:100%;position:relative}.master-data-floating-apply{position:fixed;right:24px;bottom:24px;z-index:120;display:inline-flex;align-items:center;gap:12px;min-width:224px;border:1px solid rgba(255,255,255,.34);border-radius:14px;padding:12px 16px 12px 12px;color:#fff;background:linear-gradient(135deg,#1b64da,#4f3ad9);box-shadow:0 18px 42px #0f172a42,0 8px 18px #2563eb38;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.master-data-floating-apply:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 22px 50px #0f172a4d,0 10px 24px #2563eb47}.master-data-floating-apply:active{transform:translateY(0)}.master-data-floating-apply-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#ffffff2e;box-shadow:inset 0 0 0 1px #fff3}.master-data-floating-apply-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;line-height:1.15}.master-data-floating-apply-copy strong{font-size:13px;font-weight:800;letter-spacing:0}.master-data-floating-apply-copy span{margin-top:3px;color:#ffffffd1;font-size:11px;font-weight:650}.cockpit-left-panel{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.cockpit-right-panel{display:flex;gap:0;height:100%;min-height:0;overflow:hidden}.verification-section{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px #00000005;height:100%;min-height:0}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--faint)}.section-header-row h3{font-size:14px;font-weight:700;color:var(--ink);margin:0}.add-entity-btn{background:transparent;border:1px dashed hsl(226,48%,78%);color:var(--primary);display:flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;transition:all .2s ease}.add-entity-btn:hover{background:#f2f4fd;border-color:var(--primary)}.toggle-dup-pill{background:var(--surface);border:1px solid var(--faint);color:var(--muted);border-radius:99px;font-size:10px;font-weight:700;padding:4px 10px;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.toggle-dup-pill:hover{border-color:#b4bfe4;color:var(--ink);background:#f6f7f9}.toggle-dup-pill.active{background:#fdf0d8;border-color:#fbd593;color:#764c05}.toggle-dup-pill.active:hover{background:#fde8c4}.verification-list-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.verification-list-scroll::-webkit-scrollbar,.cockpit-left-panel::-webkit-scrollbar{width:5px}.verification-list-scroll::-webkit-scrollbar-track,.cockpit-left-panel::-webkit-scrollbar-track{background:transparent}.verification-list-scroll::-webkit-scrollbar-thumb,.cockpit-left-panel::-webkit-scrollbar-thumb{background:#c6cad2;border-radius:99px}.verification-item{background:var(--surface);border:1px solid var(--faint);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;position:relative;transition:all .2s ease;box-shadow:0 1px 3px #00000008;min-width:0;width:100%}.verification-item:hover{border-color:#b4bfe4;box-shadow:0 4px 12px #0000000d}.verification-item.duplicate-item{background:#fffbf5;border-color:#fce0b1}.verification-item.duplicate-item.skipped{opacity:.65;border-color:#c6cad2;background:#f6f7f9}.verification-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.verification-item-delete{background:transparent;border:0;color:var(--muted);padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.verification-item-delete:hover{color:var(--danger);background:#feebed}.verification-item-clone-btn,.verification-item-clone{background:transparent;border:0;color:var(--muted);padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.verification-item-clone-btn:hover,.verification-item-clone:hover{color:var(--primary);background:#ebf2fe}.verification-item-usage-btn{align-items:center;background:#eff9fa;border:1px solid hsl(186,42%,84%);border-radius:999px;color:var(--teal);display:inline-flex;font-size:10px;font-weight:800;gap:3px;justify-content:center;min-height:22px;min-width:34px;padding:2px 7px;transition:all .2s ease}.verification-item-usage-btn:hover{background:#daf3f6;border-color:#97d2d8;color:#125f68}.verification-item-body{display:grid;gap:8px;min-width:0;width:100%}.inline-input-group{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.inline-input-group label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;min-width:50px}.inline-input{width:100%;background:#f9fafb;border:1px solid var(--faint);border-radius:4px;padding:4px 8px;font-size:12px;color:var(--ink);outline:none;transition:all .15s ease;min-width:0;text-overflow:ellipsis}textarea.inline-input{line-height:1.35;min-height:58px;resize:vertical}.inline-input.long-text-input{line-height:1.35;min-height:54px}.inline-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 2px #e9edfb;text-overflow:clip}select.inline-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%236b7280%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 8px center;background-size:11px 11px;padding-right:24px;cursor:pointer}select.inline-input:focus{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233b82f6%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E)}.duplicate-badge{display:inline-flex;align-items:center;gap:4px;background:#fdf0d8;color:#764c05;padding:3px 8px;border-radius:99px;font-size:10px;font-weight:700}.verification-item.unassigned-item{border-left:3px solid var(--danger)}.unassigned-badge{display:inline-flex;align-items:center;gap:4px;background:#fdd8dc;color:#87121e;padding:3px 8px;border-radius:99px;font-size:10px;font-weight:700}.override-checkbox-container{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#764c05;margin-top:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.override-checkbox-container input[type=checkbox]{accent-color:var(--warning);width:14px;height:14px;cursor:pointer}.no-data-text{font-size:12px;color:var(--muted);font-style:italic;margin:8px 0;text-align:center}.verification-modal-footer{padding:16px 24px;border-top:1px solid var(--faint);display:flex;justify-content:flex-end;gap:12px;background:var(--surface)}.qualification-tile{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);box-shadow:0 4px 16px #00000008;overflow:hidden;transition:all .25s cubic-bezier(.16,1,.3,1)}.qualification-tile:hover{border-color:#b4bfe4}.qualification-tile-header{padding:16px;display:flex;flex-direction:column;gap:12px;cursor:pointer;background:var(--surface);-webkit-user-select:none;user-select:none}.qualification-tile-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.qualification-tile-title h4{margin:0;font-size:14px;font-weight:700;color:var(--ink);line-height:1.25}.qualification-tile-title span{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}.compliance-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}.compliance-badge.compliant{background:#def7eb;color:#135333}.compliance-badge.non-compliant{background:#fdf0d8;color:#764c05}.qualification-progress-group{display:flex;flex-direction:column;gap:8px}.qualification-progress-row{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:11px;font-weight:600;color:var(--muted)}.progress-bar-container{grid-column:1 / -1;background:#e8ecf3;height:6px;border-radius:99px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:99px;transition:width .3s cubic-bezier(.16,1,.3,1)}.progress-bar-fill.core{background:var(--success)}.progress-bar-fill.elective{background:var(--primary)}.qualification-tile-expand-btn{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:700;color:var(--primary);border-top:1px solid var(--faint);padding:10px;background:transparent;border-bottom:0;border-left:0;border-right:0;width:100%}.qualification-tile-expand-btn svg{transition:transform .25s ease}.qualification-tile-expand-btn.expanded svg{transform:rotate(180deg)}.qualification-tile-details{border-top:1px solid var(--faint);background:#fcfcfd;padding:16px;display:flex;flex-direction:column;gap:16px;max-height:720px;overflow-y:auto;overflow-x:hidden;animation:fadeIn .25s ease}.qualification-tile-details::-webkit-scrollbar{width:5px}.qualification-tile-details::-webkit-scrollbar-track{background:transparent}.qualification-tile-details::-webkit-scrollbar-thumb{background:#c6cad2;border-radius:99px}.qualification-detail-section{display:flex;flex-direction:column;gap:8px}.qualification-detail-section h5{margin:0;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.unit-pills-list{display:flex;flex-wrap:wrap;gap:6px}.unit-pill{font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;display:inline-flex;align-items:center}.unit-pill.present-core{background:#e6f9f0;color:#17633d;border:1px solid hsl(150,62%,84%)}.unit-pill.present-elective{background:#e9edfb;color:#122668;border:1px solid hsl(226,70%,88%)}.unit-pill.missing-core{background:#fdeded;color:#7e1111;border:1px dashed hsl(0,76%,80%)}.qualifications-packaging-suggestion{font-size:12px;line-height:1.4;color:var(--muted);background:var(--surface);border:1px solid var(--faint);border-radius:6px;padding:10px}.auto-fill-standard-banner{background:linear-gradient(135deg,#eef1fc,#f7f8fd);border:1.5px dashed hsl(226,50%,80%);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:8px;animation:fadeIn .3s ease}.auto-fill-standard-banner p{margin:0;font-size:12px;line-height:1.45;color:var(--primary-dark);font-weight:500}.registry-linker-section{background:#f6f7f9;border:1px solid var(--faint);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:12px;margin-top:10px}.registry-linker-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.registry-linker-title{margin:0;font-size:12px;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.5px}.registry-linker-search-box{display:flex;align-items:center;background:var(--surface);border:1px solid var(--faint);border-radius:6px;height:28px;padding:0 8px;width:100%;max-width:220px}.registry-linker-search-box input{border:0;font-size:11px;color:var(--ink);outline:0;width:100%;background:transparent}.registry-linker-search-box svg{color:var(--muted);flex-shrink:0}.registry-linker-grid{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;padding-right:4px}.registry-linker-grid::-webkit-scrollbar{width:4px}.registry-linker-grid::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}.registry-linker-item{background:var(--surface);border:1px solid var(--faint);border-radius:6px;padding:8px 10px;display:grid;grid-template-columns:85px minmax(100px,1fr) auto;align-items:center;gap:12px;transition:border-color .15s ease}.registry-linker-item:hover{border-color:#bfc7e3}.registry-linker-code{font-size:11px;font-weight:700;color:var(--primary-dark);font-family:monospace}.registry-linker-name{font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-link-toggles{display:inline-flex;background:#eaedf1;padding:2px;border-radius:6px;border:1px solid var(--faint)}.unit-link-btn{background:transparent;border:0;font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:4px;color:var(--muted);cursor:pointer;transition:all .15s ease;outline:none}.unit-link-btn:hover{color:var(--ink)}.unit-link-btn.active-core{background:#27a566;color:#fff;box-shadow:0 1px 3px #0000001a}.unit-link-btn.active-elective{background:#254dd0;color:#fff;box-shadow:0 1px 3px #0000001a}.unit-link-btn.active-none{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.unit-card-qual-associations{border-top:1px dashed var(--faint);margin-top:8px;padding-top:8px;display:flex;flex-direction:column;gap:6px}.unit-card-qual-associations-header{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.unit-card-qual-association-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.unit-card-qual-association-code{font-size:11px;font-weight:600;color:var(--ink)}.guided-hero-card{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);padding:42px 34px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 10px 30px #0000000a}.guided-hero-card h2{font-size:24px;font-weight:700;color:var(--ink);margin:0}.guided-hero-card p{font-size:14px;color:var(--muted);max-width:580px;line-height:1.6;margin:0 auto}.import-draft-tile{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);padding:16px 20px;box-shadow:0 4px 16px #00000005;transition:all .25s cubic-bezier(.16,1,.3,1)}.import-draft-tile.expanded{border-color:#bbc5e7;box-shadow:0 8px 24px #e246300d}.import-toggle-trigger{width:100%;background:transparent;border:0;padding:0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;outline:none}.import-toggle-trigger strong{font-size:14px;font-weight:700;color:var(--ink)}.import-toggle-trigger svg{color:var(--primary)}.toggle-badge{font-size:11px;font-weight:700;color:var(--primary);padding:5px 12px;background:#f2f4fd;border-radius:99px;transition:all .2s ease}.import-toggle-trigger:hover .toggle-badge{background:var(--primary);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.semester-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:16px}.week-tile{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:4px;position:relative;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px #00000005}.week-tile:hover{border-color:var(--primary);box-shadow:0 4px 14px #0000000d;transform:translateY(-2px)}.week-tile.break-week{background:#f6f7f9;border-style:dashed!important}.week-tile-badge{font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;width:fit-content;text-transform:uppercase}.week-tile-badge.term-1{background:#e9edfb;color:var(--primary)}.week-tile-badge.term-2{background:#def7eb;color:#135333}.week-tile-badge.break{background:#e3e6e8;color:var(--muted)}.week-holiday-pill{display:inline-flex;align-items:center;gap:4px;background:#fdf0d8;color:#764c05;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700;cursor:help;position:relative;width:fit-content;transition:all .15s ease}.week-holiday-pill:hover{background:#fce6bf}.week-holiday-tooltip{visibility:hidden;background-color:var(--surface);color:var(--ink);border:1px solid var(--faint);text-align:left;border-radius:6px;padding:8px 12px;position:absolute;z-index:10;bottom:125%;left:50%;transform:translate(-50%);width:180px;box-shadow:0 8px 24px #00000014;font-size:11px;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.week-holiday-pill:hover .week-holiday-tooltip{visibility:visible;opacity:1;transform:translate(-50%,-4px)}.cockpit-col{display:contents}.cockpit-col:last-child{border-right:0}.cockpit-col.semester-col,.cockpit-col.qual-col,.cockpit-col.campus-col{max-width:none;width:auto}.cockpit-col-header{grid-column:1;display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;background:#f6f7f9;border-bottom:1px solid var(--faint);font-size:12px;font-weight:700;color:var(--ink);text-align:left;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease;min-height:72px;border-right:1px solid var(--faint)}.cockpit-col-header:hover{background:#f2f4fd}.cockpit-col-header:focus-visible{outline:2px solid hsl(226,70%,78%);outline-offset:-2px}.cockpit-col.is-expanded .cockpit-col-header{background:#eef1fc;border-right-color:#95a5da;box-shadow:inset 3px 0 0 var(--primary)}.cockpit-col-header>span{line-height:1.25}.cockpit-col-body{position:relative;inset:auto;height:100%;min-height:0;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;background:var(--surface);border:0}.cockpit-col-body::-webkit-scrollbar{width:4px}.cockpit-col-body::-webkit-scrollbar-track{background:transparent}.cockpit-col-body::-webkit-scrollbar-thumb{background:#ccd0d7;border-radius:99px}.grouping-toolbar{display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:8px;background:#f6f7f9;border:1px solid var(--faint);border-radius:8px;padding:8px 10px}.grouping-toolbar label{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.cohort-grouping-toolbar{grid-template-columns:auto minmax(140px,220px) auto minmax(140px,220px);justify-content:start}.cockpit-info-banner{display:flex;align-items:flex-start;gap:6px;background:#fff9f0;border:1px solid hsl(38,92%,85%);border-radius:6px;padding:8px 10px;font-size:11px;color:#7b5514;line-height:1.4;margin-bottom:2px}.cockpit-dup-pill{background:#fdf0d8;color:#764c05;border-radius:99px;font-size:10px;font-weight:700;padding:2px 7px;white-space:nowrap}.campus-chip{display:flex;align-items:center;gap:6px;background:#f6f7f9;border:1px solid var(--faint);border-radius:6px;padding:7px 10px;font-size:12px;color:var(--ink);font-weight:500}.entity-group{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.entity-group-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:7px 8px;border:1px solid var(--faint);border-radius:8px;background:#f9fafb;cursor:pointer;text-align:left}.entity-group-header:hover{background:#f2f4fd;border-color:#bbc5e7}.entity-group-title{display:inline-flex;align-items:center;gap:5px;min-width:0}.entity-group-header svg:last-child{flex:0 0 auto;transition:transform .16s ease}.entity-group.is-collapsed .entity-group-header svg:last-child{transform:rotate(-90deg)}.entity-group-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,320px));gap:8px;align-items:stretch;justify-content:start;overflow:hidden;max-height:12000px;opacity:1;transition:max-height var(--motion-slow) var(--motion-ease-emphasized),opacity var(--motion-fast) var(--motion-ease-standard),margin var(--motion-base) var(--motion-ease-standard),padding var(--motion-base) var(--motion-ease-standard)}.entity-group-body.is-expanded{overflow:visible}.entity-group-body.is-collapsed{max-height:0;opacity:0}.qualifications-col-body .entity-group-body{grid-template-columns:repeat(auto-fill,minmax(312px,384px))}.cockpit-col.is-expanded .entity-group-body{grid-template-columns:repeat(auto-fill,minmax(260px,320px))}.cockpit-col.is-expanded.qualifications-col-body .entity-group-body{grid-template-columns:repeat(auto-fill,minmax(312px,384px))}.cockpit-columns.expanded-1 .cockpit-col.is-expanded .entity-group-body{grid-template-columns:repeat(auto-fill,minmax(260px,320px))}.cockpit-columns.expanded-1 .cockpit-col.is-expanded.qualifications-col-body .entity-group-body{grid-template-columns:repeat(auto-fill,minmax(312px,384px))}.cockpit-columns.expanded-1 .cockpit-col.is-expanded .qualification-tile-details{max-height:min(58vh,640px)}.cockpit-columns.expanded-1 .cockpit-col.is-expanded .verification-item-body{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tt-deck-cards,.tt-teacher-details{overflow:hidden;transition:max-height var(--motion-base) var(--motion-ease-emphasized),opacity var(--motion-fast) var(--motion-ease-standard),margin var(--motion-base) var(--motion-ease-standard),padding var(--motion-base) var(--motion-ease-standard),border-color var(--motion-fast) var(--motion-ease-standard)}.tt-deck-cards.is-expanded{max-height:1200px;opacity:1}.tt-deck-cards.is-collapsed{max-height:0;opacity:0;padding-top:0!important;padding-bottom:0!important}.tt-teacher-details.is-expanded{max-height:800px;opacity:1}.tt-teacher-details.is-collapsed{max-height:0;opacity:0;margin-top:0!important;padding-top:0!important;border-top-color:transparent!important}.inline-input.field-error{border-color:#eb4758;background:#fff5f6}.inline-input.field-error:focus{box-shadow:0 0 0 2px #fdd8dc}.unparsed-badge{display:inline-flex;align-items:center;gap:4px;background:#fdd8dc;color:#87121e;padding:3px 8px;border-radius:99px;font-size:10px;font-weight:700}.cohort-id-display{background:#f0f2f5;border:1px solid var(--faint);border-radius:4px;padding:4px 8px;font-size:11px;color:var(--muted);font-family:Courier New,monospace;font-weight:600;letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-deliveries-btn{display:flex;align-items:center;gap:5px;background:#eef1fc;border:1px dashed hsl(226,48%,72%);color:var(--primary);border-radius:6px;padding:6px 10px;font-size:11px;font-weight:700;width:100%;text-align:left;transition:all .2s ease;cursor:pointer}.map-deliveries-btn:hover:not(:disabled){background:#e1e6fa;border-color:var(--primary);transform:translateY(-1px)}.map-deliveries-btn:disabled{opacity:.45;cursor:not-allowed}.delivery-count-badge{margin-left:auto;background:var(--primary);color:#fff;border-radius:99px;padding:2px 7px;font-size:10px;font-weight:700}.constraint-toggle-btn{display:flex;align-items:center;gap:5px;background:#f6f7f9;border:1px solid var(--faint);border-radius:6px;color:var(--muted);font-size:11px;font-weight:600;padding:5px 8px;width:100%;text-align:left;cursor:pointer;transition:all .15s ease;margin-top:2px}.constraint-toggle-btn:hover{background:#f2f4fd;border-color:#acb9e2;color:var(--ink)}.constraint-section{display:flex;flex-direction:column;gap:8px;background:#f6f7f9;border:1px solid var(--faint);border-radius:6px;padding:10px;animation:fadeIn .18s ease}.constraint-block{display:flex;flex-direction:column;gap:4px}.constraint-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.day-checkbox-row,.campus-checkbox-list{display:flex;flex-wrap:wrap;gap:5px}.day-checkbox{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--faint);border-radius:4px;padding:3px 7px;-webkit-user-select:none;user-select:none;transition:all .15s ease}.day-checkbox:has(input:checked){background:#fee2e4;border-color:#eb848e;color:#721d25}.day-checkbox input[type=checkbox]{display:none}.deliveries-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:3000;animation:modalFadeIn .2s ease}.deliveries-modal{background:var(--surface);border-radius:var(--radius);box-shadow:0 24px 80px #00000029;width:min(1180px,100%);height:min(85vh,900px);max-height:calc(100vh - 32px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;animation:modalSlideIn .24s cubic-bezier(.16,1,.3,1)}@supports (height: 100dvh){.deliveries-modal{height:min(85dvh,900px);max-height:calc(100dvh - 32px)}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.deliveries-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--faint);background:var(--surface)}.deliveries-modal-header h3{font-size:16px;font-weight:850;color:var(--ink);margin:0;display:flex;align-items:center;gap:8px}.deliveries-modal-body{display:grid;grid-template-columns:330px 1fr;padding:0;overflow:hidden;height:100%;min-height:0;background:var(--bg)}.deliveries-modal-sidebar{border-right:1px solid var(--faint);overflow-y:auto;display:flex;flex-direction:column;background:var(--surface);padding:16px;gap:16px;height:100%;min-height:0}.deliveries-modal-sidebar::-webkit-scrollbar{width:4px}.deliveries-modal-sidebar::-webkit-scrollbar-thumb{background:#ccd0d7;border-radius:99px}.cluster-creator-box{background:#f6f8fd;border:1px dashed hsl(226,48%,80%);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;animation:fadeIn .2s ease}.cluster-creator-title{font-size:10px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0}.cluster-unit-select-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink);cursor:pointer;padding:4px 0}.cluster-unit-select-row input{accent-color:var(--primary);cursor:pointer}.delivery-items-list{display:flex;flex-direction:column;gap:8px}.delivery-group-container{display:flex;flex-direction:column;gap:4px;background:#f6f8fd26;border:1px solid var(--faint);border-radius:8px;padding:4px}.delivery-group-header-card{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid transparent;border-radius:6px;padding:10px 12px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.delivery-group-header-card:hover{background:#f1f3f9}.delivery-group-header-card.active-group{border-color:#a8b9f066;background:#fbfbfe}.delivery-group-parts-list{display:flex;flex-direction:column;gap:4px;padding-left:12px;margin-top:2px;border-left:2px solid var(--faint);margin-left:17px;margin-bottom:4px}.delivery-part-card{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--faint);border-radius:6px;padding:8px 10px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.delivery-part-card:hover{border-color:#acb9e2}.delivery-part-card.selected{background:#f6f8fd;border-color:var(--primary);box-shadow:0 2px 8px #6366f10a}.delivery-item-card{display:flex;align-items:flex-start;gap:10px;background:var(--surface);border:1px solid var(--faint);border-radius:8px;padding:12px;cursor:pointer;position:relative;transition:all .2s cubic-bezier(.16,1,.3,1)}.delivery-item-card:hover{border-color:#acb9e2;transform:translateY(-1px);box-shadow:0 4px 12px #00000008}.delivery-item-card.selected{background:#f6f8fd;border-color:var(--primary);box-shadow:0 4px 16px #6366f10f}.delivery-add-custom-card{width:100%;border-style:dashed;text-align:left;color:inherit}.delivery-add-custom-card:hover{background:#fbfbfe}.delivery-add-custom-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:1px;border-radius:6px;background:#eef1fc;color:var(--primary);flex-shrink:0}.delivery-item-card-checkbox{margin-top:3px;accent-color:var(--primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.delivery-item-card-content{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.delivery-item-card-title{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-item-card-subtitle{font-size:10px;color:var(--muted);font-family:monospace;font-weight:600}.delivery-item-card-meta{font-size:10px;color:var(--muted);margin-top:2px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.delivery-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px;text-transform:uppercase}.delivery-badge.cluster{background:#f1e1fa;color:#5e1782}.delivery-badge.single{background:#e0e6eb;color:var(--muted)}.delivery-badge.mapped{background:#def7eb;color:#17633d}.delivery-badge.pending{background:#fdf0d8;color:#764c05}.delivery-badge.split{background:#e1f1fa;color:#175e82}.break-cluster-btn{background:transparent;border:0;color:#c32222;cursor:pointer;padding:2px;border-radius:4px;opacity:.6;transition:all .15s ease;margin-left:auto}.break-cluster-btn:hover{opacity:1;background:#fbe9e9}.deliveries-modal-config-pane{overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px;height:100%}.deliveries-modal-config-pane::-webkit-scrollbar{width:4px}.deliveries-modal-config-pane::-webkit-scrollbar-thumb{background:#ccd0d7;border-radius:99px}.config-section-card{background:var(--surface);border:1px solid var(--faint);border-radius:var(--radius);padding:20px;box-shadow:0 1px 3px #00000003;display:flex;flex-direction:column;gap:14px}.config-section-title{font-size:13px;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;display:flex;align-items:center;gap:6px}.timeline-strip-container{display:flex;flex-direction:column;gap:8px}.timeline-week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(36px,1fr));gap:6px;background:var(--bg);border:1px solid var(--faint);border-radius:8px;padding:10px}.timeline-week-cell{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.timeline-week-cell input{display:none}.timeline-week-bubble{width:30px;height:30px;border-radius:6px;border:1px solid var(--faint);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--muted);transition:all .15s cubic-bezier(.16,1,.3,1)}.timeline-week-cell:hover .timeline-week-bubble{border-color:var(--primary);color:var(--primary)}.timeline-week-cell.active .timeline-week-bubble{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 6px #6366f140}.week-type-dot{width:5px;height:5px;border-radius:50%;display:block}.week-type-dot.term1{background:var(--primary)}.week-type-dot.term2{background:#27a566}.week-type-dot.break{background:#bfbfbf;border:1px dashed hsl(0,0%,55%)}.preset-strip{display:flex;flex-wrap:wrap;gap:6px}.preset-btn{font-size:10px;font-weight:700;padding:4px 10px;border-radius:6px;border:1px solid var(--faint);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .15s ease}.preset-btn:hover{border-color:var(--primary);color:var(--primary);background:#f6f8fd}.resource-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:768px){.resource-config-grid{grid-template-columns:1fr}}.compliance-alert{display:flex;align-items:flex-start;gap:8px;background:#fdf2f2;border:1px solid hsl(0,76%,86%);color:#7e1111;padding:10px 12px;border-radius:6px;font-size:11px;line-height:1.4;margin-top:4px}.capacity-alert{display:flex;align-items:flex-start;gap:8px;background:#fef7eb;border:1px solid hsl(38,92%,84%);color:#694911;padding:10px 12px;border-radius:6px;font-size:11px;line-height:1.4;margin-top:4px}.deliveries-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--faint);background:#f9fafb;gap:10px}.delivery-session-chip{display:flex;align-items:center;gap:4px;background:var(--bg);border:1px solid var(--faint);border-radius:6px;padding:4px 8px}.delivery-marking-panel{gap:12px}.delivery-marking-panel-header,.delivery-marking-source-header{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.delivery-marking-panel-header>div,.delivery-marking-source-header>div{display:grid;gap:3px;min-width:0}.delivery-marking-panel-header span,.delivery-marking-source-header span,.delivery-marking-empty,.delivery-marking-missing{color:var(--muted);font-size:11px;line-height:1.35}.delivery-marking-source-list{display:grid;gap:10px}.delivery-marking-source-card{background:#f9fafb;border:1px solid var(--faint);border-radius:8px;display:grid;gap:10px;min-width:0;padding:10px}.delivery-marking-controls,.delivery-marking-missing{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.delivery-marking-controls label,.delivery-marking-task-name label,.delivery-marking-attempt label{align-items:center;color:var(--muted);display:flex;font-size:10px;font-weight:750;gap:5px;text-transform:uppercase;white-space:nowrap}.delivery-marking-controls input{height:26px;width:58px}.delivery-marking-task-matrix{border:1px solid var(--faint);border-radius:7px;overflow-x:auto;background:var(--surface)}.delivery-marking-task-header,.delivery-marking-task-row{align-items:stretch;display:grid;gap:0;grid-template-columns:minmax(180px,1.05fr) minmax(190px,1fr) minmax(190px,1fr) 70px;min-width:700px}.delivery-marking-task-header{background:#f2f5f7;border-bottom:1px solid var(--faint);color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.delivery-marking-task-header span,.delivery-marking-task-name,.delivery-marking-attempt,.delivery-marking-total{border-right:1px solid var(--faint);padding:8px}.delivery-marking-task-header span:last-child,.delivery-marking-total{border-right:0}.delivery-marking-task-row+.delivery-marking-task-row{border-top:1px solid var(--faint)}.delivery-marking-task-name,.delivery-marking-attempt{align-items:center;display:flex;flex-wrap:wrap;gap:7px;min-width:0}.delivery-marking-task-name>.inline-input{flex:1 1 130px;min-width:120px}.delivery-marking-task-name label input,.delivery-marking-attempt input{height:26px;width:58px}.delivery-marking-attempt strong{color:var(--ink);font-size:11px;margin-left:auto;white-space:nowrap}.delivery-marking-attempt.is-disabled{background:#f6f7f9;color:var(--muted)}.delivery-marking-attempt.is-disabled input{opacity:.58}.delivery-marking-total{align-items:center;display:flex;font-size:12px;justify-content:flex-end;white-space:nowrap}@keyframes pulse-highlight{0%{box-shadow:0 0 #6366f166;border-color:#6366f1cc}70%{box-shadow:0 0 0 8px #6366f100;border-color:#6366f166}to{box-shadow:0 0 #6366f100;border-color:#6366f1cc}}.guided-pulse{animation:pulse-highlight 2s infinite ease-in-out!important;border:1px solid var(--primary)!important;position:relative;z-index:10}.guided-pulse-badge{background:var(--wiz-accent, var(--primary));color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:99px;text-transform:uppercase;letter-spacing:.5px;margin-left:8px;animation:pulse-glow 1.5s infinite ease-in-out;display:inline-flex;align-items:center;box-shadow:0 0 6px #6366f14d}@keyframes pulse-glow{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.pulse-dot{width:8px;height:8px;background:var(--wiz-accent, var(--primary));border-radius:50%;display:inline-block;box-shadow:0 0 #6366f1b3;animation:pulse-dot-anim 1.6s infinite cubic-bezier(.66,0,0,1);vertical-align:middle;margin-right:6px}@keyframes pulse-dot-anim{to{box-shadow:0 0 0 8px #6366f100}}.template-presets-container{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.template-presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.template-preset-card{background:var(--surface);border:1px solid var(--faint);border-radius:8px;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;position:relative;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px #00000005}.template-preset-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 24px #6366f114}.template-preset-card-header{display:flex;align-items:center;justify-content:space-between;gap:4px}.template-preset-card-title{font-size:11.5px;font-weight:750;color:var(--ink)}.template-preset-card-badge{font-size:8px;font-weight:700;padding:1px 4px;border-radius:4px;background:#e9edfb;color:var(--primary)}.template-preset-card-timeline{display:flex;gap:2px;background:var(--bg);border-radius:4px;padding:4px}.template-preset-week-dot{width:5px;height:5px;border-radius:50%;display:block}.template-preset-week-dot.active-t1{background:var(--primary)}.template-preset-week-dot.active-t2{background:#27a566}.template-preset-week-dot.break-dot{background:#ccc}.template-preset-week-dot.inactive{background:transparent;border:1px solid var(--faint)}.template-preset-card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.template-preset-card-btn{font-size:10px;font-weight:700;color:var(--primary);background:transparent;border:0;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:2px;transition:all .15s ease}.template-preset-card-btn:hover{color:var(--primary-dark);text-decoration:underline}.template-preset-card-delete{background:transparent;border:0;color:#c32222;cursor:pointer;padding:2px;border-radius:4px;opacity:.5;transition:all .15s ease}.template-preset-card-delete:hover{opacity:1;background:#fbe9e9}.tt-scheduler{--tt-label-width: 244px;--tt-hour-width: 44px;--tt-day-width: calc(var(--tt-hour-width) * 13);--tt-week-width: calc(var(--tt-day-width) * 5)}.tt-grid-shell{min-width:calc(var(--tt-label-width) + var(--tt-week-width));width:100%}.tt-grid-header{display:grid;grid-template-columns:var(--tt-label-width) 1fr}.tt-row-heading{align-items:end;min-height:94px;position:sticky;left:0;z-index:130;background:#f8fafb;border-bottom:1px solid var(--faint)}.tt-week-heading{display:grid;grid-template-columns:repeat(5,1fr)}.tt-day-column-header{display:grid;grid-template-rows:30px 30px 34px;min-width:0}.tt-day-title,.tt-day-macros,.tt-day-column-header .tt-hour-row{border-left:2px solid hsl(221,26%,34%)}.tt-day-title{align-items:center;background:#fff;border-bottom:1px solid var(--faint);color:var(--ink);display:flex;font-size:calc(12px * var(--tt-font-scale, 1));font-weight:850;justify-content:center;text-transform:uppercase}.tt-day-macros{display:grid;grid-template-columns:repeat(26,1fr);min-width:0}.tt-day-column-header .tt-macro-block{align-items:center;justify-content:center;border-left:1px solid hsl(217,18%,82%);color:#475366;display:flex;font-size:calc(10px * var(--tt-font-scale, 1));font-weight:850;grid-row:auto;text-transform:uppercase}.tt-day-column-header .tt-macro-block.morning{grid-column:1 / span 8}.tt-day-column-header .tt-macro-block.afternoon{border-left:2px solid hsl(217,18%,84%);grid-column:9 / span 12}.tt-day-column-header .tt-macro-block.evening{border-left:2px solid hsl(217,18%,84%);grid-column:21 / span 6}.tt-day-column-header .tt-hour-row{display:grid;grid-template-columns:repeat(13,1fr)}.tt-day-column-header .tt-hour-row span{border-left:1px dashed hsl(217,18%,78%);color:var(--muted);font-size:calc(9px * var(--tt-font-scale, 1));font-weight:750;padding:calc(9px * var(--tt-font-scale, 1)) 0 0 0;text-align:center}.tt-day-column-header .tt-hour-row span:nth-child(5),.tt-day-column-header .tt-hour-row span:nth-child(11){border-left:2px solid hsl(217,18%,84%)}.tt-row-group{display:grid;grid-template-columns:var(--tt-label-width) 1fr}.tt-row-label{min-height:var(--tt-row-height, 84px)}.tt-week-row{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible}.tt-week-row .tt-lane{border-left:2px solid hsl(221,26%,34%);grid-template-columns:repeat(26,1fr);min-height:var(--tt-row-height, 84px)}.tt-week-row .tt-lane-grid{grid-template-columns:repeat(26,1fr)}.tt-week-row .tt-lane-grid span{min-height:var(--tt-row-height, 84px)}.tt-week-row .tt-delivery-card.placed{min-height:44px;padding:6px 7px}.tt-week-row .tt-delivery-card.placed.compact-card{padding:5px}.tt-week-row .tt-delivery-card.placed.narrow-card{padding:4px}.tt-week-row .tt-delivery-card.placed.hyper-narrow-card{padding:3px}.tt-view-both-terms{--tt-both-terms-row-height: calc(var(--tt-row-height, 84px) * 2)}.tt-view-both-terms .tt-row-group{min-height:var(--tt-both-terms-row-height)}.tt-view-both-terms .tt-row-group.tt-group-header-row{height:44px;min-height:44px}.tt-view-both-terms .tt-row-label,.tt-week-row.is-both-terms,.tt-week-row.is-both-terms .tt-lane{min-height:var(--tt-both-terms-row-height)}.tt-view-both-terms .tt-row-group.tt-group-header-row .tt-row-label{height:44px;min-height:44px}.tt-week-row.is-both-terms .tt-lane-grid span{min-height:var(--tt-both-terms-row-height);height:100%}.tt-week-row.is-both-terms .tt-lane{grid-template-rows:repeat(2,minmax(0,1fr))}.tt-week-row.is-both-terms .tt-lane-grid{grid-row:1 / -1;height:100%}.tt-week-row.is-both-terms .tt-lane:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid hsl(217,18%,86%);pointer-events:none;z-index:1}.tt-term-band-guides{position:absolute;inset:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));pointer-events:none;z-index:1}.tt-term-band-guides span{align-self:start;justify-self:start;margin:4px 0 0 5px;border:1px solid hsl(217,18%,86%);border-radius:4px;background:#ffffffd1;color:var(--muted);font-size:8px;font-weight:850;line-height:1;padding:2px 4px;text-transform:uppercase}.tt-week-row.is-both-terms .tt-delivery-card.placed{min-height:min(54px,calc(var(--tt-row-height, 84px) - 8px));cursor:default}.tt-week-row.is-both-terms .tt-delivery-card.placed.cross-term-card{align-self:stretch;min-height:min(92px,calc(var(--tt-row-height, 84px) * 2 - 8px));box-shadow:0 10px 24px #24304c24}.tt-week-row.is-both-terms .tt-delivery-card.placed.cross-term-card:after{content:"";position:absolute;left:-4px;top:calc(50% - 1px);width:4px;border-top:2px solid currentColor;opacity:.36;pointer-events:none}.tt-week-row.is-both-terms .tt-delivery-card.placed.term-slot-stacked{align-content:stretch;box-shadow:0 5px 12px #24304c1a;cursor:grab;margin:0;padding:2px 5px 2px 8px}.tt-card-stack-layout{align-items:center;display:grid;column-gap:2px;grid-template-areas:"unit teacher" "time room" "weeks empty";grid-template-columns:minmax(0,1fr) minmax(18px,42%);grid-template-rows:repeat(3,minmax(0,1fr));height:100%;min-width:0;overflow:hidden;row-gap:0}.tt-card-stack-layout strong,.tt-card-stack-layout span,.tt-card-stack-layout small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-card-stack-layout strong{font-size:calc(10px * var(--tt-font-scale, 1));font-weight:850;grid-area:unit;line-height:1;min-width:0}.tt-card-stack-layout span{color:#5c6d8a;font-size:calc(8px * var(--tt-font-scale, 1));font-weight:850;line-height:1}.tt-card-stack-layout small{align-self:center;color:#5c6b7a;font-size:calc(8px * var(--tt-font-scale, 1));font-weight:750;grid-area:teacher;line-height:1;max-width:100%;min-width:0;justify-self:end;text-align:right}.tt-card-stack-teacher.is-unassigned{background:#f0f2f4;border:1px solid hsl(210,14%,80%);border-radius:4px;font-weight:700;padding:1px 4px}.tt-card-stack-time{grid-area:time}.tt-card-stack-weeks{grid-area:weeks;text-align:left}.tt-card-stack-room{color:#475366;font-size:calc(7.75px * var(--tt-font-scale, 1));font-weight:750;grid-area:room;justify-self:end;line-height:1;max-width:100%;min-width:0;text-align:right}.tt-week-row.is-both-terms .tt-delivery-card.placed.term-slot-stacked.hyper-short-stack{padding:2px 3px 2px 6px}.tt-delivery-card.placed.term-slot-stacked.hyper-short-stack .tt-card-stack-layout{column-gap:2px;grid-template-columns:minmax(0,1fr) minmax(14px,40%)}.tt-delivery-card.placed.term-slot-stacked.hyper-short-stack .tt-card-stack-layout strong{font-size:calc(8.5px * var(--tt-font-scale, 1))}.tt-delivery-card.placed.term-slot-stacked.hyper-short-stack .tt-card-stack-layout span,.tt-delivery-card.placed.term-slot-stacked.hyper-short-stack .tt-card-stack-layout small{font-size:calc(7.25px * var(--tt-font-scale, 1))}.tt-delivery-card.placed.term-slot-stacked.hyper-short-stack .tt-card-stack-layout small{max-width:100%}.tt-delivery-card.placed.term-slot-stacked.hyper-short-stack .tt-card-stack-teacher.is-unassigned{padding:1px 3px}@media(max-width:980px){.tt-scheduler{--tt-label-width: 224px;--tt-hour-width: 40px}.tt-row-heading{min-height:94px}}.tt-zoom-control{align-items:center;background:#f8fafb;border:1px solid var(--faint);border-radius:var(--radius);color:var(--ink);display:inline-flex;gap:6px;height:36px;padding:0 8px;transition:all .2s cubic-bezier(.16,1,.3,1)}.tt-zoom-control:hover{border-color:#c3cad5;background:#f2f5f8}.tt-zoom-btn{align-items:center;background:transparent;border:0;border-radius:4px;color:var(--muted);cursor:pointer;display:inline-flex;height:24px;justify-content:center;padding:0;transition:all .15s ease;width:24px}.tt-zoom-btn:hover:not(:disabled){background:#dbe0e6;color:var(--ink)}.tt-zoom-btn:disabled{color:#bdc5d180;cursor:not-allowed}.tt-zoom-slider{-webkit-appearance:none;appearance:none;background:#d5dae2;border-radius:999px;cursor:pointer;height:4px;outline:none;transition:background .15s ease;width:90px}.tt-zoom-slider::-webkit-slider-runnable-track{background:transparent}.tt-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary);border:0;border-radius:50%;height:12px;transition:transform .1s ease,background-color .1s ease;width:12px}.tt-zoom-slider::-moz-range-thumb{background:var(--primary);border:0;border-radius:50%;height:12px;transition:transform .1s ease,background-color .1s ease;width:12px}.tt-zoom-slider:hover::-webkit-slider-thumb{background:var(--primary-dark, hsl(226, 70%, 40%));transform:scale(1.15)}.tt-zoom-slider:hover::-moz-range-thumb{background:var(--primary-dark, hsl(226, 70%, 40%));transform:scale(1.15)}.tt-zoom-slider::-webkit-slider-thumb:active{transform:scale(1.3)}.tt-zoom-slider::-moz-range-thumb:active{transform:scale(1.3)}.tt-day-column-header:last-child .tt-day-title,.tt-day-column-header:last-child .tt-day-macros,.tt-day-column-header:last-child .tt-hour-row{border-right:2px solid hsl(221,26%,34%)}.tt-week-row .tt-lane:last-child{border-right:2px solid hsl(221,26%,34%)}.tt-portal-menu-backdrop{position:fixed;inset:0;z-index:9998;background:transparent;cursor:default}.tt-portal-menu{position:fixed;z-index:9999;background:var(--surface);border:1px solid var(--faint);border-radius:8px;box-shadow:0 10px 25px -5px #0f172a1f,0 8px 16px -6px #0f172a1f;min-width:220px;padding:4px;display:flex;flex-direction:column;gap:2px;animation:tt-menu-fade .15s cubic-bezier(.16,1,.3,1)}.tt-portal-menu.delivery-menu{min-width:254px;max-width:280px;background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(226,232,240,.8);border-radius:12px;box-shadow:0 12px 30px -4px #0f172a1f,0 4px 12px -2px #0f172a14,0 0 0 1px #00000005;padding:8px;gap:6px;overflow:visible;border-top:4px solid var(--menu-accent-color, var(--primary));transition:border-top-color .2s ease}.tt-portal-menu.delivery-menu.batch-menu{max-width:280px}.tt-portal-menu.batch-menu .portal-variable-group{position:relative}.tt-batch-warning{align-items:flex-start;background:#fef7eb;border:1px solid hsla(38,92%,52%,.38);border-radius:7px;color:#885c11;display:flex;font-size:10.5px;font-weight:700;gap:6px;line-height:1.35;margin:0 4px 2px;padding:7px 8px}.tt-batch-warning svg{flex-shrink:0;margin-top:1px}.tt-portal-menu.delivery-menu:before{content:"";position:absolute;top:-12px;left:var(--arrow-left, 50%);transform:translate(-50%);border-width:0 8px 8px 8px;border-style:solid;border-color:transparent transparent var(--menu-accent-color, var(--primary)) transparent;width:0;height:0;z-index:116;transition:left .1s ease,border-bottom-color .2s ease}.tt-menu-header{padding:4px 6px 8px;border-bottom:1px solid var(--faint);display:flex;flex-direction:column;gap:3px}.tt-menu-header-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tt-menu-unit-title{font-size:13px;font-weight:850;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.tt-menu-duration-badge{font-size:9px;font-weight:800;padding:1.5px 6px;border-radius:99px;background:var(--menu-accent-bg, hsl(226, 70%, 95%));color:var(--menu-accent-color, var(--primary));flex-shrink:0;text-transform:uppercase}.tt-menu-subtitle{font-size:9.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:4px}.tt-menu-divider{height:1px;background:var(--faint);margin:3px 0}.tt-portal-clash-section{background:#fff5f6;border-radius:6px;border:1px solid hsl(354,70%,84%);display:flex;flex-direction:column;gap:2px;margin:2px 0;overflow:hidden}.tt-portal-clash-info{align-items:flex-start;color:#981f2b;display:flex;font-size:10px;gap:6px;line-height:1.4;padding:7px 10px 5px}.tt-portal-clash-info svg{flex-shrink:0;margin-top:1px}.tt-portal-menu-btn.clash-resolve{background:#fff5f6;color:#7e111c;font-weight:800}.tt-portal-menu-btn.clash-resolve:hover{background:#fddde0;color:#630d16}.tt-portal-menu-btn.danger.secondary{color:#b23845;font-weight:600}.tt-portal-menu-btn.danger.secondary:hover{background:#fef0f2;color:#87121e}@keyframes tt-menu-fade{0%{opacity:0;transform:scale(.95) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}.tt-portal-menu-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:0;border-radius:6px;color:var(--ink);font-size:13px;font-weight:600;text-align:left;transition:background .12s ease,color .12s ease}.tt-portal-menu-btn:hover{background:#eff2f6;color:var(--primary)}.tt-portal-menu-btn.active{background:#eef1fc;color:var(--primary)}.tt-portal-menu-btn.danger:hover{background:#fef0f2;color:var(--danger)}.tt-portal-modal-backdrop{position:fixed;inset:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1010}@keyframes tt-fade-in{0%{opacity:0}to{opacity:1}}.tt-portal-modal-container{position:fixed;z-index:1020;background:var(--surface);border:1px solid var(--faint);border-radius:12px;box-shadow:0 20px 40px -10px #0f172a33,0 0 1px 1px #0000000d;width:440px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;animation:tt-modal-scale .25s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes tt-modal-scale{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tt-portal-modal-header{padding:18px 20px;border-bottom:1px solid var(--faint);display:flex;align-items:center;justify-content:space-between}.tt-portal-modal-header h3{margin:0;font-size:16px;font-weight:800;color:var(--ink)}.tt-portal-modal-header span{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.02em}.tt-portal-modal-body{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.tt-portal-modal-footer{padding:16px 20px;border-top:1px solid var(--faint);background:#f8fafb;display:flex;align-items:center;justify-content:flex-end;gap:10px}.tt-form-group{display:flex;flex-direction:column;gap:6px}.tt-form-group.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tt-form-group label{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.02em}.tt-form-input{width:100%;height:38px;padding:0 12px;border:1px solid var(--faint);border-radius:6px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:600;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.tt-form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #254dd01f}.tt-form-textarea{width:100%;padding:10px 12px;border:1px solid var(--faint);border-radius:6px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:600;outline:none;resize:vertical;min-height:70px;transition:border-color .15s ease,box-shadow .15s ease}.tt-form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #254dd01f}.tt-form-select{width:100%;height:38px;padding:0 32px 0 12px;border:1px solid var(--faint);border-radius:6px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:600;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='hsl(218, 12%25, 43%25)' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;transition:border-color .15s ease,box-shadow .15s ease}.tt-form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #254dd01f}.tt-days-selector{display:flex;flex-direction:column;gap:6px}.tt-days-grid{display:flex;flex-wrap:wrap;gap:6px}.tt-day-toggle-btn{flex:1;min-width:50px;height:32px;border:1px solid var(--faint);border-radius:6px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease}.tt-day-toggle-btn:hover{background:#f2f5f8;border-color:#c3cad5}.tt-day-toggle-btn.active{background:#fee2e4;border-color:#ef8a94;color:#901420}.tt-delivery-card:hover,.tt-drawer-card:hover{box-shadow:0 4px 12px #24304c1f;transform:translateY(-1px)}.tt-row-label{cursor:pointer;transition:background .15s ease}.tt-row-label:hover{background:#f5f7f9!important}.tt-delivery-card,.tt-drawer-card{cursor:pointer}@keyframes importWizardFadeIn{0%{opacity:0}to{opacity:1}}@keyframes importWizardSlideUp{0%{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes importShimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes importPulse{0%,to{opacity:1}50%{opacity:.55}}.import-wizard-overlay{position:fixed;inset:0;background:#0c111c9e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9000;animation:importWizardFadeIn .22s ease}.import-wizard-modal{background:var(--surface);border-radius:14px;box-shadow:0 32px 96px #0c111c38,0 0 0 1px #161f320f;width:min(1120px,96vw);height:min(92vh,940px);max-height:calc(100vh - 32px);min-height:0;display:flex;flex-direction:column;overflow:hidden;animation:importWizardSlideUp .28s cubic-bezier(.16,1,.3,1)}@supports (height: 100dvh){.import-wizard-modal{height:min(92dvh,940px);max-height:calc(100dvh - 32px)}}.import-wizard-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:18px 24px;border-bottom:1px solid var(--faint);background:var(--surface)}.import-wizard-header-brand{display:flex;align-items:center;gap:10px}.import-wizard-header-icon{width:36px;height:36px;background:linear-gradient(135deg,#2650d9,#6d2cdd);border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #2650d947}.import-wizard-header-text h2{font-size:16px;font-weight:850;color:var(--ink);margin:0 0 1px;line-height:1.2}.import-wizard-header-text p{font-size:11.5px;color:var(--muted);margin:0}.import-wizard-file-badge{display:flex;align-items:center;gap:7px;background:#f2f4fd;border:1px solid hsl(226,48%,84%);border-radius:8px;padding:6px 12px;font-size:11px;font-weight:600;color:var(--primary);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-wizard-steps{display:flex;align-items:stretch;flex:0 0 auto;background:#f7f9fa;border-bottom:1px solid var(--faint);padding:0 24px;gap:0;overflow:hidden}.import-wizard-step-tab{display:flex;align-items:center;gap:9px;padding:12px 18px 12px 0;font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer;border:0;background:transparent;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s ease,border-color .2s ease;white-space:nowrap;position:relative}.import-wizard-step-tab+.import-wizard-step-tab{padding-left:18px}.import-wizard-step-tab:hover:not(.active):not(.locked){color:var(--ink)}.import-wizard-step-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.import-wizard-step-tab.locked{opacity:.38;cursor:not-allowed}.import-wizard-step-tab.done .iw-step-num{background:var(--success);color:#fff}.iw-step-num{width:22px;height:22px;border-radius:50%;background:#dddfe4;color:var(--muted);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,color .2s ease}.import-wizard-step-tab.active .iw-step-num{background:var(--primary);color:#fff}.iw-step-divider{width:28px;height:1px;background:var(--faint);align-self:center;flex-shrink:0;margin:0 2px}.import-wizard-step-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:24px;display:flex;flex-direction:column;gap:18px}.import-wizard-step-body>*{flex:0 0 auto}.import-wizard-step-body::-webkit-scrollbar{width:7px}.import-wizard-step-body::-webkit-scrollbar-track{background:#f3f5f7}.import-wizard-step-body::-webkit-scrollbar-thumb{background:#b5bbc5;border-radius:99px}.import-wizard-step-body::-webkit-scrollbar-thumb:hover{background:#8d96a5}.import-wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:14px 24px;border-top:1px solid var(--faint);background:#fafbfc}.import-wizard-footer-left{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.import-wizard-footer-right{display:flex;align-items:center;gap:8px}.iw-summary-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.iw-summary-card{background:var(--surface);border:1px solid var(--faint);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.iw-summary-card:hover{border-color:#acb9e2;box-shadow:0 2px 8px #2650d912}.iw-summary-card.trimmed{background:#f6f6f6;border-color:#d1d1d1;opacity:.55;text-decoration:line-through}.iw-summary-card.trimmed .iw-summary-card-count{color:#737373}.iw-summary-card-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.iw-summary-card-count{font-size:22px;font-weight:850;color:var(--ink);line-height:1}.iw-summary-card-sub{font-size:10.5px;color:var(--muted)}.iw-summary-card.has-conflicts{border-color:#facd80;background:#fffcf7}.iw-summary-card.has-conflicts .iw-summary-card-count{color:#8c6117}.iw-summary-card.all-clear{border-color:#9ce8c2;background:#f9fefb}.iw-summary-card.all-clear .iw-summary-card-count{color:#1d7c4d}.iw-category-section{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--faint);border-radius:10px;overflow:hidden;box-shadow:0 1px 2px #161f3208;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.iw-category-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f7f9fa;border-bottom:1px solid var(--faint);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.iw-category-section.is-collapsed .iw-category-header{border-bottom:none;background:linear-gradient(90deg,#f4f6fd 0,#f4f6f8);box-shadow:inset 4px 0 #95a5da;min-height:48px}.iw-category-header:hover{background:#f2f4fd}.iw-category-section.is-collapsed .iw-category-header:hover{background:linear-gradient(90deg,#eef1fc 0,#eef1f4)}.iw-category-section.is-collapsed{border-color:#c9cfd9;box-shadow:0 2px 7px #161f320f}.iw-category-header-title{font-size:12.5px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:7px;flex:1;min-width:0}.iw-cat-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.3px}.iw-cat-badge.incoming{background:#e1e6fa;color:#18338b}.iw-cat-badge.conflict{background:#fdf0d8;color:#7b5514}.iw-cat-badge.clean{background:#def7eb;color:#1b7447}.iw-cat-badge.new{background:#eae1fa;color:#452183}.iw-category-action-select{font-size:11px;font-weight:600;color:var(--ink);border:1px solid var(--faint);border-radius:6px;padding:5px 9px;background:var(--surface);cursor:pointer;transition:border-color .15s ease;min-width:180px}.iw-category-action-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2650d924}.iw-conflict-list{display:flex;flex-direction:column;gap:0}.iw-conflict-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--faint);transition:background .12s ease}.iw-conflict-row:last-child{border-bottom:0}.iw-conflict-row:hover{background:#f9fafb}.iw-conflict-row.new-item{background:#fcfbfe}.iw-conflict-side{display:flex;flex-direction:column;gap:2px;min-width:0}.iw-conflict-side-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:1px}.iw-conflict-side.active-side .iw-conflict-side-label{color:#2043b6}.iw-conflict-side.incoming-side .iw-conflict-side-label{color:#23955c}.iw-conflict-value{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iw-conflict-sub{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iw-conflict-diff-indicator{font-size:9px;font-weight:700;background:#fdf0d8;color:#7b5514;padding:2px 6px;border-radius:4px;white-space:nowrap}.iw-conflict-choice{display:flex;gap:4px;align-items:center}.iw-choice-btn{font-size:10px;font-weight:700;padding:4px 9px;border-radius:5px;border:1px solid var(--faint);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .14s ease;white-space:nowrap}.iw-choice-btn:hover{border-color:var(--primary);color:var(--primary)}.iw-choice-btn.selected-keep{background:#e9edfb;border-color:var(--primary);color:var(--primary)}.iw-choice-btn.selected-replace{background:#e6f9f0;border-color:#5ad899;color:#1b7447}.iw-choice-btn.selected-skip{background:#f0f0f0;border-color:#bdbdbd;color:#666;text-decoration:line-through}.iw-new-item-row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--faint);transition:background .12s ease}.iw-new-item-row:last-child{border-bottom:0}.iw-new-item-row:hover{background:#fcfbfe}.iw-new-item-check{accent-color:var(--primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.iw-new-item-label{font-size:12px;font-weight:600;color:var(--ink);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iw-new-item-sub{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iw-trim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.iw-trim-category{background:var(--surface);border:1px solid var(--faint);border-radius:10px;overflow:hidden}.iw-trim-category-header{display:flex;align-items:center;gap:8px;padding:11px 14px;background:#f7f9fa;border-bottom:1px solid var(--faint);font-size:12px;font-weight:800;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.iw-trim-category-header:hover{background:#ebeef2}.iw-trim-category-count{margin-left:auto;font-size:10px;font-weight:700;color:var(--muted);background:#e7eaee;border-radius:99px;padding:2px 7px}.iw-trim-items{display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.iw-delivery-group,.iw-delivery-subgroup{border-bottom:1px solid hsla(217,18%,88%,.5)}.iw-delivery-subgroup:last-child,.iw-delivery-group:last-child{border-bottom:0}.iw-delivery-group-header,.iw-delivery-subgroup-header{width:100%;background:#f9fafb;color:var(--ink);display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:11px;font-weight:700}.iw-delivery-subgroup-header{background:#fcfcfd;padding-left:18px}.iw-delivery-group-header:hover,.iw-delivery-subgroup-header:hover{background:#f5f7f9}.iw-delivery-group-toggle,.iw-delivery-subgroup-toggle{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:8px;width:100%;cursor:pointer;padding:0}.iw-delivery-group-actions{display:inline-flex;align-items:center;gap:2px;margin-left:6px}.iw-delivery-action-btn{border:0;background:transparent;color:var(--muted);border-radius:4px;padding:0 4px;font-size:9.5px;font-weight:700;line-height:1.8;cursor:pointer}.iw-delivery-action-btn:hover{color:var(--primary);background:#2650d914}.iw-delivery-group-title,.iw-delivery-subgroup-title{text-align:left}.iw-delivery-group-count,.iw-delivery-subgroup-count{margin-left:auto;color:var(--muted);font-size:10px;font-weight:700;background:#e7eaee;border-radius:99px;padding:2px 7px}.iw-delivery-subgroup .iw-trim-item{padding-left:28px}.iw-trim-items::-webkit-scrollbar{width:4px}.iw-trim-items::-webkit-scrollbar-thumb{background:#ccd0d7;border-radius:99px}.iw-trim-item{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid hsla(217,18%,88%,.5);cursor:pointer;transition:background .12s ease;-webkit-user-select:none;user-select:none}.iw-trim-item:last-child{border-bottom:0}.iw-trim-item:hover{background:#f9fafb}.iw-trim-item.trimmed{opacity:.48;text-decoration:line-through}.iw-trim-item-check{accent-color:var(--primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.iw-trim-item-name{font-size:12px;font-weight:600;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iw-trim-item-sub{font-size:10px;color:var(--muted)}.iw-dep-warning{display:flex;align-items:flex-start;gap:9px;background:#fff9f0;border:1px solid hsl(38,92%,82%);border-radius:8px;padding:12px 14px;font-size:11.5px;color:#724f13;line-height:1.5;animation:importWizardFadeIn .18s ease}.iw-dep-warning svg{flex-shrink:0;margin-top:1px}.iw-dep-warning strong{font-weight:800}.iw-dep-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.iw-dep-chip{background:#fdf0d8;border:1px solid hsl(38,72%,76%);border-radius:5px;padding:1px 7px;font-size:10px;font-weight:700;color:#724f13}.iw-findreplace-bar{display:flex;align-items:center;gap:8px;background:#f4f6fd;border:1px solid hsl(226,48%,84%);border-radius:9px;padding:10px 14px}.iw-findreplace-input{flex:1;border:1px solid var(--faint);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--ink);background:var(--surface);transition:border-color .15s ease;min-width:0}.iw-findreplace-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2650d924}.iw-findreplace-arrow{color:var(--muted);flex-shrink:0}.iw-findreplace-apply-btn{background:var(--primary);color:#fff;border:0;border-radius:6px;padding:7px 14px;font-size:11.5px;font-weight:700;cursor:pointer;transition:opacity .15s ease,transform .12s ease;white-space:nowrap}.iw-findreplace-apply-btn:hover{opacity:.88}.iw-findreplace-apply-btn:active{transform:scale(.97)}.iw-cat-tabs{display:flex;gap:4px;flex-wrap:wrap}.iw-cat-tab{font-size:11.5px;font-weight:700;padding:6px 14px;border-radius:7px;border:1px solid var(--faint);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .15s ease}.iw-cat-tab:hover{border-color:#acb9e2;color:var(--ink)}.iw-cat-tab.active{background:#eef1fc;border-color:var(--primary);color:var(--primary)}.iw-rename-table{background:var(--surface);border:1px solid var(--faint);border-radius:10px;overflow:hidden}.iw-rename-table-head{display:grid;grid-template-columns:1fr 36px 1fr auto;gap:0;padding:9px 14px;background:#f7f9fa;border-bottom:1px solid var(--faint);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.iw-rename-row{display:grid;grid-template-columns:1fr 36px 1fr auto;gap:8px;align-items:center;padding:8px 14px;border-bottom:1px solid hsla(217,18%,88%,.5);transition:background .12s ease}.iw-rename-row:last-child{border-bottom:0}.iw-rename-row:hover{background:#fafbfc}.iw-rename-original{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f6f7f9;border:1px solid var(--faint);border-radius:5px;padding:5px 9px;font-family:Courier New,monospace}.iw-rename-input{width:100%;border:1px solid var(--faint);border-radius:6px;padding:5px 9px;font-size:12px;font-weight:600;color:var(--ink);background:var(--surface);font-family:Courier New,monospace;transition:border-color .15s ease}.iw-rename-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2650d924}.iw-rename-input.changed{border-color:#62da9e;background:#f9fefb}.iw-rename-arrow{display:flex;align-items:center;justify-content:center;color:var(--muted)}.iw-rename-ref-count{font-size:10px;font-weight:700;background:#e7eaee;color:var(--muted);border-radius:99px;padding:2px 7px;white-space:nowrap}.iw-rename-ref-count.has-refs{background:#dce3f9;color:#18338b}.iw-renamed-indicator{font-size:9px;font-weight:700;background:#def7eb;color:#1b7447;border-radius:4px;padding:2px 6px}.iw-purge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.iw-purge-card{background:var(--surface);border:2px solid var(--faint);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.iw-purge-card:hover{border-color:#acb9e2;box-shadow:0 4px 16px #2650d912;transform:translateY(-2px)}.iw-purge-card.active{border-color:var(--primary);background:#f6f8fd;box-shadow:0 4px 20px #2650d91f}.iw-purge-card.danger-mode{border-color:#ee818c;background:#fff7f8}.iw-purge-card.danger-mode.active{border-color:var(--danger);background:#fef3f4;box-shadow:0 4px 20px #e331421f}.iw-purge-card-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.iw-purge-card-icon.room-icon{background:linear-gradient(135deg,#2650d9,#6d2cdd);box-shadow:0 4px 12px #2650d940}.iw-purge-card-icon.teacher-icon{background:linear-gradient(135deg,#e33142,#f36e20);box-shadow:0 4px 12px #e3314240}.iw-purge-card-title{font-size:14px;font-weight:800;color:var(--ink)}.iw-purge-card-desc{font-size:12px;color:var(--muted);line-height:1.5}.iw-purge-card-stat{font-size:11px;font-weight:700;color:var(--muted);background:#f3f5f7;border-radius:6px;padding:6px 10px}.iw-purge-card-stat.has-data{background:#fef3e2;color:#845b15}.iw-purge-toggle{display:flex;align-items:center;gap:8px;margin-top:auto}.iw-purge-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.iw-purge-toggle-label{font-size:12px;font-weight:700;color:var(--ink);cursor:pointer}.iw-cohort-purge-picker{background:var(--surface);border:1px solid var(--faint);border-radius:10px;overflow:hidden}.iw-cohort-purge-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:#f7f9fa;border-bottom:1px solid var(--faint);font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.iw-cohort-purge-list{max-height:200px;overflow-y:auto}.iw-cohort-purge-list::-webkit-scrollbar{width:4px}.iw-cohort-purge-list::-webkit-scrollbar-thumb{background:#ccd0d7;border-radius:99px}.iw-cohort-purge-item{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid hsla(217,18%,88%,.4);cursor:pointer;transition:background .12s ease;-webkit-user-select:none;user-select:none}.iw-cohort-purge-item:last-child{border-bottom:0}.iw-cohort-purge-item:hover{background:#fafbfc}.iw-cohort-purge-item input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.iw-cohort-purge-name{font-size:12px;font-weight:600;color:var(--ink);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iw-cohort-purge-sub{font-size:10.5px;color:var(--muted)}.iw-info-banner{display:flex;align-items:flex-start;gap:9px;background:#f4f6fd;border:1px solid hsl(226,48%,86%);border-radius:8px;padding:11px 14px;font-size:11.5px;color:#293c7a;line-height:1.5}.iw-info-banner svg{flex-shrink:0;margin-top:1px}.iw-success-banner{display:flex;align-items:flex-start;gap:9px;background:#f3fcf7;border:1px solid hsl(150,62%,80%);border-radius:8px;padding:11px 14px;font-size:11.5px;color:#17633d;line-height:1.5}.iw-danger-banner{display:flex;align-items:flex-start;gap:9px;background:#fff2f4;border:1px solid hsl(354,76%,84%);border-radius:8px;padding:11px 14px;font-size:11.5px;color:#7a1f28;line-height:1.5}.iw-section-title{font-size:12px;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px;margin:0}.iw-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 24px;color:var(--muted);text-align:center}.iw-empty-state-icon{font-size:28px;opacity:.4}.iw-empty-state p{font-size:13px;font-weight:600;margin:0;color:var(--muted)}.iw-review-complete{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;text-align:center}.iw-review-complete-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#2bb670,#239ca9);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #27a56647}.iw-review-complete h3{font-size:18px;font-weight:850;color:var(--ink);margin:0}.iw-review-complete p{font-size:13px;color:var(--muted);margin:0;max-width:360px;line-height:1.6}.iw-final-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;width:100%;max-width:600px}.iw-final-summary-card{background:var(--surface);border:1px solid var(--faint);border-radius:9px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.iw-final-summary-card-num{font-size:24px;font-weight:850;color:var(--primary)}.iw-final-summary-card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);text-align:center}.tt-portal-menu-btn.variable-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:6px;transition:all .15s ease;cursor:pointer}.tt-portal-menu-btn.variable-btn:hover{background:#eff2f6}.tt-portal-menu-btn.variable-btn .variable-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.tt-portal-menu-btn.variable-btn .variable-label{font-weight:700;color:var(--ink);font-size:13px}.tt-portal-menu-btn.variable-btn .variable-value{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;margin-left:auto;padding-right:4px}.tt-portal-menu-btn.variable-btn.unassigned{background:#f5a3140d;border:1px dashed hsla(38,92%,52%,.4)}.tt-portal-menu-btn.variable-btn.unassigned .variable-value{color:var(--warning);font-style:italic}.tt-portal-menu-btn.variable-btn.unassigned:hover{background:#f5a3141a}.tt-portal-menu-btn.variable-btn.clash{background:#e331420f;border:1px solid hsla(354,76%,54%,.3)}.tt-portal-menu-btn.variable-btn.clash .variable-label,.tt-portal-menu-btn.variable-btn.clash .variable-value{color:var(--danger);font-weight:700}.tt-portal-menu-btn.variable-btn.clash:hover{background:#e331421f}.tt-portal-menu-btn.variable-btn.warning{background:#f5a3140f;border:1px solid hsla(38,92%,52%,.3)}.tt-portal-menu-btn.variable-btn.warning .variable-label,.tt-portal-menu-btn.variable-btn.warning .variable-value{color:var(--warning)}.tt-portal-menu-btn.variable-btn.warning:hover{background:#f5a3141f}.tt-portal-dropdown-list{background:var(--surface);border:1px solid var(--faint);border-radius:8px;box-shadow:0 10px 25px #00000026;max-height:180px;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:3px;margin:4px 6px;animation:tt-dropdown-fade .15s cubic-bezier(.16,1,.3,1)}.tt-batch-option-line{align-items:center;display:flex;font-size:11.5px;font-weight:750;justify-content:space-between;width:100%}.tt-batch-option-meta{align-items:center;color:var(--muted);display:flex;font-size:9px;font-weight:600;justify-content:space-between;width:100%}.tt-batch-option-reason{font-size:9px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-batch-option-reason.warning{color:var(--warning)}.tt-batch-option-reason.clash{color:var(--danger)}.tt-option-status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.tt-option-status-dot.ok{background:var(--success)}.tt-option-status-dot.warning{background:var(--warning)}.tt-option-status-dot.clash{background:var(--danger)}.tt-room-score-pill{background:#254dd017;border-radius:4px;font-size:9px;font-weight:850;padding:1px 5px}@keyframes tt-dropdown-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes cohort-card-pulse{0%,to{border-color:var(--faint);box-shadow:none;background-color:var(--surface);transform:scale(1)}20%,60%{border-color:var(--primary);box-shadow:0 0 0 6px #254dd040,0 10px 25px #e2b37a26;background-color:#254dd00d;transform:scale(1.02)}40%,80%{border-color:var(--primary);box-shadow:0 0 0 12px #254dd066,0 10px 25px #e2b37a40;background-color:#254dd01a;transform:scale(1.035)}}.cohort-pulse-highlight{z-index:10;position:relative;animation:cohort-card-pulse 4s cubic-bezier(.16,1,.3,1) ease-in-out;transition:transform .3s ease}.verification-item.add-card-placeholder,.qualification-tile.add-card-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;border:2px dashed var(--faint);border-radius:var(--radius);background:#f9fafb66;color:var(--primary);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);gap:10px;box-shadow:none!important;border-left:2px dashed var(--faint)!important}.verification-item.add-card-placeholder:hover,.qualification-tile.add-card-placeholder:hover{background:#254dd00a;border-color:var(--primary)!important;border-style:dashed!important;box-shadow:0 4px 16px #e2463014!important;transform:translateY(-2px)}.add-card-icon-container{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#eef1fc;color:var(--primary);transition:all .25s ease}.verification-item.add-card-placeholder:hover .add-card-icon-container,.qualification-tile.add-card-placeholder:hover .add-card-icon-container{background:var(--primary);color:#fff;transform:scale(1.08) rotate(90deg)}.add-card-label{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--primary)}.tt-drawer-card.tt-dragging-source,.tt-cohort-deck.tt-deck-empty-dragging{position:absolute!important;pointer-events:none!important;opacity:0!important;height:0!important;width:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}.sidebar-border-hover-zone{position:absolute;top:0;bottom:0;right:-10px;width:20px;cursor:pointer;z-index:1000;background:transparent;display:flex;align-items:center;justify-content:center}.sidebar-border-hover-zone:before{content:"";position:absolute;top:0;bottom:0;left:9px;width:2px;background:var(--primary);opacity:0;transition:opacity .2s cubic-bezier(.16,1,.3,1)}.sidebar-border-indicator{position:absolute;top:345px;transform:translateY(-50%) scale(.7);right:-12px;width:24px;height:80px;background:var(--surface);border:1px solid var(--faint);border-radius:99px;box-shadow:var(--shadow-sm),0 4px 12px #00000014;display:flex;align-items:center;justify-content:center;color:var(--muted);opacity:0;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),background-color .15s,color .15s;pointer-events:none}.sidebar-border-hover-zone:hover:before{opacity:.45}.sidebar-border-hover-zone:hover .sidebar-border-indicator{opacity:1;transform:translateY(-50%) scale(1)}.sidebar-border-hover-zone:active .sidebar-border-indicator{transform:translateY(-50%) scale(.92);background:var(--primary-faint);color:var(--primary)}.drawer-border-hover-zone{position:absolute;top:0;bottom:0;left:-10px;width:20px;cursor:pointer;z-index:1000;background:transparent;display:flex;align-items:center;justify-content:center}.drawer-border-hover-zone:before{content:"";position:absolute;top:0;bottom:0;right:9px;width:2px;background:var(--primary);opacity:0;transition:opacity .2s cubic-bezier(.16,1,.3,1)}.drawer-border-indicator{position:absolute;top:271px;transform:translateY(-50%) scale(.7);left:-12px;width:24px;height:80px;background:var(--surface);border:1px solid var(--faint);border-radius:99px;box-shadow:var(--shadow-sm),0 4px 12px #00000014;display:flex;align-items:center;justify-content:center;color:var(--muted);opacity:0;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),background-color .15s,color .15s;pointer-events:none}.drawer-border-hover-zone:hover:before{opacity:.45}.drawer-border-hover-zone:hover .drawer-border-indicator{opacity:1;transform:translateY(-50%) scale(1)}.drawer-border-hover-zone:active .drawer-border-indicator{transform:translateY(-50%) scale(.92);background:var(--primary-faint);color:var(--primary)}.custom-select-container{position:relative;width:100%}.custom-select-trigger{width:100%;background:#f9fafb;border:1px solid var(--faint);border-radius:4px;height:38px;padding:0 28px 0 8px;display:flex;align-items:center;position:relative;transition:all .15s ease;cursor:pointer}.custom-select-container.is-small .custom-select-trigger{height:24px;padding:0 20px 0 6px;border-radius:4px}.custom-select-trigger:focus-within{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 2px #e9edfb}.custom-select-trigger.field-error{border-color:var(--danger)!important}.custom-select-trigger.field-error:focus-within{box-shadow:0 0 0 2px #fdd8dc!important}.custom-select-input{background:transparent;border:0;color:var(--ink);font-size:12px;font-family:inherit;font-weight:500;outline:none;width:100%;padding:0;height:100%;cursor:pointer}.custom-select-container.is-small .custom-select-input{font-size:11px}.custom-select-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;transition:transform .2s ease,color .15s;display:flex;align-items:center}.custom-select-container.is-small .custom-select-arrow{right:6px}.custom-select-container.is-open .custom-select-arrow{transform:translateY(-50%) rotate(180deg);color:var(--primary)}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--faint);border-radius:4px;box-shadow:var(--shadow);z-index:2000;max-height:200px;overflow-y:auto;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1)}.custom-select-dropdown.open-up{top:auto;bottom:calc(100% + 4px);transform:translateY(4px)}.custom-select-container.is-open .custom-select-dropdown{opacity:1;transform:translateY(0);pointer-events:auto}.custom-select-container.is-open .custom-select-dropdown.open-up{transform:translateY(0)}.custom-select-option{padding:8px 10px;font-size:12px;font-weight:500;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .1s,color .1s}.custom-select-container.is-small .custom-select-option{padding:5px 8px;font-size:11px}.custom-select-option:hover,.custom-select-option.is-focused{background:var(--surface-2)}.custom-select-option.is-selected{background:#f2f4fd;color:var(--primary);font-weight:600}.custom-select-option.is-selected.is-focused{background:#e5eafa}.custom-select-no-results{padding:10px 12px;font-size:11px;color:var(--muted);text-align:center;font-style:italic}.custom-select-container.variant-inline .custom-select-trigger{border:0;background:transparent;padding:0;height:auto;box-shadow:none!important}.custom-select-container.variant-inline .custom-select-input{font-weight:700;font-size:13px;color:var(--ink);width:auto;max-width:140px}.custom-select-container.variant-inline .custom-select-dropdown{left:-10px;width:180px;top:calc(100% + 8px)}.custom-select-container.variant-inline .custom-select-dropdown.open-up{top:auto;bottom:calc(100% + 8px)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.verification-item-lookup-btn{background:transparent;border:0;padding:0;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease,color .15s ease}.verification-item-lookup-btn:hover{color:var(--success);transform:scale(1.15)}.verification-item-lookup-btn:active{transform:scale(.95)}@keyframes selected-pulse{0%{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--selected-outline-color, var(--primary)),0 8px 24px #4f46e559}50%{box-shadow:0 0 0 2px var(--surface),0 0 0 5.5px var(--selected-outline-color, var(--primary)),0 12px 32px #4f46e58c;transform:scale(1.01)}to{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--selected-outline-color, var(--primary)),0 8px 24px #4f46e559}}.tt-delivery-card.placed.selected{animation:selected-pulse 2s infinite ease-in-out;z-index:110!important;transition:transform .2s ease-in-out}.tt-delivery-card.placed.room-audit-card{position:relative;overflow:visible!important}.tt-delivery-card.placed.room-audit-missing,.tt-delivery-card.placed.room-audit-clash,.tt-delivery-card.placed.room-audit-over{border-left-width:6px;border-color:#ce1c2e6b!important;border-left-color:var(--danger)!important;background:linear-gradient(135deg,#fff5f6,#fff)!important;box-shadow:0 8px 18px #a2162424,inset 0 0 0 1px #ce1c2e14}.tt-delivery-card.placed.room-audit-clash{background:repeating-linear-gradient(135deg,hsla(354,76%,56%,.12) 0 6px,transparent 6px 12px),linear-gradient(135deg,#fff5f6,#fff)!important}.tt-delivery-card.placed.room-audit-tbc,.tt-delivery-card.placed.room-audit-campus{border-left-width:6px;border-color:#ce850961!important;border-left-color:var(--warning)!important;background:linear-gradient(135deg,#fef9f0,#fff)!important;box-shadow:0 8px 18px #9e6a101f,inset 0 0 0 1px #ce850914}.tt-delivery-card.placed.room-audit-ok{border-color:#21975c2e}.tt-room-audit-badge{align-items:center;display:inline-flex;justify-content:center;position:absolute;right:-34px;top:50%;transform:translateY(-50%);z-index:4000;width:34px;height:24px;min-width:34px;min-height:24px;border-radius:0 8px 8px 0;padding:0 7px;font-size:clamp(8px,calc(9px * var(--tt-font-scale, 1)),10px);font-weight:900;line-height:1.05;writing-mode:horizontal-tb;white-space:nowrap;overflow:visible;text-overflow:ellipsis;pointer-events:none;box-shadow:0 2px 5px #1d273e1f}.tt-delivery-card.placed.has-note-control .tt-room-audit-badge-right{top:calc(50% + 34px)}.tt-room-audit-badge-left-top{left:-34px;right:auto;top:7px;transform:none;border-radius:8px 0 0 8px}.tt-room-audit-badge span{display:inline-block;line-height:1;min-width:max-content;white-space:nowrap}.tt-room-audit-badge-missing,.tt-room-audit-badge-clash,.tt-room-audit-badge-over{background:#feebed;color:#991522;border:1px solid hsla(354,76%,46%,.24)}.tt-room-audit-badge-tbc,.tt-room-audit-badge-campus{background:#fef3e2;color:#82570d;border:1px solid hsla(38,92%,42%,.24)}.tt-room-audit-badge-ok{background:#e8f7f0;color:#1a7547;border:1px solid hsla(150,64%,36%,.24)}.tt-delivery-card.placed.room-audit-card.hyper-narrow-card .tt-room-audit-badge,.tt-delivery-card.placed.room-audit-card.hyper-short-card .tt-room-audit-badge,.tt-delivery-card.placed.room-audit-card.term-slot-stacked .tt-room-audit-badge{right:-30px;width:30px;height:22px;min-width:30px;min-height:22px;padding:0 6px;font-size:8px;border-radius:0 7px 7px 0}.tt-delivery-card.placed.room-audit-card.hyper-narrow-card .tt-room-audit-badge-left-top,.tt-delivery-card.placed.room-audit-card.hyper-short-card .tt-room-audit-badge-left-top,.tt-delivery-card.placed.room-audit-card.term-slot-stacked .tt-room-audit-badge-left-top{left:-30px;right:auto;top:5px;border-radius:7px 0 0 7px}.tt-delivery-card.placed.has-note-control.room-audit-card.hyper-narrow-card .tt-room-audit-badge-right,.tt-delivery-card.placed.has-note-control.room-audit-card.hyper-short-card .tt-room-audit-badge-right,.tt-delivery-card.placed.has-note-control.room-audit-card.term-slot-stacked .tt-room-audit-badge-right{top:calc(50% + 30px)}body,#root,.tt-scheduler,.tt-workspace,.tt-scroll,.tt-grid-shell,.tt-lane{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}input,textarea,[contenteditable=true],.inline-input,.custom-select-input{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.tt-scheduler,.tt-grid-shell,.tt-grid-header,.tt-hour-row,.tt-lane,.tt-lane-grid,.tt-row-group,.tt-week-navigation,.tt-active-week-label,.tt-zoom-control{transition:grid-template-columns var(--motion-base) var(--motion-ease-emphasized),min-width var(--motion-base) var(--motion-ease-emphasized),width var(--motion-base) var(--motion-ease-emphasized),transform var(--motion-fast) var(--motion-ease-standard),opacity var(--motion-fast) var(--motion-ease-standard),background-color var(--motion-fast) var(--motion-ease-standard),border-color var(--motion-fast) var(--motion-ease-standard),box-shadow var(--motion-fast) var(--motion-ease-standard)}.tt-grid-shell{transform-origin:top left;will-change:transform}.tt-scheduler.tt-zooming-in .tt-grid-shell{transform:scale(1.004)}.tt-scheduler.tt-zooming-out .tt-grid-shell{transform:scale(.996)}.tt-active-week-label{position:relative}.tt-active-week-label.is-week-forward,.tt-active-week-label.is-term-forward,.tt-active-week-label.is-week-backward,.tt-active-week-label.is-term-backward{animation:ttWeekBadgePulse .28s var(--motion-ease-emphasized)}.tt-scheduler.tt-view-week-forward .tt-grid-header,.tt-scheduler.tt-view-week-forward .tt-grid-body,.tt-scheduler.tt-view-term-forward .tt-grid-header,.tt-scheduler.tt-view-term-forward .tt-grid-body{animation:ttSchedulerShiftForward .28s var(--motion-ease-emphasized)}.tt-scheduler.tt-view-week-backward .tt-grid-header,.tt-scheduler.tt-view-week-backward .tt-grid-body,.tt-scheduler.tt-view-term-backward .tt-grid-header,.tt-scheduler.tt-view-term-backward .tt-grid-body{animation:ttSchedulerShiftBackward .28s var(--motion-ease-emphasized)}.term-cycle-btn{opacity:.86}.term-cycle-btn:hover:not(:disabled){opacity:1}.tt-view-mode-toggle{display:inline-flex;align-items:center;gap:2px;padding:2px;background:var(--surface);border:1px solid var(--faint);border-radius:6px}.tt-view-mode-btn{border:0;background:transparent;color:var(--muted);border-radius:4px;cursor:pointer;font-size:10px;font-weight:800;height:22px;line-height:1;padding:0 7px}.tt-view-mode-btn:hover{color:var(--ink);background:#f3f5f7}.tt-view-mode-btn.active{background:var(--primary);color:#fff}.tt-both-terms-summary{display:inline-flex;align-items:center;gap:5px;border-left:1px solid var(--faint);margin-left:2px;padding-left:7px}.tt-both-terms-summary span{display:inline-flex;align-items:center;gap:4px;min-height:22px;border:1px solid var(--faint);border-radius:4px;background:var(--surface);color:var(--muted);font-size:9px;font-weight:750;padding:0 6px;white-space:nowrap}.tt-both-terms-summary strong{color:var(--ink);font-size:10px;font-weight:850}@keyframes ttSchedulerShiftForward{0%{opacity:.92;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes ttSchedulerShiftBackward{0%{opacity:.92;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes ttWeekBadgePulse{0%{transform:translateY(4px) scale(.985);opacity:.88}to{transform:translateY(0) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.tt-scheduler,.tt-grid-shell,.tt-grid-header,.tt-hour-row,.tt-lane,.tt-lane-grid,.tt-row-group,.tt-week-navigation,.tt-active-week-label,.tt-zoom-control{transition:none!important}.tt-scheduler.tt-view-week-forward .tt-grid-header,.tt-scheduler.tt-view-week-forward .tt-grid-body,.tt-scheduler.tt-view-term-forward .tt-grid-header,.tt-scheduler.tt-view-term-forward .tt-grid-body,.tt-scheduler.tt-view-week-backward .tt-grid-header,.tt-scheduler.tt-view-week-backward .tt-grid-body,.tt-scheduler.tt-view-term-backward .tt-grid-header,.tt-scheduler.tt-view-term-backward .tt-grid-body,.tt-active-week-label.is-week-forward,.tt-active-week-label.is-term-forward,.tt-active-week-label.is-week-backward,.tt-active-week-label.is-term-backward{animation:none!important}}.publish-modal-overlay{position:fixed;inset:0;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out}.publish-modal{background:var(--surface);border:1px solid var(--faint);border-radius:12px;width:min(560px,100%);max-width:100%;max-height:calc(100vh - 32px);box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0003;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@supports (height: 100dvh){.publish-modal{max-height:calc(100dvh - 32px)}}@media(max-width:860px){.deliveries-modal-overlay,.publish-modal-overlay{padding:10px}.deliveries-modal{max-height:calc(100vh - 20px)}.deliveries-modal-body{grid-template-columns:1fr}.deliveries-modal-sidebar{border-right:0;border-bottom:1px solid var(--faint);max-height:40vh}.publish-modal{max-height:calc(100vh - 20px)}}.publish-modal-header{padding:16px 20px;border-bottom:1px solid var(--faint);display:flex;align-items:center;justify-content:space-between;background:var(--surface)}.publish-modal-header h2{font-size:16px;font-weight:800;color:var(--ink);margin:0;display:flex;align-items:center;gap:8px}.publish-modal-close{background:transparent;border:0;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.publish-modal-close:hover{background:var(--surface-2);color:var(--ink)}.publish-modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.publish-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid var(--faint);border-radius:8px;padding:4px;background:var(--surface-2)}.publish-tab{border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;font-size:12px;font-weight:800}.publish-tab.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 4px #0f172a14}.publish-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.publish-choice-card{border:1px solid var(--faint);border-radius:8px;background:var(--surface-2);color:var(--ink);cursor:pointer;padding:12px;display:grid;gap:5px;text-align:left}.publish-choice-card span{font-size:12px;font-weight:800}.publish-choice-card small{color:var(--muted);font-size:10.5px}.publish-choice-card.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,white);color:var(--primary-dark)}.publish-inline-field{display:grid;gap:6px;font-size:11px;color:var(--ink);font-weight:700}.publish-inline-field select,.publish-inline-field input{border:1px solid var(--faint);border-radius:6px;background:var(--surface);color:var(--ink);min-height:34px;padding:6px 8px}.share-link-panel{display:flex;flex-direction:column;gap:16px}.share-qualification-list{margin-left:0;max-height:190px}.share-generated-card{gap:12px}.share-link-row{display:grid;gap:7px}.share-link-meta,.share-link-copy-row{display:flex;align-items:center;gap:8px}.share-link-meta{justify-content:space-between}.share-link-meta strong{font-size:12px;color:var(--ink)}.share-link-length{font-size:10px;color:var(--muted);font-weight:800}.share-link-length.warning{color:var(--warning)}.share-link-copy-row input{flex:1;min-width:0;border:1px solid var(--faint);border-radius:6px;background:var(--surface);color:var(--ink);min-height:34px;padding:6px 8px;font-size:11px}.publish-form-section{display:flex;flex-direction:column;gap:8px}.publish-form-section h3{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px}.publish-checkbox-card{border:1px solid var(--faint);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}.publish-checkbox-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.publish-checkbox-row input[type=checkbox]{width:15px;height:15px;margin-top:2px;accent-color:var(--primary);cursor:pointer}.publish-checkbox-label-group{display:flex;flex-direction:column}.publish-checkbox-title{font-size:12px;font-weight:700;color:var(--ink)}.publish-checkbox-desc{font-size:10.5px;color:var(--muted)}.publish-subselector-box{margin-left:25px;border-left:2px solid var(--faint);padding-left:12px;display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.publish-subselector-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink);cursor:pointer}.publish-subselector-item input[type=checkbox]{width:13px;height:13px;accent-color:var(--primary)}.publish-modal-footer{padding:12px 20px;border-top:1px solid var(--faint);background:var(--surface-2);display:flex;justify-content:flex-end;gap:10px}.share-snapshot-shell{height:100vh;display:flex;flex-direction:column;background:#f9fafb;color:var(--ink);overflow:hidden}.share-readonly-banner{position:sticky;top:0;z-index:50;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid var(--faint);background:var(--surface);flex-shrink:0}.share-readonly-banner>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.share-readonly-banner strong{color:var(--primary-dark);font-size:13px}.share-readonly-banner span{color:var(--muted);font-size:12px}.share-snapshot-main{flex:1;min-height:0;padding:22px;display:flex;flex-direction:column;gap:18px;overflow:hidden}.share-snapshot-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.share-snapshot-eyebrow{color:var(--primary);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.share-snapshot-header h1{margin:3px 0;color:var(--ink);font-size:26px;letter-spacing:0}.share-snapshot-header p{margin:0;color:var(--muted);font-size:12px}.share-snapshot-summary{min-width:110px;border:1px solid var(--faint);border-radius:8px;background:var(--surface);padding:10px 12px;display:grid;gap:2px;text-align:right}.share-snapshot-summary strong{font-size:20px;color:var(--primary-dark)}.share-snapshot-summary span{font-size:11px;color:var(--muted)}.share-grid{flex:1;min-height:0;border:1px solid var(--faint);border-radius:8px;background:var(--surface);overflow:auto}.share-grid-header,.share-grid-row{display:grid;grid-template-columns:180px repeat(5,minmax(150px,1fr));min-width:940px}.share-grid-header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--faint)}.share-row-label-head,.share-day-head{padding:10px 12px;font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.share-row-label{position:sticky;left:0;z-index:5;background:var(--surface);border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);padding:12px;font-size:12px;font-weight:800;color:var(--ink)}.share-day-cell{position:relative;border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);background-image:linear-gradient(to bottom,transparent calc(100% - 1px),hsl(214,24%,93%) calc(100% - 1px));background-size:100% 34.8px}.share-delivery-card{position:absolute;left:7px;right:7px;min-height:36px;border:1px solid color-mix(in srgb,var(--primary) 24%,white);border-left:4px solid var(--primary);border-radius:7px;background:color-mix(in srgb,var(--primary) 7%,white);padding:6px 8px;overflow:hidden;display:flex;flex-direction:column;gap:2px;transition:transform .15s ease,box-shadow .15s ease}@keyframes shareWeekChangeFade{0%{opacity:.7;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.share-week-animate{animation:shareWeekChangeFade .18s cubic-bezier(.16,1,.3,1)}.share-delivery-card:has(.tt-card-session-chips){border-left-color:transparent!important;border-left-width:0!important;overflow:hidden;padding-left:11px}.share-delivery-card.session-pulse-active{animation:session-pulse-highlight 1.2s cubic-bezier(.16,1,.3,1)!important;z-index:1000!important}.share-delivery-card strong{font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-delivery-card span,.share-delivery-card small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-card-cohort{display:block;color:var(--ink)!important;font-weight:750;line-height:1.25;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.share-compact-card .share-card-cohort{color:var(--ink)!important}.share-empty-state{padding:24px;color:var(--muted);font-size:13px}@media(max-width:760px){.publish-choice-grid,.publish-tabs{grid-template-columns:1fr}.share-readonly-banner,.share-snapshot-header{align-items:flex-start;flex-direction:column}.share-snapshot-main{padding:14px}}.print-only-pack,.print-only-parking-pack{display:none}@media print{html,body{background:#fff!important;color:#000!important;font-family:Inter,-apple-system,sans-serif!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.app-shell,.custom-toast,.app-dialog-backdrop,.launcher-shell,.wizard-shell,.verification-modal-overlay,.publish-modal-overlay{display:none!important}body:not([data-print-mode=parking]) .print-only-pack{display:block!important;width:100%!important;max-width:100%!important;position:static!important}body:not([data-print-mode=parking]) .print-only-parking-pack{display:none!important}body[data-print-mode=parking] .print-only-parking-pack{display:block!important;width:100%!important;max-width:100%!important;position:static!important}body[data-print-mode=parking] .print-only-pack{display:none!important}@page{size:A4 landscape;margin:1cm}.print-page{page-break-after:always!important;break-after:page!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;height:auto!important;overflow:visible!important;box-sizing:border-box!important;padding-bottom:20px!important}.print-cover{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;height:100vh!important;text-align:center!important}.print-cover h1{font-size:32px!important;color:#1e1b4b!important;margin-bottom:8px!important;font-weight:800!important}.print-cover p{font-size:16px!important;color:#4b5563!important;margin-bottom:24px!important}.print-metadata-box{border:1px solid #e5e7eb!important;border-radius:8px!important;padding:24px!important;width:420px!important;text-align:left!important;background:#f9fafb!important}.print-metadata-row{display:flex!important;justify-content:space-between!important;padding:6px 0!important;border-bottom:1px solid #f3f4f6!important;font-size:13px!important}.print-metadata-row:last-child{border-bottom:0!important}.print-header{border-bottom:2px solid #1e1b4b!important;padding-bottom:8px!important;margin-bottom:16px!important;display:flex!important;justify-content:space-between!important;align-items:flex-end!important}.print-header h2{font-size:20px!important;font-weight:800!important;margin:0!important;color:#1e1b4b!important}.print-header span{font-size:12px!important;font-weight:600!important;color:#4b5563!important}.print-table{width:100%!important;border-collapse:collapse!important;font-size:11px!important;margin-bottom:14px!important}.print-table thead{display:table-header-group!important}.print-table tbody{display:table-row-group!important}.print-table th,.print-table td{border:1px solid #6b7280!important;padding:6px 8px!important;text-align:left!important;vertical-align:top!important}.print-table tr{break-inside:avoid-page!important;page-break-inside:avoid!important}.print-table th{background-color:#f3f4f6!important;font-weight:800!important;color:#111827!important}.print-matrix{width:100%!important;border-collapse:collapse!important;font-size:10px!important}.print-matrix thead{display:table-header-group!important}.print-matrix tbody{display:table-row-group!important}.print-matrix th,.print-matrix td{border:1px solid #9ca3af!important;padding:5px 6px!important;text-align:center!important;vertical-align:middle!important}.print-matrix tr{break-inside:avoid-page!important;page-break-inside:avoid!important}.print-matrix th{background-color:#e5e7eb!important;font-weight:800!important}.print-matrix td.day-label-cell{background-color:#f3f4f6!important;font-weight:800!important;text-align:left!important;width:80px!important}.print-slot-box{border:1.5px solid #4f46e5!important;border-radius:4px!important;padding:4px!important;background:#e0e7ff!important;text-align:left!important;margin-bottom:3px!important}.print-slot-box:last-child{margin-bottom:0!important}.print-slot-unit{font-weight:800!important;font-size:9px!important;color:#1e1b4b!important}.print-slot-details{font-size:8px!important;color:#374151!important;line-height:1.25!important;margin-top:1px!important}.print-warnings-list{margin-top:10px!important;border:1px dashed #ef4444!important;background:#fef2f2!important;border-radius:6px!important;padding:8px 12px!important}.print-warnings-title{font-size:11px!important;font-weight:800!important;color:#991b1b!important;display:flex!important;align-items:center!important;gap:4px!important;margin-bottom:4px!important}.print-warning-item{font-size:9.5px!important;color:#b91c1c!important;margin-left:12px!important;list-style-type:disc!important}}.unified-import-overlay{position:fixed;inset:0;background:#0c111ca6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:10000;animation:importWizardFadeIn .2s ease}.unified-import-modal{background:var(--surface);border-radius:16px;box-shadow:0 24px 64px -12px #0c111c47,0 0 1px 1px #161f3214;width:min(880px,95vw);max-height:min(90vh,720px);display:flex;flex-direction:column;overflow:hidden;animation:importWizardSlideUp .25s cubic-bezier(.16,1,.3,1)}.unified-import-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--faint);background:var(--surface)}.unified-import-brand{display:flex;align-items:center;gap:12px}.unified-import-icon-wrap{width:38px;height:38px;background:linear-gradient(135deg,var(--primary),hsl(262,72%,52%));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #2650d933}.unified-import-title h2{font-size:17px;font-weight:800;color:var(--ink);margin:0;line-height:1.2}.unified-import-title p{font-size:12px;color:var(--muted);margin:2px 0 0}.unified-import-close-btn{background:transparent;border:0;color:var(--muted);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.unified-import-close-btn:hover{background:#eff2f6;color:var(--ink)}.unified-import-tabs{display:flex;background:#f7f9fa;border-bottom:1px solid var(--faint);padding:0 24px}.unified-import-tab-btn{background:transparent;border:0;border-bottom:2px solid transparent;padding:14px 18px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s ease;margin-bottom:-1px}.unified-import-tab-btn:hover{color:var(--ink)}.unified-import-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.unified-import-body{flex:1;padding:24px;overflow-y:auto;min-height:0;background:var(--surface)}.unified-import-pane{display:flex;flex-direction:column;gap:20px;animation:importWizardFadeIn .2s ease}.unified-import-description{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.unified-import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.unified-import-card{background:var(--surface);border:1px solid var(--faint);border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;cursor:pointer;transition:all .2s ease}.unified-import-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 24px -6px #2650d914}.unified-import-card-icon{width:44px;height:44px;border-radius:50%;background:#f2f4fd;color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:4px;transition:all .2s ease}.unified-import-card:hover .unified-import-card-icon{background:var(--primary);color:#fff}.unified-import-card h3{font-size:14px;font-weight:700;color:var(--ink);margin:0}.unified-import-card p{font-size:12px;color:var(--muted);line-height:1.4;margin:0}.unified-import-dropzone{border:2px dashed var(--faint);border-radius:12px;padding:36px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;cursor:pointer;background:#fcfcfd;transition:all .2s ease;position:relative}.unified-import-dropzone:hover,.unified-import-dropzone.dragging{border-color:var(--primary);background:#fbfbfe}.unified-import-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.unified-import-dropzone-icon{color:var(--muted);transition:all .2s ease}.unified-import-dropzone:hover .unified-import-dropzone-icon{color:var(--primary);transform:translateY(-2px)}.unified-import-dropzone strong{font-size:14px;color:var(--ink)}.unified-import-dropzone span{font-size:11.5px;color:var(--muted)}.unified-import-ai-pane{display:grid;grid-template-columns:280px 1fr;gap:20px}.unified-import-ai-sidebar{border-right:1px solid var(--faint);padding-right:20px;display:flex;flex-direction:column;gap:16px}.unified-import-prompt-section{display:flex;flex-direction:column;gap:8px}.unified-import-prompt-section h4{font-size:12px;font-weight:700;color:var(--ink);margin:0;text-transform:uppercase;letter-spacing:.5px}.unified-import-prompt-section p{font-size:11px;color:var(--muted);line-height:1.4;margin:0}.unified-import-prompt-box{background:#f6f7f9;border:1px solid var(--faint);border-radius:8px;padding:10px;font-size:11px;font-family:monospace;color:var(--muted);white-space:pre-wrap;word-break:break-all;max-height:120px;overflow-y:auto}.unified-import-ai-main{display:flex;flex-direction:column;gap:16px}.unified-import-selector-group{display:flex;flex-direction:column;gap:6px}.unified-import-selector-group label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.unified-import-textarea{width:100%;height:220px;padding:12px;border:1px solid var(--faint);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12.5px;font-family:monospace;outline:none;resize:none;transition:all .2s ease}.unified-import-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #254dd01a}.unified-import-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:12px}.unified-import-error{background:#fef0f2;border:1px solid hsl(354,70%,86%);border-radius:8px;padding:10px 14px;color:var(--danger);font-size:12px;display:flex;align-items:center;gap:8px}.unified-import-subtabs{display:flex;gap:8px;border-bottom:1px solid var(--faint);padding-bottom:8px;margin-bottom:8px}.unified-import-subtab-btn{background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s ease}.unified-import-subtab-btn:hover{color:var(--ink)}.unified-import-subtab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}@keyframes warning-pulse-highlight{0%{transform:scale(1);box-shadow:0 0 #f59e0b99,0 2px 4px #0000000d}25%{transform:scale(1.04);box-shadow:0 0 0 12px #f59e0b00,0 8px 16px #f59e0b26}50%{transform:scale(1);box-shadow:0 0 #f59e0b00,0 2px 4px #0000000d}75%{transform:scale(1.04);box-shadow:0 0 0 12px #f59e0b00,0 8px 16px #f59e0b26}to{transform:scale(1);box-shadow:0 0 #f59e0b00,0 2px 4px #0000000d}}.warning-pulse-active{animation:warning-pulse-highlight 1.6s cubic-bezier(.16,1,.3,1)!important;z-index:100!important;border-color:var(--warning)!important}.tt-warnings-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:200;width:280px;background:var(--surface);border:1px solid var(--faint);border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;padding:14px;display:flex;flex-direction:column;gap:12px;animation:tt-dropdown-fade .15s cubic-bezier(.16,1,.3,1)}.tt-warnings-title{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.tt-warnings-carousel{display:flex;align-items:center;justify-content:space-between;background:#f3f5f7;border:1px solid var(--faint);border-radius:8px;padding:6px 8px}.tt-warnings-carousel-btn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .15s ease}.tt-warnings-carousel-btn:hover:not(:disabled){background:#e0e6eb;color:var(--ink)}.tt-warnings-carousel-btn:disabled{opacity:.4;cursor:not-allowed}.tt-warnings-carousel-text{font-size:11px;font-weight:700;color:var(--ink)}.tt-warnings-filters{display:flex;flex-direction:column;gap:8px;border-top:1px dashed var(--faint);padding-top:10px}.tt-warning-filter-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.tt-warning-filter-item input[type=checkbox]{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--muted);accent-color:var(--warning);cursor:pointer}.tt-warnings-inline{display:inline-flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--faint);border-radius:999px;padding:3px 12px 3px 6px;height:32px;box-shadow:0 1px 2px #0000000d;animation:tt-inline-expand .2s cubic-bezier(.16,1,.3,1);vertical-align:middle}@keyframes tt-inline-expand{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tt-warnings-inline-divider{width:1px;height:16px;background-color:var(--faint);flex-shrink:0}.tt-warnings-inline-carousel{display:flex;align-items:center;gap:6px;background:#f3f5f7;border:1px solid var(--faint);border-radius:999px;padding:2px 8px;height:24px}.tt-warnings-inline-carousel-btn{background:transparent;border:none;cursor:pointer;padding:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .15s ease}.tt-warnings-inline-carousel-btn:hover:not(:disabled){background:#dae0e7;color:var(--ink)}.tt-warnings-inline-carousel-btn:disabled{opacity:.4;cursor:not-allowed}.tt-warnings-inline-carousel-text{font-size:11px;font-weight:700;color:var(--ink);min-width:32px;text-align:center}.tt-warnings-inline-filters{display:flex;align-items:center;gap:12px}.tt-warnings-inline-label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.tt-warnings-inline-close{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease}.tt-warnings-inline-close:hover{background:#e0e6eb;color:var(--ink)}.tt-card-session-chips{position:absolute;left:0;top:0;bottom:0;width:4px;display:flex;flex-direction:column;gap:1px;padding:0;background:transparent;border-top-left-radius:inherit;border-bottom-left-radius:inherit;z-index:10;overflow:hidden;transition:width .16s cubic-bezier(.16,1,.3,1),background-color .16s ease}.tt-card-session-chips:hover{width:14px;background:#e0e6eb4d;box-shadow:1px 0 6px #0000001f}.session-chip{flex:1;min-height:2px;opacity:.9;transition:all .12s ease}.session-chip:hover{opacity:1;filter:brightness(.85)}.tt-delivery-card.placed:has(.tt-card-session-chips){border-left-color:transparent!important;border-left-width:0;overflow:hidden;padding-left:11px}.tt-drawer-card:has(.tt-card-session-chips){border-left-color:transparent!important;border-left-width:0;overflow:hidden;padding-left:14px;position:relative}@keyframes session-pulse-highlight{0%{transform:scale(1);box-shadow:0 0 #4f46e5cc,0 4px 12px #0000000d}30%{transform:scale(1.05);box-shadow:0 0 0 12px #4f46e500,0 12px 24px #4f46e559}to{transform:scale(1);box-shadow:0 0 #4f46e500,0 2px 5px #00000005}}.session-pulse-active{animation:session-pulse-highlight 1.2s cubic-bezier(.16,1,.3,1)!important;z-index:110!important;border-color:var(--primary)!important}.tt-delivery-card.placed.has-note-control{overflow:visible;z-index:100}.tt-delivery-card.placed.has-note-control.note-tab-open,.tt-delivery-card.placed.has-note-control:hover{z-index:112!important}.tt-delivery-card.placed.room-audit-card,.tt-delivery-card.placed.room-audit-card.selected,.tt-delivery-card.placed.room-audit-card.session-pulse-active,.tt-delivery-card.placed.room-audit-card.has-note-control,.tt-delivery-card.placed.room-audit-card.has-note-control.note-tab-open,.tt-delivery-card.placed.room-audit-card.has-note-control:hover{z-index:var(--tt-room-audit-card-z, 80)!important}.tt-note-edge{align-items:center;display:flex;justify-content:flex-end;pointer-events:auto;position:absolute;right:-18px;top:50%;transform:translateY(-50%);z-index:42}.tt-note-tab-button{align-items:center;background:#f3f5f7;border:1px solid hsl(215,16%,82%);border-left-color:#a6b0bf;border-radius:0 8px 8px 0;box-shadow:0 2px 5px #1d273e1f;color:#606a7b;cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease;width:18px}.tt-note-edge.has-note .tt-note-tab-button{background:#feedc3;border-color:#f1a727;color:#a05e0e}.icon-button.has-note{background:#feedc3!important;border:1px solid hsl(38,88%,55%)!important;color:#a05e0e!important}.icon-button.has-note:hover{background:#fde19b!important;border-color:#d88e0e!important}.tt-note-edge.is-open .tt-note-tab-button,.tt-note-tab-button:hover{transform:translate(2px)}.tt-note-panel{background:#fffcf5;border:1px solid hsl(38,72%,70%);border-radius:8px;box-shadow:0 14px 32px #212c4538;color:var(--ink);display:flex;flex-direction:column;gap:7px;max-width:min(230px,42vw);min-width:190px;padding:8px;position:absolute;left:22px;right:auto;top:50%;transform:translateY(-50%);z-index:10000}.tt-note-panel-title{align-items:center;color:#a05e0e;display:flex;font-size:10px;font-weight:800;gap:5px;text-transform:uppercase}.tt-note-panel p{color:#21293b;font-size:11px;line-height:1.35;margin:0;max-height:92px;overflow-y:auto;overflow-wrap:anywhere;white-space:pre-wrap}.tt-note-editor{background:#fff;border:1px solid hsl(38,72%,76%);border-radius:6px;color:var(--ink);font:inherit;font-size:11px;line-height:1.35;min-height:72px;outline:none;padding:7px;resize:vertical;width:100%}.tt-note-editor:focus{border-color:var(--warning);box-shadow:0 0 0 2px #f5a3142e}.tt-note-actions{align-items:center;display:flex;gap:5px;justify-content:flex-end}.tt-note-action{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;display:inline-flex;font-size:10.5px;font-weight:800;height:24px;justify-content:center;padding:0 7px}.tt-note-action.secondary{background:#fff;border-color:#d0d5dd;color:var(--muted)}.tt-note-action.primary{background:var(--primary);color:#fff}.tt-note-action.danger{background:#fef0f2;border-color:#f5adb4;color:var(--danger)}.tt-note-action.text{width:auto}.tt-painter-active,.tt-painter-active .tt-delivery-card{cursor:copy!important}.tt-painter-active .tt-delivery-card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #4f46e526,0 0 0 2px var(--primary);z-index:112!important;transition:all .15s ease-in-out}.tt-room-assignment-active .tt-delivery-card.placed.room-assigned:not(.selected):not(.room-painter-match){filter:saturate(.72);opacity:.58}.tt-room-assignment-active .tt-delivery-card.placed.room-unassigned{box-shadow:0 8px 18px #24304c1f,0 0 0 2px #254dd033}.tt-teacher-assignment-active .tt-delivery-card.placed.teacher-assigned:not(.selected):not(.teacher-painter-match){filter:saturate(.72);opacity:.58}.tt-teacher-assignment-active .tt-delivery-card.placed.teacher-unassigned{box-shadow:0 8px 18px #24304c1f,0 0 0 2px #254dd033}.tt-teacher-painter-active .tt-delivery-card.placed.teacher-painter-match,.tt-room-painter-active .tt-delivery-card.placed.room-painter-match{opacity:.86;outline:2px solid hsla(226,70%,48%,.35);outline-offset:1px}.tt-delivery-card.placed.room-audit-card,.tt-delivery-card.placed.room-audit-card:hover,.tt-delivery-card.placed.room-audit-card.selected,.tt-delivery-card.placed.room-audit-card.session-pulse-active,.tt-delivery-card.placed.room-audit-card.has-note-control,.tt-delivery-card.placed.room-audit-card.has-note-control.note-tab-open,.tt-delivery-card.placed.room-audit-card.has-note-control:hover,.tt-painter-active .tt-delivery-card.placed.room-audit-card:hover,.tt-view-both-terms .tt-delivery-card.placed.room-audit-card,.tt-view-both-terms .tt-delivery-card.placed.room-audit-card:hover,.tt-week-row.is-both-terms .tt-delivery-card.placed.room-audit-card,.tt-week-row.is-both-terms .tt-delivery-card.placed.room-audit-card:hover{z-index:var(--tt-room-audit-card-z, 80)!important}.tt-portal-menu.teacher-focus-mode>:not(.teacher-focus-target){opacity:.38}.tt-portal-menu.teacher-focus-mode .teacher-focus-target{opacity:1}.tt-portal-menu.room-focus-mode>:not(.room-focus-target){opacity:.38}.tt-portal-menu.room-focus-mode .room-focus-target{opacity:1}.tt-delivery-card{--tt-badge-size: clamp(10px, calc(var(--tt-row-height, 84px) * .18), 16px);--tt-badge-icon-size: clamp(7px, calc(var(--tt-row-height, 84px) * .11), 10px);--tt-badge-bottom: clamp(2px, calc(var(--tt-row-height, 84px) * .05), 4px);--tt-badge-right: clamp(2px, calc(var(--tt-row-height, 84px) * .05), 4px);--tt-badge-gap: clamp(1.5px, calc(var(--tt-row-height, 84px) * .035), 3px)}.tt-delivery-card.term-slot-stacked{--tt-badge-size: clamp(8px, calc(var(--tt-row-height, 84px) * .12), 12px);--tt-badge-icon-size: clamp(5.5px, calc(var(--tt-row-height, 84px) * .08), 8px);--tt-badge-bottom: clamp(1px, calc(var(--tt-row-height, 84px) * .025), 2px);--tt-badge-right: clamp(1px, calc(var(--tt-row-height, 84px) * .025), 2px);--tt-badge-gap: clamp(1px, calc(var(--tt-row-height, 84px) * .02), 2px)}.tt-card-bottom-badges{position:absolute;bottom:var(--tt-badge-bottom, 4px);right:var(--tt-badge-right, 4px);display:flex;align-items:center;gap:var(--tt-badge-gap, 3px);z-index:10;pointer-events:none}.tt-card-badge{display:inline-flex;align-items:center;justify-content:center;width:var(--tt-badge-size, 16px);height:var(--tt-badge-size, 16px);border-radius:50%;pointer-events:auto;cursor:help;transition:transform .15s ease,box-shadow .15s ease}.tt-card-badge svg{width:var(--tt-badge-icon-size, 10px)!important;height:var(--tt-badge-icon-size, 10px)!important}.tt-card-badge:hover{transform:scale(1.15)}.tt-card-badge.snooze{background:#edf0f3;border:1px solid hsl(210,14%,80%);color:var(--muted)}.tt-card-badge.simulcast{background:#ebefff;border:1px solid hsl(226,60%,84%);color:var(--primary);box-shadow:0 0 2px #4f46e526}.tt-card-badge.warning{background:#fff6e5;border:1px solid hsl(38,92%,75%);color:#dc8f09;box-shadow:0 0 2px #f59e0b26}.tt-card-bottom-badges.badge-placement-right{position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);bottom:auto;right:auto;z-index:12}.tt-card-bottom-badges.badge-placement-left{position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);bottom:auto;left:auto;z-index:12}.tt-card-bottom-badges.badge-placement-top{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);top:auto;right:auto;z-index:12}.tt-card-bottom-badges.badge-placement-bottom{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);bottom:auto;right:auto;z-index:12}.tt-delivery-card.placed.badges-external{overflow:visible!important}.tt-delivery-card.has-card-badges.term-slot-stacked .tt-card-stack-weeks{padding-right:calc(var(--tt-badge-size) + 4px)!important}.tt-delivery-card.has-card-badges.term-slot-stacked .tt-card-stack-room{padding-right:calc(var(--tt-badge-size) - 2px)!important}.tt-unsnooze-all-btn{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--faint);border-radius:999px;padding:2px 8px;height:24px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s ease;margin-left:4px}.tt-unsnooze-all-btn:hover{background:var(--faint);color:var(--ink);border-color:var(--muted)}.marking-profile-panel{background:#f9fafb;border:1px solid var(--faint);border-radius:8px;display:grid;gap:10px;grid-column:1 / -1;margin-top:8px;max-width:100%;overflow:hidden;padding:10px}.marking-profile-panel.is-collapsed{gap:0;padding:8px 10px}.marking-profile-panel.is-external-profile{background:#f3f5f6;border-color:#d0d5dd}.marking-profile-panel.is-external-profile>*:not(.marking-profile-header){opacity:.48;pointer-events:none}.marking-profile-header{align-items:start;cursor:pointer;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) max-content;min-width:0}.marking-profile-header>div:first-child{min-width:0}.marking-profile-header:focus-visible{border-radius:6px;outline:2px solid hsl(226,70%,82%);outline-offset:3px}.marking-profile-header strong{color:var(--ink);display:block;font-size:12px}.marking-profile-header span{color:var(--muted);display:block;font-size:10.5px;margin-top:2px}.marking-profile-linked-status-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.marking-profile-linked-status{align-items:center;background:#e7f9f0;border:1px solid hsl(150,42%,78%);border-radius:999px;color:#1a613d!important;display:inline-flex!important;gap:4px;font-size:10px!important;font-weight:800;margin-top:0!important;max-width:100%;overflow:hidden;padding:2px 7px}.marking-profile-linked-status strong,.marking-profile-linked-status small{color:inherit;display:inline;font-size:inherit;line-height:1.2;margin:0;min-width:0;white-space:normal}.marking-profile-linked-status strong{flex:1 1 auto}.marking-profile-linked-status small{white-space:normal}.marking-profile-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:6px;justify-content:flex-end}.marking-profile-header .secondary-button{height:28px;padding:0 9px;white-space:nowrap}.marking-profile-unlink{color:var(--danger);max-width:82px}.marking-profile-controls{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.marking-profile-controls label,.marking-task-row label,.marking-task-grid label{color:var(--muted);display:grid;font-size:9px;font-weight:800;gap:3px;text-transform:uppercase}.marking-profile-controls input,.marking-profile-controls select,.marking-task-row input,.marking-task-card input{background:var(--surface);border:1px solid var(--faint);border-radius:6px;color:var(--ink);font-size:11px;min-height:28px;min-width:0;padding:4px 7px;width:100%}.assessment-link-picker{display:grid;gap:6px;grid-column:1 / -1;min-width:0}.assessment-link-picker-button{align-items:center;background:var(--surface);border:1px solid var(--faint);border-radius:7px;color:var(--ink);cursor:pointer;display:flex;gap:8px;justify-content:space-between;min-height:42px;min-width:0;padding:6px 8px;text-align:left;width:100%}.assessment-link-picker-button:hover{border-color:var(--primary);background:#f6f8fd}.assessment-link-picker-button strong,.assessment-link-picker-button small{display:block}.assessment-link-picker-button strong{color:var(--ink);font-size:10px;font-weight:850;text-transform:uppercase}.assessment-link-picker-button small{color:var(--muted);font-size:10px;font-weight:700;margin-top:1px}.assessment-link-picker-panel{background:var(--surface);border:1px solid var(--faint);border-radius:7px;display:grid;gap:8px;min-width:0;padding:8px}.assessment-link-search-row{min-width:0}.assessment-link-search-row input{height:30px;width:100%}.assessment-link-picker-group{display:grid;gap:5px;min-width:0}.assessment-link-picker-group+.assessment-link-picker-group{border-top:1px solid var(--faint);padding-top:8px}.assessment-link-picker-group-title{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.assessment-link-source-card{align-items:center;background:#f9fafb;border:1px solid var(--faint);border-radius:6px;color:var(--ink);cursor:pointer;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) max-content;min-width:0;padding:8px 10px;text-align:left;width:100%}.assessment-link-source-card:hover{background:#f2f4fd;border-color:var(--primary)}.assessment-link-source-main{display:grid;gap:2px;min-width:0}.assessment-link-source-card strong{color:var(--ink);font-size:11.5px;white-space:normal}.assessment-link-source-main span,.assessment-link-picker-empty{color:var(--muted);font-size:10px;line-height:1.3}.assessment-link-source-quals{background:#eef1fc;border:1px solid hsl(226,48%,86%);border-radius:999px;color:var(--primary);font-size:9.5px;font-weight:850;max-width:180px;overflow:hidden;padding:2px 7px;text-overflow:ellipsis;white-space:nowrap}.assessment-link-picker-empty{background:#f9fafb;border:1px dashed var(--faint);border-radius:6px;padding:8px}.marking-task-list{display:grid;gap:6px}.marking-task-row{align-items:end;display:grid;gap:6px;grid-template-columns:minmax(120px,1fr) repeat(4,minmax(52px,74px))}.marking-profile-empty{align-items:center;background:var(--surface);border:1px dashed var(--faint);border-radius:7px;color:var(--muted);display:flex;font-size:11px;gap:8px;justify-content:space-between;min-width:0;padding:8px}.marking-profile-empty .secondary-button,.marking-task-list-header .secondary-button{flex:0 0 auto;height:28px;padding:0 9px}.marking-cluster-panel{background:var(--surface);border:1px solid var(--faint);border-radius:7px;display:grid;gap:8px;min-width:0;padding:8px}.marking-cluster-panel strong,.marking-task-list-header strong{color:var(--ink);display:block;font-size:11px}.marking-cluster-panel span{color:var(--muted);display:block;font-size:10.5px;margin-top:2px}.marking-cluster-list{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));max-height:150px;overflow:auto}.marking-cluster-list label{align-items:center;border:1px solid var(--faint);border-radius:6px;color:var(--ink);display:flex;font-size:11px;font-weight:700;gap:6px;min-width:0;padding:6px 7px}.marking-cluster-list input{flex:0 0 auto}.marking-task-list-header{align-items:center;display:flex;justify-content:space-between;gap:8px}.marking-task-card{background:var(--surface);border:1px solid var(--faint);border-radius:7px;display:grid;gap:8px;min-width:0;padding:8px}.marking-task-card-header{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.marking-task-card-header .danger-button{color:var(--danger);height:28px;padding:0 9px}.marking-task-card-header .danger-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.marking-task-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.cohort-marking-summary{display:grid;gap:8px;grid-column:1 / -1}.cohort-marking-delivery-header,.cohort-marking-task{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.cohort-marking-delivery-header{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content}.cohort-marking-summary strong{color:var(--ink);font-size:11px}.cohort-marking-delivery-header span{color:var(--muted);display:block;font-size:10.5px;margin-top:2px}.cohort-marking-toggle{align-items:center;background:#eef1fc;border:1px dashed hsl(226,48%,72%);border-radius:6px;color:var(--primary);cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:5px;justify-content:flex-start;padding:6px 10px;text-align:left;transition:all .2s ease;white-space:nowrap;width:100%}.cohort-marking-toggle svg{flex:0 0 auto}.cohort-marking-info-badge{background:var(--primary);border-radius:99px;color:#fff;font-size:10px;font-weight:700;margin-left:auto;max-width:58%;overflow:hidden;padding:2px 7px;text-overflow:ellipsis;white-space:nowrap}.cohort-marking-info-badge.missing{background:var(--warning);color:#493513;margin-left:4px}.cohort-marking-toggle:hover{background:#e1e6fa;border-color:var(--primary);transform:translateY(-1px)}.cohort-marking-detail-list{display:grid;gap:8px}.cohort-marking-delivery{background:var(--surface);border:1px solid var(--faint);border-radius:7px;display:grid;gap:6px;min-width:0;padding:8px}.cohort-marking-delivery-toggle{align-items:center;background:#f9fafb;border:1px solid var(--faint);border-radius:5px;color:var(--muted);cursor:pointer;display:inline-flex;height:24px;justify-content:center;padding:0;width:24px}.cohort-marking-delivery-toggle svg{transition:transform .15s ease}.cohort-marking-delivery:not(.is-expanded) .cohort-marking-delivery-toggle svg{transform:rotate(-90deg)}.cohort-marking-delivery-header>div,.cohort-marking-source{min-width:0}.cohort-marking-source{background:#f9fafb;border:1px solid var(--faint);border-radius:6px;display:grid;gap:5px;padding:7px}.cohort-marking-source.is-readonly{cursor:pointer}.cohort-marking-source.is-readonly:hover{background:#f2f4fd;border-color:#acb9e2}.cohort-marking-source-header{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px;min-width:0}.cohort-marking-source-header>div{display:grid;gap:2px;min-width:0}.cohort-marking-source-header span{color:var(--muted);font-size:10px}.cohort-marking-open-pill,.cohort-marking-calculation-pills span{background:#eef1fc;border:1px solid hsl(226,48%,86%);border-radius:999px;color:var(--primary);font-size:9.5px;font-weight:850;padding:2px 7px;white-space:nowrap}.cohort-marking-calculation-pills{display:flex;flex-wrap:wrap;gap:5px}.cohort-marking-missing button{background:transparent;border:0;color:var(--primary);cursor:pointer;font-size:11px;font-weight:800;padding:0;text-align:left}.cohort-marking-mini-action{background:#eef1fc;border:1px dashed hsl(226,48%,72%);border-radius:5px;color:var(--primary);cursor:pointer;font-size:10px;font-weight:800;min-height:24px;padding:0 7px;white-space:nowrap}.cohort-marking-mini-action:hover:not(:disabled){background:#e1e6fa;border-color:var(--primary)}.cohort-marking-mini-action.danger{background:#fef0f2;border-color:#f5adb4;color:var(--danger)}.cohort-marking-mini-action:disabled{cursor:not-allowed;opacity:.45}.cohort-marking-source-header label,.cohort-marking-resub-control,.cohort-marking-task label,.cohort-marking-attempts-control{align-items:center;color:var(--muted);display:inline-flex;font-size:9.5px;font-weight:800;gap:4px;text-transform:uppercase;white-space:nowrap}.cohort-marking-resub-control{margin-left:auto}.cohort-marking-source-header input,.cohort-marking-resub-control input,.cohort-marking-task input{background:var(--surface);border:1px solid var(--faint);border-radius:5px;color:var(--ink);font-size:10.5px;font-weight:700;height:24px;min-width:0;padding:0 6px}.cohort-marking-resub-control input{width:52px}.cohort-marking-linked-units{display:grid;gap:4px;min-width:0}.cohort-marking-linked-units>span{color:var(--muted);font-size:9.5px;font-weight:800;text-transform:uppercase}.cohort-marking-linked-unit-list{align-items:center;display:flex;flex-wrap:wrap;gap:5px;min-width:0}.cohort-marking-unit-chip,.cohort-marking-linked-unit-list select{background:var(--surface);border:1px solid var(--faint);border-radius:999px;color:var(--ink);font-size:10px;font-weight:800;min-height:24px;padding:0 8px}.cohort-marking-unit-chip:not(:disabled){cursor:pointer}.cohort-marking-unit-chip:not(:disabled):hover{border-color:var(--danger);color:var(--danger)}.cohort-marking-unit-chip:disabled{background:#eef1fc;color:var(--primary)}.cohort-marking-linked-unit-list select{border-radius:5px;max-width:100%}.cohort-marking-task-list{display:grid;gap:3px}.cohort-marking-task{background:#fff;border:1px solid hsl(214,24%,91%);border-radius:6px;color:var(--muted);display:grid;font-size:10.5px;gap:5px;grid-template-columns:minmax(0,1fr);line-height:1.25;padding:5px}.cohort-marking-task-topline{display:grid;gap:6px;grid-template-columns:minmax(0,1fr) max-content;min-width:0}.cohort-marking-task-name-input{width:100%}.cohort-marking-attempts-control{justify-self:start}.cohort-marking-attempts-control input{width:44px}.cohort-marking-task-controls{align-items:center;display:grid;gap:5px;grid-template-columns:minmax(68px,1fr) repeat(2,max-content) max-content;min-width:0}.cohort-marking-task label input{width:46px}.cohort-marking-task-controls span,.cohort-marking-task-controls strong{min-width:0}.cohort-marking-task-controls span{color:var(--muted);font-size:10.5px;font-weight:700}.cohort-marking-task-controls strong{color:var(--ink);font-weight:700;text-align:right;white-space:nowrap}@media(max-width:560px){.cohort-marking-source-header{display:grid;grid-template-columns:minmax(0,1fr) max-content}.cohort-marking-resub-control{margin-left:0}.cohort-marking-task-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.cohort-marking-task-controls strong{text-align:left}}.cohort-marking-missing,.cohort-marking-empty{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:10.5px;gap:6px}@media(max-width:980px){.marking-profile-controls,.marking-task-row,.marking-task-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.marking-profile-controls,.marking-task-grid,.marking-task-card-header{grid-template-columns:1fr}.marking-profile-empty,.marking-task-list-header{align-items:stretch;flex-direction:column}}.pivot-page{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:0;height:100%;background:#f9fafb}.pivot-library{border-right:1px solid var(--faint);background:var(--surface);display:flex;flex-direction:column;gap:18px;min-height:0;overflow-y:auto;padding:18px}.pivot-library-header,.pivot-toolbar,.pivot-detail-header{align-items:center;display:flex;justify-content:space-between;gap:14px}.pivot-library h2,.pivot-toolbar h1,.pivot-detail-header h3{margin:0}.pivot-library p,.pivot-toolbar p,.pivot-detail-header p{color:var(--muted);font-size:12px;line-height:1.4;margin:4px 0 0}.pivot-library section{display:grid;gap:9px}.pivot-library h3,.pivot-builder-section h3{align-items:center;color:var(--muted);display:flex;font-size:11px;font-weight:800;gap:6px;letter-spacing:.04em;margin:0;text-transform:uppercase}.pivot-report-list{display:grid;gap:8px}.pivot-report-card{background:#f8fafb;border:1px solid var(--faint);border-radius:8px;color:var(--ink);display:grid;position:relative;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.pivot-report-card.is-slim{align-items:center;gap:8px;grid-template-columns:minmax(0,1fr) auto;min-height:44px;padding:8px 9px 8px 10px}.pivot-report-card.is-expanded{gap:6px;padding:12px}.pivot-report-card:hover,.pivot-report-card.active{background:#f2f4fd;border-color:#acb9e2}.pivot-report-card.active{box-shadow:0 8px 18px #33468414}.pivot-report-card-copy{display:grid;gap:3px;min-width:0}.pivot-report-card-kicker{color:var(--primary);font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.pivot-report-card strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pivot-report-card-description{color:var(--muted);font-size:11px;line-height:1.35}.pivot-report-card.is-slim .pivot-report-card-description{display:none}.pivot-report-card-actions{display:flex;gap:5px;justify-content:flex-end;position:relative;z-index:2}.pivot-report-card.is-slim .pivot-report-card-actions{opacity:1;pointer-events:auto;transition:opacity .16s ease}.pivot-report-card.is-slim:hover .pivot-report-card-actions,.pivot-report-card.is-slim:focus-within .pivot-report-card-actions{opacity:1;pointer-events:auto}.pivot-report-card-actions button,.pivot-icon-button{align-items:center;background:var(--surface);border:1px solid var(--faint);border-radius:7px;color:var(--muted);display:inline-flex;height:28px;justify-content:center;width:28px}.pivot-report-card-actions button.is-pinned{background:#fffbeb;border-color:#f0cd6a;color:#c37d13}.pivot-main.is-fullscreen .pivot-toolbar,.pivot-main.is-fullscreen .pivot-builder{display:none!important}.pivot-fullscreen-exit-btn{position:fixed;bottom:24px;left:24px;z-index:10010;background:var(--surface);border:1px solid var(--faint);border-radius:99px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;box-shadow:0 4px 16px #0000001f;transition:all .2s cubic-bezier(.4,0,.2,1)}.pivot-fullscreen-exit-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.08) translateY(-2px);box-shadow:0 6px 20px #3b82f640}.pivot-main.is-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9990;background:#f9fafb;padding:0;box-sizing:border-box;margin:0}.pivot-toolbar-actions button.active-fullscreen{background:var(--primary);border-color:var(--primary);color:#fff}.pivot-toolbar-actions button.active-fullscreen:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.pivot-main{display:grid;gap:14px;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden;padding:18px}.pivot-toolbar{border-bottom:1px solid var(--faint);padding-bottom:14px}.pivot-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pivot-toolbar-actions .secondary-button{align-items:center;display:inline-flex;gap:6px;height:34px}.pivot-builder{background:var(--surface);border:1px solid var(--faint);border-radius:8px;padding:14px}.pivot-builder-grid,.pivot-builder-sections{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.pivot-builder-grid{margin-bottom:14px}.pivot-field,.pivot-builder-section{display:grid;gap:7px;min-width:0}.pivot-field.wide{grid-column:span 1}.pivot-field span,.pivot-rule-editor label{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.pivot-field small{color:var(--muted);font-size:11px;line-height:1.35}.pivot-field input,.pivot-field select,.pivot-value-row input,.pivot-value-row select,.pivot-filter-row input,.pivot-filter-row select,.pivot-rule-editor input{background:#f8fafb;border:1px solid var(--faint);border-radius:7px;color:var(--ink);font-size:12px;min-height:34px;padding:6px 8px}.pivot-rule-editor select{background:#f8fafb;border:1px solid var(--faint);border-radius:7px;color:var(--ink);font-size:12px;min-height:34px;min-width:0;padding:6px 8px}.pivot-field select[multiple]{min-height:92px}.pivot-builder-section{align-content:start;background:#f9fafb;border:1px solid var(--faint);border-radius:8px;padding:12px}.pivot-value-row,.pivot-filter-row,.pivot-rule-editor{display:grid;gap:7px}.pivot-value-row{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr)}.pivot-filter-row{grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr)}.pivot-sort-row{display:grid;gap:7px;grid-template-columns:minmax(0,1fr) 120px auto}.pivot-sort-row select{background:#f8fafb;border:1px solid var(--faint);border-radius:7px;color:var(--ink);font-size:12px;min-height:34px;min-width:0;padding:6px 8px}.pivot-format-row{display:grid;gap:7px;grid-template-columns:minmax(0,1fr) 60px 72px 92px auto}.pivot-format-row input,.pivot-format-row select{background:#f8fafb;border:1px solid var(--faint);border-radius:7px;color:var(--ink);font-size:12px;min-height:34px;min-width:0;padding:6px 8px}.pivot-row-remove{background:#fef0f2;border:1px solid hsl(354,78%,82%);border-radius:7px;color:var(--danger);font-size:11px;font-weight:800;min-height:34px;padding:0 8px}.pivot-rule-editor{border-top:1px dashed var(--faint);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px;padding-top:10px}.pivot-small-action{justify-self:start;min-height:30px}.pivot-results{background:var(--surface);border:1px solid var(--faint);border-radius:8px;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;position:relative}.pivot-results-summary{align-items:baseline;border-bottom:1px solid var(--faint);display:flex;gap:8px;padding:10px 14px}.pivot-results-summary strong{color:var(--primary-dark);font-size:22px}.pivot-results-summary span,.pivot-empty{color:var(--muted);font-size:12px}.pivot-table-wrap{min-height:0;overflow:auto}.pivot-table{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%}.pivot-table th{background:#f2f4f8;border-bottom:1px solid var(--faint);color:var(--muted);position:sticky;text-align:left;top:0;z-index:1}.pivot-table th button{align-items:center;background:transparent;border:0;color:inherit;display:inline-flex;font-size:11px;font-weight:800;gap:5px;min-height:30px;padding:7px 10px;text-transform:uppercase;white-space:nowrap}.pivot-table td{border-bottom:1px solid var(--faint);color:var(--ink);padding:8px 10px;white-space:nowrap}.pivot-row-prefix{display:inline-flex;margin-right:4px;vertical-align:middle}.pivot-expand-button{align-items:center;background:#f2f4f8;border:1px solid var(--faint);border-radius:6px;color:var(--muted);display:inline-flex;height:20px;justify-content:center;padding:0;width:20px}.pivot-expand-button:hover{background:#f6f8fd;color:var(--primary-dark)}.pivot-expand-spacer{display:inline-block;width:20px}.pivot-child-row td{background:#f8fafc;color:var(--muted);font-size:11px}.pivot-child-row td:first-child{padding-left:24px}.pivot-table tbody tr{cursor:pointer}.pivot-table tbody tr:hover td{background:#f6f8fd}.pivot-cell-warn{background:#fff4e0;color:#a05e0e!important;font-weight:800}.pivot-cell-danger{background:#feebed;color:#b41828!important;font-weight:800}.pivot-cell-success{background:#e6f9f0;color:#1b7447!important;font-weight:800}.pivot-cell-muted{background:#eceff3;color:var(--muted)!important}.pivot-empty-cell{color:var(--muted);font-style:italic;padding:20px!important;text-align:center}.pivot-detail-drawer{background:var(--surface);border-left:1px solid var(--faint);bottom:0;box-shadow:-18px 0 40px #24304c1f;display:grid;gap:14px;overflow-y:auto;padding:18px;position:absolute;right:0;top:0;width:min(420px,92%);z-index:5}.pivot-detail-drawer dl{display:grid;gap:7px 12px;grid-template-columns:130px minmax(0,1fr);margin:0}.pivot-detail-drawer dt{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.pivot-detail-drawer dd{font-size:12px;margin:0;overflow-wrap:anywhere}.pivot-detail-message{background:#fff6e5;border:1px solid hsl(38,92%,78%);border-radius:8px;color:#a05e0e;font-size:12px;line-height:1.4;margin:0;padding:10px}.pivot-detail-children{border:1px solid var(--faint);border-radius:8px;display:grid;gap:6px;padding:10px}.pivot-detail-children strong{font-size:12px}.pivot-detail-children p{color:var(--muted);font-size:11px;margin:0}@media(max-width:980px){.pivot-page{grid-template-columns:1fr}.pivot-library{border-bottom:1px solid var(--faint);border-right:0;max-height:280px}.pivot-builder-grid,.pivot-builder-sections{grid-template-columns:1fr}.pivot-format-row{grid-template-columns:1fr 1fr}.pivot-sort-row{grid-template-columns:1fr}.pivot-toolbar{align-items:flex-start;flex-direction:column}}.tt-card-hypershort-layout{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2.5px;width:100%;height:100%;min-height:0;min-width:0;overflow:hidden;text-align:left}.tt-card-hypershort-layout .tt-card-expanded-unit{align-self:flex-start;display:block;font-size:calc(10.5px * var(--tt-font-scale, 1));font-weight:850;line-height:1.1;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-card-hypershort-layout .tt-card-expanded-teacher-row,.tt-card-hypershort-layout .tt-card-expanded-room-row{align-items:center;display:inline-flex;gap:2.5px;justify-content:flex-start;max-width:100%;min-width:0;overflow:hidden;width:100%;align-self:flex-start}.tt-card-hypershort-layout .tt-card-staff,.tt-card-hypershort-layout .tt-card-room,.tt-card-hypershort-layout .tt-card-backfill{align-items:center;display:inline-flex;flex:0 1 auto;font-size:calc(8.5px * var(--tt-font-scale, 1));justify-content:center;line-height:1;padding:1.5px 5px;text-align:left}.tt-card-hypershort-layout .tt-card-expanded-time{align-self:flex-start;color:#475366;font-size:calc(9px * var(--tt-font-scale, 1));font-weight:700;line-height:1.1;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-card-hypershort-layout .tt-card-expanded-period{align-self:flex-start;color:#5c6d8a;font-size:calc(8.5px * var(--tt-font-scale, 1));font-weight:850;letter-spacing:0;line-height:1.1;text-transform:uppercase;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all}.tt-scheduler.is-maximized{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:9999!important;background:var(--surface, #ffffff)!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}.tt-scheduler.is-maximized .tt-unscheduled{display:none!important}.tt-scheduler.is-maximized .tt-workspace{border:0!important;border-radius:0!important;box-shadow:none!important;height:100%!important;width:100%!important}.tt-scheduler.is-maximized .tt-toolbar,.tt-scheduler.is-maximized .tt-status-row{display:none!important}.tt-maximized-controls{position:fixed;top:12px;right:24px;z-index:10000;background:var(--surface, #ffffff);border:1px solid var(--faint);border-radius:20px;padding:4px 8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center}.tt-maximized-controls .tt-zoom-control{border:none!important;background:transparent!important;height:auto!important;padding:0!important}.share-device{--share-safe-top: env(safe-area-inset-top, 0px);--share-safe-right: env(safe-area-inset-right, 0px);--share-safe-bottom: env(safe-area-inset-bottom, 0px);--share-safe-left: env(safe-area-inset-left, 0px);--share-touch-target: 44px;--share-compact-gap: 10px;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-y}.share-device-phone,.share-device-tablet{height:100dvh;min-height:100dvh}.share-device .share-readonly-banner{padding-left:max(18px,var(--share-safe-left));padding-right:max(18px,var(--share-safe-right))}.share-device .share-snapshot-header>div{min-width:0}.share-device .share-snapshot-header h1,.share-device .share-snapshot-header p{overflow-wrap:anywhere}.share-device .share-timeline-nav{width:100%}.share-device .share-timeline-nav>div{min-width:0}.share-device .share-week-pill{align-items:center;background:var(--surface-2);border:1px solid var(--faint);border-radius:8px;display:flex;gap:4px;min-width:0;padding:3px 6px}.share-device .share-week-readout{align-items:center;display:flex;flex-direction:column;line-height:1.2;min-width:90px;text-align:center}.share-device .share-week-readout strong{color:var(--ink);font-size:11px;font-weight:800}.share-device .share-week-readout span{color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.share-device .share-term-quick-nav{border-left:1px solid var(--faint);display:flex;gap:4px;margin-left:6px;min-width:0;padding-left:6px}.share-device .share-term-button{background:var(--surface);border:1px solid var(--faint);border-radius:4px;color:var(--ink);cursor:pointer;font-size:9px;font-weight:800;height:24px;line-height:1.2;padding:3px 7px;transition:background-color .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap;touch-action:manipulation}.share-device .share-term-button.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.share-compact-selector{display:grid;flex-shrink:0;gap:4px}.share-compact-select{appearance:auto;background:var(--surface);border:1px solid var(--faint);border-radius:8px;color:var(--ink);font-size:13px;font-weight:800;min-height:var(--share-touch-target);padding:0 12px;width:100%;touch-action:manipulation}.share-day-tabs{display:grid;flex-shrink:0;gap:6px;grid-template-columns:repeat(5,minmax(56px,1fr));overflow-x:auto;padding-bottom:2px;scrollbar-width:none;touch-action:pan-x}.share-day-tabs::-webkit-scrollbar,.share-compact-list::-webkit-scrollbar{display:none}.share-day-tab{background:var(--surface);border:1px solid var(--faint);border-radius:999px;color:var(--ink);cursor:pointer;font-size:12px;font-weight:800;min-height:40px;min-width:0;padding:0 10px;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;touch-action:manipulation}.share-day-tab.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.share-compact-list{-webkit-overflow-scrolling:touch;display:grid;flex:1;gap:var(--share-compact-gap);min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;touch-action:pan-y}.share-compact-empty{align-items:center;background:var(--surface);border:1px dashed var(--faint);border-radius:10px;color:var(--muted);display:grid;font-size:13px;gap:6px;justify-items:center;min-height:128px;padding:32px 12px;text-align:center}.share-compact-card{min-width:0;overflow-wrap:anywhere;touch-action:pan-y;user-select:text;-webkit-user-select:text}.share-compact-card strong,.share-compact-card span{min-width:0}.share-card-cohort{align-items:center;background:color-mix(in srgb,var(--primary) 8%,white);border:1px solid color-mix(in srgb,var(--primary) 16%,white);border-radius:6px;color:var(--ink)!important;display:inline-flex;font-size:10.5px;font-weight:800;gap:5px;line-height:1.25;max-width:100%;min-width:0;overflow:hidden;padding:4px 7px;text-overflow:ellipsis;white-space:nowrap;width:fit-content}.share-card-cohort span{min-width:0;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.share-card-cohort svg{flex:0 0 auto}.share-session-chip-row{border-top:1px dashed var(--faint);display:flex;gap:5px;margin-top:4px;padding-top:8px}.share-session-chip{border:0;border-radius:4px;cursor:pointer;height:11px;outline:none;padding:0;transition:opacity .15s ease,transform .15s ease;touch-action:manipulation;width:22px}.share-session-chip:focus-visible,.share-day-tab:focus-visible,.share-term-button:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 50%,white);outline-offset:2px}.share-delivery-card-mobile.session-pulse-active,.share-parking-bay-card.session-pulse-active{animation:session-pulse-highlight 1.2s cubic-bezier(.16,1,.3,1)}.share-group-section{display:grid;gap:8px;min-width:0}.share-group-title{align-items:baseline;color:var(--primary-dark);display:flex;font-size:12px;font-weight:900;gap:8px;justify-content:space-between;min-width:0}.share-group-title span{color:var(--muted);flex:0 0 auto;font-size:10px;font-weight:800;text-transform:uppercase}.share-parking-bay-card{background:var(--surface);border:1px solid var(--faint);border-radius:10px;box-shadow:0 1px 3px #00000003;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px 16px;touch-action:pan-y;user-select:text;-webkit-user-select:text}.share-parking-bay-card.is-empty{align-items:center;background:var(--surface-2);border-style:dashed;color:var(--muted);flex-direction:row;font-size:13px;justify-content:space-between}.share-parking-bay-card.is-empty strong,.share-parking-bay-card strong{color:var(--ink)}.share-parking-bay-heading,.share-parking-night-cover{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.share-parking-bay-heading strong{font-size:13px}.share-parking-assignee{background:var(--surface);border:1px solid var(--faint);border-radius:6px;color:var(--ink);font-size:11px;font-weight:800;min-width:0;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.share-parking-night-cover{border-top:1px dashed var(--faint);color:var(--ink);font-size:11px;justify-content:flex-start;margin-top:4px;padding-top:6px}.share-parking-campus-list{-webkit-overflow-scrolling:touch;display:grid;flex:1;gap:24px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;touch-action:pan-y}.share-parking-campus-card{background:var(--surface);border:1px solid var(--faint);border-radius:8px;overflow:hidden}.share-parking-campus-card h2{color:var(--primary-dark);font-size:16px;margin:0}.share-parking-table-wrap{overflow-x:auto;touch-action:pan-x pan-y}.share-parking-table{border-collapse:collapse;font-size:12px;min-width:600px;width:100%}.share-pivot-main{flex:1;min-height:0}.share-pivot-results-frame{flex:1;min-height:0;overflow:hidden}.share-device .pivot-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y}.share-device-phone{overflow:hidden}.share-device-phone .share-readonly-banner{justify-content:center!important;min-height:44px;padding:calc(8px + var(--share-safe-top)) max(12px,var(--share-safe-right)) 8px max(12px,var(--share-safe-left));text-align:center}.share-device-phone .share-readonly-banner>div{justify-content:center}.share-device-phone .share-readonly-banner strong{font-size:12px}.share-device-phone .share-readonly-banner span{display:none}.share-device-phone .share-snapshot-main{gap:10px!important;padding:12px max(12px,var(--share-safe-right)) calc(12px + var(--share-safe-bottom)) max(12px,var(--share-safe-left))!important}.share-device-phone .share-snapshot-header{align-items:stretch!important;display:grid!important;flex-shrink:0;gap:5px;margin-bottom:0!important}.share-device-phone .share-snapshot-eyebrow{font-size:10px}.share-device-phone .share-snapshot-header h1{font-size:18px!important;line-height:1.16;margin:2px 0!important}.share-device-phone .share-snapshot-header p{font-size:11px!important;line-height:1.35}.share-device-phone .share-snapshot-summary{display:none}.share-device-phone .share-timeline-nav{align-items:stretch!important;display:grid!important;gap:8px!important;padding:9px!important}.share-device-phone .share-timeline-nav>div:first-child{display:none!important}.share-device-phone .share-timeline-nav>div:nth-child(2),.share-device-phone .share-week-pill{justify-content:space-between!important;width:100%}.share-device-phone .share-week-pill{min-height:38px}.share-device-phone .share-week-readout{min-width:74px}.share-device-phone .share-term-quick-nav{border-left:0;margin-left:2px;overflow-x:auto;padding-left:0;scrollbar-width:none}.share-device-phone .share-term-quick-nav::-webkit-scrollbar{display:none}.share-device-phone .share-term-button{min-width:42px}.share-device-phone .tt-zoom-btn{min-height:32px!important;min-width:32px!important}.share-device-phone .share-compact-select{font-size:13px!important;min-height:44px}.share-device-phone .share-day-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(56px,1fr));margin:0 -2px;padding:0 2px 2px}.share-device-phone .share-day-tab{min-height:40px;padding:0 8px}.share-device-phone .share-compact-list{display:grid!important;gap:10px!important;grid-template-columns:1fr}.share-device-phone .share-compact-card{border-radius:9px!important;gap:8px!important;padding:12px!important}.share-device-phone .share-compact-card strong{font-size:13px!important;line-height:1.28!important}.share-device-phone .share-compact-card span{line-height:1.35}.share-device-phone .share-parking-bay-card{border-radius:9px;padding:12px}.share-device-phone .share-parking-bay-card.is-empty{min-height:52px}.share-device-phone .share-parking-assignee{max-width:58%}.share-device-phone .share-pivot-main{gap:10px!important;padding:12px max(12px,var(--share-safe-right)) calc(12px + var(--share-safe-bottom)) max(12px,var(--share-safe-left))!important}.share-device-phone .share-pivot-results-frame,.share-device-phone .pivot-results{min-height:0}.share-device-phone .pivot-results{border-radius:8px}.share-device-phone .pivot-results-summary{padding:9px 11px}.share-device-phone .pivot-table{font-size:11px;min-width:680px}.share-device-phone .pivot-table th button{min-height:38px;padding:8px 10px}.share-device-phone .pivot-table td{padding:9px 10px}.share-device-phone .pivot-detail-drawer{border-left:0;box-shadow:0 -18px 40px #24304c2e;left:0;padding:16px max(14px,var(--share-safe-right)) calc(18px + var(--share-safe-bottom)) max(14px,var(--share-safe-left));top:auto;width:100%;max-height:78dvh}.share-device-phone .pivot-detail-drawer dl{grid-template-columns:104px minmax(0,1fr)}.share-device-phone.share-orientation-landscape .share-snapshot-main,.share-device-phone.share-orientation-landscape .share-pivot-main{gap:8px!important;padding-top:8px!important}.share-device-phone.share-orientation-landscape .share-snapshot-header h1{font-size:16px!important}@media(max-width:640px){.share-snapshot-shell:not(.share-device-tablet):not(.share-device-desktop){height:100dvh}}.share-device-tablet .share-readonly-banner{min-height:50px;padding-left:max(18px,var(--share-safe-left));padding-right:max(18px,var(--share-safe-right))}.share-device-tablet .share-snapshot-main{gap:14px!important;padding:18px max(18px,var(--share-safe-right)) calc(18px + var(--share-safe-bottom)) max(18px,var(--share-safe-left))!important}.share-device-tablet .share-snapshot-header{align-items:flex-end;flex-shrink:0}.share-device-tablet .share-snapshot-header h1{font-size:22px!important;line-height:1.16}.share-device-tablet .share-timeline-nav{padding:10px 14px!important}.share-device-tablet .share-week-pill{min-height:40px}.share-device-tablet .tt-zoom-btn{min-height:34px!important;min-width:34px!important}.share-device-tablet .share-compact-select{min-height:44px}.share-device-tablet .share-day-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(86px,1fr))}.share-device-tablet .share-day-tab{min-height:42px}.share-device-tablet .share-compact-list{align-content:start;display:grid!important;gap:12px!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.share-device-tablet .share-group-section{background:color-mix(in srgb,var(--surface) 86%,var(--bg));border:1px solid var(--faint);border-radius:8px;padding:10px}.share-device-tablet .share-group-section .share-compact-card{min-height:112px}.share-device-tablet .share-parking-bay-card{min-height:86px}.share-device-tablet .share-parking-campus-list{gap:18px}.share-device-tablet .share-pivot-main{gap:14px!important;padding:18px max(18px,var(--share-safe-right)) calc(18px + var(--share-safe-bottom)) max(18px,var(--share-safe-left))!important}.share-device-tablet .pivot-table{min-width:860px}.share-device-tablet .pivot-detail-drawer{width:min(460px,62%)}.share-device-tablet.share-orientation-landscape .share-snapshot-main,.share-device-tablet.share-orientation-landscape .share-pivot-main{padding-top:16px!important}.share-device-tablet.share-orientation-landscape .share-compact-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media(min-width:641px)and (max-width:1180px){.share-snapshot-shell:not(.share-device-phone):not(.share-device-desktop){height:100dvh}}
