body { font-family: 'Plus Jakarta Sans', 'Inter', sans-serif; }
  ::-webkit-scrollbar { width: 8px; height: 8px; }
  ::-webkit-scrollbar-track { background: transparent; }
  ::-webkit-scrollbar-thumb { background: #d7d3f5; border-radius: 999px; }
  .nav-link.active { background: linear-gradient(90deg,#5b34e8,#7c5cf1); color:#fff; box-shadow: 0 6px 16px -4px rgba(91,52,232,.6); }
  .nav-link.active .nav-ico { color:#fff; }
  .page { display:none; }
  .page.active { display:block; animation: fadeIn .25s ease; }
  @keyframes fadeIn { from { opacity:0; transform: translateY(4px);} to {opacity:1; transform:none;} }
  .sidebar-scroll::-webkit-scrollbar{width:5px;}
  .sidebar-scroll::-webkit-scrollbar-thumb{background:#3a2f80;border-radius:999px;}
  .avatar { background: linear-gradient(135deg,#7c5cf1,#5b34e8); }
  .finance-workflow-hero {
    color: #fff;
    background: linear-gradient(135deg,#30265d 0%,#44358a 52%,#6553bd 100%);
  }
  .finance-workflow-hero-orb { background: rgba(255,255,255,.08); }
  .finance-workflow-hero-badge {
    color: #fff;
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.12);
  }
  .finance-workflow-hero-muted { color: #e4defd; }
  .finance-workflow-readiness {
    border-color: rgba(255,255,255,.2);
    background: rgba(255,255,255,.11);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  }
  .finance-workflow-progress { background: rgba(20,13,61,.35); }
  .finance-scenario {
    border-color: #e5e7eb;
    background: #fff;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .15s ease;
  }
  .finance-scenario:hover { border-color: #c9bdfb; transform: translateY(-1px); }
  .finance-scenario[aria-selected="true"] {
    border-color: #5b34e8;
    background: #f7f5ff;
    box-shadow: 0 6px 18px rgba(74,38,209,.1);
  }
  .finance-scenario[aria-selected="true"] .finance-scenario-marker {
    color: #fff;
    background: #5b34e8;
  }
  .billing-record-view {
    border-color: #e5e7eb;
    color: #596171;
    background: #fff;
    transition: border-color .15s ease, color .15s ease, background-color .15s ease, box-shadow .15s ease;
  }
  .billing-record-view:hover { border-color: #c9bdfb; color: #3d1fab; }
  .billing-record-view[aria-selected="true"] {
    border-color: #5b34e8;
    color: #3d1fab;
    background: #f7f5ff;
    box-shadow: 0 5px 16px rgba(74,38,209,.1);
  }
  .billing-record-view[aria-selected="true"] .billing-record-view-icon {
    color: #fff;
    background: #5b34e8;
  }
  .academic-workflow-hero {
    color: #fff;
    background: linear-gradient(135deg,#17385f 0%,#344b9b 52%,#6842b8 100%);
  }
  .academic-workflow-hero-orb { background: rgba(255,255,255,.08); }
  .academic-workflow-hero-badge {
    color: #fff;
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.12);
  }
  .academic-workflow-hero-muted { color: #dbeafe; }
  .academic-workflow-readiness {
    border-color: rgba(255,255,255,.2);
    background: rgba(255,255,255,.11);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  }
  .academic-workflow-progress { background: rgba(10,28,63,.4); }
  .academic-workflow-step {
    border-color: transparent;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  }
  .academic-workflow-step:hover { transform: translateY(-2px); border-color: #bfdbfe; }
  .academic-workflow-step[aria-selected="true"] {
    border-color: #4a26d1;
    box-shadow: 0 8px 22px rgba(74,38,209,.12);
  }
  .academic-scenario {
    border-color: #e5e7eb;
    background: #fff;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
  }
  .academic-scenario:hover { border-color: #c9bdfb; }
  .academic-scenario[aria-selected="true"] {
    border-color: #5b34e8;
    background: #f7f5ff;
    box-shadow: 0 6px 18px rgba(74,38,209,.1);
  }
  .academic-scenario[aria-selected="true"] .academic-scenario-marker {
    color: #fff;
    background: #5b34e8;
  }
  .academic-operation-flow {
    top: 0;
    z-index: 12;
    overflow: hidden;
    border: 1px solid #ded9f8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 28px -24px rgba(48,38,93,.65);
  }
  .academic-operation-flow-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid #ece9fa;
    background: linear-gradient(135deg,#fff 0%,#faf9ff 100%);
  }
  .academic-operation-flow-badge { display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;padding:.32rem .6rem;border:1px solid #e6e0ff;border-radius:999px;color:#4a26d1;background:#f5f2ff;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap; }
  .academic-operation-flow-badge svg { width:.72rem;height:.72rem; }
  .academic-operation-tabs {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(13rem,1fr);
    gap: .35rem;
    overflow-x: auto;
    padding: .4rem;
  }
  .academic-operation-tab {
    display: flex;
    min-height: 3.4rem;
    align-items: center;
    gap: .7rem;
    padding: .65rem .8rem;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #646b7a;
    text-align: left;
    transition: border-color .15s ease, color .15s ease, background-color .15s ease, box-shadow .15s ease;
  }
  .academic-operation-tab:hover { border-color: #d8d1fb; color: #3d1fab; background: #faf9ff; transform:translateY(-1px); }
  .academic-operation-tab:focus-visible { border-color:#7c5cf1;outline:3px solid rgba(124,92,241,.16);outline-offset:-2px; }
  .academic-operation-tab-active {
    border-color: #5b34e8;
    color: #fff;
    background: linear-gradient(135deg,#4a26d1,#6c49e8);
    box-shadow: 0 7px 18px -10px rgba(74,38,209,.8);
  }
  .academic-operation-tab-number {
    display: grid;
    width: 1.85rem;
    height: 1.85rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 999px;
    color: #4a26d1;
    background: #eeeafe;
    font-size: .68rem;
    font-weight: 900;
  }
  .academic-operation-tab-active .academic-operation-tab-number { color: #4a26d1; background: #fff; }
  .academic-operation-tab-title { display:block; font-size:.76rem; font-weight:900; }
  .academic-operation-tab-copy { display:block; margin-top:.12rem; color:#9298a6; font-size:.62rem; line-height:1.35; }
  .academic-operation-tab-active .academic-operation-tab-copy { color:#ddd6fe; }
  .assessment-workspace-panel { border-color:#e6e8ee;box-shadow:0 12px 30px -25px rgba(31,41,55,.5); }
  .assessment-panel-heading { display:flex;align-items:center;gap:.75rem;min-height:4.3rem;padding:.8rem 1rem;border-bottom:1px solid #e9ebf0;background:linear-gradient(120deg,#fff,#fbfcff); }
  .assessment-panel-heading>span { display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border-radius:10px; }
  .assessment-panel-heading>span svg { width:1rem;height:1rem; }
  .assessment-panel-heading>div { min-width:0;flex:1; }.assessment-panel-heading h2 { color:#1f2940;font-size:.82rem;font-weight:900; }.assessment-panel-heading p { margin-top:.12rem;color:#7b8495;font-size:.64rem;font-weight:600; }
  .assessment-panel-heading>small { display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;padding:.35rem .55rem;border-radius:999px;font-size:.56rem;font-weight:850;white-space:nowrap; }
  .assessment-panel-heading>small svg { width:.72rem;height:.72rem; }
  .assessment-panel-heading-outcomes>span { color:#047857;background:#ecfdf5; }.assessment-panel-heading-outcomes>small { color:#047857;background:#ecfdf5; }
  .assessment-panel-heading-marks>span { color:#1d4ed8;background:#eff6ff; }.assessment-panel-heading-marks>small { color:#1d4ed8;background:#eff6ff; }
  .assessment-panel-heading-reports>span { color:#fff;background:linear-gradient(135deg,#7c5cf1,#4a26d1);box-shadow:0 7px 16px -10px rgba(74,38,209,.8); }.assessment-panel-heading-reports>small { color:#047857;background:#ecfdf5; }
  .academic-operation-tab-count { margin-left:auto; padding:.2rem .45rem; border-radius:999px; color:#5f6675; background:#f0f1f4; font-size:.58rem; font-weight:900; white-space:nowrap; }
  .academic-operation-tab-active .academic-operation-tab-count { color:#3d1fab; background:#fff; }
  .academic-operation-kpi {
    position: relative;
    overflow: hidden;
    border: 1px solid #e7e4f5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 7px 22px -20px rgba(33,26,74,.7);
  }
  .academic-operation-kpi::after { content:""; position:absolute; right:-1.2rem; bottom:-1.5rem; width:4rem; height:4rem; border-radius:999px; background:var(--academic-kpi-accent,#f1eefe); opacity:.65; }
  .assessment-scope {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.65rem;
    padding:.8rem;
    border-bottom:1px solid #eceef3;
    background:#fbfcfe;
  }
  .assessment-scope-step {
    min-width:0;
    padding:.6rem;
    border:1px solid #e2e5eb;
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px -10px rgba(30,41,59,.4);
    transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease;
  }
  .assessment-scope-step:hover:not(.is-waiting) { border-color:#c7cddb;box-shadow:0 7px 16px -12px rgba(30,41,59,.45); }
  .assessment-scope-step:focus-within { border-color:#7c5cf1!important;box-shadow:0 0 0 3px rgba(124,92,241,.12)!important;opacity:1; }
  .assessment-scope-step.is-current { border-color:#8badff; box-shadow:0 0 0 2px #dbeafe; }
  .assessment-scope-step.is-complete { border-color:#a7e8cb;background:#f3fcf8; }
  .assessment-scope-step.is-waiting { opacity:.68; }
  .assessment-scope-step.is-unavailable { border-color:#fecaca;background:#fffafa;opacity:1; }
  .assessment-scope-step-head { display:flex;align-items:center;gap:.45rem;margin-bottom:.45rem; }
  .assessment-scope-number { display:grid;width:1.45rem;height:1.45rem;flex:0 0 auto;place-items:center;border-radius:999px;color:#687080;background:#f1f3f6;font-size:.62rem;font-weight:900; }
  .assessment-scope-step.is-current .assessment-scope-number { color:#fff;background:#4a26d1; }
  .assessment-scope-step.is-complete .assessment-scope-number { color:#fff;background:#059669; }
  .assessment-scope-label { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#273147;font-size:.68rem;font-weight:900; }
  .assessment-scope-state { margin-left:auto;color:#9aa1af;font-size:.52rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase; }
  .assessment-scope-step.is-current .assessment-scope-state { color:#4a26d1; }
  .assessment-scope-step.is-complete .assessment-scope-state { color:#047857; }
  .assessment-scope-step.is-unavailable .assessment-scope-state { color:#dc2626; }
  .assessment-report-scope { grid-template-columns:repeat(6,minmax(135px,1fr));border:1px solid #e5e7eb;border-radius:1rem; }
  .assessment-scope-select { width:100%;min-width:0;height:2.4rem;padding:0 .65rem;border:1px solid #e1e4ea;border-radius:8px;color:#1f2940;background:#fff;font-size:.7rem;font-weight:600; }
  .assessment-scope-select:disabled { cursor:not-allowed;color:#a8aebb;background:#f8f9fb; }
  .assessment-scope-select:not(:disabled) { cursor:pointer; }
  .assessment-scope-wide { grid-column:auto; }
  [data-scope-mode="marks"].assessment-scope { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .assessment-scope-status { grid-column:1/-1;display:none;align-items:center;gap:.45rem;color:#64748b;font-size:.68rem;font-weight:700; }
  .assessment-scope[aria-busy="true"] .assessment-scope-status { display:flex; }
  [data-mark-student] { transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease; }
  [data-mark-student]:focus-within { border-color:#93b4ff;background:#f8fbff;box-shadow:0 0 0 3px rgba(59,130,246,.1); }
  [data-mark-student] input[type="number"] { font-weight:800;font-variant-numeric:tabular-nums; }
  .assessment-marks-footer { position:sticky;bottom:0;z-index:8;box-shadow:0 -10px 24px -22px rgba(31,41,55,.7); }
  .assessment-row-actions { display:flex;justify-content:flex-end;gap:.35rem;white-space:nowrap; }
  .assessment-row-action { display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.4rem .58rem;border:1px solid;border-radius:8px;font-size:.62rem;font-weight:850;transition:transform .15s ease,background-color .15s ease,border-color .15s ease; }
  .assessment-row-action:hover { transform:translateY(-1px); }.assessment-row-action svg { width:.78rem;height:.78rem; }
  .assessment-row-action-view { border-color:#d8dde6;color:#4b5563;background:#fff; }.assessment-row-action-view:hover { background:#f8fafc; }
  .assessment-row-action-setup { border-color:#ddd6fe;color:#5b34e8;background:#f5f3ff; }.assessment-row-action-setup:hover { background:#ede9fe; }
  .assessment-row-action-marks { border-color:#bfdbfe;color:#1d4ed8;background:#eff6ff; }.assessment-row-action-marks:hover { background:#dbeafe; }
  [data-assessment-editor-form] { max-width:none!important; }
  .assessment-editor-scope { margin:0;border:1px solid #e8eaf0;border-radius:14px;background:#f8fafc; }
  .assessment-editor-section-head { display:flex;align-items:center;gap:.7rem; }
  .assessment-editor-section-head>span { display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:10px;color:#5b34e8;background:#f0edff; }
  .assessment-editor-section-head h3 { color:#1f2940;font-size:.78rem;font-weight:900; }
  .assessment-editor-section-head p { margin-top:.1rem;color:#8790a2;font-size:.65rem;font-weight:600; }
  .assessment-editor-section-head>b { margin-left:auto;padding:.28rem .55rem;border-radius:999px;color:#5b34e8;background:#f0edff;font-size:.58rem;font-weight:900;text-transform:uppercase; }
  .assessment-details-grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem;align-items:end;padding:1rem;border:1px solid #e8eaf0;border-radius:14px;background:#fbfcfe; }
  .assessment-details-grid>div { min-width:0; }
  .assessment-details-grid .assessment-details-name { grid-column:span 2; }
  .assessment-details-grid label { display:block;margin-bottom:.4rem;color:#596174;font-size:.66rem;font-weight:900; }
  .assessment-details-grid input,.assessment-details-grid select { width:100%;height:2.55rem;border:1px solid #dfe3ea;border-radius:9px;background:#fff;padding:0 .72rem;color:#1f2940;font-size:.75rem;font-weight:600; }
  .assessment-record-filters { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.8rem 1.25rem;border-bottom:1px solid #eceef3;background:#fbfcfe; }
  .assessment-record-filter { display:grid;grid-template-columns:1.35rem minmax(0,1fr);align-items:center;gap:.4rem;min-width:0;padding:.55rem;border:1px solid #e2e5eb;border-radius:11px;background:#fff;transition:border-color .15s ease,background .15s ease,opacity .15s ease; }
  .assessment-record-filter>span { display:grid;width:1.25rem;height:1.25rem;place-items:center;border-radius:999px;color:#697386;background:#f0f2f5;font-size:.55rem;font-weight:900; }
  .assessment-record-filter>b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#30394d;font-size:.64rem;font-weight:900; }
  .assessment-record-filter>select { grid-column:1/-1;width:100%;height:2.25rem;border:1px solid #e1e4ea;border-radius:8px;background:#fff;padding:0 .6rem;color:#273147;font-size:.68rem;font-weight:700; }
  .assessment-record-filter:has(select:not(:disabled)) { border-color:#cbd5e1; }
  .assessment-record-filter:has(select:not(:disabled):not([data-empty="true"])) { border-color:#a7e8cb;background:#f3fcf8; }
  .assessment-record-filter:has(select:not(:disabled))>span { color:#fff;background:#5b34e8; }
  .assessment-record-filter:has(select:not(:disabled):not([data-empty="true"]))>span { background:#059669; }
  .assessment-record-filter:has(select:disabled) { opacity:.65; }
  .assessment-record-filter select:disabled { cursor:not-allowed;color:#a8aebb;background:#f8f9fb; }
  @media(max-width:1279px){.assessment-scope,[data-scope-mode="marks"].assessment-scope{grid-template-columns:repeat(3,minmax(0,1fr))}.assessment-report-scope{grid-template-columns:repeat(4,minmax(0,1fr))}}
  @media(max-width:1279px){.assessment-record-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.assessment-details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.assessment-details-grid .assessment-details-name{grid-column:span 2}}
  @media(max-width:767px){.assessment-scope,[data-scope-mode="marks"].assessment-scope{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-report-scope{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:767px){.assessment-record-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-details-grid .assessment-details-name{grid-column:span 1}}
  @media(max-width:639px){.assessment-scope,[data-scope-mode="marks"].assessment-scope{grid-template-columns:1fr}.assessment-scope-wide{grid-column:auto}}
  @media(max-width:639px){.assessment-record-filters,.assessment-details-grid{grid-template-columns:1fr}.assessment-editor-section-head{align-items:flex-start}.assessment-editor-section-head>b{white-space:nowrap}.assessment-editor-section-head p{line-height:1.35}}
  @media(max-width:767px){.assessment-panel-heading{align-items:flex-start}.assessment-panel-heading>small{display:none}.assessment-row-actions{flex-wrap:wrap}}
  @media(max-width:639px){.academic-operation-flow{position:relative}.academic-operation-flow-header{flex-direction:column}.academic-operation-tabs{grid-auto-columns:minmax(12rem,85%)}}
  .status-active { background:#e8f9ee; color:#149a52; }
  .status-inactive { background:#fdeceb; color:#e0473c; }
  .status-leave { background:#fff6e0; color:#c98a00; }
  input:focus, select:focus, textarea:focus { outline:none; box-shadow:0 0 0 3px rgba(91,52,232,.15); border-color:#5b34e8; }
  .tbl-row:hover { background:#f7f6fe; }
/* EduManage extracted Tailwind token fallbacks */
.text-ink{color:#211a4a!important;}
.bg-\[\#f5f5fb\]{background-color:#f5f5fb!important;}
.bg-panel{background-color:#1c1550!important;}
.bg-panel2{background-color:#241b66!important;}
.from-panel{--tw-gradient-from:#1c1550 var(--tw-gradient-from-position,)!important;--tw-gradient-to:rgba(28,21,80,0) var(--tw-gradient-to-position,)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important;}
.to-panel2{--tw-gradient-to:#241b66 var(--tw-gradient-to-position,)!important;}
.from-brand-700{--tw-gradient-from:#3d1fab var(--tw-gradient-from-position,)!important;--tw-gradient-to:rgba(61,31,171,0) var(--tw-gradient-to-position,)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important;}
.via-brand-600{--tw-gradient-to:rgba(74,38,209,0) var(--tw-gradient-to-position,)!important;--tw-gradient-stops:var(--tw-gradient-from),#4a26d1 var(--tw-gradient-via-position,),var(--tw-gradient-to)!important;}
.to-brand-500{--tw-gradient-to:#5b34e8 var(--tw-gradient-to-position,)!important;}
.bg-brand-50{background-color:#f1eefe!important;}
.bg-brand-100{background-color:#e4defd!important;}
.bg-brand-200{background-color:#c9bdfb!important;}
.bg-brand-300{background-color:#a48cf7!important;}
.bg-brand-400{background-color:#7c5cf1!important;}
.bg-brand-500{background-color:#5b34e8!important;}
.bg-brand-600{background-color:#4a26d1!important;}
.bg-brand-700{background-color:#3d1fab!important;}
.hover\:bg-brand-700:hover{background-color:#3d1fab!important;}
.text-brand-50{color:#f1eefe!important;}
.text-brand-100{color:#e4defd!important;}
.text-brand-200{color:#c9bdfb!important;}
.text-brand-300{color:#a48cf7!important;}
.text-brand-400{color:#7c5cf1!important;}
.text-brand-500{color:#5b34e8!important;}
.text-brand-600{color:#4a26d1!important;}
.text-brand-700{color:#3d1fab!important;}
.border-brand-600{border-color:#4a26d1!important;}
.accent-brand-600{accent-color:#4a26d1!important;}
.shadow-card{box-shadow:0 2px 10px 0 rgba(33,26,74,.06)!important;}
.shadow-soft{box-shadow:0 8px 30px -8px rgba(33,26,74,.25)!important;}
.ring-brand-600{--tw-ring-color:#4a26d1!important;}
.leave-types-switcher { border-color:#e4defd; }
.leave-type-tab {
  display:flex; min-width:0; align-items:center; gap:.75rem; border:1px solid #e5e7eb;
  border-radius:.75rem; background:#fff; padding:.75rem; text-align:left; color:#374151;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.leave-type-tab:hover { border-color:#c9bdfb; background:#faf9ff; transform:translateY(-1px); }
.leave-type-tab[aria-selected="true"] {
  border-color:#a48cf7; background:#f1eefe; color:#2f1980;
  box-shadow:inset 3px 0 0 #5b34e8, 0 5px 16px rgba(74,38,209,.08);
}
.leave-type-tab small { color:#9ca3af; font-size:.6875rem; margin-top:.125rem; }
.leave-type-tab[aria-selected="true"] small { color:#5b34e8; }
.leave-type-tab-icon {
  display:grid; width:2.25rem; height:2.25rem; flex:none; place-items:center;
  border-radius:.625rem; background:#f1eefe; color:#4a26d1;
}
.leave-type-tab[aria-selected="true"] .leave-type-tab-icon { background:#5b34e8; color:#fff; }
.leave-type-tab-count {
  display:flex; flex:none; align-items:center; gap:.35rem; border-radius:999px;
  background:#f3f4f6; padding:.25rem .5rem; color:#6b7280; font-size:.625rem; font-weight:700;
}
.leave-type-tab-count b {
  display:grid; min-width:1.25rem; height:1.25rem; place-items:center; border-radius:999px;
  background:#fff; color:#4a26d1;
}
.leave-type-tab[aria-selected="true"] .leave-type-tab-count { background:#e4defd; color:#3d1fab; }
.leave-types-panel-header { border-top:3px solid #5b34e8; background:linear-gradient(90deg,#faf9ff 0%,#fff 42%); }
.leave-type-modal {
  position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center;
  overflow-y:auto; background:rgba(20,15,54,.58); padding:1rem; backdrop-filter:blur(3px);
}
.leave-type-modal.hidden { display:none; }
.leave-type-editor { animation:leave-type-editor-enter .2s ease-out; }
.leave-type-editor-card {
  width:100%; overflow:hidden; border:1px solid #e4defd; border-radius:1rem;
  background:#fff; box-shadow:0 8px 28px rgba(33,26,74,.09);
}
.leave-type-editor-header, .leave-type-modal-header {
  display:flex; align-items:flex-start; gap:.75rem; border-bottom:1px solid #f0eff6;
  background:linear-gradient(90deg,#faf9ff,#fff); padding:1rem 1.25rem;
}
.leave-type-editor-icon, .leave-type-modal-icon {
  display:grid; width:2.5rem; height:2.5rem; flex:none; place-items:center;
  border-radius:.75rem; background:#e4defd; color:#4a26d1;
}
.leave-type-editor-actions, .leave-type-modal-actions {
  display:flex; justify-content:flex-end; gap:.5rem; border-top:1px solid #f0eff6;
  padding-top:1rem;
}
.leave-type-delete-card {
  width:min(100%,28rem); border:1px solid #fecdd3; border-radius:1rem; background:#fff;
  padding:1.5rem; box-shadow:0 24px 70px rgba(33,26,74,.3);
  animation:leave-type-modal-enter .18s ease-out;
}
body.leave-type-modal-open { overflow:hidden; }
@keyframes leave-type-modal-enter {
  from { opacity:0; transform:translateY(8px) scale(.98); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes leave-type-editor-enter {
  from { opacity:0; transform:translateY(6px); }
  to { opacity:1; transform:translateY(0); }
}
.attendance-status-select {
  min-width:8.5rem;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(30,41,59,.05);
}
.attendance-status-select:hover { filter:saturate(1.08); box-shadow:0 3px 10px rgba(76,44,191,.09); }
.attendance-status-select optgroup {
  color:#64748b;
  background:#f8fafc;
  font-size:.7rem;
  font-weight:800;
}
.attendance-status-select optgroup[data-status-group="other"] {
  color:#b45309;
  background:#fffbeb;
}
.attendance-status-select option {
  color:#1e293b;
  background:#fff;
  font-size:.78rem;
  font-weight:700;
}
.attendance-status-select option[data-status-category="Other"] { color:#b45309; background:#fffbeb; }
.grid-page-button { width: 2rem; height: 2rem; border: 1px solid #e5e7eb; border-radius: 6px; color: #6b7280; background: #fff; font-size: .75rem; font-weight: 700; }
.grid-page-button:hover:not(:disabled) { border-color: #a48cf7; color: #4a26d1; }
.grid-page-button:disabled { cursor: not-allowed; opacity: .4; }
.grid-page-button-active { border-color: #4a26d1; color: #fff; background: #4a26d1; }
.edu-pagination-hidden { display: none !important; }
.edu-global-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.25rem; border-top: 1px solid #f0eff6; background: #fff; }
.edu-global-pagination-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.edu-global-pagination-summary { color: #6b7280; font-size: .75rem; }
.edu-global-pagination-meta label { display: inline-flex; align-items: center; gap: .5rem; color: #6b7280; font-size: .75rem; font-weight: 600; }
.edu-global-pagination-size { min-width: 6.5rem; border: 1px solid #e5e7eb; border-radius: .5rem; background: #f9fafb; padding: .4rem .6rem; color: #374151; font-size: .75rem; font-weight: 700; }
.edu-global-pagination-buttons { display: flex; align-items: center; gap: .25rem; }

/* Approved staff device CRUD ribbon counters */
.staff-device-ribbon-count { display:inline-grid; min-width:1.15rem; height:1.15rem; margin-left:.25rem; place-items:center; padding:0 .28rem; border-radius:999px; color:#596171; background:#eceef2; font-size:.58rem; font-weight:950; vertical-align:middle; }
.crud-ribbon-tab-active .staff-device-ribbon-count { color:#4a26d1; background:rgba(255,255,255,.92); }
[data-grid-pagination] { flex-wrap: wrap; justify-content: flex-end; }
.grid-page-gap { min-width: 1.25rem; color: #9ca3af; text-align: center; }
.grid-action { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; color: #6b7280; }
.grid-action:hover { background: #f1eefe; color: #4a26d1; }
.grid-action-danger { color: #e11d48; }
.grid-action-danger:hover { background: #fff1f2; color: #be123c; }
.crud-ribbon { display: flex; align-items: stretch; gap: .25rem; padding: .3rem; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; box-shadow: 0 2px 10px rgba(33,26,74,.05); overflow-x: auto; }
.crud-ribbon-tab { min-width: 10rem; min-height: 3.25rem; display: inline-flex; align-items: center; gap: .65rem; padding: .65rem 1rem; border-radius: 6px; color: #6b7280; text-align: left; transition: background-color .15s ease, color .15s ease; }
.crud-ribbon-tab:hover:not(:disabled) { background: #f7f6fe; color: #3d1fab; }
.crud-ribbon-tab:disabled { cursor: not-allowed; opacity: .45; }
.crud-ribbon-tab-active { background: #4a26d1; color: #fff; box-shadow: 0 3px 10px rgba(74,38,209,.2); }
.crud-ribbon-tab-active:hover:not(:disabled) { background: #4a26d1; color: #fff; }
.crud-ribbon-tab-title { display: block; font-size: .8125rem; font-weight: 800; line-height: 1.1rem; }
.crud-ribbon-tab-copy { display: block; margin-top: .1rem; font-size: .6875rem; opacity: .72; white-space: nowrap; }
.backup-format-tile { position:relative; transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.backup-format-tile:hover { transform:translateY(-1px); }
.backup-format-tile:focus-within { outline:3px solid rgba(91,52,232,.18); outline-offset:2px; }
.backup-format-tile.is-selected { border-color:#5b34e8!important; background:#f4f1ff!important; box-shadow:0 0 0 2px rgba(91,52,232,.13),0 8px 18px -16px rgba(74,38,209,.65); }
.backup-format-tile.is-selected::after { position:absolute; top:.55rem; right:.55rem; display:grid; width:1.15rem; height:1.15rem; place-items:center; border-radius:999px; color:#fff; background:#5b34e8; content:"✓"; font-size:.65rem; font-weight:900; }
.crud-tab-count { display:grid;min-width:1.35rem;height:1.35rem;place-items:center;margin-left:auto;padding:0 .3rem;border-radius:999px;color:#4a26d1;background:#ede9fe;font-size:.6rem;font-weight:900; }.crud-ribbon-tab-active .crud-tab-count{color:#4a26d1;background:#fff}
.ca-action-tab { display:flex; min-height:3.75rem; align-items:center; gap:.7rem; border:1px solid transparent; border-radius:.75rem; padding:.6rem .75rem; color:#4b5563; text-align:left; transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease; }
.ca-action-tab:hover { border-color:#ddd6fe; background:#fafaff; color:#4a26d1; transform:translateY(-1px); }
.ca-action-tab:focus-visible { outline:2px solid #6d4aff; outline-offset:2px; }
.ca-action-tab b,.ca-action-tab small { display:block; }
.ca-action-tab b { font-size:.78rem; line-height:1.05rem; }
.ca-action-tab small { margin-top:.1rem; color:#9ca3af; font-size:.66rem; line-height:.95rem; }
.ca-action-tab-active { border-color:#c4b5fd; background:#f5f3ff; color:#4a26d1; box-shadow:0 3px 10px rgba(74,38,209,.1); }
[data-crud-workspace] { scroll-margin-top: 1rem; }
[data-crud-panel] { animation: inlineEditorIn .18s ease-out; }
[data-crud-panel][data-crud-mode="create"] > div:first-child { border-left: 4px solid #059669; }
[data-crud-panel][data-crud-mode="edit"] > div:first-child { border-left: 4px solid #d97706; }
[data-crud-workspace][data-active-mode="edit"] .crud-ribbon-tab-active { background: #b45309; box-shadow: 0 3px 10px rgba(180,83,9,.2); }
[data-crud-panel] form { width: 100%; max-width: none; }
#staffAssignmentForm.staff-assignment-form { width: 100%; max-width: none; }
.regpattern-input { position:relative; }
.regpattern-input input { padding-right:5rem; }
.regpattern-input>[data-regpattern-status] { position:absolute;top:calc(50% + .125rem);right:.7rem;display:inline-flex;min-width:2.8rem;transform:translateY(-50%);justify-content:center;border-radius:999px;padding:.18rem .42rem;color:#64748b;background:#f1f5f9;font-size:.58rem;font-weight:850;pointer-events:none; }
.regpattern-prefix { position:absolute;z-index:1;top:calc(50% + .125rem);left:.75rem;transform:translateY(-50%);color:#475569;font-size:.75rem;font-weight:850;pointer-events:none; }
.regpattern-help { display:block;margin-top:.3rem;color:#94a3b8;font-size:.62rem;font-weight:650; }
[data-regpattern-field].is-complete .regpattern-input input { border-color:#86efac;background:#f0fdf4;box-shadow:0 0 0 1px rgb(34 197 94/.08); }
[data-regpattern-field].is-complete .regpattern-input>[data-regpattern-status] { color:#047857;background:#d1fae5; }
[data-regpattern-field].was-touched:not(.is-complete) .regpattern-input input { border-color:#fda4af;background:#fff7f7; }
[data-regpattern-field].was-touched:not(.is-complete) .regpattern-help { color:#be123c; }
[data-crud-panel] input, [data-crud-panel] select, [data-crud-panel] textarea { min-width: 0; }
@keyframes inlineEditorIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.dashboard-kpi { min-height: 8.75rem; }
.dashboard-kpi-icon { width: 2.5rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; border-radius: 8px; }
.dashboard-chart { position: relative; width: 100%; height: 16rem; }
.dashboard-chart-wide { height: 17rem; }
.setup-journey-step { display: flex; align-items: center; gap: .75rem; padding: .85rem 1.25rem; color: #374151; }
.setup-journey-step:hover { background: #fafafa; }
.setup-step-state { width: 1.75rem; height: 1.75rem; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #f3f4f6; color: #9ca3af; }
.setup-journey-step-complete .setup-step-state { background: #d1fae5; color: #047857; }
.analytics-hero { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 11rem; overflow: hidden; padding: 1.75rem 2rem; border-radius: 14px; background: radial-gradient(circle at 88% 15%, rgba(164,140,247,.8), transparent 22%), linear-gradient(125deg,#21155f,#4a26d1 62%,#6d4bea); box-shadow: 0 18px 44px -24px rgba(33,21,95,.75); }
.analytics-hero::after { content:""; position:absolute; right:-3rem; bottom:-6rem; width:18rem; height:18rem; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 2.4rem rgba(255,255,255,.04),0 0 0 5rem rgba(255,255,255,.025); }
.analytics-hero-organization { background: radial-gradient(circle at 88% 15%, rgba(45,212,191,.45), transparent 24%), linear-gradient(125deg,#1d175b,#4a26d1 64%,#047f83); }
.analytics-eyebrow { display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .65rem; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#ede9fe; background:rgba(255,255,255,.09); font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
.analytics-eyebrow svg { width:.85rem; height:.85rem; }
.analytics-hero-action { display:inline-flex; align-items:center; gap:.45rem; min-height:2.5rem; padding:.6rem .8rem; border:1px solid rgba(255,255,255,.28); border-radius:8px; color:#fff; background:rgba(255,255,255,.12); font-size:.75rem; font-weight:800; backdrop-filter:blur(8px); transition:.15s ease; }
.analytics-hero-action:hover { background:rgba(255,255,255,.22); transform:translateY(-1px); }
.analytics-hero-action svg { width:1rem; height:1rem; }
.analytics-context-switcher { display:flex;align-items:center;width:min(100%,31rem);height:2.65rem;margin-top:1rem;padding:0 .75rem;border:1px solid rgba(255,255,255,.22);border-radius:9px;color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(8px); }
.analytics-context-switcher label { display:flex;align-items:center;gap:.4rem;padding-right:.65rem;border-right:1px solid rgba(255,255,255,.18);color:#ddd6fe;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }.analytics-context-switcher label svg,.analytics-context-switcher>svg { width:.85rem;height:.85rem; }.analytics-context-switcher select { min-width:0;flex:1;padding:0 .65rem;border:0;color:#fff;background:transparent;font-size:.72rem;font-weight:800;appearance:none;outline:none; }.analytics-context-switcher select option { color:#1f2937;background:#fff; }
.analytics-scope-caption { display:flex;align-items:center;gap:.4rem;margin-top:.85rem;color:#ccfbf1;font-size:.7rem;font-weight:800; }.analytics-scope-caption svg { width:.85rem;height:.85rem; }
.analytics-readiness-ring { --value:0; position:relative; z-index:1; width:7.5rem; height:7.5rem; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:conic-gradient(#5eead4 calc(var(--value) * 1%),rgba(255,255,255,.16) 0); }
.analytics-readiness-ring::before { content:""; position:absolute; inset:.55rem; border-radius:50%; background:#302080; box-shadow:inset 0 0 20px rgba(0,0,0,.15); }
.analytics-readiness-ring div { position:relative; display:grid; text-align:center; color:#fff; }
.analytics-readiness-ring strong { font-size:1.45rem; font-weight:900; }.analytics-readiness-ring span { font-size:.65rem; color:#c4b5fd; text-transform:uppercase; letter-spacing:.08em; }
.analytics-kpi { position:relative; min-height:9.25rem; overflow:hidden; padding:1rem; border:1px solid #eeeef5; border-radius:10px; background:#fff; box-shadow:0 2px 10px rgba(33,26,74,.05); transition:transform .15s ease,box-shadow .15s ease; }
.analytics-kpi:hover { transform:translateY(-2px); box-shadow:0 12px 28px -16px rgba(33,26,74,.32); }
.analytics-kpi-icon { display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:8px; }.analytics-kpi-icon svg { width:1.15rem; height:1.15rem; }
.analytics-kpi-trend { position:absolute; top:1.15rem; right:1rem; max-width:55%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.65rem; font-weight:800; }
.analytics-kpi-value { margin-top:1rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#211a4a; font-size:1.45rem; line-height:1.8rem; font-weight:900; }.analytics-kpi-value small { font-size:.8rem;color:#9ca3af; }
.analytics-kpi-label { margin-top:.2rem; color:#6b7280; font-size:.7rem; font-weight:700; }
.holiday-flash { display:grid;grid-template-columns:minmax(15rem,.38fr) minmax(15rem,1fr) auto;align-items:center;gap:1rem;min-height:3.45rem;overflow:hidden;padding:.55rem .75rem;border:1px solid #e9d9b7;border-radius:14px;background:linear-gradient(110deg,#fffdf8,#fff 56%,#fbfaff);box-shadow:0 10px 28px -24px rgba(90,61,18,.65); }
.holiday-flash-heading { display:flex;align-items:center;gap:.7rem;min-width:0; }
.holiday-flash-heading>span { display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:9px;color:#b45309;background:#fef3c7;box-shadow:inset 0 0 0 1px rgba(245,158,11,.06); }
.holiday-flash-heading svg { width:1rem;height:1rem; }
.holiday-flash-heading h2 { color:#312610;font-size:.78rem;font-weight:900; }
.holiday-flash-heading p { margin-top:.1rem;color:#95856a;font-size:.62rem;font-weight:600; }
.holiday-flash-count { flex:0 0 auto;padding:.27rem .55rem;border-radius:999px;color:#92400e;background:#fef3c7;font-size:.58rem;font-weight:900;text-transform:uppercase; }
.holiday-flash-actions { display:flex;align-items:center;gap:.45rem;flex:0 0 auto; }
.holiday-flash-position { min-width:2.8rem;color:#786b58;font-size:.58rem;font-weight:900;text-align:center; }
.holiday-flash-navigation { display:flex;overflow:hidden;border:1px solid #eadfca;border-radius:8px;background:#fff;box-shadow:0 2px 7px rgba(59,43,20,.06); }
.holiday-flash-navigation button { display:grid;width:1.9rem;height:1.8rem;place-items:center;color:#8b6b38;transition:color .15s ease,background .15s ease; }
.holiday-flash-navigation button+button { border-left:1px solid #eee5d7; }
.holiday-flash-navigation button:hover,.holiday-flash-navigation button:focus-visible { color:#92400e;background:#fff8e8;outline:none; }
.holiday-flash-navigation svg { width:.85rem;height:.85rem; }
.holiday-flash-track { position:relative;min-width:0;height:2.35rem;overflow:hidden;touch-action:pan-y; }
.holiday-flash-track::before,.holiday-flash-track::after { content:"";position:absolute;z-index:2;top:0;bottom:0;width:1rem;pointer-events:none; }.holiday-flash-track::before { left:0;background:linear-gradient(90deg,#fff,transparent); }.holiday-flash-track::after { right:0;background:linear-gradient(270deg,#fff,transparent); }
.holiday-flash-item { position:absolute;inset:0;display:flex;align-items:center;gap:.55rem;min-width:0;padding:0 .8rem;opacity:0;pointer-events:none;text-align:left;transform:translateX(-2.5rem);transition:opacity .42s ease,transform .42s cubic-bezier(.22,.8,.28,1); }
.holiday-flash-item.is-active { z-index:1;opacity:1;pointer-events:auto;transform:translateX(0); }.holiday-flash-item.is-leaving { opacity:0;transform:translateX(2.5rem); }
.holiday-flash-item:focus-visible { border-radius:8px;outline:2px solid rgba(245,158,11,.5);outline-offset:-2px;background:#fffaf0; }
.holiday-flash-date { display:grid;width:2.05rem;height:2.05rem;flex:0 0 auto;place-content:center;border-radius:8px;color:#9a4b08;background:#fff2cf;text-align:center;line-height:1; }
.holiday-flash-date strong { font-size:.76rem;font-weight:950; }
.holiday-flash-date small { margin-top:.12rem;font-size:.45rem;font-weight:900;text-transform:uppercase; }
.holiday-flash-copy { display:block;min-width:0;flex:1; }
.holiday-flash-copy>strong { display:inline;overflow:hidden;color:#33291c;font-size:.68rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap; }
.holiday-flash-copy>small { display:inline;margin-left:.45rem;color:#948876;font-size:.54rem;font-weight:650;white-space:nowrap; }
.holiday-flash-meta { display:flex;align-items:center;gap:.35rem; }
.holiday-flash-meta b { color:#b45309;font-size:.5rem;font-weight:900;text-transform:uppercase; }
.holiday-flash-meta small { overflow:hidden;padding:.1rem .3rem;border-radius:999px;color:#6d5d48;background:#f6f3ed;font-size:.45rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap; }
.holiday-flash-empty { display:flex;align-items:center;gap:.5rem;min-width:0;color:#9b917f;font-size:.62rem;font-weight:700; }.holiday-flash-empty svg { width:1rem;height:1rem;flex:0 0 auto;color:#c1b8aa; }
@media(max-width:900px){.holiday-flash{grid-template-columns:minmax(13rem,.8fr) minmax(12rem,1fr) auto}.holiday-flash-heading p{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holiday-flash-count{display:none}}
@media(max-width:639px){.holiday-flash{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:0;padding:.6rem .75rem .7rem}.holiday-flash-heading{min-width:0}.holiday-flash-heading>div{min-width:0}.holiday-flash-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holiday-flash-heading p{display:none}.holiday-flash-track{grid-column:1/-1;grid-row:2;width:100%;height:4rem;border-top:1px solid #f2eadb}.holiday-flash-actions{grid-column:2;grid-row:1}.holiday-flash-position{display:none}.holiday-flash-item{align-items:center;padding:.5rem 0}.holiday-flash-date{width:2.35rem;height:2.35rem}.holiday-flash-copy{overflow:hidden}.holiday-flash-copy>strong,.holiday-flash-copy>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holiday-flash-copy>small{margin:.14rem 0 0}.holiday-flash-empty{grid-column:1/-1;min-height:2.75rem;border-top:1px solid #f2eadb}}
@media(prefers-reduced-motion:reduce){.holiday-flash-item{transition:none}.holiday-flash-item.is-leaving{transform:none}}
.analytics-card { min-width:0; border:1px solid #ececf3; border-radius:11px; background:#fff; box-shadow:0 2px 10px rgba(33,26,74,.05); }
.analytics-card-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; }
.analytics-card-header h3 { color:#211a4a; font-size:.9rem; font-weight:900; }.analytics-card-header p { margin-top:.2rem; color:#9ca3af; font-size:.7rem; }
.analytics-score { display:grid; min-width:2.25rem; height:2.25rem; place-items:center; padding:0 .55rem; border-radius:8px; font-size:.7rem; font-weight:900; }.analytics-score.is-good { color:#047857;background:#d1fae5; }.analytics-score.is-warning { color:#b45309;background:#fef3c7; }
.analytics-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #f3f4f6; }
.analytics-check { display:flex; align-items:center; gap:.75rem; min-width:0; padding:1rem 1.25rem; border-right:1px solid #f3f4f6; border-bottom:1px solid #f3f4f6; }.analytics-check:hover { background:#faf9ff; }
.analytics-check>span { display:grid; width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:50%;color:#9ca3af;background:#f3f4f6; }.analytics-check>span.is-complete { color:#047857;background:#d1fae5; }.analytics-check svg { width:.9rem;height:.9rem; }.analytics-check>div { min-width:0;flex:1; }.analytics-check strong,.analytics-check small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.analytics-check strong { font-size:.75rem; }.analytics-check small { margin-top:.15rem;color:#9ca3af;font-size:.65rem; }.analytics-check>svg { color:#d1d5db; }
.analytics-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; padding:0 1.25rem 1.25rem; }.analytics-action-grid a { display:flex;min-height:5.5rem;flex-direction:column;justify-content:space-between;padding:.85rem;border:1px solid #eeeef5;border-radius:9px;color:#4b5563;background:#fafafa;font-size:.7rem;font-weight:800; }.analytics-action-grid a:hover { border-color:#c9bdfb;color:#3d1fab;background:#f7f6fe; }.analytics-action-grid svg { width:1.15rem;height:1.15rem;color:#5b34e8; }
.analytics-segmented { display:inline-flex;gap:.2rem;padding:.2rem;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb; }.analytics-segmented button { padding:.4rem .65rem;border-radius:6px;color:#6b7280;font-size:.65rem;font-weight:800;white-space:nowrap; }.analytics-segmented button.is-active { color:#fff;background:#4a26d1;box-shadow:0 3px 8px rgba(74,38,209,.2); }
.analytics-search { display:flex;align-items:center;gap:.5rem;min-width:12rem;max-width:22rem;padding:.55rem .7rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff; }.analytics-search svg { width:.95rem;height:.95rem;color:#9ca3af; }.analytics-search input { width:100%;min-width:0;background:transparent;font-size:.72rem; }.analytics-search input:focus { box-shadow:none; }
.analytics-list-row { display:flex;align-items:center;gap:.75rem;padding:.8rem 1.25rem;color:#374151; }.analytics-list-row:hover { background:#faf9ff; }.analytics-list-row strong,.analytics-list-row small { display:block; }.analytics-list-row strong { font-size:.75rem;font-weight:800; }.analytics-list-row small { margin-top:.15rem;overflow:hidden;color:#9ca3af;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap; }.analytics-list-row>svg { width:1rem;height:1rem;color:#c4b5fd; }.analytics-list-icon { display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:7px; }.analytics-list-icon svg { width:.9rem;height:.9rem; }
.analytics-list-row.is-selected { background:#faf9ff;box-shadow:inset 3px 0 #4a26d1; }.analytics-context-badge { padding:.3rem .5rem;border-radius:999px;color:#4a26d1;background:#ede9fe;font-size:.6rem;font-weight:900;white-space:nowrap; }
.analytics-estate-summary { display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.25rem 1rem; }.analytics-estate-summary span { padding:.4rem .6rem;border-radius:7px;color:#6b7280;background:#f3f4f6;font-size:.64rem;font-weight:700; }.analytics-estate-summary b { color:#374151;font-weight:900; }.analytics-estate-summary .is-good { color:#047857;background:#ecfdf5; }.analytics-estate-summary .is-warning { color:#b45309;background:#fffbeb; }.analytics-estate-summary .is-danger { color:#be123c;background:#fff1f2; }
.analytics-status { display:inline-flex;align-items:center;padding:.3rem .5rem;border-radius:999px;font-size:.62rem;font-weight:900;white-space:nowrap; }.analytics-status.is-good { color:#047857;background:#d1fae5; }.analytics-status.is-warning { color:#b45309;background:#fef3c7; }.analytics-status.is-danger { color:#be123c;background:#ffe4e6; }.analytics-status.is-neutral { color:#6b7280;background:#f3f4f6; }
.analytics-empty { display:grid;place-items:center;gap:.35rem;padding:2.5rem 1rem;color:#9ca3af;text-align:center; }.analytics-empty svg { width:1.5rem;height:1.5rem; }.analytics-empty strong { color:#4b5563;font-size:.78rem; }.analytics-empty small { max-width:24rem;font-size:.68rem; }.analytics-empty-page { min-height:14rem;border:1px dashed #d8d7e4;border-radius:12px;background:#fff; }
.analytics-link { display:inline-flex;align-items:center;gap:.25rem;color:#4a26d1;font-size:.67rem;font-weight:800; }.analytics-link svg { width:.8rem;height:.8rem; }
.analytics-timeline { padding:0 1.25rem 1rem; }.analytics-timeline-item { position:relative;display:flex;align-items:center;gap:.7rem;padding:.65rem 0; }.analytics-timeline-item:not(:last-child)::after { content:"";position:absolute;left:.95rem;top:2.6rem;bottom:-.55rem;border-left:1px dashed #e5e7eb; }.analytics-timeline-item>span:first-child { z-index:1;display:grid;width:1.9rem;height:1.9rem;flex:0 0 auto;place-items:center;border-radius:50%;color:#b45309;background:#fef3c7; }.analytics-timeline-item>span.is-complete { color:#047857;background:#d1fae5; }.analytics-timeline-item>span.is-danger { color:#be123c;background:#ffe4e6; }.analytics-timeline-item svg { width:.8rem;height:.8rem; }.analytics-timeline-item>div { min-width:0;flex:1; }.analytics-timeline-item strong,.analytics-timeline-item small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.analytics-timeline-item strong { font-size:.72rem; }.analytics-timeline-item small { margin-top:.15rem;color:#9ca3af;font-size:.62rem; }
.analytics-metric-stack { display:grid;gap:1.1rem;padding:0 1.25rem 1.25rem; }.analytics-metric-stack>div { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem; }.analytics-metric-stack span strong,.analytics-metric-stack span small { display:block; }.analytics-metric-stack span strong { font-size:.73rem; }.analytics-metric-stack span small { margin-top:.12rem;color:#9ca3af;font-size:.62rem; }.analytics-metric-stack b { color:#4a26d1;font-size:.72rem; }.analytics-metric-stack>div>div { grid-column:1/-1;height:.4rem;overflow:hidden;border-radius:999px;background:#f3f4f6; }.analytics-metric-stack i { display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c5cf1,#4a26d1);transition:width .35s ease; }
.analytics-avatar { display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:8px;color:#4a26d1;background:#f1eefe;font-size:.62rem;font-weight:900; }
@media(max-width:767px){.analytics-hero{align-items:flex-start;flex-direction:column;padding:1.4rem;}.analytics-readiness-ring{width:5.4rem;height:5.4rem;opacity:.9}.analytics-hero:not(.analytics-hero-organization) .analytics-readiness-ring{position:absolute;right:1rem;bottom:1rem}.analytics-readiness-ring strong{font-size:1rem}.analytics-check-grid{grid-template-columns:1fr}.analytics-card-header{align-items:flex-start;flex-wrap:wrap}.analytics-card-header .analytics-search{max-width:none}.analytics-context-badge{display:none}.analytics-segmented{max-width:100%;overflow-x:auto}}
.family-campus-group { min-width: 0; }
.family-campus-heading { display: flex; align-items: center; gap: .75rem; padding-bottom: .75rem; border-bottom: 1px solid #f3f4f6; }
.family-org-roots { display: grid; gap: .75rem; padding-top: .75rem; }
.family-org-node { position: relative; min-width: 0; }
.family-org-card { display: flex; align-items: center; gap: .5rem; max-width: 42rem; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.family-org-card:hover { border-color: #c9bdfb; background: #faf9ff; }
.family-org-card-selected { border-color: #4a26d1; box-shadow: 0 0 0 3px rgba(74,38,209,.1); }
.family-org-select { min-width: 0; flex: 1; display: flex; align-items: center; gap: .75rem; padding: .7rem .75rem; }
.family-org-actions { flex: 0 0 auto; display: flex; align-items: center; gap: .25rem; padding-right: .5rem; }
.family-org-children { display: grid; gap: .65rem; margin-left: 1.4rem; padding: .65rem 0 0 1.4rem; border-left: 2px solid #ddd6fe; }
.family-org-children:empty { display: none; }
.family-org-children > .family-org-node::before { content: ""; position: absolute; left: -1.4rem; top: 1.65rem; width: 1.35rem; border-top: 2px solid #ddd6fe; }
.family-toggle-collapsed svg { transform: rotate(-90deg); }
.family-profile-row { display: grid; grid-template-columns: 6.5rem minmax(0,1fr); gap: .75rem; padding: .75rem 1.25rem; font-size: .75rem; }
.family-profile-row dt { color: #9ca3af; }
.family-profile-row dd { color: #374151; font-weight: 700; text-align: right; overflow-wrap: anywhere; }
.family-direct-report { width: 100%; display: flex; align-items: center; gap: .6rem; padding: .5rem; border-radius: 7px; }
.family-direct-report:hover { background: #f7f6fe; }
@media (max-width: 640px) {
  .dashboard-chart, .dashboard-chart-wide { height: 15rem; }
  .family-org-children { margin-left: .65rem; padding-left: .85rem; }
  .family-org-children > .family-org-node::before { left: -.85rem; width: .8rem; }
  .family-org-actions > span { display: none; }
}
.family-member-indent { margin-left: min(calc(var(--hierarchy-depth, 0) * 2rem), 10rem); }
.family-branch { width: 1rem; height: 1.5rem; border-left: 2px solid #ddd6fe; border-bottom: 2px solid #ddd6fe; border-bottom-left-radius: 6px; }
.family-member-row:first-child .family-branch { border-left-color: transparent; }
@media (max-width: 640px) {
  .crud-ribbon-tab { min-width: 9rem; flex: 1 0 9rem; }
  .crud-ribbon-tab-copy { white-space: normal; }
  .family-member-indent { margin-left: min(calc(var(--hierarchy-depth, 0) * .75rem), 3rem); }
}

/* Shared page-action loader */
.validation-summary-valid,
.field-validation-valid { display: none !important; }
.validation-summary-errors,
.field-validation-error { display: none !important; }

/* Application-wide interactive toast notifications */
.edu-toast-region { position:fixed; z-index:10020; top:1rem; right:1rem; display:flex; width:min(25rem,calc(100vw - 2rem)); flex-direction:column; gap:.65rem; pointer-events:none; }
.edu-toast { --edu-toast-accent:#059669; --edu-toast-soft:#ecfdf5; position:relative; display:grid; grid-template-columns:2.35rem minmax(0,1fr) 1.8rem; gap:.7rem; align-items:start; overflow:hidden; padding:.85rem .8rem 1rem; border:1px solid color-mix(in srgb,var(--edu-toast-accent) 22%,#fff); border-radius:.8rem; background:rgba(255,255,255,.98); box-shadow:0 18px 45px -18px rgba(17,24,39,.48); opacity:0; transform:translateX(1.25rem) scale(.98); transition:opacity .18s ease,transform .18s ease; pointer-events:auto; backdrop-filter:blur(14px); }
.edu-toast.is-visible { opacity:1; transform:none; }
.edu-toast.is-leaving { opacity:0; transform:translateX(1rem) scale(.98); }
.edu-toast-error { --edu-toast-accent:#e11d48; --edu-toast-soft:#fff1f2; }
.edu-toast-icon { display:grid; width:2.35rem; height:2.35rem; place-items:center; border-radius:.65rem; color:var(--edu-toast-accent); background:var(--edu-toast-soft); }
.edu-toast-icon svg { width:1.2rem; height:1.2rem; }
.edu-toast-copy { min-width:0; padding-top:.08rem; }
.edu-toast-copy strong { display:block; color:#1f2937; font-size:.76rem; font-weight:900; }
.edu-toast-copy p { margin:.2rem 0 0; color:#667085; font-size:.7rem; line-height:1.45; overflow-wrap:anywhere; white-space:pre-line; }
.edu-toast-close { display:grid; width:1.8rem; height:1.8rem; place-items:center; border:0; border-radius:.45rem; color:#98a2b3; background:transparent; font-size:1.15rem; line-height:1; cursor:pointer; }
.edu-toast-close:hover,.edu-toast-close:focus-visible { color:#344054; background:#f2f4f7; outline:none; }
.edu-toast-progress { position:absolute; right:0; bottom:0; left:0; height:3px; background:var(--edu-toast-accent); transform-origin:left; animation:eduToastProgress var(--edu-toast-duration,6000ms) linear forwards; }
@keyframes eduToastProgress { to { transform:scaleX(0); } }
@media(max-width:639px){.edu-toast-region{top:.65rem;right:.65rem;width:calc(100vw - 1.3rem)}}
@media(prefers-reduced-motion:reduce){.edu-toast{transition:none}.edu-toast-progress{animation:none}}

.edu-demo-mode-banner { position:fixed; z-index:9990; top:.55rem; left:50%; display:flex; align-items:center; gap:.5rem; max-width:calc(100vw - 2rem); padding:.42rem .7rem; border:1px solid rgba(255,255,255,.75); border-radius:999px; color:#fff; background:linear-gradient(105deg,#6d28d9,#9333ea); box-shadow:0 10px 30px -12px rgba(76,29,149,.75); transform:translateX(-50%); white-space:nowrap; pointer-events:none; }
.edu-demo-mode-banner span { padding:.18rem .38rem; border-radius:999px; color:#4c1d95; background:#fff; font-size:.58rem; font-weight:950; letter-spacing:.08em; }
.edu-demo-mode-banner b { font-size:.67rem; font-weight:900; }
.edu-demo-mode-banner small { padding-left:.5rem; border-left:1px solid rgba(255,255,255,.35); color:#ede9fe; font-size:.58rem; }
@media(max-width:639px){.edu-demo-mode-banner{top:.35rem}.edu-demo-mode-banner small{display:none}}

.edu-page-loader { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 1.25rem; opacity: 0; visibility: hidden; transition: opacity .18s ease, visibility .18s ease; }
.edu-page-loader[hidden] { display: none; }
.edu-page-loader.is-visible { opacity: 1; visibility: visible; }
.edu-loader-backdrop { position: absolute; inset: 0; background: rgba(20, 15, 57, .34); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.edu-loader-progress { position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 3px; overflow: hidden; background: rgba(255, 255, 255, .2); }
.edu-loader-progress span { display: block; width: 38%; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #a48cf7, #fff, #5b34e8); box-shadow: 0 0 16px rgba(255, 255, 255, .8); animation: eduLoaderProgress 1.15s ease-in-out infinite; }
.edu-loader-card { position: relative; display: grid; place-items: center; width: 5rem; height: 5rem; border: 1px solid rgba(255, 255, 255, .75); border-radius: 1.25rem; background: rgba(255, 255, 255, .96); color: #211a4a; box-shadow: 0 24px 70px -18px rgba(20, 15, 57, .55); transform: translateY(8px) scale(.985); transition: transform .2s ease; }
.edu-page-loader.is-visible .edu-loader-card { transform: none; }
.edu-loader-mark { position: relative; width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: .85rem; overflow: hidden; color: #fff; background: linear-gradient(135deg, #7c5cf1, #4a26d1); box-shadow: 0 10px 24px -10px rgba(74, 38, 209, .8); }
.edu-loader-mark svg { position: relative; z-index: 1; }
.edu-loader-orbit { position: absolute; width: 3.9rem; height: 1.1rem; border: 2px solid rgba(255, 255, 255, .45); border-radius: 50%; animation: eduLoaderOrbit 1.4s linear infinite; }
.edu-is-loading { cursor: progress; }
@keyframes eduLoaderProgress { 0% { transform: translateX(-110%); } 100% { transform: translateX(310%); } }
@keyframes eduLoaderOrbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .edu-page-loader, .edu-loader-card { transition: none; }
  .edu-loader-progress span, .edu-loader-orbit { animation-duration: 2.5s; }
}

/* Shared branded confirmation dialog */
.edu-confirm-dialog { width:min(31rem,calc(100vw - 2rem)); max-width:none; overflow:visible; padding:0; border:0; border-radius:1.15rem; color:#1f2937; background:transparent; box-shadow:0 28px 80px -28px rgba(30,24,73,.7); }
.edu-confirm-dialog.has-change-details { width:min(43rem,calc(100vw - 2rem)); }
.edu-confirm-dialog::backdrop { background:rgba(21,16,52,.58); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.edu-confirm-card { position:relative; overflow:hidden; border:1px solid #e7e3f7; border-radius:1.15rem; background:#fff; }
.edu-confirm-accent { height:.3rem; background:linear-gradient(90deg,#7256e8,#9a82f1,#4f34c8); }
.edu-confirm-dialog.is-danger .edu-confirm-accent { background:linear-gradient(90deg,#e11d48,#fb7185,#be123c); }
.edu-confirm-body { position:relative; display:grid; grid-template-columns:3rem minmax(0,1fr) 2rem; gap:.8rem; padding:1.35rem 1.35rem 1.1rem; }
.edu-confirm-icon { display:grid; width:3rem; height:3rem; place-items:center; border-radius:.85rem; color:#5738d1; background:#f0edff; }
.edu-confirm-dialog.is-danger .edu-confirm-icon { color:#be123c; background:#fff1f2; }
.edu-confirm-heading { align-self:center; min-width:0; }
.edu-confirm-eyebrow { color:#7c6daf; font-size:.62rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.edu-confirm-heading h2 { margin:.18rem 0 0; color:#211a4a; font-size:1.08rem; font-weight:900; }
.edu-confirm-close { display:grid; width:2rem; height:2rem; place-items:center; border:0; border-radius:.55rem; color:#8b83a6; background:transparent; font-size:1.35rem; cursor:pointer; }
.edu-confirm-close:hover,.edu-confirm-close:focus-visible { color:#31265f; background:#f5f3ff; outline:none; }
.edu-confirm-message { grid-column:1/-1; margin:.2rem 0 0; color:#667085; font-size:.82rem; line-height:1.55; }
.edu-confirm-details { grid-column:1/-1; margin-top:.15rem; overflow:hidden; border:1px solid #e8e4f6; border-radius:.8rem; background:#faf9ff; }
.edu-confirm-details[hidden] { display:none; }
.edu-confirm-details-header { display:flex; align-items:center; justify-content:space-between; gap:.65rem; padding:.72rem .8rem; border-bottom:1px solid #e8e4f6; background:#f6f3ff; }
.edu-confirm-details-header>p { flex:none; margin:0; color:#514477; font-size:.65rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.edu-confirm-detail-filters { display:flex; min-width:0; gap:.3rem; overflow-x:auto; scrollbar-width:none; }
.edu-confirm-detail-filters[hidden] { display:none; }
.edu-confirm-detail-filter { flex:none; padding:.27rem .48rem; border:1px solid #ded8f2; border-radius:999px; color:#71678e; background:#fff; font-size:.6rem; font-weight:850; cursor:pointer; }
.edu-confirm-detail-filter:hover { border-color:#bcb0e9; color:#4f35bb; }
.edu-confirm-detail-filter[aria-pressed="true"] { border-color:#6c4ce0; color:#fff; background:#6544d7; box-shadow:0 4px 10px -7px rgba(72,45,177,.9); }
.edu-confirm-details ul { display:grid; max-height:18rem; margin:0; padding:.55rem; gap:.45rem; overflow:auto; list-style:none; }
.edu-confirm-details li:not(.edu-confirm-change) { padding:.42rem; color:#4f4963; font-size:.72rem; font-weight:700; line-height:1.4; }
.edu-confirm-change { display:grid; grid-template-columns:minmax(9rem,1fr) minmax(16rem,1.4fr); align-items:center; gap:.8rem; padding:.68rem .72rem; border:1px solid #e9e6f2; border-radius:.65rem; background:#fff; transition:border-color .15s,background-color .15s,transform .15s; }
.edu-confirm-change:hover { transform:translateY(-1px); }
.edu-confirm-change[hidden] { display:none; }
.edu-confirm-change.is-granted { border-left:3px solid #10b981; background:linear-gradient(90deg,#f0fdf7 0,#fff 28%); }
.edu-confirm-change.is-revoked { border-left:3px solid #f43f5e; background:linear-gradient(90deg,#fff1f3 0,#fff 28%); }
.edu-confirm-change.is-adjusted { border-left:3px solid #8b5cf6; background:linear-gradient(90deg,#f5f3ff 0,#fff 28%); }
.edu-confirm-change-identity { min-width:0; }
.edu-confirm-change-identity span { display:block; overflow:hidden; color:#8b82a3; font-size:.58rem; font-weight:850; letter-spacing:.045em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.edu-confirm-change-identity strong { display:block; margin-top:.18rem; overflow:hidden; color:#2c2547; font-size:.72rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.edu-confirm-change-transition { display:grid; grid-template-columns:minmax(0,1fr) 1.25rem minmax(0,1fr); align-items:center; gap:.35rem; }
.edu-confirm-change-state { min-width:0; padding:.4rem .48rem; border:1px solid #e8e5ef; border-radius:.52rem; background:#fafafa; }
.edu-confirm-change-state small { display:block; color:#9a94aa; font-size:.52rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.edu-confirm-change-state strong { display:block; margin-top:.12rem; overflow:hidden; color:#625b73; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }
.edu-confirm-change-arrow { color:#a59dbb; font-size:.9rem; font-weight:900; text-align:center; }
.edu-confirm-change.is-granted .edu-confirm-change-state.is-current { border-color:#a7f3d0; background:#ecfdf5; }
.edu-confirm-change.is-granted .edu-confirm-change-state.is-current strong { color:#047857; }
.edu-confirm-change.is-revoked .edu-confirm-change-state.is-current { border-color:#fecdd3; background:#fff1f2; }
.edu-confirm-change.is-revoked .edu-confirm-change-state.is-current strong { color:#be123c; }
.edu-confirm-change.is-adjusted .edu-confirm-change-state.is-current { border-color:#ddd6fe; background:#f5f3ff; }
.edu-confirm-change.is-adjusted .edu-confirm-change-state.is-current strong { color:#5b21b6; }
.edu-confirm-code-field { grid-column:1/-1; margin-top:.25rem; padding:1rem; border:1px solid #fecdd3; border-radius:.85rem; background:#fff7f8; }
.edu-confirm-code-field[hidden] { display:none; }
.edu-confirm-code-field label { display:block; color:#881337; font-size:.72rem; font-weight:850; }
.edu-confirm-code-token { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin:.6rem 0; color:#9f1239; font-size:.65rem; font-weight:800; text-transform:uppercase; }
.edu-confirm-code-token strong { overflow-wrap:anywhere; padding:.3rem .52rem; border:1px solid #fda4af; border-radius:.45rem; color:#881337; background:#fff; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.75rem; letter-spacing:.04em; text-transform:none; }
.edu-confirm-code-field input { width:100%; padding:.68rem .78rem; border:1px solid #fda4af; border-radius:.65rem; color:#4c0519; background:#fff; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.82rem; font-weight:750; outline:none; }
.edu-confirm-code-field input:focus { border-color:#e11d48; box-shadow:0 0 0 3px rgba(244,63,94,.13); }
.edu-confirm-code-field input.is-mismatch { border-color:#e11d48; background:#fff1f2; }
.edu-confirm-code-field p { margin:.45rem 0 0; color:#9f6b79; font-size:.65rem; }
.edu-confirm-actions { display:flex; justify-content:flex-end; gap:.6rem; padding:.95rem 1.35rem; border-top:1px solid #eeeaf8; background:#faf9fe; }
.edu-confirm-cancel,.edu-confirm-submit { min-height:2.55rem; padding:.62rem 1rem; border-radius:.68rem; font-size:.78rem; font-weight:850; cursor:pointer; }
.edu-confirm-cancel { border:1px solid #ddd7ef; color:#5d5476; background:#fff; }
.edu-confirm-submit { border:1px solid transparent; color:#fff; background:#5b3bd5; box-shadow:0 8px 18px -10px rgba(73,43,190,.75); }
.edu-confirm-dialog.is-danger .edu-confirm-submit { background:#dc264b; box-shadow:0 8px 18px -10px rgba(190,18,60,.75); }
.edu-confirm-submit:disabled { cursor:not-allowed; opacity:.42; box-shadow:none; }
@media(max-width:620px){.edu-confirm-body{padding:1.1rem}.edu-confirm-actions{padding:.85rem 1.1rem}.edu-confirm-actions button{flex:1}.edu-confirm-details-header{align-items:flex-start;flex-direction:column}.edu-confirm-change{grid-template-columns:1fr}.edu-confirm-details ul{max-height:20rem}}

.student-placement-card { overflow:hidden; border:1px solid #ddd7fb; border-radius:1rem; background:linear-gradient(145deg,#faf9ff 0%,#f4f2ff 58%,#f8fbff 100%); box-shadow:0 10px 30px -24px rgba(75,53,170,.65); }
.student-placement-card-compact .student-placement-heading { padding:.85rem 1rem; }
.student-placement-card-compact .student-placement-icon { width:2.35rem; height:2.35rem; border-radius:.7rem; }
.student-placement-compact-toolbar { display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem 0; }
.student-placement-compact-toolbar>span:first-child { display:inline-flex;align-items:center;gap:.4rem;color:#4a327c;font-size:.72rem;font-weight:900; }
.student-placement-compact-toolbar svg { color:#6545d6; }
.student-placement-compare { display:grid;grid-template-columns:minmax(0,1fr) 1.7rem minmax(0,1fr);align-items:stretch;gap:.55rem;margin:0 1rem .75rem; }
.student-placement-compare>i { align-self:center;justify-self:center;color:#7c68de; }
.student-placement-compare article { min-width:0;border:1px solid #e4dfef;border-radius:.72rem;padding:.65rem .75rem;background:#fff; }
.student-placement-compare article.is-current { background:#fbfafc; }
.student-placement-compare article.is-requested { border-color:#a7e8cb;background:#effdf6; }
.student-placement-compare small,.student-placement-compare strong,.student-placement-compare span,.student-placement-compare dd { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.student-placement-compare small { color:#8b8399;font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em; }
.student-placement-compare strong { margin-top:.18rem;color:#322a45;font-size:.75rem;font-weight:950; }
.student-placement-compare article.is-requested strong { color:#087853; }
.student-placement-compare span { margin-top:.12rem;color:#7a728b;font-size:.64rem;font-weight:700; }
.student-placement-compare article.is-requested span { color:#047857; }
.student-placement-compare dl { margin:.35rem 0 0;display:grid;gap:.18rem; }
.student-placement-compare dl>div { display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.45rem;align-items:center;border-radius:.4rem;padding:.08rem .15rem; }
.student-placement-compare dt { color:#8b8399;font-size:.56rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em; }
.student-placement-compare dd { margin:0;color:#40384f;font-size:.64rem;font-weight:800; }
.student-placement-compare .is-changed { background:#dcfce7;outline:1px solid #86efac; }
.student-placement-compare .is-changed dd { color:#047857; }
.student-placement-heading { display:grid; grid-template-columns:2.65rem minmax(0,1fr) auto; align-items:center; gap:.75rem; padding:1rem 1.1rem; border-bottom:1px solid rgba(221,215,251,.85); background:rgba(255,255,255,.62); }
.student-placement-icon { display:grid; width:2.65rem; height:2.65rem; place-items:center; border-radius:.8rem; color:#5638cc; background:#ece8ff; }
.student-placement-heading h3 { color:#272044; font-size:.9rem; font-weight:900; }
.student-placement-heading p { margin-top:.15rem; color:#7a7394; font-size:.7rem; }
.student-placement-progress { border:1px solid #ddd6fe; border-radius:999px; padding:.32rem .65rem; color:#6246c7; background:#fff; font-size:.65rem; font-weight:800; white-space:nowrap; }
.student-placement-flow { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.7rem; padding:1rem 1.1rem .8rem; }
.student-placement-flow.student-placement-flow-one { grid-template-columns:minmax(0,1fr); }
.student-placement-flow.student-placement-flow-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.student-placement-flow.student-placement-flow-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.student-placement-flow.student-placement-flow-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.student-placement-step { position:relative; min-width:0; border:1px solid #e5e2f2; border-radius:.8rem; padding:.7rem; background:rgba(255,255,255,.82); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.student-placement-step[data-state="active"] { border-color:#9f8df0; box-shadow:0 0 0 3px rgba(112,86,232,.09); transform:translateY(-1px); }
.student-placement-step[data-state="complete"] { border-color:#a7e8cb; background:#fbfffd; }
.student-placement-label { display:grid; grid-template-columns:1.45rem minmax(0,1fr) auto; align-items:center; gap:.4rem; margin-bottom:.55rem; }
.student-placement-label b { display:grid; width:1.45rem; height:1.45rem; place-items:center; border-radius:999px; color:#6e5caa; background:#eeeafd; font-size:.62rem; }
.student-placement-step[data-state="active"] .student-placement-label b { color:#fff; background:#6545d6; }
.student-placement-step[data-state="complete"] .student-placement-label b { color:#087853; background:#d9f8e9; }
.student-placement-label span { overflow:hidden; color:#433b60; font-size:.7rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.student-placement-label small { color:#9a93ad; font-size:.55rem; font-weight:800; text-transform:uppercase; }
.student-placement-step[data-state="active"] .student-placement-label small { color:#6246c7; }
.student-placement-step[data-state="complete"] .student-placement-label small { color:#07835b; }
.student-placement-step select { width:100%; border:1px solid #ddd9e9; border-radius:.58rem; padding:.62rem .7rem; color:#332d49; background:#fff; font-size:.76rem; outline:none; transition:border-color .18s ease,box-shadow .18s ease; }
.student-placement-step select:focus { border-color:#8068e6; box-shadow:0 0 0 3px rgba(112,86,232,.12); }
.student-placement-step select:disabled { cursor:not-allowed; color:#aaa4b9; background:#f3f1f7; }
.student-placement-help { display:flex; align-items:center; gap:.4rem; margin:0 1.1rem 1rem; color:#756c92; font-size:.66rem; }
@media(max-width:1279px){.student-placement-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.student-placement-flow.student-placement-flow-four{grid-template-columns:repeat(4,minmax(0,1fr))}.student-placement-flow.student-placement-flow-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1023px){.student-placement-flow,.student-placement-flow.student-placement-flow-four,.student-placement-flow.student-placement-flow-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.student-placement-heading{grid-template-columns:2.4rem minmax(0,1fr)}.student-placement-progress{grid-column:1/-1;width:max-content}.student-placement-flow{grid-template-columns:1fr}.student-placement-step[data-state="active"]{transform:none}}

.student-records-card { overflow:hidden; border:1px solid #e9e6f2; border-radius:1rem; background:#fff; box-shadow:0 12px 32px -28px rgba(40,30,92,.55); }
.student-management-scroll { overflow-y:scroll; overflow-x:hidden; scrollbar-gutter:stable; overscroll-behavior-y:contain; }
.student-management-scroll>*,.student-workspace-overview { flex-shrink:0; }
.overview-gradient-surface { position:relative; isolation:isolate; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:linear-gradient(100deg,#24105f 0%,#3520a9 35%,#4c29d3 56%,#287ebc 82%,#168f9b 100%); box-shadow:0 18px 38px -28px rgba(47,27,114,.9); }
.overview-gradient-surface::before,.overview-gradient-surface::after { position:absolute; z-index:-1; border:1px solid rgba(255,255,255,.12); border-radius:50%; content:""; pointer-events:none; }
.overview-gradient-surface::before { top:-7.5rem; right:-4.5rem; width:19rem; height:19rem; box-shadow:0 0 0 3rem rgba(255,255,255,.035),0 0 0 6rem rgba(255,255,255,.025); }
.overview-gradient-surface::after { top:-3.75rem; right:1.5rem; width:12rem; height:12rem; border-color:rgba(255,255,255,.09); }
.overview-gradient-surface>* { position:relative; z-index:1; }
.student-workspace-overview { display:flex; align-items:stretch; justify-content:space-between; gap:1rem; border-radius:1rem; padding:1rem 1.15rem; color:#fff; }
.student-workspace-intro { display:flex; min-width:0; align-items:center; gap:.85rem; }
.student-workspace-intro>span { display:grid; width:2.8rem; height:2.8rem; flex:0 0 auto; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:.85rem; background:rgba(255,255,255,.12); }
.student-workspace-intro>span svg { width:1.3rem; height:1.3rem; }
.student-workspace-intro p { color:#d9d0ff; font-size:.56rem; font-weight:900; letter-spacing:.12em; }
.student-workspace-intro h2 { margin-top:.2rem; font-size:.9rem; font-weight:900; line-height:1.25rem; }
.student-workspace-intro small { display:block; margin-top:.2rem; color:#d9d3ef; font-size:.64rem; }
.student-workspace-metrics { display:flex; flex:0 0 auto; gap:.55rem; }
.student-workspace-metrics>div { display:grid; min-width:7.2rem; align-content:center; border:1px solid rgba(255,255,255,.16); border-radius:.75rem; padding:.55rem .7rem; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); }
.student-workspace-metrics span,.student-workspace-metrics small { color:#ddd7f4; font-size:.57rem; }
.student-workspace-metrics span { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.student-workspace-metrics b { margin:.1rem 0; font-size:1.05rem; font-weight:950; }
.student-workflow-sticky { position:-webkit-sticky; position:sticky; z-index:40; top:0; width:100%; flex:0 0 auto; align-self:stretch; isolation:isolate; padding:.3rem 0; background:#f5f5fb; }
.student-workflow-ribbon { position:relative; padding:.38rem; border-color:#dfdaef; border-radius:.9rem; box-shadow:0 10px 24px -22px rgba(49,31,110,.8); }
.student-workflow-ribbon .crud-ribbon-tab { min-width:12rem; flex:1 0 12rem; border:1px solid transparent; border-radius:.65rem; }
.student-workflow-ribbon .crud-ribbon-tab:not(.crud-ribbon-tab-active) { background:#fff; }
.student-workflow-ribbon .crud-ribbon-tab:not(.crud-ribbon-tab-active):hover { border-color:#ddd5f7; background:#f8f6ff; }
.student-workflow-ribbon .crud-ribbon-tab:focus-visible,.assignment-filter-clear:focus-visible,.student-manage-placement:focus-visible,.assignment-lifecycle-toggle:focus-visible { outline:3px solid rgba(124,92,241,.28); outline-offset:2px; }
.student-form-panel { overflow:hidden; border:1px solid #e7e2f3; border-radius:1rem; background:#fff; box-shadow:0 16px 38px -30px rgba(45,28,99,.75); }
.student-form-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-bottom:1px solid #ece8f4; background:linear-gradient(100deg,#fbfaff,#f5f1ff); }
.student-form-heading>div { display:flex; min-width:0; align-items:center; gap:.75rem; }
.student-form-heading>div>span { display:grid; width:2.65rem; height:2.65rem; flex:0 0 auto; place-items:center; border-radius:.8rem; color:#fff; background:linear-gradient(135deg,#7455e3,#4a26d1); box-shadow:0 9px 18px -12px #4a26d1; }
.student-form-heading>div>span svg { width:1.15rem; height:1.15rem; }
.student-form-heading p { color:#7664b4; font-size:.55rem; font-weight:900; letter-spacing:.1em; }
.student-form-heading h2 { color:#29203f; font-size:.9rem; font-weight:950; }
.student-form-heading small { display:block; margin-top:.1rem; color:#8f879e; font-size:.65rem; }
.assignment-filter-clear { display:inline-flex; min-height:2.35rem; align-items:center; justify-content:center; gap:.35rem; border:1px solid #ddd7e9; border-radius:.65rem; padding:.55rem .7rem; color:#685d7c; background:#fff; font-size:.65rem; font-weight:850; white-space:nowrap; }
.assignment-filter-clear:hover { border-color:#a896e5; color:#5637c2; background:#f8f6ff; }
.assignment-filter-clear svg { width:.8rem; height:.8rem; }
tr[data-status="approved"] .student-audit-action { color:#08785a; background:#e3f8ef; }
tr[data-status="rejected"] .student-audit-action { color:#b4233c; background:#ffe8ec; }
.student-records-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-bottom:1px solid #eeecf4; }
.student-records-heading > div { display:flex; align-items:center; gap:.75rem; }
.student-records-icon { display:grid; width:2.5rem; height:2.5rem; place-items:center; border-radius:.75rem; color:#5939ca; background:#eeeaff; }
.student-records-heading h2,.student-placement-dashboard h2 { color:#29223f; font-size:.92rem; font-weight:900; }
.student-records-heading p,.student-placement-dashboard p { margin-top:.12rem; color:#948da4; font-size:.68rem; }
.student-records-count { border-radius:999px; padding:.35rem .7rem; color:#6248bd; background:#f1edff; font-size:.65rem; font-weight:850; }
.student-bulk-launcher { display:flex;align-items:center;gap:.75rem;margin:.75rem 1rem;border:1px solid #ddd6fe;border-radius:.85rem;padding:.65rem .75rem;background:linear-gradient(105deg,#f5f3ff 0%,#fff 58%,#ecfdf5 100%);box-shadow:0 8px 20px -20px rgba(67,56,202,.7); }
.student-bulk-launcher-icon { display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border-radius:.65rem;color:#fff;background:#4f46e5;box-shadow:0 7px 14px -10px #4338ca; }
.student-bulk-launcher-icon svg { width:1rem;height:1rem; }
.student-bulk-launcher-copy { min-width:0;flex:1; }
.student-bulk-launcher-copy>div { display:flex;align-items:center;gap:.45rem; }
.student-bulk-launcher-copy h3 { color:#27233a;font-size:.72rem;font-weight:900; }
.student-bulk-launcher-copy>div>span { border-radius:999px;padding:.18rem .4rem;color:#08785a;background:#dff8ed;font-size:.48rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap; }
.student-bulk-launcher-copy p { margin-top:.08rem;color:#7c7489;font-size:.58rem;line-height:.9rem; }
.student-bulk-launcher-copy ol { display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.3rem;color:#686075;font-size:.55rem;font-weight:800; }
.student-bulk-launcher-copy li { display:inline-flex;align-items:center;gap:.25rem; }
.student-bulk-launcher-copy li b { display:grid;width:1rem;height:1rem;place-items:center;border-radius:999px;color:#4f46e5;background:#e0e7ff;font-size:.48rem; }
.student-bulk-launcher-actions { display:flex;flex:0 0 auto;gap:.4rem; }
.student-bulk-launcher-actions a,.student-bulk-launcher-actions button { display:inline-flex;min-height:2.1rem;align-items:center;justify-content:center;gap:.35rem;border-radius:.6rem;padding:.45rem .65rem;font-size:.6rem;font-weight:900;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease; }
.student-bulk-launcher-actions a { border:1px solid #c7d2fe;color:#4338ca;background:#fff; }
.student-bulk-launcher-actions a:hover { border-color:#818cf8;background:#eef2ff; }
.student-bulk-launcher-actions button { border:1px solid #4f46e5;color:#fff;background:#4f46e5; }
.student-bulk-launcher-actions button:hover { border-color:#4338ca;background:#4338ca; }
.student-bulk-launcher-actions svg { width:.8rem;height:.8rem; }
@media(max-width:1023px){.student-bulk-launcher{flex-wrap:wrap}.student-bulk-launcher-copy{flex-basis:calc(100% - 3rem)}.student-bulk-launcher-actions{width:100%;justify-content:flex-end;padding-left:3rem}}
@media(max-width:639px){.student-bulk-launcher{align-items:flex-start;margin:.65rem;padding:.65rem}.student-bulk-launcher-copy>div{align-items:flex-start;flex-direction:column;gap:.2rem}.student-bulk-launcher-copy ol{gap:.4rem}.student-bulk-launcher-actions{padding-left:0}.student-bulk-launcher-actions a,.student-bulk-launcher-actions button{min-width:0;flex:1;padding:.45rem .4rem}}
.student-records-filters { display:grid; grid-template-columns:minmax(15rem,1.6fr) repeat(5,minmax(8.5rem,1fr)) auto; gap:.65rem; padding:.9rem 1.2rem; border-bottom:1px solid #eeecf4; background:#faf9fd; }
.student-records-filters.student-records-secondary { grid-template-columns:minmax(15rem,1fr) 12rem auto; }
.staff-records-filters { grid-template-columns:minmax(15rem,1fr) 12rem 10rem auto; }
.staff-records-table { min-width:70rem; }
.staff-record-assignment { min-width:8.5rem;max-width:13rem; }
.staff-record-assignment>div { display:flex;min-width:0;align-items:center;gap:.35rem; }
.staff-record-assignment-primary { display:inline-flex;min-width:0;align-items:center;gap:.3rem;border-radius:.45rem;background:#ede9fe;padding:.3rem .45rem;color:#5b36c8;font-size:.62rem;font-weight:850; }
.staff-record-assignment-primary svg { width:.7rem;height:.7rem;flex:none;fill:currentColor; }
.staff-record-assignment-primary span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-record-assignment-more { flex:none;border-radius:.4rem;background:#f1f5f9;padding:.28rem .4rem;color:#64748b;font-size:.6rem;font-weight:850; }
.staff-record-assignment p { display:flex;align-items:center;gap:.3rem;margin-top:.4rem;color:#7c748b;font-size:.61rem;font-weight:750; }
.staff-record-assignment p svg,.staff-record-assignment-empty svg { width:.75rem;height:.75rem;flex:none; }
.staff-record-assignment-empty { display:inline-flex;align-items:center;gap:.35rem;color:#b7791f;font-size:.65rem;font-weight:750;white-space:nowrap; }

/* Compact staff profile editor */
.staff-profile-panel { overflow:hidden;border:1px solid #e7e3f1;border-radius:1rem;background:#fff;box-shadow:0 16px 38px -30px rgb(48 35 105/.55); }
.staff-profile-editor-header { display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #ece9f3;background:linear-gradient(100deg,#faf8ff,#fff);padding:.9rem 1rem; }
.staff-profile-editor-header>span { display:grid;width:2.35rem;height:2.35rem;flex:none;place-items:center;border-radius:.7rem;background:#ede9fe;color:#6442d5; }
.staff-profile-editor-header>span svg { width:1.15rem;height:1.15rem; }
.staff-profile-editor-header>div { min-width:0;flex:1; }
.staff-profile-editor-header p { color:#29223f;font-size:.9rem;font-weight:900; }
.staff-profile-editor-header small { display:block;margin-top:.1rem;color:#948da4;font-size:.65rem; }
.staff-profile-editor { min-width:0; }
.staff-profile-editor-layout { display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding:1rem; }
.staff-profile-photo-card { position:sticky;top:.5rem;align-self:start;border:1px solid #e7e3f1;border-radius:.8rem;background:#faf9fd;padding:.7rem; }
.staff-profile-photo-card>div:first-child { display:flex;align-items:center;justify-content:space-between;gap:.4rem; }
.staff-profile-photo-card>div:first-child span { color:#4d465d;font-size:.66rem;font-weight:850; }
.staff-profile-photo-card>div:first-child small { border-radius:999px;background:#ede9fe;padding:.15rem .35rem;color:#6848cd;font-size:.48rem;font-weight:850;text-transform:uppercase; }
.staff-profile-photo-preview { width:6.5rem;height:6.5rem;margin:.55rem auto 0;overflow:hidden;border:1px solid #ddd8eb;border-radius:.7rem;background:#fff; }
.staff-profile-photo-input { display:block;width:100%;margin-top:.6rem;color:#746d82;font-size:.55rem; }
.staff-profile-photo-input::file-selector-button { margin-right:.35rem;border:0;border-radius:.45rem;background:#ede9fe;padding:.4rem .5rem;color:#5e3bc8;font-size:.55rem;font-weight:850;cursor:pointer; }
.staff-profile-photo-card>p { margin-top:.45rem;color:#9a93a7;font-size:.52rem;line-height:1.35; }
.staff-profile-editor-content { display:flex;min-width:0;flex-direction:column;gap:.75rem; }
.staff-profile-identity-grid { display:grid;grid-template-columns:minmax(10rem,.85fr) minmax(14rem,1.35fr) minmax(8rem,.5fr);gap:.75rem;align-items:end;border:1px solid #ece9f3;border-radius:.8rem;background:#fff;padding:.8rem; }
.staff-profile-sex-field { max-width:11rem;justify-self:end;width:100%; }
.staff-profile-section-card { min-width:0;border:1px solid #e7e3f1;border-radius:.8rem;background:#faf9fd;padding:.8rem;transition:border-color .16s ease,box-shadow .16s ease; }
.staff-profile-section-card:focus-within { border-color:#a796eb;box-shadow:0 0 0 3px rgb(112 86 232/.08); }
.staff-profile-section-card legend { color:#3d3550;background:#fff; }
.staff-profile-professional-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem; }
.staff-profile-reporting-grid { display:grid;grid-template-columns:minmax(14rem,.7fr) minmax(18rem,1.3fr);gap:.75rem;align-items:center; }
.staff-profile-reporting-grid>[data-top-management-field] { height:100%;display:flex;align-items:center; }
.staff-profile-editor input:not([type=checkbox]):not([type=radio]):not([type=file]),.staff-profile-editor select,.staff-profile-editor textarea { transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease; }
.staff-profile-editor input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.staff-profile-editor select:focus,.staff-profile-editor textarea:focus { border-color:#8872df;box-shadow:0 0 0 3px rgb(112 86 232/.1);outline:none;background:#fff; }
.staff-profile-editor [data-designation-option] { transition:border-color .16s ease,background-color .16s ease,transform .16s ease; }
.staff-profile-editor [data-designation-option]:hover { border-color:#c8bdf3;background:#faf8ff;transform:translateY(-1px); }
.staff-profile-editor-actions { position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #e9e6f1;background:rgb(255 255 255/.94);padding:.75rem 1rem;backdrop-filter:blur(8px); }
.staff-profile-editor-actions>p { display:flex;align-items:center;gap:.4rem;color:#8b8498;font-size:.61rem; }
.staff-profile-editor-actions>p svg { width:.85rem;height:.85rem;color:#6e50d2; }
.staff-profile-editor-actions>div { display:flex;gap:.5rem; }
@media(max-width:1199px){.staff-profile-professional-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.staff-profile-editor-layout{grid-template-columns:1fr}.staff-profile-photo-card{position:static;display:grid;grid-template-columns:auto 6.5rem minmax(0,1fr);align-items:center;gap:.65rem}.staff-profile-photo-card>div:first-child{align-items:flex-start;flex-direction:column}.staff-profile-photo-preview{grid-row:1/3;grid-column:2;margin:0}.staff-profile-photo-input{grid-column:3;margin-top:0}.staff-profile-photo-card>p{grid-column:3;margin-top:0}.staff-profile-identity-grid{grid-template-columns:1fr 1fr}.staff-profile-sex-field{max-width:none;justify-self:stretch}.staff-profile-reporting-grid{grid-template-columns:1fr}.staff-profile-editor-actions{align-items:stretch;flex-direction:column}.staff-profile-editor-actions>div{display:grid;grid-template-columns:1fr 1fr}.staff-profile-editor-actions button{justify-content:center}}
@media(max-width:479px){.staff-profile-editor-header small,.staff-profile-editor-actions>p{display:none}.staff-profile-editor-layout{padding:.7rem}.staff-profile-photo-card{grid-template-columns:5.5rem minmax(0,1fr)}.staff-profile-photo-card>div:first-child{display:none}.staff-profile-photo-preview{grid-column:1;width:5.5rem;height:5.5rem}.staff-profile-photo-input,.staff-profile-photo-card>p{grid-column:2}.staff-profile-identity-grid,.staff-profile-professional-grid{grid-template-columns:1fr}.staff-profile-sex-field{max-width:10rem}.staff-profile-professional-grid>[class*="col-span"]{grid-column:auto}.staff-profile-editor-actions>div{grid-template-columns:1fr}}
.student-records-filters label { min-width:0; }
.student-records-filters label > span { display:block; margin:0 0 .3rem .1rem; color:#777087; font-size:.58rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.student-records-filters .student-filter-search > span { display:flex;align-items:center;justify-content:space-between;gap:.5rem; }
.student-records-filters .student-filter-search > span small { overflow:hidden;color:#a29bad;font-size:.55rem;font-weight:650;letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap; }
.student-records-filters select,.student-filter-search > div { width:100%; height:2.55rem; border:1px solid #e0ddea; border-radius:.65rem; color:#443d54; background:#fff; font-size:.72rem; outline:none; }
.student-records-filters select { padding:0 .65rem; }
.student-records-filters select:focus,.student-filter-search > div:focus-within { border-color:#8872df; box-shadow:0 0 0 3px rgba(112,86,232,.1); }
.student-records-filters select:disabled { cursor:not-allowed; color:#aaa4b5; background:#f1eff5; }
.student-filter-search > div { display:flex; align-items:center; gap:.5rem; padding:0 .7rem; }
.student-filter-search input { min-width:0; flex:1; border:0; background:transparent; outline:none; }
.student-filter-clear { align-self:end; display:inline-flex; height:2.55rem; align-items:center; justify-content:center; gap:.35rem; border:1px solid #dfdbe9; border-radius:.65rem; padding:0 .75rem; color:#685f7c; background:#fff; font-size:.67rem; font-weight:800; white-space:nowrap; }
.student-records-table { width:100%; min-width:58rem; color:#4d465d; font-size:.78rem; }
.student-records-table thead { border-bottom:1px solid #ece9f2; color:#81798e; background:#fbfafd; font-size:.62rem; text-align:left; text-transform:uppercase; letter-spacing:.035em; }
.student-records-table th,.student-records-table td { padding:.8rem 1.2rem; }
.student-records-table tbody tr { border-bottom:1px solid #f0eef4; transition:background .16s ease; }
.student-records-table tbody tr:hover { background:#fbfaff; }
.student-placement-badge { display:inline-flex; border:1px solid #ddd4ff; border-radius:.5rem; padding:.24rem .5rem; color:#5c3bc8; background:#f3f0ff; font-size:.65rem; font-weight:900; }
.student-placement-dashboard { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.2rem; border:1px solid #e4dff8; border-radius:1rem; background:linear-gradient(135deg,#fff 0%,#f6f3ff 100%); }
.student-placement-dashboard-title { display:flex; align-items:center; gap:.75rem; }
.student-placement-dashboard-title > span { display:grid; width:2.7rem; height:2.7rem; place-items:center; border-radius:.8rem; color:#5a3ac9; background:#ebe6ff; }
.student-placement-kpis { display:flex; gap:.55rem; }
.student-placement-kpis div { min-width:6.5rem; border:1px solid #e4dff5; border-radius:.7rem; padding:.55rem .7rem; background:rgba(255,255,255,.8); }
.student-placement-kpis b,.student-placement-kpis span { display:block; }
.student-placement-kpis b { color:#39256f; font-size:.9rem; }
.student-placement-kpis span { margin-top:.1rem; color:#8e86a0; font-size:.58rem; }
.student-placement-manager,.student-placement-audit { overflow:hidden; border:1px solid #e9e6f1; border-radius:1rem; background:#fff; box-shadow:0 10px 28px -26px rgba(40,30,92,.6); }
.student-placement-manager > header,.student-placement-audit > header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-bottom:1px solid #eeebf3; }
.student-placement-manager h3,.student-placement-audit h3 { color:#342d46; font-size:.82rem; font-weight:900; }
.student-placement-manager header p,.student-placement-audit header p { margin-top:.12rem; color:#9690a2; font-size:.65rem; }
.student-placement-manager-filters { display:flex; flex-wrap:wrap; gap:.5rem; }
.student-placement-manager-filters label { display:flex; align-items:center; gap:.45rem; width:15rem; border:1px solid #dfdbe8; border-radius:.6rem; padding:0 .65rem; }
.student-placement-manager-filters input { width:100%; border:0; padding:.55rem 0; font-size:.7rem; outline:none; }
.student-placement-manager-filters select { border:1px solid #dfdbe8; border-radius:.6rem; padding:.55rem .7rem; font-size:.7rem; }
.student-manage-placement { display:inline-flex; align-items:center; gap:.35rem; border:1px solid #cfc3fa; border-radius:.6rem; padding:.48rem .7rem; color:#5938c8; background:#f7f5ff; font-size:.66rem; font-weight:850; }
.student-placement-dialog { width:min(72rem,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);border-radius:1.1rem;color:#312a42;box-shadow:0 32px 90px -28px rgba(30,24,73,.78); }
.student-placement-dialog::backdrop { background:rgba(21,16,52,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px); }
.student-placement-dialog[open] { animation:student-placement-dialog-enter .2s ease-out; }
.student-placement-dialog-shell { display:flex;max-height:calc(100dvh - 2rem);min-height:0;flex-direction:column;overflow:hidden; }
.student-placement-dialog-header { display:flex;flex:none;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(110deg,#4b27cb 0%,#704de0 52%,#8b6ee6 100%); }
.student-placement-dialog-title { display:flex;min-width:0;align-items:center;gap: .8rem; }
.student-placement-dialog-summary { display:flex;min-width:0;flex-wrap:wrap;gap:.35rem;margin-top:.5rem; }
.student-placement-dialog-summary span { display:inline-flex;max-width:16rem;align-items:center;gap:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.2rem .5rem;color:#fff;background:rgba(255,255,255,.12);font-size:.61rem;font-weight:800; }
.student-placement-dialog-summary b { flex:0 0 auto;color:#ded7ff;font-size:.52rem;font-weight:950;text-transform:uppercase;letter-spacing:.035em; }
.student-placement-dialog-summary svg { width:.72rem;height:.72rem;flex:0 0 auto; }
.student-placement-dialog-close { display:grid;width:2.35rem;height:2.35rem;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:.7rem;color:#fff;background:rgba(255,255,255,.1); }
.student-placement-dialog-close:hover { background:rgba(255,255,255,.2); }
.student-placement-dialog-close:focus-visible { outline:3px solid rgba(255,255,255,.4);outline-offset:2px; }
.student-placement-dialog-body { min-height:0;overflow-y:auto;padding:1.1rem 1.2rem;scrollbar-gutter:stable; }
.student-placement-current-card { display:flex;min-width:0;align-items:center;gap:.7rem;border:1px solid #e8e4f1;border-radius:.8rem;padding:.75rem;background:linear-gradient(135deg,#fff,#faf9fd); }
.student-placement-current-card>span { display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:.6rem;color:#6545d6;background:#eee9ff; }
.student-placement-current-card svg { width:.9rem;height:.9rem; }
.student-placement-current-card div { min-width:0; }
.student-placement-current-card p,.student-placement-current-card b { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.student-placement-current-card p { color:#9890a5;font-size:.55rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em; }
.student-placement-current-card b { margin-top:.2rem;color:#3e3650;font-size:.7rem; }
.student-placement-dialog-fields { display:grid;grid-template-columns:minmax(12rem,14rem) minmax(0,1fr);gap:1rem;margin-top:1rem;align-items:start; }
.student-placement-dialog-footer { display:flex;flex:none;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #ebe7f2;padding:.85rem 1.2rem;background:#fbfafd; }
.student-placement-dialog-footer>div { display:flex;align-items:center;gap:.45rem; }
.student-placement-dialog-footer>div:first-child { color:#81788f;font-size:.65rem;font-weight:750; }
body.student-placement-dialog-open { overflow:hidden; }
@keyframes student-placement-dialog-enter { from{opacity:0;transform:translateY(.8rem) scale(.985)} to{opacity:1;transform:translateY(0) scale(1)} }
.student-placement-audit > header > div { display:flex; align-items:center; gap:.65rem; }
.student-placement-audit > header > div > span { display:grid; width:2.35rem; height:2.35rem; place-items:center; border-radius:.7rem; color:#08785a; background:#e3f8ef; }
.student-placement-audit > header > span { border-radius:999px; padding:.28rem .6rem; color:#08785a; background:#e7f8f1; font-size:.62rem; font-weight:850; }
.student-placement-audit table { width:100%; min-width:68rem; font-size:.72rem; }
.student-placement-audit th,.student-placement-audit td { padding:.8rem 1rem; border-bottom:1px solid #f0edf3; text-align:left; vertical-align:top; }
.student-placement-audit th { color:#81798e; background:#faf9fc; font-size:.6rem; text-transform:uppercase; }
.student-placement-audit-empty { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:2.6rem; color:#a49dad; font-size:.72rem; }
.student-audit-action { display:inline-flex; border-radius:999px; padding:.25rem .5rem; color:#72500a; background:#fff4d8; font-size:.61rem; font-weight:850; }
.student-audit-path { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:.45rem; min-width:25rem; }
.student-audit-path span,.student-audit-path b { font-size:.65rem; line-height:1.45; }
.student-audit-path span { color:#8c8498; }
.student-audit-path b { color:#4b3a75; }
.assignment-request-toolbar { display:flex;gap:.45rem;overflow-x:auto;padding:.75rem 1rem;border-bottom:1px solid #f0edf3;background:#faf9fc; }.assignment-request-toolbar button { display:inline-flex;align-items:center;gap:.4rem;border:1px solid #e1ddec;border-radius:999px;padding:.42rem .72rem;color:#736b82;background:#fff;font-size:.65rem;font-weight:850;white-space:nowrap; }.assignment-request-toolbar button.is-active { border-color:#6d50dd;color:#fff;background:#6545d6; }.assignment-request-toolbar b { display:grid;min-width:1.15rem;height:1.15rem;place-items:center;border-radius:999px;background:rgba(255,255,255,.18);font-size:.55rem; }
.assignment-request-toggle{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #dcd5ee;border-radius:.6rem;padding:.5rem .7rem;color:#6545d6;background:#fff;font-size:.65rem;font-weight:850;white-space:nowrap}.assignment-request-toggle svg{transition:transform .18s ease}.assignment-request-toggle[aria-expanded="true"]{border-color:#6545d6;background:#f5f1ff}.assignment-request-table tr[data-request-detail]>td{padding:0;background:#faf9fd}.assignment-request-detail{padding:1rem 1.25rem 1.25rem}.assignment-request-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.assignment-request-detail-grid article{border:1px solid #ebe7f2;border-radius:.75rem;padding:.75rem;background:#fff}.assignment-request-detail-grid small,.assignment-request-detail-grid strong,.assignment-request-detail-grid span{display:block}.assignment-request-detail-grid small,.assignment-request-reason small{color:#92899e;font-size:.57rem;font-weight:850;text-transform:uppercase}.assignment-request-detail-grid strong{margin-top:.28rem;color:#403650;font-size:.72rem}.assignment-request-detail-grid span{margin-top:.22rem;color:#83798e;font-size:.62rem}.assignment-request-reason{margin:0 1rem 1rem;border-left:3px solid #8b6ce7;border-radius:.25rem;padding:.7rem .85rem;background:#fff}.assignment-request-reason p{margin-top:.3rem;color:#51475f;font-size:.68rem;line-height:1.15rem}.assignment-request-decision{border-top:1px solid #e8e3f0;padding:1rem}.assignment-request-decision label{display:block;color:#5f566d;font-size:.66rem;font-weight:850}.assignment-request-decision textarea{display:block;width:100%;margin-top:.4rem;border:1px solid #ddd7e8;border-radius:.7rem;padding:.7rem;background:#fff;color:#403650;font-size:.7rem;font-weight:400;outline:none}.assignment-request-decision textarea:focus{border-color:#7655dc;box-shadow:0 0 0 3px rgba(118,85,220,.12)}.assignment-request-decision>div{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.7rem}.assignment-request-decision button{border-radius:.65rem;padding:.6rem .85rem;font-size:.67rem;font-weight:850}.assignment-decision-reject{border:1px solid #fecdd3;color:#be123c;background:#fff}.assignment-decision-approve{color:#fff;background:#059669}.assignment-request-decision-audit{display:flex;align-items:flex-start;gap:.6rem;margin:0 1rem 1rem;border:1px solid #e5e0ee;border-radius:.7rem;padding:.75rem;color:#655a72;background:#fff}.assignment-request-decision-audit strong,.assignment-request-decision-audit span{display:block}.assignment-request-decision-audit strong{font-size:.68rem}.assignment-request-decision-audit span{margin-top:.2rem;color:#8b8296;font-size:.62rem}
.assignment-request-selected{background:#f4f0ff;box-shadow:inset 3px 0 0 #6545d6}.assignment-request-selected td{border-bottom-color:#ddd6fe!important}.assignment-request-selected .assignment-request-toggle{border-color:#6545d6;background:#fff;color:#4c1d95}
.assignment-history-count { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem;align-items:center;border:1px solid #ece8f5;border-radius:.8rem;padding:.85rem;background:#fbfaff; }.assignment-history-count span strong,.assignment-history-count span small{display:block}.assignment-history-count strong{color:#3f3654;font-size:.72rem}.assignment-history-count small{color:#948ca1;font-size:.6rem}.assignment-history-count>b{grid-row:1/3;grid-column:2;display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:.65rem;color:#fff;background:#6545d6;font-size:.78rem}.assignment-history-count>small{grid-column:1;color:#766b8c}
.assignment-approval-card { overflow:hidden;border:1px solid #e8e3f3;border-radius:1rem;background:#fff;box-shadow:0 12px 28px -24px rgba(50,35,115,.6); }.assignment-approval-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #f0edf5;background:#fbfaff}.assignment-approval-card>header strong,.assignment-approval-card>header small{display:block}.assignment-approval-card>header strong{color:#332b48;font-size:.78rem}.assignment-approval-card>header small{margin-top:.15rem;color:#958da2;font-size:.62rem}.assignment-approval-card>header b{border-radius:999px;padding:.3rem .6rem;color:#a16207;background:#fef3c7;font-size:.6rem}.assignment-approval-movement{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem;padding:1rem}.assignment-approval-movement>div{height:100%;border:1px solid #ece8f3;border-radius:.7rem;padding:.7rem;background:#faf9fc}.assignment-approval-movement small,.assignment-approval-movement strong{display:block}.assignment-approval-movement small{color:#9a92a5;font-size:.55rem;text-transform:uppercase}.assignment-approval-movement strong{margin-top:.3rem;color:#4c4261;font-size:.65rem;line-height:1.1rem}.assignment-approval-movement>svg{width:1rem;color:#7c5ce0}.assignment-approval-card dl{display:grid;gap:.5rem;padding:0 1rem 1rem}.assignment-approval-card dl>div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.6rem;font-size:.65rem}.assignment-approval-card dt{color:#958da2;font-weight:800}.assignment-approval-card dd{color:#51475f}
.assignment-change-highlight .assignment-change-current{border-color:#fed7aa;background:#fff7ed}.assignment-change-highlight .assignment-change-current small{color:#c2410c}.assignment-change-highlight .assignment-change-requested{border-color:#86efac;background:#f0fdf4;animation:assignment-requested-blink 1.35s ease-in-out infinite}.assignment-change-highlight .assignment-change-requested small{color:#047857}.assignment-change-highlight .assignment-change-requested strong{color:#065f46}.assignment-change-arrow{color:#16a34a!important;animation:assignment-change-arrow-pulse 1.35s ease-in-out infinite}@keyframes assignment-requested-blink{0%,100%{border-color:#86efac;background:#f0fdf4;box-shadow:0 0 0 0 rgba(34,197,94,0)}50%{border-color:#16a34a;background:#dcfce7;box-shadow:0 0 0 4px rgba(34,197,94,.16)}}@keyframes assignment-change-arrow-pulse{0%,100%{opacity:.55;transform:translateX(0) scale(.92)}50%{opacity:1;transform:translateX(.2rem) scale(1.12)}}@media(prefers-reduced-motion:reduce){.assignment-change-highlight .assignment-change-requested,.assignment-change-arrow{animation:none}.assignment-change-highlight .assignment-change-requested{border-width:2px;box-shadow:0 0 0 3px rgba(34,197,94,.12)}}
.assignment-filter-bar{display:grid;grid-template-columns:minmax(16rem,1fr) repeat(3,minmax(9rem,auto));gap:.6rem;padding:.85rem 1rem;border-bottom:1px solid #f0edf3;background:#fff}.assignment-filter-bar label,.assignment-filter-bar select{border:1px solid #dfdbe8;border-radius:.65rem;background:#fff;color:#5f566d;font-size:.7rem}.assignment-filter-search{display:flex;align-items:center;gap:.5rem;padding:0 .7rem}.assignment-filter-search svg{color:#958ca4}.assignment-filter-search input{width:100%;border:0;padding:.62rem 0;outline:none}.assignment-filter-bar select{padding:.62rem .75rem}.assignment-lifecycle-table{width:100%;min-width:64rem}.assignment-lifecycle-table th,.assignment-lifecycle-table td{border-bottom:1px solid #f0edf5;padding:.8rem 1rem;text-align:left;vertical-align:middle}.assignment-lifecycle-table th{color:#8d849b;background:#faf9fc;font-size:.62rem;text-transform:uppercase}.assignment-lifecycle-count{display:flex;align-items:center;gap:.55rem}.assignment-lifecycle-count b{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.6rem;color:#fff;background:#6545d6;font-size:.72rem}.assignment-lifecycle-count span{color:#756b83;font-size:.62rem}.assignment-lifecycle-toggle{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #dcd5ee;border-radius:.6rem;padding:.5rem .7rem;color:#6545d6;background:#fff;font-size:.65rem;font-weight:850}.assignment-lifecycle-toggle svg{transition:transform .18s ease}.assignment-lifecycle-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}tr[data-lifecycle-detail]>td{padding:0;background:#faf9fd}.assignment-lifecycle-log{display:grid;gap:.85rem;padding:1rem 1.25rem 1.25rem 2rem}.assignment-lifecycle-log article{position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.75rem}.assignment-lifecycle-log article:not(:last-child)::after{position:absolute;top:2rem;bottom:-.9rem;left:.98rem;width:1px;background:#ddd6ef;content:""}.assignment-lifecycle-log article>span{z-index:1;display:grid;width:2rem;height:2rem;place-items:center;border-radius:999px}.assignment-lifecycle-log .is-created{color:#2563eb;background:#dbeafe}.assignment-lifecycle-log .is-changed{color:#047857;background:#d1fae5}.assignment-lifecycle-log article header{display:flex;justify-content:space-between;gap:1rem}.assignment-lifecycle-log strong{color:#403650;font-size:.7rem}.assignment-lifecycle-log time,.assignment-lifecycle-log small{color:#92899d;font-size:.6rem}.assignment-lifecycle-log p{margin:.3rem 0;color:#62586e;font-size:.68rem}.assignment-lifecycle-log .student-audit-path{margin:.35rem 0}.assignment-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;color:#766d82;font-size:.65rem}.assignment-pagination>div,.assignment-pagination label{display:flex;align-items:center;gap:.4rem}.assignment-pagination select,.assignment-pagination button{min-width:2rem;height:2rem;border:1px solid #e0dbea;border-radius:.5rem;background:#fff;padding:0 .45rem;font-size:.65rem}.assignment-pagination button.is-active{border-color:#6545d6;color:#fff;background:#6545d6}.assignment-pagination button:disabled{cursor:not-allowed;opacity:.4}
.assignment-pagination .grid-page-button-active { border-color:#4a26d1; color:#fff; background:#4a26d1; }
@media(max-width:1279px){.student-workspace-overview{align-items:flex-start;flex-direction:column}.student-workspace-metrics{width:100%}.student-workspace-metrics>div{flex:1}.student-records-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.student-filter-search{grid-column:span 2}.student-placement-dashboard{align-items:flex-start;flex-direction:column}}
@media(max-width:639px){.student-workspace-overview{padding:.9rem}.student-workspace-intro{align-items:flex-start}.student-workspace-intro small{display:none}.student-workspace-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-workspace-metrics>div{min-width:0}.student-workflow-ribbon .crud-ribbon-tab{min-width:11rem;flex-basis:11rem}.student-form-heading{align-items:flex-start}.student-records-heading,.student-placement-manager>header{align-items:flex-start;flex-direction:column}.student-records-filters,.assignment-filter-bar{grid-template-columns:1fr}.student-filter-search{grid-column:auto}.student-placement-kpis{display:grid;width:100%;grid-template-columns:repeat(3,1fr)}.student-placement-kpis div{min-width:0}.student-placement-manager-filters{width:100%;flex-direction:column}.student-placement-manager-filters label,.student-placement-manager-filters select,.student-placement-manager-filters .assignment-filter-clear{width:100%}.assignment-approval-movement{grid-template-columns:1fr}.assignment-approval-movement>svg{margin:auto;transform:rotate(90deg)}.assignment-change-arrow{animation:none;transform:rotate(90deg)!important}.assignment-request-detail-grid{grid-template-columns:1fr}.assignment-request-decision>div{flex-direction:column}.assignment-request-decision button{width:100%}.assignment-pagination{align-items:flex-start;flex-direction:column}.assignment-pagination>div{flex-wrap:wrap}}
@media(max-width:639px){.student-placement-dialog{width:100vw;max-height:100dvh;border-radius:0}.student-placement-dialog-shell{max-height:100dvh}.student-placement-dialog-header,.student-placement-dialog-body,.student-placement-dialog-footer{padding-left:.85rem;padding-right:.85rem}.student-placement-dialog-title{align-items:flex-start}.student-placement-dialog-summary span{max-width:100%}.student-placement-dialog-fields{grid-template-columns:1fr}.student-placement-dialog-footer{align-items:stretch;flex-direction:column}.student-placement-dialog-footer>div:last-child{display:grid;grid-template-columns:1fr 1.35fr}.student-placement-dialog-footer button{justify-content:center}.student-placement-dialog-footer>div:first-child{display:none}}

@media(max-width:639px){.student-records-filters.student-records-secondary{grid-template-columns:1fr}}

/* Standard academic report controls */
.assessment-results-page { width:100%; height:100vh; overflow:hidden; }
.assessment-results-page { height:100dvh; min-height:100vh; min-height:100dvh; }
.assessment-results-shell { width:100%; height:100vh; height:100dvh; min-height:100vh; min-height:100dvh; overflow:hidden; }
.assessment-results-shell>#sidebar { height:100%; min-height:100%; }
.assessment-results-content { height:100%; max-height:100vh; max-height:100dvh; }
.assessment-results-content,.assessment-results-scroll { min-width:0; min-height:0; }
.assessment-results-scroll { overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.assessment-results-scroll>*,.assessment-results-workspace>.academic-operation-flow { flex-shrink:0; }
.assessment-results-workspace { min-width:0; }
.assessment-results-workspace,.academic-report-panel,.assessment-report-content,.staff-report-filter { width:100%; max-width:100%; }
.assessment-report-content { min-width:0; }
.academic-report-panel { overflow:hidden; border:1px solid #ddd6fe; border-radius:12px; background:linear-gradient(135deg,#fff 0%,#faf9ff 100%); box-shadow:0 10px 30px -24px rgba(74,38,209,.5); }
.academic-report-heading { display:flex; align-items:center; gap:.8rem; padding:1rem 1.15rem; border-bottom:1px solid #ede9fe; }
.academic-report-heading>span { display:grid; width:2.5rem; height:2.5rem; flex:0 0 auto; place-items:center; border-radius:9px; color:#fff; background:linear-gradient(135deg,#7c5cf1,#4a26d1); box-shadow:0 8px 18px -10px rgba(74,38,209,.8); }
.academic-report-heading>span svg { width:1.15rem; height:1.15rem; }
.academic-report-heading h2 { color:#211a4a; font-size:.85rem; font-weight:900; }
.academic-report-heading p { margin-top:.15rem; color:#7a8190; font-size:.68rem; }
.academic-report-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; align-items:end; padding:1rem 1.15rem 1.15rem; }
.academic-report-form label { display:grid; min-width:0; gap:.35rem; }
.academic-report-form label>span { color:#5f6675; font-size:.65rem; font-weight:800; }
.academic-report-form select,.academic-report-form input { width:100%; min-width:0; height:2.4rem; padding:0 .65rem; border:1px solid #dfe1e8; border-radius:7px; color:#303747; background:#fff; font-size:.7rem; }
.academic-report-form select:focus,.academic-report-form input:focus { border-color:#7c5cf1; box-shadow:0 0 0 3px rgba(124,92,241,.12); outline:none; }
.academic-report-actions { display:flex; align-items:center; justify-content:flex-end; gap:.4rem; }
.academic-report-actions button { display:inline-flex; height:2.4rem; align-items:center; justify-content:center; gap:.35rem; padding:0 .7rem; border:1px solid #d7d2ef; border-radius:7px; color:#4227a8; background:#fff; font-size:.66rem; font-weight:900; transition:transform .15s ease,border-color .15s ease,background-color .15s ease; }
.academic-report-actions button:hover { transform:translateY(-1px); border-color:#7c5cf1; background:#f4f1ff; }
.academic-report-actions button svg { width:.85rem; height:.85rem; }
@media(max-width:1023px){.academic-report-form{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-report-actions{justify-content:flex-start}}
@media(max-width:639px){.academic-report-form{grid-template-columns:1fr}.academic-report-actions{display:grid;grid-template-columns:repeat(3,1fr)}.academic-report-heading{align-items:flex-start}}
.attendance-report-scope-badge { display:inline-flex!important; width:auto!important; height:auto!important; align-items:center; gap:.35rem; padding:.35rem .65rem; border:1px solid #d1fae5; border-radius:999px!important; color:#047857!important; background:#ecfdf5!important; box-shadow:none!important; font-size:.62rem; font-weight:900; text-transform:uppercase; white-space:nowrap; }
.attendance-report-scope-badge svg { width:.8rem!important; height:.8rem!important; }
.attendance-report-form { display:block; padding:1rem 1.15rem 1.15rem; }
.attendance-report-filter-group { min-width:0; margin:0 0 .8rem; padding:.9rem; border:1px solid #e7e3f7; border-radius:10px; background:rgba(255,255,255,.82); }
.attendance-report-filter-group legend { display:flex; align-items:center; gap:.45rem; padding:0 .35rem; color:#31256c; font-size:.69rem; font-weight:900; }
.attendance-report-filter-group legend>span { display:grid; width:1.35rem; height:1.35rem; place-items:center; border-radius:50%; color:#fff; background:#5b36d6; font-size:.6rem; }
.attendance-report-filter-grid { display:grid; gap:.75rem; align-items:start; }
.attendance-report-filter-grid-content { grid-template-columns:repeat(2,minmax(0,18rem)); }
.attendance-report-filter-grid-class { grid-template-columns:repeat(5,minmax(0,1fr)); }
.attendance-report-filter-grid-dates { grid-template-columns:repeat(2,minmax(0,14rem)) minmax(16rem,1fr); align-items:end; }
.attendance-report-form label { display:grid; min-width:0; gap:.35rem; }
.attendance-report-form label>span { color:#5f6675; font-size:.65rem; font-weight:800; }
.attendance-report-form label>small { color:#9a829f; font-size:.59rem; line-height:1.3; }
.attendance-report-form select,.attendance-report-form input { width:100%; min-width:0; height:2.55rem; padding:0 .7rem; border:1px solid #dfe1e8; border-radius:8px; color:#303747; background:#fff; font-size:.72rem; font-weight:650; }
.attendance-report-form select:disabled { cursor:not-allowed; color:#a3a9b5; background:#f7f7fa; }
.attendance-report-filter-flow { margin:-.15rem 0 .65rem; color:#8a79bd; font-size:.61rem; font-weight:750; }
.attendance-report-filter-grid-dates>p { display:flex; min-height:2.55rem; align-items:center; gap:.5rem; margin:0; padding:.55rem .7rem; border-radius:8px; color:#6d6484; background:#f7f5ff; font-size:.63rem; line-height:1.35; }
.attendance-report-filter-grid-dates>p svg { width:.95rem; height:.95rem; flex:0 0 auto; color:#6844dc; }
.attendance-report-footer { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding-top:.1rem; }
.attendance-report-clear { display:inline-flex; height:2.4rem; align-items:center; gap:.35rem; padding:0 .75rem; border:1px solid #e2e4ea; border-radius:7px; color:#626978; background:#fff; font-size:.66rem; font-weight:850; }
.attendance-report-clear:hover { border-color:#b8a8eb; color:#4a26d1; background:#faf9ff; }
.attendance-report-clear svg { width:.85rem; height:.85rem; }
@media(max-width:1199px){.attendance-report-filter-grid-class{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.attendance-report-filter-grid-content,.attendance-report-filter-grid-class,.attendance-report-filter-grid-dates{grid-template-columns:1fr}.attendance-report-footer{align-items:stretch;flex-direction:column}.attendance-report-footer .academic-report-actions{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.attendance-report-clear{justify-content:center}.attendance-report-scope-badge{display:none!important}}

/* Staff attendance report builder */
.staff-report-filter {
  overflow: hidden;
  border: 1px solid #e4e1ef;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 10px 28px -26px rgba(49, 37, 108, .7);
}
.staff-report-filter-modes {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) minmax(15rem, 1fr) minmax(11rem, .5fr);
  align-items: end;
  gap: .8rem;
  padding: 1rem 1.15rem;
  background: linear-gradient(135deg, #fff 0%, #fdfcff 100%);
}
.staff-report-mode-group { min-width: 0; }
.staff-report-mode-group legend {
  margin-bottom: .45rem;
  color: #626979;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.staff-report-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}
.staff-report-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.staff-report-choice {
  display: grid;
  min-width: 0;
  min-height: 4.1rem;
  grid-template-columns: 1rem 1.25rem minmax(0, 1fr);
  align-items: start;
  gap: .55rem;
  padding: .72rem .75rem;
  border: 1px solid #e1e3ea;
  border-radius: .75rem;
  color: #211a4a;
  background: #fff;
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.staff-report-choice:hover {
  border-color: #b8a8eb;
  background: #fbfaff;
  transform: translateY(-1px);
}
.staff-report-choice:focus-within { outline: 2px solid #c4b5fd; outline-offset: 2px; }
.staff-report-choice.is-selected {
  border-color: #8da4fb;
  background: linear-gradient(135deg, #f5f1ff 0%, #f0edff 100%);
  box-shadow: inset 0 0 0 1px #b8c5ff, 0 8px 18px -16px rgba(74, 38, 209, .8);
}
.staff-report-choice input {
  width: .9rem;
  height: .9rem;
  margin-top: .08rem;
  accent-color: #5b36d6;
}
.staff-report-choice-icon { display: grid; place-items: center; color: #5b36d6; }
.staff-report-choice-icon svg { width: .95rem; height: .95rem; }
.staff-report-choice-copy { min-width: 0; }
.staff-report-choice-copy strong { display: block; color: #17113c; font-size: .76rem; font-weight: 900; }
.staff-report-choice-copy small { display: block; margin-top: .15rem; color: #7d8391; font-size: .61rem; line-height: 1.35; }
.staff-report-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  align-items: end;
  gap: .8rem;
  padding: 1rem 1.15rem 1.1rem;
  border-top: 1px solid #ece9f5;
  background: #fff;
}
.staff-report-field { display: grid; min-width: 0; gap: .38rem; }
.staff-report-field>span:first-child {
  color: #626979;
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.staff-report-control { position: relative; display: block; min-width: 0; }
.staff-report-control>svg {
  position: absolute;
  z-index: 1;
  left: .8rem;
  top: 50%;
  width: .9rem;
  height: .9rem;
  color: #7858dc;
  pointer-events: none;
  transform: translateY(-50%);
}
.staff-report-control input,
.staff-report-control select {
  width: 100%;
  min-width: 0;
  height: 2.45rem;
  padding: 0 2rem 0 2.55rem;
  border: 1px solid #dfe1e8;
  border-radius: .65rem;
  color: #252b3b;
  background: #fafafa;
  font-size: .72rem;
  font-weight: 750;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.staff-report-control select {
  /* Reserve a fixed icon gutter even when a component-level select style is present. */
  padding-left: 2.7rem !important;
}
.staff-report-control input:hover,
.staff-report-control select:hover { border-color: #c8c0e7; background: #fff; }
.staff-report-control input:focus,
.staff-report-control select:focus { border-color: #7654df; background: #fff; box-shadow: 0 0 0 3px rgba(118, 84, 223, .12); outline: none; }
.staff-report-range { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.staff-report-range.hidden,
.staff-report-field.hidden { display: none; }
.staff-report-submit-wrap { display: flex; min-width: 0; align-items: end; }
.staff-report-filter-modes .staff-report-submit { width: 100%; }
.staff-report-submit {
  display: inline-flex;
  width: 100%;
  height: 2.45rem;
  align-items: center;
  justify-content: center;
  gap: .48rem;
  padding: 0 1rem;
  border-radius: .65rem;
  color: #fff;
  background: linear-gradient(135deg, #6037dd, #4622cf);
  box-shadow: 0 10px 20px -14px rgba(74, 38, 209, .9);
  font-size: .73rem;
  font-weight: 900;
  transition: box-shadow .16s ease, transform .16s ease, filter .16s ease;
}
.staff-report-submit:hover { filter: brightness(1.05); box-shadow: 0 13px 24px -14px rgba(74, 38, 209, .95); transform: translateY(-1px); }
.staff-report-submit:focus-visible { outline: 3px solid #c4b5fd; outline-offset: 2px; }
.staff-report-submit svg { width: .9rem; height: .9rem; }
.staff-report-submit svg:last-child { margin-left: auto; }
.assessment-report-controls {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
}
.assessment-report-date>span:first-child { white-space: nowrap; }
.assessment-report-search { grid-column: span 2; }
.assessment-report-submit { grid-column: span 1; }
.assessment-report-advanced .assessment-report-search { grid-column: span 4; }
.assessment-report-controls select:disabled {
  cursor: not-allowed;
  color: #9ca3af;
  background: #f6f7f9;
}
@media(max-width:1279px){
  .assessment-report-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
  .assessment-report-search{grid-column:span 2}
  .assessment-report-advanced .assessment-report-search{grid-column:span 2}
}
@media(max-width:767px){
  .assessment-report-controls{grid-template-columns:1fr}
  .assessment-report-search,.assessment-report-submit{grid-column:auto}
  .assessment-report-advanced .assessment-report-search{grid-column:auto}
}
/* Report result layouts */
.staff-report-table { width: 100%; border-collapse: collapse; color: #4b5563; font-size: .76rem; }
.staff-report-table thead { color: #6b7280; background: #fff; font-size: .6rem; font-weight: 900; letter-spacing: .055em; text-align: left; text-transform: uppercase; }
.staff-report-table th { padding: .8rem 1rem; border-bottom: 1px solid #e5e7eb; white-space: nowrap; }
.staff-report-table td { padding: .8rem 1rem; border-bottom: 1px solid #f0f1f4; vertical-align: middle; }
.staff-report-table tbody tr { transition: background-color .15s ease; }
.staff-report-table tbody tr:hover { background: #faf9ff; }
.staff-report-table td>strong,.staff-report-table td>small { display: block; }
.staff-report-table td>strong { color: #25263a; font-weight: 850; }
.staff-report-table td>small { margin-top: .15rem; color: #9ca3af; font-size: .63rem; font-weight: 650; }
.report-matrix-table { min-width: max-content; font-size: .72rem; }
.report-matrix-table th { white-space: nowrap; }
.report-matrix-table th:nth-child(1),.report-matrix-table td:nth-child(1) { width: 7.5rem; white-space: nowrap; }
.report-matrix-table th:nth-child(2),.report-matrix-table td:nth-child(2) { min-width: 11rem; white-space: nowrap; }
.report-matrix-table th:nth-child(3),.report-matrix-table td:nth-child(3) { width: 8rem; white-space: nowrap; }
.report-matrix-table th:nth-child(n+4):not(:nth-last-child(-n+4)) { min-width: 8.5rem;max-width:11rem;white-space:normal;line-height:1.3;overflow-wrap:anywhere; }
.report-matrix-table td:nth-child(n+4):not(:nth-last-child(-n+4)) { text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums; }
.report-matrix-table th:nth-last-child(-n+4),.report-matrix-table td:nth-last-child(-n+4) { width:5.75rem;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums; }
.staff-report-rate,.staff-report-status { display: inline-flex; align-items: center; border-radius: 999px; padding: .28rem .58rem; color: #4f46e5; background: #eef2ff; font-size: .65rem; font-weight: 900; white-space: nowrap; }
.staff-report-status[data-state="approved"] { color: #047857; background: #ecfdf5; }
.staff-report-status[data-state="rejected"] { color: #be123c; background: #fff1f2; }
.staff-report-status[data-state="pending"] { color: #b45309; background: #fffbeb; }
.staff-report-matrix { width: max-content; min-width: 100%; }
.staff-report-matrix th:not(:first-child),.staff-report-matrix td:not(:first-child) { width: 3.2rem; min-width: 3.2rem; padding-right: .4rem; padding-left: .4rem; }
.staff-report-matrix th>span,.staff-report-matrix th>small { display: block; }
.staff-report-matrix th>small { color: #a1a1aa; font-size: .52rem; }
.staff-matrix-status { display: inline-grid; width: 1.85rem; height: 1.85rem; place-items: center; border-radius: .55rem; color: #4f46e5; background: #eef2ff; font-size: .62rem; font-weight: 950; }
.staff-matrix-status.is-empty { color: #cbd5e1; background: #f8fafc; }
.staff-report-empty { display: grid; min-height: 14rem; place-items: center; align-content: center; gap: .45rem; padding: 2rem; color: #9ca3af; text-align: center; }
.staff-report-empty svg { width: 2.25rem; height: 2.25rem; color: #c4b5fd; }
.staff-report-empty strong { color: #4b5563; font-size: .85rem; font-weight: 900; }
.staff-report-empty span { font-size: .7rem; }
.staff-report-empty.is-success svg { color: #34d399; }
.staff-missing-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .9rem; border: 1px solid #fecdd3; border-radius: .85rem; background: linear-gradient(135deg,#fff,#fff7f7); }
.staff-missing-card[data-state="draft"] { border-color: #bae6fd; background: linear-gradient(135deg,#fff,#f0f9ff); }
.staff-missing-icon { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border-radius: .7rem; color: #e11d48; background: #ffe4e6; }
.staff-missing-card[data-state="draft"] .staff-missing-icon { color: #0369a1; background: #e0f2fe; }
.staff-missing-icon svg { width: 1.05rem; height: 1.05rem; }
.staff-missing-card strong { color: #27272a; font-size: .75rem; font-weight: 900; }
.staff-missing-card div>span { border-radius: 999px; padding: .15rem .4rem; color: #be123c; background: #ffe4e6; font-size: .52rem; font-weight: 900; text-transform: uppercase; }
.staff-missing-card[data-state="draft"] div>span { color: #0369a1; background: #e0f2fe; }
.staff-missing-card p,.staff-missing-card small { display: block; margin-top: .15rem; color: #71717a; font-size: .63rem; }
.staff-missing-card a { border-radius: .55rem; padding: .48rem .62rem; color: #fff; background: #5b36d6; font-size: .62rem; font-weight: 900; }
.staff-correction-change { display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; }
.staff-correction-change svg { width: .75rem; height: .75rem; color: #94a3b8; }
.staff-correction-change del { color: #be123c; }
.staff-correction-change ins { color: #047857; font-weight: 850; text-decoration: none; }
@media(max-width:1023px){.staff-report-filter-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-report-filter-modes .assessment-report-submit,.staff-report-filter-modes .staff-report-submit-wrap{grid-column:span 2}.staff-report-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-report-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.staff-report-filter-modes,.staff-report-controls{grid-template-columns:1fr;padding:.9rem}.staff-report-choice-grid,.staff-report-range{grid-template-columns:1fr}.staff-report-choice{min-height:auto}.staff-report-submit{height:2.75rem}}
.email-delivery-indicator {
  display: inline-flex;
  position: relative;
  flex: 0 0 auto;
}

.email-delivery-indicator-button {
  align-items: center;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: .75rem;
  color: #047857;
  cursor: help;
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  position: relative;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  width: 2.5rem;
}

.email-delivery-indicator-button:hover,
.email-delivery-indicator-button:focus-visible {
  background: #d1fae5;
  border-color: #6ee7b7;
  box-shadow: 0 8px 20px rgba(5, 150, 105, .16);
  outline: none;
  transform: translateY(-1px);
}

.email-delivery-indicator-button svg {
  height: 1.1rem;
  width: 1.1rem;
}

.email-delivery-indicator.is-disabled .email-delivery-indicator-button {
  background: #fffbeb;
  border-color: #fde68a;
  color: #b45309;
}

.email-delivery-indicator.is-disabled .email-delivery-indicator-button:hover,
.email-delivery-indicator.is-disabled .email-delivery-indicator-button:focus-visible {
  background: #fef3c7;
  border-color: #fcd34d;
  box-shadow: 0 8px 20px rgba(217, 119, 6, .16);
}

.email-delivery-indicator-pulse {
  background: #10b981;
  border: 2px solid #fff;
  border-radius: 999px;
  height: .55rem;
  position: absolute;
  right: -.12rem;
  top: -.12rem;
  width: .55rem;
}

.email-delivery-indicator-pulse::after {
  animation: email-delivery-pulse 2s ease-out infinite;
  border: 1px solid #10b981;
  border-radius: inherit;
  content: "";
  inset: -3px;
  position: absolute;
}

.email-delivery-indicator.is-disabled .email-delivery-indicator-pulse {
  background: #f59e0b;
}

.email-delivery-indicator.is-disabled .email-delivery-indicator-pulse::after {
  border-color: #f59e0b;
}

.email-delivery-indicator-tooltip {
  background: #111827;
  border-radius: .75rem;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .2);
  color: #d1fae5;
  display: grid;
  font-size: .72rem;
  gap: .2rem;
  line-height: 1.45;
  max-width: min(18rem, calc(100vw - 2rem));
  opacity: 0;
  padding: .65rem .75rem;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: calc(100% + .55rem);
  transform: translateY(-4px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  visibility: hidden;
  width: max-content;
  z-index: 80;
}

.email-delivery-indicator-tooltip strong {
  color: #fff;
  font-size: .75rem;
}

.email-delivery-indicator:hover .email-delivery-indicator-tooltip,
.email-delivery-indicator:focus-within .email-delivery-indicator-tooltip {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

@keyframes email-delivery-pulse {
  0% { opacity: .75; transform: scale(.65); }
  70%, 100% { opacity: 0; transform: scale(1.7); }
}

@media (prefers-reduced-motion: reduce) {
  .email-delivery-indicator-pulse::after {
    animation: none;
  }
}

.student-attendance-correction-pending {
  background: linear-gradient(135deg, rgba(255, 251, 235, .96), rgba(254, 243, 199, .82)) !important;
  box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .42);
  isolation: isolate;
  position: relative;
}

.student-attendance-correction-pending::after {
  animation: student-attendance-correction-glow 2.8s ease-in-out infinite;
  border: 2px solid rgba(245, 158, 11, .55);
  border-radius: .75rem;
  content: "";
  inset: 3px;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

@keyframes student-attendance-correction-glow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
    opacity: .55;
  }
  50% {
    box-shadow: 0 0 0 4px rgba(245, 158, 11, .13);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .student-attendance-correction-pending::after {
    animation: none;
    opacity: 1;
  }
}

/* Shared progressive dropdown filter: added only when a list has more than 10 records. */
.edu-select-inline-filter {
  width: 100%;
  min-height: 2.25rem;
  margin: .35rem 0 .4rem;
  border: 1px solid #ddd6fe;
  border-radius: .65rem;
  padding: .45rem .7rem .45rem 2rem;
  color: #312e81;
  background-color: #fafaff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: .65rem center;
  font-size: .75rem;
  font-weight: 650;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.edu-select-inline-filter::placeholder { color: #9ca3af; font-weight: 550; }
.edu-select-inline-filter:focus { border-color: #7c3aed; background-color: #fff; box-shadow: 0 0 0 3px rgba(124,58,237,.1); }
.edu-select-inline-filter:disabled { cursor: not-allowed; opacity: .55; }

/* Required academic report scope follows the shared selected / next / waiting drilldown pattern. */
.attendance-report-drilldown {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}
.attendance-report-drilldown .attendance-drilldown-step:last-child { grid-column: span 2; }
.attendance-report-action-row { grid-column: 1 / -1; margin: .1rem -.35rem; }
.student-attendance-report-drilldown { grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; }
.student-attendance-report-drilldown .attendance-drilldown-step:last-of-type { grid-column: auto; }
.attendance-report-inline-submit { min-height: 100%; align-items: flex-end; padding: .65rem 0; }
.attendance-report-inline-submit .staff-report-submit { width: 100%; }
.attendance-drilldown-step {
  display: grid !important;
  grid-template-columns: 1.45rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .45rem;
  min-width: 0;
  padding: .65rem;
  border: 1px solid #e2e5eb;
  border-radius: .75rem;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.attendance-drilldown-step::before {
  content: attr(data-step-number);
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border-radius: 999px;
  color: #687080;
  background: #f1f3f6;
  font-size: .62rem;
  font-weight: 900;
}
.attendance-drilldown-step::after { content: attr(data-step-state); color: #9aa1af; font-size: .52rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.attendance-drilldown-step > span:first-of-type { overflow: hidden; color: #273147; font-size: .68rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.attendance-drilldown-step > .staff-report-control { grid-column: 1 / -1; }
.attendance-drilldown-step .staff-report-control > svg { display: none; }
.attendance-drilldown-step .staff-report-control > select { padding-left: .75rem; }
.attendance-drilldown-step.is-current { border-color: #8badff; box-shadow: 0 0 0 2px #dbeafe; }
.attendance-drilldown-step.is-current::before { color: #fff; background: #4a26d1; }
.attendance-drilldown-step.is-current::after { color: #4a26d1; }
.attendance-drilldown-step.is-complete { border-color: #a7e8cb; background: #f3fcf8; }
.attendance-drilldown-step.is-complete::before { color: #fff; background: #059669; }
.attendance-drilldown-step.is-complete::after { color: #047857; }
.attendance-drilldown-step.is-waiting { opacity: .68; }
@media(max-width:1279px){.attendance-report-drilldown{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-report-drilldown .attendance-drilldown-step:last-child{grid-column:auto}.student-attendance-report-drilldown{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.attendance-report-drilldown{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.attendance-report-drilldown{grid-template-columns:1fr}}
.academic-scope-dropdown {
  min-height: 2.75rem;
  width: 100%;
  border: 1px solid #e5e7eb !important;
  border-radius: .75rem !important;
  background-color: #fff;
  padding: .625rem 2.25rem .625rem .75rem !important;
  color: #374151;
  font-size: .8125rem;
  font-weight: 650;
  line-height: 1.25rem;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.academic-scope-dropdown:hover:not(:disabled) { border-color: #c4b5fd !important; }
.academic-scope-dropdown:focus {
  border-color: #8b5cf6 !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(139, 92, 246, .14);
}
.academic-scope-dropdown:disabled {
  cursor: not-allowed;
  background-color: #f8fafc;
  color: #94a3b8;
  opacity: 1;
}

/* Compact, continuous Batches & Sections editor workflow */
#offeringForm { display:flex;width:100%;min-width:0;flex-direction:column;gap:0;padding:0!important; }
#offeringForm>*,#offeringForm [data-offering-scope]>* { margin-top:0!important; }
#offeringForm [data-offering-scope] { display:flex;width:100%;min-width:0;flex-direction:column;gap:0; }
#offeringForm [data-offering-scope]>section:first-child,
#offeringForm [data-offering-batch-details],
#offeringForm>[data-semester-progression],
#offeringForm>div.border-t.border-gray-100 {
  width:100%;min-width:0;margin:0;padding:1rem 1.25rem;border:0;border-bottom:1px solid #e7e5f4;border-radius:0!important;box-shadow:none!important;
}
#offeringForm [data-offering-scope]>section:first-child { background:#fbfbfe;box-shadow:inset 3px 0 #7c3aed!important; }
#offeringForm [data-offering-batch-details] { background:#fff;box-shadow:inset 3px 0 #2563eb!important; }
#offeringForm>[data-semester-progression] { background:#faf9ff;box-shadow:inset 3px 0 #8b5cf6!important; }
#offeringForm>div.border-t.border-gray-100 { padding-top:1rem!important;background:#fff;box-shadow:inset 3px 0 #059669!important; }
#offeringForm [data-offering-batch-details]>.grid { gap:.75rem!important; }
#offeringForm [data-offering-batch-details]>.mb-4 { margin-bottom:.75rem!important; }
#offeringForm [data-semester-track] { margin-top:.7rem!important; }
#offeringForm [data-section-list] { margin-top:.75rem!important; }
#offeringForm [data-section-list]>:not([hidden])~:not([hidden]) { margin-top:0!important; }
#offeringForm [data-section-row] { margin:0;padding:.8rem 0;border:0;border-top:1px solid #eceaf3;border-radius:0!important;background:transparent!important;box-shadow:none!important; }
#offeringForm [data-section-row]:first-child { border-top:0; }
#offeringForm [data-section-row]>.mt-3 { margin-top:.65rem!important; }
#offeringForm>.flex.justify-end.gap-2 { margin:0!important;padding:.85rem 1.25rem;border-top:0;background:#f8f8fc; }
#offeringForm [data-update-only] { margin:0;padding:.85rem 1.25rem;border-bottom:1px solid #e7e5f4;background:#fff; }
@media(max-width:639px){#offeringForm [data-offering-scope]>section:first-child,#offeringForm [data-offering-batch-details],#offeringForm>[data-semester-progression],#offeringForm>div.border-t.border-gray-100{padding:.85rem}#offeringForm>.flex.justify-end.gap-2{padding:.75rem .85rem}#offeringForm [data-section-row]{padding:.75rem 0}}

/* Assessment result dashboard */
.result-workspace-tabs { display:flex;align-items:stretch;gap:.5rem;width:100%;border:1px solid #e5e7eb;border-radius:.85rem;background:#fff;padding:.4rem;box-shadow:0 4px 16px rgb(15 23 42/.04); }
.result-workspace-tabs button { display:flex;align-items:center;gap:.65rem;min-width:12rem;border:1px solid transparent;border-radius:.65rem;padding:.65rem .9rem;color:#64748b;text-align:left;transition:.18s ease; }
.result-workspace-tabs button:hover { border-color:#ddd6fe;background:#faf8ff;color:#5b21b6; }
.result-workspace-tabs button>span:first-child { display:grid;width:2rem;height:2rem;flex:none;place-items:center;border-radius:.55rem;background:#f1f5f9;color:#64748b; }.result-workspace-tabs button svg { width:.95rem;height:.95rem; }
.result-workspace-tabs button b,.result-workspace-tabs button small { display:block; }.result-workspace-tabs button b { color:#334155;font-size:.7rem;font-weight:900; }.result-workspace-tabs button small { margin-top:.1rem;color:#94a3b8;font-size:.52rem; }
.result-workspace-tabs button.academic-operation-tab-active { border-color:#7c3aed;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;box-shadow:0 5px 12px rgb(109 40 217/.18); }.result-workspace-tabs button.academic-operation-tab-active>span:first-child { background:#fff2;color:#fff; }.result-workspace-tabs button.academic-operation-tab-active b { color:#fff; }.result-workspace-tabs button.academic-operation-tab-active small { color:#ede9fe; }
.result-dashboard { --result-border:#e5e7eb;--result-muted:#64748b;--result-brand:#5b21b6;--result-brand-soft:#f5f3ff; }
.result-dashboard-toolbar { display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.75rem; }
.result-dashboard-export { display:inline-flex;flex:none;align-items:center;gap:.5rem;border:1px solid #ddd6fe;border-radius:.65rem;background:#fff;padding:.65rem .9rem;color:#5b21b6;font-size:.75rem;font-weight:800;box-shadow:0 1px 2px rgb(15 23 42/.04);transition:.18s ease; }
.result-dashboard-export:hover { border-color:#a78bfa;background:#f5f3ff;color:#4c1d95; }
.result-dashboard-filters { position:relative;overflow:hidden;border:1px solid #e2e8f0;border-radius:.9rem;background:#fff;box-shadow:0 8px 24px rgb(15 23 42/.045);transition:border-color .18s ease,box-shadow .18s ease; }
.result-dashboard-filters.is-ready { border-color:#c4b5fd;box-shadow:0 8px 24px rgb(109 40 217/.07); }
.result-scope-summary { display:flex;align-items:center;gap:.75rem;min-height:4.2rem;padding:.75rem .9rem;background:linear-gradient(135deg,#faf8ff 0,#fff 58%,#f8fafc 100%); }
.result-scope-summary-icon { display:grid;width:2.35rem;height:2.35rem;flex:none;place-items:center;border-radius:.7rem;background:#ede9fe;color:#6d28d9; }.result-scope-summary-icon svg{width:1.05rem;height:1.05rem}.result-dashboard-filters.is-ready .result-scope-summary-icon{background:#ecfdf5;color:#059669}
.result-scope-summary-copy { min-width:0;flex:1; }.result-scope-summary-copy>span,.result-scope-summary-copy>strong,.result-scope-summary-copy>small{display:block}.result-scope-summary-copy>span{color:#7c3aed;font-size:.5rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.result-scope-summary-copy>strong{margin-top:.12rem;overflow:hidden;color:#1e293b;font-size:.75rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.result-scope-summary-copy>small{margin-top:.12rem;overflow:hidden;color:#94a3b8;font-size:.56rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.result-dashboard-filters.is-ready .result-scope-summary-copy>span{color:#059669}
.result-scope-progress { flex:none;border:1px solid #ddd6fe;border-radius:999px;background:#fff;padding:.3rem .55rem;color:#6d28d9;font-size:.52rem;font-weight:900; }.result-dashboard-filters.is-ready .result-scope-progress{border-color:#a7f3d0;background:#ecfdf5;color:#047857}
.result-scope-toggle { display:inline-flex;flex:none;align-items:center;gap:.35rem;border:1px solid #e2e8f0;border-radius:.55rem;background:#fff;padding:.45rem .6rem;color:#475569;font-size:.58rem;font-weight:800;transition:.16s ease; }.result-scope-toggle:hover{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9}.result-scope-toggle svg{width:.75rem;height:.75rem}.result-scope-toggle svg:last-child{transition:transform .18s ease}.result-dashboard-filters.is-collapsed .result-scope-toggle svg:last-child{transform:rotate(180deg)}
.result-scope-filter-body { border-top:1px solid #f1f5f9;padding:.8rem .9rem .9rem; }.result-dashboard-filters.is-collapsed .result-scope-filter-body{display:none}
.result-dashboard-filter-grid { display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:.7rem; }
.result-dashboard-filter { position:relative!important;display:block!important;min-width:0!important;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;opacity:1!important; }
.result-dashboard-filter>span { display:block;margin-bottom:.35rem;color:#64748b;font-size:.58rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase; }
.result-dashboard-filter>select { width:100%;height:2.55rem;border:1px solid #d8d6e4;border-radius:.55rem;background:#fff;padding:0 1.8rem 0 .7rem;color:#1f2937;font-size:.72rem;font-weight:700;outline:none;transition:.16s ease; }
.result-dashboard-filter>select:focus { border-color:#8b5cf6;box-shadow:0 0 0 3px #ede9fe; }
.result-dashboard-filter>select:disabled { cursor:not-allowed;background:#f8fafc;color:#94a3b8; }
.result-dashboard-filter>.assessment-scope-state { position:absolute;right:.35rem;top:0;color:#8b5cf6;font-size:.48rem;font-weight:900;text-transform:uppercase; }
.result-dashboard-filter.is-complete>select { border-color:#a7f3d0;background:#f0fdf8; }
.result-dashboard-filter.is-complete>.assessment-scope-state { color:#059669; }
.result-dashboard-sections { display:flex;align-items:flex-start;gap:.8rem;margin-top:.85rem;padding-top:.8rem;border-top:1px solid #f0eff7; }
.result-dashboard-sections-label { flex:none;padding-top:.35rem;color:#64748b;font-size:.58rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase; }
.result-section-chip { border:1px solid #c4b5fd;border-radius:999px;background:#fff;padding:.35rem .7rem;color:#6d28d9;font-size:.65rem;font-weight:800;transition:.16s ease; }
.result-section-chip:hover { background:#f5f3ff; }
.result-section-chip.is-selected { border-color:#7c3aed;background:#ede9fe;color:#5b21b6;box-shadow:inset 0 0 0 1px #c4b5fd; }
.result-dashboard-empty { display:flex;align-items:center;justify-content:center;gap:.9rem;min-height:10rem;border:1px dashed #c4b5fd;border-radius:.8rem;background:linear-gradient(135deg,#fff,#faf8ff);padding:2rem;color:#64748b;text-align:left; }
.result-dashboard-empty>span { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.8rem;background:#ede9fe;color:#7c3aed; }
.result-dashboard-empty svg { width:1.25rem;height:1.25rem; }.result-dashboard-empty strong { color:#312e81;font-size:.85rem; }.result-dashboard-empty p { margin-top:.25rem;font-size:.7rem; }
.result-dashboard-kpis { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem; }
.result-dashboard-kpis article { min-width:0;min-height:6.2rem;border:1px solid var(--result-border);border-radius:.7rem;background:#fff;padding:.85rem .9rem;box-shadow:0 3px 12px rgb(15 23 42/.035); }
.result-dashboard-kpis article>span { display:block;color:#64748b;font-size:.55rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase; }
.result-dashboard-kpis article>strong { display:flex;align-items:baseline;gap:.2rem;margin-top:.55rem;color:#111827;font-size:1.35rem;font-weight:900;line-height:1; }
.result-dashboard-kpis article>strong b { font:inherit;overflow:hidden;text-overflow:ellipsis; }.result-dashboard-kpis article>strong em { color:#64748b;font-size:.65rem;font-style:normal;font-weight:800; }
.result-dashboard-kpis article>small { display:block;margin-top:.55rem;color:#64748b;font-size:.57rem;line-height:1.25; }
.result-dashboard-kpis article.is-brand>strong { color:#5b21b6; }.result-dashboard-kpis article.is-success>strong { color:#047857; }.result-dashboard-kpis article.is-danger>strong { color:#e11d48; }
.result-dashboard-kpis article.is-brand>small { height:.18rem;overflow:hidden;border-radius:999px;background:#ede9fe; }.result-dashboard-kpis article.is-brand>small i { display:block;height:100%;border-radius:inherit;background:#6d28d9; }
.result-dashboard-student-score { display:block!important; }.result-dashboard-student-score b { display:block!important;white-space:nowrap;font-size:.75rem!important;line-height:1.25!important; }.result-dashboard-student-score em { display:block;margin-top:.25rem;color:#312e81!important;font-size:.72rem!important; }
.result-dashboard-chart-grid,.result-dashboard-table-grid { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);gap:.8rem; }
.result-dashboard-card { min-width:0;overflow:hidden;border:1px solid var(--result-border);border-radius:.7rem;background:#fff;box-shadow:0 3px 14px rgb(15 23 42/.035); }
.result-dashboard-card>header { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;min-height:3rem;border-bottom:1px solid #e5e7eb;padding:.65rem .8rem; }
.result-dashboard-card>header h3 { color:#111827;font-size:.7rem;font-weight:900; }.result-dashboard-card>header p,.result-dashboard-card>header small { color:#94a3b8;font-size:.52rem;line-height:1.3; }.result-dashboard-card>header small { flex:none;text-align:right; }
.result-dashboard-card-body { min-height:13.5rem;padding:1rem; }
.result-chart-legend { display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.8rem;margin-top:.8rem;color:#64748b;font-size:.55rem; }.result-chart-legend span { display:inline-flex;align-items:center;gap:.3rem; }.result-chart-legend i { width:.4rem;height:.4rem;border-radius:.1rem; }
.result-distribution-chart { display:flex;align-items:flex-end;justify-content:space-around;gap:.5rem;height:10.3rem;padding:1.5rem .5rem 0;border-bottom:1px solid #cbd5e1;background:repeating-linear-gradient(to bottom,#fff 0,#fff 32px,#eef2f7 33px); }
.result-distribution-column { display:flex;flex:1;align-items:center;align-self:stretch;justify-content:flex-end;flex-direction:column;min-width:0; }.result-distribution-column>span { min-height:1rem;color:#475569;font-size:.5rem;font-weight:800; }.result-distribution-column>i { width:min(2.1rem,72%);min-height:2px;border-radius:.2rem .2rem 0 0; }.result-distribution-column>i.is-passing { background:#6d28d9; }.result-distribution-column>i.is-failing { background:#fb7185; }.result-distribution-column>small { margin-top:.4rem;color:#94a3b8;font-size:.48rem;white-space:nowrap; }
.result-donut-layout { display:flex;align-items:center;justify-content:center;flex-direction:column; }.result-donut { display:grid;width:8.8rem;height:8.8rem;place-items:center;border-radius:50%;background:#e2e8f0; }.result-donut>div { display:grid;width:6.2rem;height:6.2rem;place-content:center;border-radius:50%;background:#fff;text-align:center;box-shadow:0 0 0 1px #f1f5f9; }.result-donut strong { color:#111827;font-size:1.5rem;font-weight:900;line-height:1; }.result-donut span { margin-top:.3rem;color:#94a3b8;font-size:.5rem;font-weight:800;text-transform:uppercase; }
.result-section-chart { display:flex;align-items:flex-end;justify-content:space-around;gap:1rem;height:10.3rem;padding:1.4rem .75rem 0;border-bottom:1px solid #cbd5e1;background:repeating-linear-gradient(to bottom,#fff 0,#fff 32px,#eef2f7 33px); }.result-section-column { display:flex;flex:1;align-items:center;align-self:stretch;justify-content:flex-end;flex-direction:column;min-width:0; }.result-section-column>div { display:flex;align-items:flex-end;justify-content:center;gap:.25rem;width:100%;height:100%; }.result-section-column i { position:relative;width:min(1.55rem,38%);min-height:2px;border-radius:.18rem .18rem 0 0; }.result-section-column i.is-average { background:#6d28d9; }.result-section-column i.is-pass { background:#059669; }.result-section-column i span { position:absolute;top:-.9rem;left:50%;color:#64748b;font-size:.43rem;font-style:normal;transform:translateX(-50%); }.result-section-column>small { margin-top:.45rem;color:#64748b;font-size:.5rem;font-weight:700;white-space:nowrap; }
.result-trend-chart { height:13rem; }.result-trend-chart svg { width:100%;height:100%;overflow:visible; }.result-trend-grid line { stroke:#e2e8f0;stroke-width:1; }.result-trend-chart text { fill:#94a3b8;font-size:9px; }.result-trend-chart polyline { fill:none;stroke:#6d28d9;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round; }.result-trend-chart circle { fill:#fff;stroke:#6d28d9;stroke-width:2.5; }.result-trend-chart g.is-active circle { fill:#6d28d9;stroke:#ede9fe;stroke-width:5; }.result-trend-chart .result-trend-value { fill:#475569;font-size:9px;font-weight:800; }
.result-chart-empty { display:grid;width:100%;height:100%;place-items:center;color:#94a3b8;font-size:.65rem; }
.result-dashboard-table { width:100%;font-size:.62rem; }.result-dashboard-table th { border-bottom:1px solid #e5e7eb;background:#fafafa;padding:.55rem .75rem;color:#64748b;font-size:.5rem;font-weight:900;letter-spacing:.04em;text-align:left;text-transform:uppercase; }.result-dashboard-table td { border-bottom:1px solid #f1f5f9;padding:.55rem .75rem;color:#64748b; }.result-dashboard-table td strong,.result-dashboard-table td b { color:#1f2937;font-weight:800; }.result-dashboard-table td.text-right,.result-dashboard-table th.text-right { text-align:right; }.result-dashboard-table td.text-right small { display:block;margin-top:.15rem;color:#94a3b8; }.result-rank { display:grid;width:1.2rem;height:1.2rem;place-items:center;border-radius:50%;background:#f1f5f9;color:#64748b;font-size:.5rem;font-weight:900; }.result-rank.is-first { background:#fef3c7;color:#b45309; }.result-table-empty { height:8rem;text-align:center!important;color:#94a3b8!important; }
.result-dashboard-attention { min-height:15rem; }.result-attention-empty { display:grid;min-height:15rem;place-content:center;justify-items:center;padding:2rem;text-align:center; }.result-attention-empty>span { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:50%;background:#ecfdf5;color:#059669; }.result-attention-empty svg { width:1.2rem;height:1.2rem; }.result-attention-empty strong { margin-top:.65rem;color:#334155;font-size:.75rem; }.result-attention-empty p { margin-top:.25rem;color:#94a3b8;font-size:.6rem; }
.result-attention-list>div { display:flex;align-items:center;gap:.65rem;border-bottom:1px solid #f1f5f9;padding:.65rem .8rem; }.result-attention-list>div>span { display:grid;width:1.85rem;height:1.85rem;flex:none;place-items:center;border-radius:.55rem;background:#f5f3ff;color:#6d28d9;font-size:.5rem;font-weight:900; }.result-attention-list p { min-width:0;flex:1; }.result-attention-list p strong,.result-attention-list p small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.result-attention-list p strong { color:#1f2937;font-size:.62rem; }.result-attention-list p small { margin-top:.15rem;color:#94a3b8;font-size:.52rem; }.result-attention-list em { flex:none;border-radius:999px;padding:.3rem .5rem;font-size:.5rem;font-style:normal;font-weight:800; }.result-attention-list em.is-fail { background:#fff1f2;color:#e11d48; }.result-attention-list em.is-absent { background:#f1f5f9;color:#64748b; }
@media(max-width:1399px){.result-dashboard-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.result-dashboard-assessment-filter{grid-column:span 2}.result-dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1023px){.result-dashboard-chart-grid,.result-dashboard-table-grid{grid-template-columns:1fr}.result-dashboard-card-body{min-height:12.5rem}}
@media(max-width:767px){.result-workspace-tabs{display:grid;grid-template-columns:1fr 1fr}.result-workspace-tabs button{min-width:0}.result-workspace-tabs button small{display:none}.result-dashboard-toolbar{align-items:flex-start;flex-direction:column}.result-scope-summary{flex-wrap:wrap}.result-scope-summary-copy{flex-basis:calc(100% - 3.2rem)}.result-scope-progress{margin-left:3.1rem}.result-scope-toggle{margin-left:auto}.result-dashboard-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-dashboard-assessment-filter{grid-column:span 2}.result-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.result-dashboard-sections{align-items:flex-start;flex-direction:column}.result-dashboard-card>header{align-items:flex-start}.result-attention-list em{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:479px){.result-scope-progress{margin-left:0}.result-scope-toggle span{display:none}.result-dashboard-filter-grid{grid-template-columns:1fr}.result-dashboard-assessment-filter{grid-column:auto}.result-dashboard-kpis{grid-template-columns:1fr}.result-dashboard-export{width:100%;justify-content:center}.result-dashboard-card-body{padding:.75rem}.result-distribution-chart,.result-section-chart{gap:.2rem;padding-left:.2rem;padding-right:.2rem}}

/* Bulk-import workbook validation */
.bulk-import-dialog { color-scheme:light; }
.bulk-import-dialog>div>header,.bulk-import-dialog>div>[aria-label="Import progress"],.bulk-import-footer { flex:none; }
.bulk-import-dialog.is-validation-stage .bulk-import-body { display:flex;min-height:0;overflow:hidden!important;padding:1rem!important; }
.bulk-import-dialog.is-validation-stage [data-staff-bulk-errors],.bulk-import-dialog.is-validation-stage [data-student-bulk-errors] { display:flex;min-width:0;min-height:0;flex:1;flex-direction:column;gap:.75rem; }
.bulk-import-dialog.is-validation-stage [data-staff-bulk-errors]>:first-child,.bulk-import-dialog.is-validation-stage [data-student-bulk-errors]>:first-child { flex:none; }
.bulk-sheet-card { overflow:hidden;margin-top:1rem;border:1px solid #d9dee7;border-radius:.8rem;background:#fff;box-shadow:0 8px 24px -22px rgb(15 23 42/.35); }
.bulk-import-dialog.is-validation-stage .bulk-sheet-card { display:flex;min-height:0;flex:1;flex-direction:column;margin-top:0; }
.bulk-sheet-toolbar { display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #d9dee7;padding:.7rem .9rem;background:#f8fafc; }
.bulk-sheet-toolbar p { color:#334155;font-size:.74rem;font-weight:900; }
.bulk-sheet-toolbar small { display:block;margin-top:.12rem;color:#94a3b8;font-size:.58rem; }
.bulk-sheet-legend { display:flex;align-items:center;gap:.8rem;color:#64748b;font-size:.6rem;font-weight:800; }
.bulk-sheet-legend>span { display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap; }
.bulk-sheet-legend i { width:.55rem;height:.55rem;border:1px solid #fb7185;background:#fff1f2; }
.bulk-sheet-legend button { border:1px solid #d8dce5;border-radius:.55rem;padding:.48rem .7rem;color:#4f46e5;background:#fff;font-size:.61rem;font-weight:900;white-space:nowrap; }
.bulk-sheet-legend button:hover { border-color:#a5b4fc;background:#eef2ff; }
.bulk-sheet-viewport { max-height:27rem;overflow:auto;overscroll-behavior:contain;background:#fff;scrollbar-gutter:stable; }
.bulk-import-dialog.is-validation-stage .bulk-sheet-viewport { min-height:0;max-height:none;flex:1; }
.bulk-sheet-grid { width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;color:#334155;font-family:Calibri,"Segoe UI",sans-serif;font-size:.66rem; }
.bulk-sheet-grid th,.bulk-sheet-grid td { height:2.15rem;border-right:1px solid #dfe3e8;border-bottom:1px solid #dfe3e8;padding:.42rem .5rem;text-align:left;vertical-align:top; }
.bulk-sheet-grid thead th:not(:first-child),.bulk-sheet-grid td { width:10rem;min-width:10rem;max-width:10rem; }
.bulk-sheet-grid thead th:first-child,.bulk-sheet-grid tbody th { position:sticky;left:0;width:2.8rem;min-width:2.8rem;max-width:2.8rem;color:#64748b;background:#f3f4f6;text-align:center;font-weight:750; }
.bulk-sheet-grid .bulk-sheet-letters th { position:sticky;z-index:4;top:0;height:1.45rem;padding:.22rem .4rem;color:#64748b;background:#e9edf2;text-align:center;font-size:.51rem;font-weight:800;vertical-align:middle; }
.bulk-sheet-grid .bulk-sheet-letters th:first-child { z-index:6;left:0; }
.bulk-sheet-grid .bulk-sheet-columns th { position:sticky;z-index:3;top:1.45rem;height:3rem;color:#f8fafc;background:#3730a3;font-size:.61rem;font-weight:850;line-height:.88rem;vertical-align:middle; }
.bulk-sheet-grid .bulk-sheet-columns th:first-child { z-index:5;left:0;color:#64748b;background:#e9edf2;text-align:center; }
.bulk-sheet-grid tbody th { z-index:2;vertical-align:middle; }
.bulk-sheet-grid td>div { position:relative;min-height:1.1rem; }
.bulk-sheet-grid td>div>span:first-child { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.bulk-sheet-grid td.is-invalid { position:relative;background:#fff1f2;box-shadow:inset 0 0 0 2px #fb7185;color:#9f1239; }
.bulk-sheet-grid td.is-invalid::after { position:absolute;top:0;right:0;width:0;height:0;border-top:.55rem solid #e11d48;border-left:.55rem solid transparent;content:""; }
.bulk-sheet-cell-error { position:absolute;z-index:2;right:-.15rem;bottom:-.18rem;display:grid;width:1rem;height:1rem;place-items:center;border-radius:50%;color:#fff;background:#e11d48;font-family:"Segoe UI",sans-serif;font-size:.48rem;font-weight:900; }
.bulk-sheet-cell-error>span { position:absolute;right:0;bottom:1.3rem;display:none;width:15rem;border-radius:.55rem;padding:.6rem .7rem;color:#fff;background:#881337;box-shadow:0 8px 24px rgb(15 23 42/.22);font-size:.56rem;font-weight:650;line-height:.9rem;text-align:left;white-space:normal; }
.bulk-sheet-cell-error:hover>span,.bulk-sheet-cell-error:focus>span { display:block; }
.bulk-sheet-pagination { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;flex:none;border-top:1px solid #d9dee7;padding:.65rem .85rem;color:#64748b;background:#f8fafc;font-size:.61rem;font-weight:750; }
.bulk-sheet-pagination.hidden { display:none; }
.bulk-sheet-pagination>div strong { color:#334155;font-weight:900; }
.bulk-sheet-pagination label { display:flex;align-items:center;gap:.4rem;white-space:nowrap; }
.bulk-sheet-pagination select { height:1.9rem;border:1px solid #d8dce5;border-radius:.45rem;padding:0 1.6rem 0 .5rem;color:#475569;background:#fff;font-size:.61rem;font-weight:850; }
.bulk-sheet-pagination nav { display:flex;align-items:center;gap:.25rem; }
.bulk-sheet-pagination nav button { display:grid;min-width:1.9rem;height:1.9rem;place-items:center;border:1px solid #d8dce5;border-radius:.45rem;padding:0 .4rem;color:#475569;background:#fff;font-size:.61rem;font-weight:850; }
.bulk-sheet-pagination nav button:hover:not(:disabled) { border-color:#a5b4fc;color:#4338ca;background:#eef2ff; }
.bulk-sheet-pagination nav button.is-active { border-color:#4f46e5;color:#fff;background:#4f46e5; }
.bulk-sheet-pagination nav button:disabled { cursor:not-allowed;opacity:.38; }
.bulk-sheet-pagination nav span { padding:0 .1rem;color:#94a3b8; }
.bulk-sheet-workbook-errors { display:grid;gap:.4rem;border-top:1px solid #fecdd3;padding:.7rem .9rem;background:#fff7f7; }
.bulk-sheet-workbook-errors p { display:flex;align-items:flex-start;gap:.7rem;font-size:.58rem;line-height:.9rem; }
.bulk-sheet-workbook-errors strong { min-width:8rem;color:#be123c; }
.bulk-sheet-workbook-errors span { color:#64748b; }
@media(max-width:639px){.bulk-import-dialog{width:100vw!important;height:100dvh!important;max-height:none;border-radius:0!important}.bulk-import-dialog.is-validation-stage .bulk-import-body{padding:.7rem!important}.bulk-sheet-toolbar{align-items:flex-start;flex-direction:column}.bulk-sheet-legend{width:100%;justify-content:space-between}.bulk-sheet-viewport{max-height:23rem}.bulk-import-dialog.is-validation-stage .bulk-sheet-viewport{max-height:none}.bulk-sheet-grid thead th:not(:first-child),.bulk-sheet-grid td{width:8.5rem;min-width:8.5rem;max-width:8.5rem}.bulk-sheet-pagination{grid-template-columns:1fr auto}.bulk-sheet-pagination label{justify-self:end}.bulk-sheet-pagination nav{grid-column:1/-1;justify-content:center}}

/* Staff assignment matrix */
.staff-assignment-matrix-layout { display:grid;grid-template-columns:minmax(20rem,.34fr) minmax(0,1fr);height:clamp(32rem,calc(100vh - 18rem),44rem);min-height:32rem;overflow:hidden;background:#fff; }
.staff-assignment-matrix-layout.hidden { display:none; }
.staff-department-matrix-panel,.staff-subject-matrix-panel { display:flex;min-width:0;min-height:0;flex-direction:column;padding:1.1rem; }
.staff-department-matrix-panel { border-right:1px solid #e5e7eb;background:linear-gradient(180deg,#fafaff 0,#fff 12rem); }
.staff-subject-matrix-panel { background:#fff; }
.staff-assignment-step-header { display:flex;align-items:center;gap:.7rem;min-height:2.5rem; }
.staff-assignment-step-header>div { min-width:0;flex:1; }
.staff-assignment-step-header p { color:#111827;font-size:.78rem;font-weight:900;line-height:1.2; }
.staff-assignment-step-header small { display:block;margin-top:.2rem;color:#94a3b8;font-size:.62rem;line-height:1.35; }
.staff-assignment-step-number { display:grid;width:1.65rem;height:1.65rem;flex:none;place-items:center;border-radius:.55rem;background:#ede9fe;color:#6d28d9;font-size:.65rem;font-weight:900; }
.staff-assignment-live-indicator { display:inline-flex;align-items:center;gap:.3rem;flex:none;border:1px solid #a7f3d0;border-radius:999px;background:#ecfdf5;padding:.28rem .48rem;color:#047857;font-size:.5rem;font-weight:900;white-space:nowrap; }
.staff-assignment-live-indicator svg { width:.65rem;height:.65rem; }
.staff-assignment-count { flex:none;border-radius:999px;background:#ede9fe;padding:.3rem .55rem;color:#6d28d9;font-size:.58rem;font-weight:900;white-space:nowrap; }
.staff-assignment-select-all { display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;color:#5b21b6;cursor:pointer;font-size:.62rem;font-weight:850; }
.staff-matrix-checkbox,.staff-matrix-radio { width:.95rem;height:.95rem;flex:none;accent-color:#6d28d9;cursor:pointer; }
.staff-matrix-radio:disabled { cursor:not-allowed;opacity:.38; }
.staff-department-matrix { min-height:0;flex:1;margin-top:.8rem;overflow-y:auto;border:1px solid #e5e7eb;border-radius:.75rem;background:#fff;overscroll-behavior:contain;scrollbar-gutter:stable; }
.staff-department-matrix-head,.staff-department-matrix-row { display:grid;grid-template-columns:1.1rem minmax(0,1fr) 4.3rem;align-items:center;gap:.55rem; }
.staff-department-matrix-head { border-bottom:1px solid #e5e7eb;background:#f8fafc;padding:.5rem .65rem;color:#94a3b8;font-size:.48rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase; }
.staff-department-matrix-row { min-height:5rem;border-bottom:1px solid #f1f5f9;padding:.7rem .65rem;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease; }
.staff-department-matrix-row:last-child { border-bottom:0; }
.staff-department-matrix-row:hover { background:#faf8ff; }
.staff-department-matrix-row.is-selected { background:#f5f3ff;box-shadow:inset 3px 0 #8b5cf6; }
.staff-department-matrix-row.is-primary { background:#ede9fe;box-shadow:inset 3px 0 #6d28d9; }
.staff-department-matrix-identity { min-width:0; }
.staff-department-matrix-identity>strong,.staff-department-matrix-identity>small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-department-matrix-identity>strong { color:#1f2937;font-size:.7rem;font-weight:850;line-height:1.15; }
.staff-department-matrix-identity>small { margin-top:.22rem;color:#64748b;font-size:.55rem;font-weight:750; }
.staff-department-matrix-path { display:flex;min-width:0;flex-wrap:wrap;gap:.25rem;margin-top:.4rem; }
.staff-department-matrix-path>span { max-width:100%;overflow:hidden;border-radius:.3rem;padding:.2rem .35rem;font-size:.48rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap; }
.staff-department-matrix-path .is-mapping { background:#eef2ff;color:#4338ca; }
.staff-department-matrix-path .is-course { background:#ecfdf5;color:#047857; }
.staff-department-matrix-path .is-empty { background:#fff7ed;color:#c2410c; }
.staff-department-matrix-role { justify-self:end;border-radius:999px;background:#f1f5f9;padding:.25rem .4rem;color:#64748b;font-size:.48rem;font-weight:850; }
.staff-department-matrix-row.is-selected .staff-department-matrix-role { background:#ddd6fe;color:#6d28d9; }
.staff-department-matrix-row.is-primary .staff-department-matrix-role { background:#6d28d9;color:#fff; }
.staff-department-matrix-empty { padding:1rem;color:#b45309;font-size:.62rem;font-weight:750;text-align:center; }
.staff-subject-matrix-groups { display:flex;min-height:0;flex:1;flex-direction:column;gap:.75rem;margin-top:.8rem; }
.staff-department-tabs { display:flex;flex:none;gap:.45rem;overflow-x:auto;padding:.05rem .05rem .35rem;overscroll-behavior-inline:contain;scrollbar-width:thin; }
.staff-department-tab { position:relative;display:grid;min-width:7.5rem;max-width:12rem;flex:0 0 auto;gap:.12rem;border:1px solid #e2e8f0;border-radius:.65rem;padding:.5rem .65rem;color:#64748b;background:#fff;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease; }
.staff-department-tab:hover { border-color:#c4b5fd;background:#faf8ff; }
.staff-department-tab:focus-visible { outline:3px solid rgb(124 92 241/.22);outline-offset:2px; }
.staff-department-tab span,.staff-department-tab small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-department-tab span { font-size:.59rem;font-weight:900; }
.staff-department-tab small { color:#94a3b8;font-size:.47rem;font-weight:750; }
.staff-department-tab.is-complete::after { position:absolute;top:.42rem;right:.45rem;width:.38rem;height:.38rem;border-radius:50%;background:#10b981;content:""; }
.staff-department-tab.is-loading::after { position:absolute;top:.42rem;right:.45rem;width:.38rem;height:.38rem;border-radius:50%;animation:staff-assignment-pulse 1s ease-in-out infinite;background:#8b5cf6;content:""; }
.staff-department-tab.is-error { border-color:#fda4af;background:#fff7f7;color:#be123c; }
.staff-department-tab.is-error small { color:#e11d48; }
.staff-department-tab.is-active { border-color:#8b5cf6;background:#f5f3ff;box-shadow:0 0 0 1px #ddd6fe;color:#5b21b6; }
.staff-department-tab.is-active.is-error { border-color:#fb7185;background:#fff1f2;box-shadow:0 0 0 1px #fecdd3;color:#be123c; }
.staff-department-tab.is-primary span::before { margin-right:.25rem;color:#7c3aed;content:"★"; }
.staff-subject-matrix-card { display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;border-radius:.8rem;background:#fff;box-shadow:0 3px 12px rgb(15 23 42/.035); }
.staff-subject-matrix-card[hidden] { display:none; }
.staff-subject-matrix-card.is-primary { border-color:#a78bfa;box-shadow:0 0 0 1px #ddd6fe,0 6px 18px rgb(109 40 217/.08); }
.staff-subject-matrix-card-header { display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #e5e7eb;background:#f8fafc;padding:.65rem .8rem; }
.staff-subject-matrix-card.is-primary .staff-subject-matrix-card-header { background:#faf8ff; }
.staff-subject-matrix-identity { min-width:0; }
.staff-subject-matrix-identity strong,.staff-subject-matrix-identity small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-subject-matrix-identity strong { color:#111827;font-size:.68rem;font-weight:900; }
.staff-subject-matrix-identity small { margin-top:.18rem;color:#94a3b8;font-size:.52rem; }
.staff-primary-department-control { display:inline-flex;align-items:center;gap:.4rem;flex:none;border:1px solid #dbe1ea;border-radius:.55rem;background:#fff;padding:.42rem .6rem;color:#64748b;cursor:pointer;font-size:.56rem;font-weight:850;transition:.15s ease; }
.staff-primary-department-control:hover { border-color:#c4b5fd;color:#6d28d9; }
.staff-primary-department-control.is-selected { border-color:#c4b5fd;background:#ede9fe;color:#6d28d9; }
.staff-subject-matrix-body { display:flex;min-height:0;flex:1;flex-direction:column;padding:.75rem; }
.staff-subject-matrix-toolbar { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.55rem; }
.staff-subject-matrix-toolbar strong,.staff-subject-matrix-toolbar small { display:block; }
.staff-subject-matrix-toolbar strong { color:#475569;font-size:.6rem;font-weight:900; }
.staff-subject-matrix-toolbar small { margin-top:.12rem;color:#94a3b8;font-size:.5rem; }
.staff-subject-matrix-toolbar .staff-assignment-select-all { margin-top:0;flex:none; }
.staff-assignment-course-load-state { display:flex;min-height:9rem;flex:1;align-items:center;justify-content:center;gap:.75rem;border:1px dashed #cbd5e1;border-radius:.7rem;background:#f8fafc;padding:1rem;color:#64748b;text-align:left; }
.staff-assignment-course-load-state>svg { width:1.35rem;height:1.35rem;flex:none; }
.staff-assignment-course-load-state span { min-width:0; }
.staff-assignment-course-load-state strong,.staff-assignment-course-load-state small { display:block; }
.staff-assignment-course-load-state strong { color:#334155;font-size:.65rem;font-weight:900; }
.staff-assignment-course-load-state small { margin-top:.18rem;color:#94a3b8;font-size:.53rem; }
.staff-assignment-course-load-state.is-loading>svg { color:#7c3aed;animation:staff-assignment-spin .8s linear infinite; }
.staff-assignment-course-load-state.is-error { border-color:#fecaca;background:#fff7f7; }
.staff-assignment-course-load-state.is-error>svg { color:#e11d48; }
.staff-assignment-course-load-state button { margin-left:.4rem;border:1px solid #fecdd3;border-radius:.5rem;background:#fff;padding:.4rem .65rem;color:#be123c;font-size:.55rem;font-weight:900; }
@keyframes staff-assignment-spin { to { transform:rotate(360deg); } }
@keyframes staff-assignment-pulse { 50% { opacity:.3;transform:scale(.72); } }
.staff-subject-matrix-table { min-height:0;flex:1;overflow:auto;border:1px solid #e5e7eb;border-radius:.65rem;background:#fff;overscroll-behavior:contain;scrollbar-gutter:stable; }
.staff-subject-matrix-head,.staff-subject-matrix-row { display:grid;grid-template-columns:minmax(12rem,1fr) 5.5rem 5.5rem;align-items:center; }
.staff-subject-matrix-head { position:sticky;z-index:1;top:0;border-bottom:1px solid #e5e7eb;background:#f8fafc;color:#94a3b8;font-size:.47rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase; }
.staff-subject-matrix-head>span { padding:.5rem .65rem; }
.staff-subject-matrix-head>span:not(:first-child) { border-left:1px solid #e5e7eb;text-align:center; }
.staff-course-mapping-header { display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #c7d2fe;border-top:1px solid #e0e7ff;background:linear-gradient(90deg,#eef2ff,#f8fafc);padding:.52rem .65rem; }
.staff-course-mapping-header:first-of-type { border-top:0; }
.staff-course-mapping-identity { min-width:0; }
.staff-course-mapping-identity strong,.staff-course-mapping-identity small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-course-mapping-identity strong { color:#3730a3;font-size:.58rem;font-weight:900; }
.staff-course-mapping-identity small { margin-top:.14rem;color:#64748b;font-size:.49rem;font-weight:700; }
.staff-course-mapping-count { flex:none;border-radius:999px;background:#fff;padding:.25rem .45rem;color:#4f46e5;font-size:.48rem;font-weight:900;box-shadow:0 0 0 1px #c7d2fe; }
.staff-subject-matrix-row { min-height:3.15rem;border-bottom:1px solid #f1f5f9;transition:background-color .15s ease; }
.staff-subject-matrix-row:last-child { border-bottom:0; }
.staff-subject-matrix-row:hover { background:#fafafa; }
.staff-subject-matrix-row.is-assigned { background:#faf8ff; }
.staff-subject-matrix-row.is-primary { background:#ede9fe; }
.staff-subject-matrix-copy { min-width:0;padding:.55rem .65rem;cursor:pointer; }
.staff-subject-matrix-copy strong,.staff-subject-matrix-copy small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-subject-matrix-copy strong { color:#334155;font-size:.61rem;font-weight:850; }
.staff-subject-matrix-copy small { margin-top:.15rem;color:#94a3b8;font-size:.49rem; }
.staff-subject-matrix-control { display:flex;min-height:3.15rem;align-items:center;justify-content:center;gap:.3rem;border-left:1px solid #f1f5f9;color:#64748b;cursor:pointer;font-size:.5rem;font-weight:800; }
.staff-subject-matrix-row.is-assigned .staff-subject-matrix-control { color:#6d28d9; }
.staff-subject-matrix-empty { grid-column:1/-1;padding:1.2rem;color:#b45309;font-size:.58rem;font-weight:750;text-align:center; }
.staff-assignment-matrix-empty { display:grid;min-height:16rem;place-content:center;justify-items:center;border:1px dashed #d8d5e5;border-radius:.8rem;margin-top:.8rem;padding:2rem;text-align:center; }
.staff-assignment-matrix-empty svg { width:1.7rem;height:1.7rem;color:#c4b5fd; }
.staff-assignment-matrix-empty p { margin-top:.65rem;color:#475569;font-size:.68rem;font-weight:850; }
.staff-assignment-matrix-empty small { margin-top:.2rem;color:#94a3b8;font-size:.55rem; }
.staff-subject-matrix-panel.is-empty { align-self:start; }
.staff-subject-matrix-panel.is-empty .staff-subject-matrix-groups { display:none; }
.staff-subject-matrix-panel.is-empty .staff-assignment-matrix-empty { min-height:0;grid-template-columns:auto minmax(0,1fr);place-content:initial;justify-items:start;align-items:center;column-gap:.75rem;border-style:solid;background:#faf8ff;padding:.85rem 1rem;text-align:left; }
.staff-subject-matrix-panel.is-empty .staff-assignment-matrix-empty svg { grid-row:1/3;width:1.35rem;height:1.35rem; }
.staff-subject-matrix-panel.is-empty .staff-assignment-matrix-empty p { margin-top:0; }
.staff-subject-matrix-panel.is-empty .staff-assignment-matrix-empty small { margin-top:.12rem; }
.staff-assignment-preview-dialog { width:min(48rem,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);overflow:hidden;border:0;border-radius:1rem;background:#fff;padding:0;color:#1f2937;box-shadow:0 30px 90px -30px rgb(30 24 73/.72); }
.staff-assignment-preview-dialog::backdrop { background:rgb(21 16 52/.6);backdrop-filter:blur(5px); }
.staff-assignment-preview-shell { display:flex;max-height:calc(100dvh - 2rem);min-height:0;flex-direction:column; }
.staff-assignment-preview-header { display:flex;flex:none;align-items:center;gap:.8rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(100deg,#faf8ff,#fff);padding:1rem 1.15rem; }
.staff-assignment-preview-icon { display:grid;width:2.5rem;height:2.5rem;flex:none;place-items:center;border-radius:.75rem;background:#ede9fe;color:#6d28d9; }
.staff-assignment-preview-icon svg { width:1.2rem;height:1.2rem; }
.staff-assignment-preview-header>div { min-width:0;flex:1; }
.staff-assignment-preview-header h2 { color:#111827;font-size:.9rem;font-weight:900; }
.staff-assignment-preview-header p { overflow:hidden;margin-top:.18rem;color:#64748b;font-size:.64rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap; }
.staff-assignment-preview-header>button { display:grid;width:2rem;height:2rem;place-items:center;border-radius:.55rem;color:#94a3b8;transition:.15s; }
.staff-assignment-preview-header>button:hover { background:#f1f5f9;color:#334155; }
.staff-assignment-preview-header>button svg { width:1rem;height:1rem; }
.staff-assignment-preview-summary { display:grid;flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;padding:.8rem 1.15rem 0; }
.staff-assignment-preview-metric { display:flex;min-width:0;align-items:center;gap:.55rem;border:1px solid #e5e7eb;border-radius:.7rem;background:#f8fafc;padding:.6rem .7rem; }
.staff-assignment-preview-metric>svg { width:1rem;height:1rem;flex:none;color:#7c3aed; }
.staff-assignment-preview-metric span,.staff-assignment-preview-metric strong,.staff-assignment-preview-metric small { display:block;min-width:0; }
.staff-assignment-preview-metric strong { color:#111827;font-size:.76rem;font-weight:900; }
.staff-assignment-preview-metric small { margin-top:.08rem;overflow:hidden;color:#64748b;font-size:.49rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap; }
.staff-assignment-preview-primary { display:flex;flex:none;align-items:center;gap:.7rem;margin:.7rem 1.15rem 0;border:1px solid #ddd6fe;border-radius:.75rem;background:#faf8ff;padding:.7rem .8rem; }
.staff-assignment-preview-primary.is-changed { border-color:#fbbf24;background:#fffbeb; }
.staff-assignment-preview-primary>span { display:grid;width:2rem;height:2rem;flex:none;place-items:center;border-radius:.6rem;background:#ede9fe;color:#6d28d9; }
.staff-assignment-preview-primary.is-changed>span { background:#fef3c7;color:#b45309; }
.staff-assignment-preview-primary svg { width:1rem;height:1rem; }
.staff-assignment-preview-primary div { min-width:0; }
.staff-assignment-preview-primary small,.staff-assignment-preview-primary strong,.staff-assignment-preview-primary p { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-assignment-preview-primary small { color:#7c3aed;font-size:.46rem;font-weight:900;letter-spacing:.05em; }
.staff-assignment-preview-primary.is-changed small { color:#b45309; }
.staff-assignment-preview-primary strong { margin-top:.12rem;color:#1f2937;font-size:.64rem;font-weight:900; }
.staff-assignment-preview-primary p { margin-top:.12rem;color:#64748b;font-size:.54rem; }
.staff-assignment-preview-body { display:grid;min-height:0;flex:1;gap:.65rem;overflow-y:auto;padding:.75rem 1.15rem 1rem;overscroll-behavior:contain; }
.staff-assignment-preview-department { overflow:hidden;border:1px solid #e2e8f0;border-radius:.78rem;background:#fff; }
.staff-assignment-preview-department.is-added { border-color:#a7f3d0; }
.staff-assignment-preview-department.is-updated { border-color:#c4b5fd; }
.staff-assignment-preview-department.is-removed { border-color:#fecdd3;background:#fffafa; }
.staff-assignment-preview-department>header { display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #eef2f7;background:#f8fafc;padding:.65rem .75rem; }
.staff-assignment-preview-department>header>div { min-width:0; }
.staff-assignment-preview-department>header strong,.staff-assignment-preview-department>header small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-assignment-preview-department>header strong { color:#1f2937;font-size:.62rem;font-weight:900; }
.staff-assignment-preview-department>header small { margin-top:.12rem;color:#64748b;font-size:.5rem; }
.staff-assignment-preview-badges { display:flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:.3rem; }
.staff-assignment-preview-badges b,.staff-assignment-preview-course>b { border-radius:999px;padding:.22rem .4rem;font-size:.43rem;font-weight:900;white-space:nowrap; }
.staff-assignment-preview-badges .is-added,.staff-assignment-preview-course>b.is-added { background:#d1fae5;color:#047857; }
.staff-assignment-preview-badges .is-updated { background:#ede9fe;color:#6d28d9; }
.staff-assignment-preview-badges .is-unchanged,.staff-assignment-preview-course>b.is-retained { background:#f1f5f9;color:#64748b; }
.staff-assignment-preview-badges .is-primary,.staff-assignment-preview-course>b.is-primary { background:#6d28d9;color:#fff; }
.staff-assignment-preview-badges .is-removed,.staff-assignment-preview-course>b.is-removed { background:#ffe4e6;color:#be123c; }
.staff-assignment-preview-courses { display:grid; }
.staff-assignment-preview-course { display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid #f1f5f9;padding:.52rem .75rem; }
.staff-assignment-preview-course:last-child { border-bottom:0; }
.staff-assignment-preview-course.is-added { background:#f0fdf8; }
.staff-assignment-preview-course.is-removed { background:#fff1f2;opacity:.82; }
.staff-assignment-preview-course>span { min-width:0; }
.staff-assignment-preview-course strong,.staff-assignment-preview-course small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.staff-assignment-preview-course strong { color:#334155;font-size:.56rem;font-weight:850; }
.staff-assignment-preview-course small { margin-top:.12rem;color:#94a3b8;font-size:.47rem; }
.staff-assignment-preview-footer { display:flex;flex:none;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #e5e7eb;background:#f8fafc;padding:.8rem 1.15rem; }
.staff-assignment-preview-footer>p { display:flex;align-items:center;gap:.35rem;color:#64748b;font-size:.5rem;font-weight:700; }
.staff-assignment-preview-footer>p svg { width:.85rem;height:.85rem;color:#059669; }
.staff-assignment-preview-footer>div { display:flex;gap:.5rem; }
.staff-assignment-preview-footer button { border-radius:.6rem;padding:.6rem .85rem;font-size:.58rem;font-weight:850; }
.staff-assignment-preview-footer [data-assignment-preview-cancel] { border:1px solid #dbe1ea;background:#fff;color:#475569; }
.staff-assignment-preview-footer [data-assignment-preview-confirm] { display:inline-flex;align-items:center;gap:.35rem;background:#6d28d9;color:#fff;box-shadow:0 8px 18px -10px #6d28d9; }
.staff-assignment-preview-footer [data-assignment-preview-confirm] svg { width:.85rem;height:.85rem; }
@media(max-width:1199px){.staff-assignment-matrix-layout{grid-template-columns:1fr;height:auto;min-height:0;overflow:visible}.staff-department-matrix-panel{border-right:0;border-bottom:1px solid #e5e7eb}.staff-department-matrix{max-height:20rem;flex:none;overflow:auto}.staff-subject-matrix-groups{min-height:22rem}.staff-subject-matrix-table{max-height:18rem}}
@media(max-width:639px){.staff-department-matrix-panel,.staff-subject-matrix-panel{padding:.8rem}.staff-assignment-step-header{align-items:flex-start}.staff-subject-matrix-card-header,.staff-subject-matrix-toolbar{align-items:flex-start;flex-direction:column}.staff-primary-department-control{align-self:stretch;justify-content:center}.staff-subject-matrix-table{overflow-x:auto}.staff-subject-matrix-head,.staff-subject-matrix-row{min-width:28rem}.staff-assignment-preview-dialog{width:100vw;max-height:100dvh;border-radius:0}.staff-assignment-preview-shell{max-height:100dvh}.staff-assignment-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-assignment-preview-footer{align-items:stretch;flex-direction:column}.staff-assignment-preview-footer>div{display:grid;grid-template-columns:1fr 1fr}.staff-assignment-preview-footer button{justify-content:center}.staff-assignment-preview-department>header{align-items:flex-start;flex-direction:column}.staff-assignment-preview-badges{justify-content:flex-start}}

/* Academic hierarchy grids: parent bands remain visually dominant while child records read as an indented timeline. */
[data-batch-panel="records"] [data-row]>td,
[data-regulation-grid] [data-regulation-mapping-row]>td { border-bottom:1px solid #eef2f7;background:#fff;transition:background-color .18s ease; }
[data-batch-panel="records"] [data-row]:hover>td,
[data-regulation-grid] [data-regulation-mapping-row]:hover>td { background:#f8faff; }
[data-batch-panel="records"] [data-row-detail]>td { border-left:4px solid #a5b4fc;background:#f8fafc;padding-left:2.5rem; }
[data-regulation-grid] [data-regulation-mapping-row]>td:first-child { position:relative;padding-left:2rem; }
[data-regulation-grid] [data-regulation-mapping-row]>td:first-child::before { display:table;margin-bottom:.4rem;border-radius:.25rem;background:#f1f5f9;padding:.15rem .4rem;color:#64748b;content:"Mapping";font-size:.55rem;font-weight:900;letter-spacing:.08em;line-height:1rem;text-transform:uppercase; }
[data-regulation-grid] [data-regulation-detail]>td { background:#f8fafc; }
