.directory-page[data-v-fcb73da7]{max-width:1320px;margin:0 auto;color:var(--text-primary);font-variant-numeric:tabular-nums}.page-head[data-v-fcb73da7]{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.25rem}.section-label[data-v-fcb73da7]{display:inline-flex;align-items:center;gap:.4rem;color:#a16207;font-size:.78rem;font-weight:700}.page-head h1[data-v-fcb73da7]{margin:.4rem 0 .25rem;font-size:1.85rem;letter-spacing:0}.page-head p[data-v-fcb73da7]{margin:0;color:var(--text-secondary);max-width:680px}.head-metric[data-v-fcb73da7]{display:grid;justify-items:end}.head-metric strong[data-v-fcb73da7]{font-size:2rem}.head-metric span[data-v-fcb73da7]{color:var(--text-muted);font-size:.78rem}.command-bar[data-v-fcb73da7]{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.search-field[data-v-fcb73da7]{display:flex;align-items:center;gap:.55rem;width:min(440px,100%);min-height:42px;padding:0 .8rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-muted)}.search-field[data-v-fcb73da7]:focus-within{border-color:#ca8a04;box-shadow:0 0 0 3px #ca8a041f}.search-field input[data-v-fcb73da7]{width:100%;border:0;outline:0;background:transparent;color:inherit}.commands[data-v-fcb73da7]{display:flex;gap:.5rem}.danger-button[data-v-fcb73da7],.icon-button[data-v-fcb73da7],.primary-button[data-v-fcb73da7],.secondary-button[data-v-fcb73da7],.text-button[data-v-fcb73da7]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;border-radius:7px;font-weight:650;cursor:pointer;transition:.18s ease}.icon-button[data-v-fcb73da7]{width:40px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary)}.danger-button[data-v-fcb73da7],.primary-button[data-v-fcb73da7],.secondary-button[data-v-fcb73da7]{padding:0 .9rem}.primary-button[data-v-fcb73da7]{border:1px solid #ca8a04;background:#ca8a04;color:#fff}.secondary-button[data-v-fcb73da7]{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary)}.danger-button[data-v-fcb73da7]{border:1px solid #fecaca;background:#fff;color:#b91c1c}.text-button[data-v-fcb73da7]{justify-content:flex-start;border:0;background:transparent;color:#a16207}.icon-button[data-v-fcb73da7]:hover,.secondary-button[data-v-fcb73da7]:hover{background:var(--bg-tertiary)}button[data-v-fcb73da7]:focus-visible,input[data-v-fcb73da7]:focus-visible,textarea[data-v-fcb73da7]:focus-visible{outline:2px solid #ca8a04;outline-offset:2px}button[data-v-fcb73da7]:disabled{opacity:.5;cursor:not-allowed}.data-surface[data-v-fcb73da7]{overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg)}.table-scroll[data-v-fcb73da7]{overflow-x:auto}table[data-v-fcb73da7]{width:100%;border-collapse:collapse;min-width:820px}td[data-v-fcb73da7],th[data-v-fcb73da7]{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}th[data-v-fcb73da7]{color:var(--text-muted);font-size:.73rem;font-weight:700;background:var(--bg-tertiary)}tbody tr[data-v-fcb73da7]{cursor:pointer}tbody tr[data-v-fcb73da7]:hover{background:#ca8a040a}.identity[data-v-fcb73da7]{display:flex;align-items:center;gap:.65rem}.identity>span[data-v-fcb73da7]{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:#fef3c7;color:#92400e;font-weight:800}.mono[data-v-fcb73da7]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.status[data-v-fcb73da7]{display:inline-flex;padding:.25rem .45rem;border-radius:5px;background:var(--bg-tertiary);color:var(--text-muted);font-size:.75rem}.status.active[data-v-fcb73da7]{background:#dcfce7;color:#166534}.row-action[data-v-fcb73da7]{text-align:right}.state[data-v-fcb73da7]{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;color:var(--text-secondary)}.state.error[data-v-fcb73da7]{color:#b91c1c}.state button[data-v-fcb73da7]{border:0;background:transparent;color:inherit;text-decoration:underline}.pager[data-v-fcb73da7]{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;color:var(--text-muted);font-size:.8rem}.pager>div[data-v-fcb73da7]{display:flex;gap:.4rem}.panel-backdrop[data-v-fcb73da7]{position:fixed;inset:0;z-index:500;display:flex;justify-content:flex-end;background:#0f172a52}.side-panel[data-v-fcb73da7]{width:min(520px,100%);height:100%;display:flex;flex-direction:column;background:var(--bg-primary);box-shadow:-16px 0 40px #0f172a29}.side-panel>header[data-v-fcb73da7]{display:flex;justify-content:space-between;align-items:start;padding:1.25rem;border-bottom:1px solid var(--border-color)}.side-panel>header span[data-v-fcb73da7]{color:var(--text-muted);font-size:.75rem}.side-panel h2[data-v-fcb73da7]{margin:.2rem 0 0;font-size:1.3rem}.panel-body[data-v-fcb73da7]{flex:1;overflow:auto;padding:1.25rem}.detail-list[data-v-fcb73da7]{display:grid;align-content:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.detail-list>div[data-v-fcb73da7]{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--border-color);border-radius:8px}.detail-list svg[data-v-fcb73da7]{color:#ca8a04}.detail-list span[data-v-fcb73da7]{color:var(--text-muted);font-size:.75rem}.detail-list .wide[data-v-fcb73da7]{grid-column:1/-1}.detail-list p[data-v-fcb73da7]{margin:0;white-space:pre-wrap}.edit-form[data-v-fcb73da7]{display:grid;align-content:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.edit-form label[data-v-fcb73da7]{display:grid;gap:.4rem;color:var(--text-secondary);font-size:.78rem}.edit-form .wide[data-v-fcb73da7]{grid-column:1/-1}.edit-form input[data-v-fcb73da7],.edit-form textarea[data-v-fcb73da7]{width:100%;padding:.72rem;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-primary);color:var(--text-primary);font:inherit}.edit-form textarea[data-v-fcb73da7]{resize:vertical}.side-panel>footer[data-v-fcb73da7]{display:grid;grid-template-columns:auto 1fr auto auto;gap:.55rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color)}.import-flow[data-v-fcb73da7]{display:grid;align-content:start;gap:1rem}.import-errors[data-v-fcb73da7],.import-note[data-v-fcb73da7],.preview-list[data-v-fcb73da7]{display:grid;gap:.4rem;padding:1rem;border-radius:8px;background:var(--bg-tertiary)}.import-note span[data-v-fcb73da7],.preview-list span[data-v-fcb73da7]{color:var(--text-secondary);font-size:.82rem}.file-picker[data-v-fcb73da7]{position:relative;display:grid;justify-items:center;gap:.5rem;padding:2rem 1rem;border:1px dashed var(--border-color);border-radius:8px;cursor:pointer}.file-picker input[data-v-fcb73da7]{position:absolute;inset:0;opacity:0;cursor:pointer}.file-picker span[data-v-fcb73da7]{color:var(--text-muted);font-size:.78rem}.import-errors[data-v-fcb73da7]{background:#fef2f2;color:#b91c1c}.inline-state[data-v-fcb73da7]{display:flex;align-items:center;gap:.45rem;color:var(--text-secondary)}.panel-enter-active[data-v-fcb73da7],.panel-leave-active[data-v-fcb73da7]{transition:opacity .2s}.panel-enter-active .side-panel[data-v-fcb73da7],.panel-leave-active .side-panel[data-v-fcb73da7]{transition:transform .2s}.panel-enter-from[data-v-fcb73da7],.panel-leave-to[data-v-fcb73da7]{opacity:0}.panel-enter-from .side-panel[data-v-fcb73da7],.panel-leave-to .side-panel[data-v-fcb73da7]{transform:translate(100%)}.spin[data-v-fcb73da7]{animation:spin-fcb73da7 .8s linear infinite}@keyframes spin-fcb73da7{to{transform:rotate(1turn)}}@media(max-width:760px){.page-head[data-v-fcb73da7]{align-items:start}.head-metric[data-v-fcb73da7]{display:none}.command-bar[data-v-fcb73da7]{display:grid}.search-field[data-v-fcb73da7]{width:100%}.commands[data-v-fcb73da7]{display:grid;grid-template-columns:40px 1fr 1fr}.data-surface[data-v-fcb73da7]{border:0;background:transparent}.table-scroll[data-v-fcb73da7]{overflow:visible}table[data-v-fcb73da7],tbody[data-v-fcb73da7],td[data-v-fcb73da7],tr[data-v-fcb73da7]{display:block;width:100%;min-width:0}thead[data-v-fcb73da7]{display:none}tbody[data-v-fcb73da7]{display:grid;gap:.65rem}tbody tr[data-v-fcb73da7]{grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg)}tbody tr[data-v-fcb73da7],td[data-v-fcb73da7]{display:grid}td[data-v-fcb73da7]{gap:.25rem;padding:.7rem;border-bottom:1px solid var(--border-light)}td[data-v-fcb73da7]:before{content:attr(data-label);color:var(--text-muted);font-size:.65rem}.identity[data-v-fcb73da7]{align-items:start}.row-action[data-v-fcb73da7]{display:none}.pager[data-v-fcb73da7]{padding:.8rem 0}.detail-list[data-v-fcb73da7],.edit-form[data-v-fcb73da7]{grid-template-columns:1fr}.detail-list .wide[data-v-fcb73da7],.edit-form .wide[data-v-fcb73da7]{grid-column:auto}.side-panel>footer[data-v-fcb73da7]{grid-template-columns:auto 1fr auto}.side-panel>footer .secondary-button[data-v-fcb73da7],.side-panel>footer>span[data-v-fcb73da7]{display:none}}table[data-v-fcb73da7]{table-layout:fixed}th[data-v-fcb73da7]:first-child{width:150px}th[data-v-fcb73da7]:nth-child(2){width:210px}th[data-v-fcb73da7]:nth-child(3){width:130px}th[data-v-fcb73da7]:nth-child(4){width:92px}th[data-v-fcb73da7]:nth-child(5){width:110px}th[data-v-fcb73da7]:nth-child(6){width:56px}td[data-v-fcb73da7]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity[data-v-fcb73da7]{min-width:0}.identity strong[data-v-fcb73da7]{overflow:hidden;text-overflow:ellipsis}.status[data-v-fcb73da7]{width:-moz-max-content;width:max-content;min-width:-moz-max-content;min-width:max-content;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}.row-action[data-v-fcb73da7]{overflow:visible}@media(max-width:760px){table[data-v-fcb73da7]{table-layout:auto}td[data-v-fcb73da7]{white-space:normal;overflow:visible;text-overflow:clip}.status[data-v-fcb73da7]{white-space:nowrap}}.edit-form select[data-v-fcb73da7]{width:100%;padding:.72rem;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-primary);color:var(--text-primary);font:inherit}select[data-v-fcb73da7]:focus-visible{outline:2px solid #ca8a04;outline-offset:2px}table[data-v-fcb73da7]{min-width:930px}th[data-v-fcb73da7]:first-child{width:130px}th[data-v-fcb73da7]:nth-child(2){width:105px}th[data-v-fcb73da7]:nth-child(3){width:185px}th[data-v-fcb73da7]:nth-child(4){width:58px}th[data-v-fcb73da7]:nth-child(5){width:120px}th[data-v-fcb73da7]:nth-child(6){width:150px}th[data-v-fcb73da7]:nth-child(7){width:82px}th[data-v-fcb73da7]:nth-child(8){width:52px}@media(max-width:760px){table[data-v-fcb73da7]{min-width:0}}.identity[data-v-fcb73da7]{gap:0}.status[data-v-fcb73da7]{width:auto!important;height:auto!important;padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;line-height:1.4!important}.status[data-v-fcb73da7]:after,.status[data-v-fcb73da7]:before{display:none!important;content:none!important}tbody tr.special-student[data-v-fcb73da7]{background:linear-gradient(110deg,#f59e0b12,#f59e0b12 35%,#ffffff6b,#f59e0b1c 65%,#f59e0b12);background-size:240% 100%;box-shadow:inset 3px 0 #f59e0b;animation:special-student-flow-fcb73da7 3.6s linear infinite}@keyframes special-student-flow-fcb73da7{0%{background-position:100% 0}to{background-position:-140% 0}}@media(prefers-reduced-motion:reduce){tbody tr.special-student[data-v-fcb73da7]{animation:none;background-position:50% 0}}
