.public-admission-page{min-height:100%;padding:32px 18px;background:var(--bg)}.public-admission-page>.language-switcher{display:block;margin-inline-start:auto}.public-admission-card{width:min(920px,100%);margin:12px auto;padding:28px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 6px 24px #0000000d}.public-admission-card>header{margin-bottom:20px}.public-admission-card>header h1{margin-bottom:4px}.tracking-token{overflow-wrap:anywhere;font-family:ui-monospace,monospace}:root{--bg: #f4f5f7;--surface: #ffffff;--border: #e2e4e9;--text: #1f2430;--text-muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--sidebar-bg: #1f2937;--sidebar-text: #d1d5db;--sidebar-active: #2563eb;--danger: #dc2626;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.audit-filters input,.audit-filters select{width:100%;box-sizing:border-box}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f8fafc}.audit-badge{padding:3px 8px;border-radius:999px;font-size:12px}.audit-badge.high{background:#fee2e2;color:#991b1b}.audit-badge.medium{background:#fef3c7;color:#92400e}.audit-badge.informational{background:#dbeafe;color:#1e40af}.audit-detail{max-width:850px}.audit-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.audit-comparison pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border:1px solid var(--border);padding:12px;border-radius:6px;min-height:80px}@media (max-width:720px){.audit-comparison{grid-template-columns:1fr}}.audit-filter-card{margin-bottom:20px;padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 1px 3px #0f172a0d}.audit-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}.audit-field{display:grid;gap:6px;min-width:0}.audit-field>span{font-size:13px;font-weight:600;color:var(--text-muted)}.audit-field input{width:100%;height:40px;box-sizing:border-box;padding:8px 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}.audit-field input:focus{outline:2px solid color-mix(in srgb,var(--primary) 22%,transparent);border-color:var(--primary)}.audit-search{grid-column:span 2}.audit-filter-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.searchable-select{position:relative}.searchable-select>input{padding-inline-end:34px}.searchable-clear{position:absolute;inset-inline-end:5px;top:5px;width:30px;height:30px;border:0;background:transparent;color:var(--text-muted);font-size:20px;cursor:pointer}.searchable-options{position:absolute;z-index:30;inset-inline:0;top:calc(100% + 4px);max-height:230px;overflow:auto;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 10px 25px #0f172a24}.searchable-options button{display:block;width:100%;padding:9px 10px;border:0;border-radius:5px;background:transparent;color:var(--text);text-align:start;cursor:pointer}.searchable-options button:hover,.searchable-options button.selected{background:#eef4ff;color:var(--primary)}.searchable-empty{display:block;padding:10px;color:var(--text-muted);font-size:13px}.audit-state{padding:28px;text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:8px;background:var(--surface)}@media (max-width:1100px){.audit-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.audit-filter-grid{grid-template-columns:1fr 1fr}.audit-search{grid-column:span 2}}@media (max-width:520px){.audit-filter-grid{grid-template-columns:1fr}.audit-search{grid-column:auto}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);font-size:14px}.btn{border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:transparent;border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:#f0f1f4}.btn-block{width:100%}.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.language-switcher{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:7px 12px;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer}.language-switcher:hover{border-color:var(--primary);color:var(--primary)}.login-language-switcher{position:absolute;inset-block-start:20px;inset-inline-end:24px}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:28px;box-shadow:0 6px 24px #0000000f}.login-title{margin:0;font-size:24px;text-align:center}.login-subtitle{margin:4px 0 20px;text-align:center;color:var(--text-muted)}.login-release{position:absolute;inset-block-end:16px;margin:0;color:var(--text-muted);font-size:12px;letter-spacing:.01em}.field{display:block;margin-bottom:14px}.field-label{display:block;margin-bottom:6px;font-weight:600}.field input,.field select{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--text)}.field select{cursor:pointer}.field select:disabled{cursor:default;opacity:.65}.field input:focus,.field select:focus{outline:none;border-color:var(--primary)}.login-error{color:var(--danger);margin:0 0 14px}.app-shell{display:flex;flex-direction:column;height:100%}.topbar{height:56px;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:12px}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-title{font-size:18px;font-weight:700;white-space:nowrap}.topbar-right{display:flex;align-items:center;gap:14px}.sidebar-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-shrink:0}.sidebar-toggle:hover{border-color:var(--primary)}.sidebar-toggle-bar{display:block;width:16px;height:2px;margin-inline:auto;background:var(--text);border-radius:1px}.topbar-user{color:var(--text-muted);font-weight:600}.school-selector{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:14px}.school-selector-empty{color:var(--text-muted);font-style:italic}.app-body{flex:1;display:flex;min-height:0}.sidebar{width:280px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);overflow-y:auto;overflow-x:hidden;padding:var(--space-4) 0 var(--space-6);border-inline-end:1px solid rgba(255,255,255,.06);transition:width .2s ease-out,transform .2s ease-out,border-color .2s ease-out;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:8px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff47}@media (min-width: 1440px){.sidebar{width:300px}}@media (min-width: 900px){.sidebar.sidebar-collapsed{width:0;min-width:0;border-inline-end-color:transparent;overflow:hidden}}.sidebar-header{padding:var(--space-2) var(--space-5) var(--space-4);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8b93a3}.sidebar-message{padding:var(--space-2) var(--space-5);color:#9ca3af}.menu-tree{display:flex;flex-direction:column;gap:1px;padding-inline:var(--space-2)}.menu-tree>.menu-group,.menu-tree>.menu-item{margin-block-end:var(--space-3)}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:start;padding:9px var(--space-3);border-radius:var(--radius-sm);color:var(--sidebar-text);text-decoration:none;border:none;border-inline-start:3px solid transparent;background:transparent;font-size:14px;line-height:1.35;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.menu-item:hover{background:#ffffff12;color:#fff}.menu-item--module{font-size:14.5px;font-weight:700;letter-spacing:.01em}.menu-item--folder{font-weight:600;color:#b7bdc9}.menu-item--folder:hover{color:#fff}.menu-page.active{background:color-mix(in srgb,var(--sidebar-active) 18%,transparent);border-inline-start-color:var(--sidebar-active);color:#fff;font-weight:600}.menu-page.active:hover{background:color-mix(in srgb,var(--sidebar-active) 24%,transparent)}.menu-caret{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:14px;font-size:10px;color:#8b93a3;transition:transform .16s ease-out,color .12s ease;transform-origin:center}.menu-caret--open{transform:rotate(90deg)}.menu-page.active .menu-caret{color:#ffffffd9}.menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-children-collapse{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-3px);visibility:hidden;pointer-events:none;transition:grid-template-rows .18s ease-out,opacity .14s ease-out,transform .18s ease-out,visibility 0s linear .18s}.menu-children-collapse--open{grid-template-rows:1fr;opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto;transition-delay:0s}.menu-children{min-height:0;overflow:hidden;position:relative;margin-inline-start:14px;padding-inline-start:8px;border-inline-start:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:1px}.sidebar-backdrop{display:none}@media (max-width: 900px){.sidebar{position:fixed;inset-block:56px 0;inset-inline-start:0;z-index:40;transform:translate(-100%);box-shadow:2px 0 12px #0003}[dir=rtl] .sidebar{transform:translate(100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:56px;right:0;bottom:0;left:0;z-index:30;background:#0f172a73;border:0;padding:0;opacity:0;pointer-events:none;transition:opacity .2s ease-out}.sidebar-backdrop.sidebar-backdrop-visible{opacity:1;pointer-events:auto}.topbar-title{font-size:16px}}@media (max-width: 560px){.topbar-user{display:none}}.app-content{flex:1;overflow-y:auto;padding:var(--space-7) var(--space-6)}@media (min-width: 1440px){.app-content{padding:var(--space-7) var(--space-7)}}.page{display:flex;flex-direction:column;gap:var(--space-6)}.page-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em}.page-message{margin:6px 0 0;color:var(--text-muted);font-size:14.5px;line-height:1.5}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4) var(--space-5)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.toolbar.filters{align-items:flex-end;row-gap:var(--space-4);column-gap:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.toolbar.filters .field-inline{flex-direction:column;align-items:flex-start;gap:6px}.toolbar.filters .field-inline .field-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.toolbar.filters .field-inline input,.toolbar.filters .field-inline select{inline-size:100%;min-inline-size:190px;max-inline-size:280px;block-size:40px;padding:8px 12px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit}.toolbar.filters .field-inline:has(input){flex:2 1 220px}.toolbar.filters .field-inline:has(input) input{max-inline-size:360px}.toolbar.filters .field-inline:has(select){flex:1 1 170px}.toolbar.filters .field-inline input:focus,.toolbar.filters .field-inline select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.toolbar.pagination{align-items:center;justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--border)}.sidebar-search{padding:0 var(--space-4) var(--space-4)}.sidebar-search input{width:100%;padding:9px 12px;color:#f9fafb;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm)}.sidebar-search input::placeholder{color:#9ca3af}.sidebar-search input:focus{outline:2px solid #60a5fa;outline-offset:1px}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 2px 0}.table-pagination-status{min-width:110px;color:var(--text-muted);text-align:center;font-size:14px}.table-pagination .btn{min-width:92px}.table-pagination .btn:disabled{opacity:.5;cursor:not-allowed}.page-indicator{color:var(--text-muted)}.loading-message{color:var(--text-muted);padding:var(--space-3) 0}.empty-state{color:var(--text-muted);text-align:center;padding:var(--space-7) var(--space-5);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md)}.error-message{color:var(--danger);padding:var(--space-3) var(--space-4);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm)}.success-message{color:#166534;padding:var(--space-3) var(--space-4);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm)}.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.data-table th,.data-table td{text-align:start;padding:14px var(--space-5);border-bottom:1px solid var(--border);line-height:1.4}.data-table th{background:#f8fafc;font-weight:600;font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);padding-block:var(--space-3)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#f8fafc}.btn-link{display:inline-flex;align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;padding:4px 8px;font-size:14px;font-weight:600}.btn-link+.btn-link{margin-inline-start:var(--space-2)}.btn-link:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);text-decoration:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow:auto;overscroll-behavior:contain;z-index:100}.modal-panel{background:var(--surface);border-radius:10px;width:100%;max-width:420px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;box-sizing:border-box;padding:24px;box-shadow:0 10px 30px #00000026}.audit-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.audit-modal-header h2{margin:0}.email-preview-modal{width:min(760px,calc(100vw - 32px))}.email-preview-modal h3{margin:0 0 10px;overflow-wrap:anywhere}.email-preview-warning{color:var(--text-muted);font-size:13px}.email-preview-frame{width:100%;min-height:360px;border:1px solid var(--border);border-radius:7px;background:#fff}.email-preview-text{min-height:240px;padding:16px;overflow:auto;white-space:pre-wrap;border:1px solid var(--border);border-radius:7px;background:#f8fafc}.audit-modal-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer}.audit-modal-close:hover{border-color:var(--primary);color:var(--primary);background:#f8fafc}.audit-detail-list{grid-template-columns:minmax(125px,auto) minmax(0,1fr)}.audit-detail-list dd{min-width:0}.audit-identifier{display:block;margin-top:3px;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.audit-break-text{overflow-wrap:anywhere}.audit-metadata{margin-top:18px}.audit-metadata h3{margin:0 0 8px}.audit-metadata pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border:1px solid var(--border);padding:12px;border-radius:6px}@media (max-width:520px){.table-pagination{justify-content:space-between}.table-pagination .btn{min-width:auto}}@media (max-width: 640px),(max-height: 640px){.modal-overlay{align-items:flex-start;padding:12px}.modal-panel{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:18px}}.form-title{margin:0 0 16px}.field-inline{display:flex;align-items:center;gap:8px}.field-inline .field-label{margin-bottom:0}.field-hint{display:block;color:var(--text-muted);font-size:12.5px;margin:4px 0 10px}.field-inline-group{display:flex;align-items:center;gap:16px;padding:6px 0}.school-form select{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--surface)}.form-error{color:var(--danger);margin:0 0 12px}.form-actions{display:flex;gap:8px;margin-top:8px}@media (max-width: 640px){.sidebar{width:180px}.topbar-user{display:none}}.table-scroll{overflow-x:auto}.menu-tree-table{min-width:1180px}.menu-tree-table tbody:not(:last-child) tr:last-child td{border-bottom:1px solid var(--border)}.tree-name{display:flex;align-items:center;gap:6px;white-space:nowrap}.tree-toggle{border:0;background:transparent;cursor:pointer;width:20px;color:var(--primary)}.tree-spacer{width:20px}.menu-actions{white-space:nowrap}.menu-actions .btn-link{margin-inline-end:10px}.menu-row-inactive{opacity:.62}.session-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.session-row small{color:var(--text-muted)}.session-list .session-row strong{font-weight:600}.session-list .page-header h4{margin:0;font-weight:600}.session-list .btn-link{min-width:100px;justify-content:center;font-weight:500;color:#991b1b}.session-list .btn-link:hover{background:color-mix(in srgb,#991b1b 8%,transparent)}.session-list .page-header .btn-secondary{font-weight:500;color:#991b1b;border-color:#fecaca}.session-list .page-header .btn-secondary:hover{background:#fef2f2;border-color:#fca5a5}.scope-note{color:var(--text-muted);margin-top:-8px}.role-actions{white-space:nowrap}.role-actions .btn-link{margin-inline-end:12px}.warning-message{background:#fffbeb;border:1px solid #fde68a;padding:8px;border-radius:6px}.permission-overlay{padding:24px}.permission-modal{max-width:1000px}.permission-module{border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.permission-module h4{margin:0;padding:10px;background:#f9fafb}.permission-page{display:grid;grid-template-columns:minmax(180px,1fr) 3fr;gap:16px;padding:10px 16px;border-top:1px solid var(--border)}.permission-actions{display:flex;flex-wrap:wrap;gap:16px}.sticky-actions{position:sticky;bottom:-24px;background:var(--surface);border-top:1px solid var(--border);padding:12px 0;display:flex;gap:8px}.permission-preview{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0;padding:12px 14px;border:1px solid var(--border);border-inline-start:4px solid var(--primary);border-radius:7px;background:#f8fafc}.permission-preview small{grid-column:1 / -1;color:var(--text-muted)}.permission-panel input[type=checkbox]{accent-color:var(--primary)}.user-filters{align-items:end}.user-filters label{min-width:145px}.user-filters input,.user-filters select{display:block;width:100%;box-sizing:border-box}.user-detail-modal{max-width:760px}.user-detail{min-width:0}.user-manage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.user-manage-header h3,.user-manage-header p{margin:0 0 5px}.status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.status-pill.active{color:#166534;background:#dcfce7}.status-pill.inactive{color:#991b1b;background:#fee2e2}.status-pill.pending{color:#92400e;background:#fef3c7}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.status-badge--neutral{color:#475569;background:#eef1f5}.status-badge--info{color:#1e40af;background:#dbeafe}.status-badge--warning{color:#92400e;background:#fef3c7}.status-badge--attention{color:#9a3412;background:#ffedd5}.status-badge--success{color:#166534;background:#dcfce7}.status-badge--danger{color:#991b1b;background:#fee2e2}.user-tabs{display:flex;gap:4px;margin:18px 0;border-bottom:1px solid var(--border);overflow-x:auto}.user-tabs button{border:0;border-bottom:3px solid transparent;padding:10px 14px;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap}.user-tabs button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.user-tab-panel{min-height:260px}.student-profile-page{width:100%}.student-profile-header{padding:20px 24px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.student-profile-back{padding-inline:0;margin-bottom:10px}.student-profile-header .page-title{margin-bottom:10px}.student-profile-meta{display:flex;flex-wrap:wrap;gap:10px 24px;color:var(--text-muted)}.student-profile-meta strong{color:var(--text);font-weight:600}.student-profile-page .user-tabs{margin-top:22px;background:var(--surface);padding-inline:12px;border:1px solid var(--border);border-width:1px 1px 0;border-radius:10px 10px 0 0}.student-profile-page .user-tab-panel{padding:24px;border:1px solid var(--border);border-top:0;border-radius:0 0 10px 10px;background:var(--surface)}.workflow-rejection-card,.workflow-current-position{margin:18px 0;padding:16px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.workflow-rejection-card{border-inline-start:4px solid var(--danger);background:#fff7f7}.workflow-rejection-card h4,.workflow-current-position h4{margin-top:0}.workflow-history-section{margin-top:26px;padding-top:20px;border-top:1px solid var(--border)}.workflow-timeline{list-style:none;margin:18px 0 0;padding:0}.workflow-timeline-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding-bottom:20px}.workflow-timeline-item:not(:last-child):before{content:"";position:absolute;inset-inline-start:8px;top:18px;bottom:0;width:2px;background:var(--border)}.workflow-timeline-marker{position:relative;z-index:1;width:16px;height:16px;margin-top:3px;border:3px solid #94a3b8;border-radius:50%;background:var(--surface)}.workflow-action-3 .workflow-timeline-marker,.workflow-action-6 .workflow-timeline-marker{border-color:#16a34a}.workflow-action-4 .workflow-timeline-marker{border-color:var(--danger);background:#fee2e2}.workflow-action-5 .workflow-timeline-marker{border-color:#d97706;background:#fef3c7}.workflow-timeline-content{padding:0 0 2px}.workflow-timeline-heading{display:flex;justify-content:space-between;gap:16px}.workflow-timeline-heading span,.workflow-timeline-meta{color:var(--text-muted);font-size:13px}.workflow-timeline-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:5px}.workflow-timeline-content p{margin:8px 0 0;white-space:pre-wrap}.admission-application-form.admission-form-tabbed{display:flex;flex-direction:column;min-height:min(680px,calc(100dvh - 96px))}.admission-form-tabbed>h3{margin:0}.admission-form-tabs{display:flex;gap:4px;margin:18px 0 0;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.admission-form-tabs button{display:flex;align-items:center;gap:7px;border:0;border-bottom:3px solid transparent;padding:11px 14px;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap}.admission-form-tabs button:hover{color:var(--text);background:#f8fafc}.admission-form-tabs button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.admission-form-tabs button.has-error{color:var(--danger)}.admission-form-tab-error{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--danger);color:#fff;font-size:12px;font-weight:700}.admission-form-tab-content{flex:1;min-height:0;overflow-y:auto;padding:22px 4px 10px}.admission-form-tab-panel{display:grid;gap:18px}.admission-form-tab-panel .form-section{margin:0;padding:18px;border:1px solid var(--border);border-radius:8px}.admission-form-fields-table th:not(:first-child),.admission-form-fields-table td:not(:first-child){width:150px}.admission-field-state{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.admission-field-state input:disabled+span{color:var(--text-muted)}.admission-document-row{align-items:end;padding:12px 0;border-bottom:1px solid var(--border)}.admission-custom-properties{display:grid;gap:0}.admission-custom-properties .field-inline-group{justify-content:space-between;border-bottom:1px solid var(--border)}.admission-form-footer{flex-shrink:0;margin:12px -4px -4px;padding:14px 4px 4px;border-top:1px solid var(--border);background:var(--surface)}.admission-form-footer .form-error{margin-bottom:8px}.admission-form-footer .form-actions{margin:0}@media (max-width:640px){.admission-form-tabbed{min-height:calc(100dvh - 60px)}.admission-form-tab-content{padding-top:16px}.admission-form-tab-panel .form-section{padding:14px}.admission-form-fields-table th:not(:first-child),.admission-form-fields-table td:not(:first-child){width:auto}.admission-field-state span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}.assignment-editor{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.permission-checkbox{display:flex;align-items:center;gap:8px;margin:8px 0}.security-actions{display:grid;gap:18px}.security-actions>div{padding:16px;border:1px solid var(--border);border-radius:8px}.security-actions h4{margin:0 0 6px}.security-actions p{color:var(--text-muted);margin:0 0 14px}.security-actions .success-message{color:#166534;margin:12px 0 0}.danger-zone{border-inline-start:4px solid #dc2626!important}.invitation-instructions{padding:10px 12px;border-inline-start:4px solid var(--primary);background:#eff6ff;color:var(--text-muted)}.role-picker{margin:12px 0;border:1px solid var(--border);border-radius:7px}.login-links{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.group-school-list{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.member-school-card{margin:12px 0;padding:14px;border:1px solid var(--border);border-radius:8px}.member-school-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}.member-school-heading strong{margin-inline-end:auto}.member-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;margin:12px 0}@media (max-width:700px){.member-role-grid{grid-template-columns:1fr}}.create-user-modal{max-width:780px}.create-user-modal form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.create-user-modal form>h3,.create-user-modal .invitation-instructions,.create-user-modal .role-picker,.create-user-modal .creation-member-schools,.create-user-modal .form-error,.create-user-modal .form-actions{grid-column:1 / -1}.create-user-modal form>h3{margin:0}.create-user-modal .field{margin:0}.create-user-modal .role-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;padding:10px 14px 14px}.create-user-modal .role-picker legend{padding-inline:5px}.creation-member-schools{padding:12px 14px 14px;border:1px solid var(--border);border-radius:7px}.creation-member-schools legend{padding-inline:5px;font-weight:600}.creation-member-school{padding:10px 0;border-top:1px solid var(--border)}.creation-member-school:first-of-type{border-top:0}.create-user-modal .form-actions{position:sticky;bottom:-24px;margin:4px -24px -24px;padding:14px 24px;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -5px 12px #0000000a}@media (max-width:700px){.create-user-modal form,.create-user-modal .role-picker{grid-template-columns:1fr}.create-user-modal .form-actions{bottom:-18px;margin:4px -18px -18px;padding:12px 18px}}.menu-modal{max-width:560px}.admission-application-modal{max-width:820px}.admission-application-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.admission-application-form>h3,.admission-application-form .form-section,.admission-application-form .form-error,.admission-application-form .form-actions{grid-column:1 / -1}.admission-application-form>h3{margin:0}.form-section{border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin:0}.form-section legend{padding-inline:6px;font-weight:600}.form-section .field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 18px}.field-wide{grid-column:1 / -1}.form-section .field-grid textarea,.field textarea{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:6px;font:inherit;resize:vertical}.guardian-row{border:1px solid var(--border);border-radius:7px;padding:12px 14px;margin-top:12px;background:var(--surface)}.guardian-row:first-of-type{margin-top:0}.guardian-row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.guardian-row-header strong{font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}@media (max-width: 700px){.admission-application-form,.form-section .field-grid{grid-template-columns:1fr}}.skeleton{display:inline-block;width:100%;background:linear-gradient(90deg,var(--border) 25%,color-mix(in srgb,var(--border) 40%,var(--surface)) 37%,var(--border) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}.sidebar,.sidebar-backdrop,.menu-caret,.menu-children-collapse{transition:none!important}}.skeleton-lines{display:grid;gap:8px;padding:2px 0}.skeleton-detail-list{display:grid;gap:10px;grid-template-columns:none}.skeleton-detail-row{display:grid;grid-template-columns:minmax(125px,auto) minmax(0,1fr);gap:10px 18px}.skeleton-field{display:grid;gap:6px}.skeleton-row td{padding:10px 12px}.searchable-loading{display:flex;align-items:center;gap:8px;padding:10px}.searchable-loading .skeleton{flex:1}.searchable-options button.active{background:#eef4ff;color:var(--primary)}.searchable-disabled{opacity:.65}.searchable-disabled input{cursor:not-allowed;background:#f3f4f6}.workflow-selector{display:grid;gap:8px;width:100%}.workflow-selector .searchable-select>input{width:100%;padding-block:9px;padding-inline-start:10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--text)}.workflow-selector .searchable-select>input:focus{outline:none;border-color:var(--primary)}.workflow-selector .searchable-clear{top:50%;transform:translateY(-50%)}.workflow-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:#f8fafc;font-size:13px}.workflow-summary-count{font-weight:600;color:var(--text);overflow-wrap:anywhere}.workflow-summary-sequence{color:var(--text-muted);overflow-wrap:anywhere}.workflow-summary-description{color:var(--text-muted);width:100%;margin:0}.workflow-summary .btn-link{margin-inline-start:auto}.workflow-details-modal{max-width:640px}.permission-filters .field{min-width:150px;margin:0}.permission-filters .field:first-child{flex:1;min-width:260px}.permission-filters input,.permission-filters select{width:100%;box-sizing:border-box}.permission-module{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:14px;background:var(--surface)}.permission-group-heading,.permission-feature-heading{width:100%;border:0;display:flex;justify-content:space-between;align-items:center;text-align:start;cursor:pointer}.permission-group-heading{padding:13px 16px;background:#f3f4f6;color:var(--text);font-size:16px;font-weight:700}.permission-feature-heading{padding:11px 20px;background:#f9fafb;border-top:1px solid var(--border);color:var(--text);font-weight:600}.permission-count{min-width:28px;padding:2px 7px;border-radius:999px;background:#e5e7eb;color:var(--text-muted);text-align:center;font-size:12px}.permission-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px;padding:12px 20px 16px;border-top:1px solid var(--border)}.permission-card{display:grid;gap:7px;text-align:start;padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);cursor:pointer}.permission-card:hover{border-color:var(--primary);box-shadow:0 1px 4px #00000014}.permission-card-title{font-weight:600}.permission-card code{overflow-wrap:anywhere;color:var(--text-muted)}.permission-card-inactive{opacity:.62}.status-badge{width:fit-content;padding:2px 7px;border-radius:999px;font-size:12px}.status-badge.active{color:#166534;background:#dcfce7}.status-badge.inactive{color:#991b1b;background:#fee2e2}.permission-detail{max-width:560px}.permission-detail-list{display:grid;grid-template-columns:minmax(125px,auto) 1fr;gap:10px 18px;margin:0}.permission-detail-list dt{color:var(--text-muted);font-weight:600}.permission-detail-list dd{margin:0;overflow-wrap:anywhere}@media (max-width: 720px){.permission-catalog .page-header{align-items:flex-start;gap:12px;flex-direction:column}.permission-detail-list{grid-template-columns:1fr;gap:4px}.permission-detail-list dd{margin-bottom:8px}}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.65rem 1.25rem;background:#1e40af;color:#fff;border-block-end:2px solid #1e3a8a}.impersonation-banner-message{display:flex;align-items:baseline;gap:.5rem .75rem;flex-wrap:wrap;min-width:0}.impersonation-banner-message strong{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;padding:.15rem .5rem;border-radius:3px;background:#dbeafe;color:#1e3a8a}.impersonation-banner-message span{font-weight:600}.impersonation-banner-message small{color:#dbeafe}.impersonation-banner-error{color:#fecaca;font-weight:600}.impersonation-banner .btn{background:#fff;color:#1e3a8a;border-color:#fff;flex-shrink:0}.impersonation-banner .btn:hover{background:#dbeafe;border-color:#dbeafe}.impersonation-banner .btn:focus-visible{outline:3px solid #bfdbfe;outline-offset:2px}
