:root {
  --ns-navy-950:var(--app-text,#0b1f2d); --ns-navy-900:#102a3a; --ns-navy-800:#17394b; --ns-navy-700:#234b60;
  --ns-teal-700:var(--app-primary,#72263d); --ns-teal-600:var(--app-primary,#8b3550); --ns-teal-100:var(--app-primary-soft,#f3e4e9); --ns-teal-50:var(--app-primary-soft,#faf4f6);
  --ns-amber-700:var(--app-warning,#8b6222); --ns-amber-100:var(--app-warning-soft,#f8ecd2); --ns-blue-700:var(--app-info,#2f648c); --ns-blue-100:var(--app-info-soft,#e5eff8);
  --ns-green-700:var(--app-success,#327052); --ns-green-100:var(--app-success-soft,#e4f2e9); --ns-red-700:var(--app-error,#a04442); --ns-red-100:var(--app-error-soft,#fae9e7);
  --ns-orange-700:#a55724; --ns-orange-100:#faecdf; --ns-gray-700:var(--app-muted,#4c5d67); --ns-gray-600:var(--app-muted,#667781);
  --ns-gray-500:var(--app-muted,#80909a); --ns-gray-300:var(--app-border,#cbd5da); --ns-gray-200:var(--app-border,#dfe6e9); --ns-gray-100:var(--app-border,#edf1f3);
  --ns-gray-50:var(--app-page,#f6f8f9); --ns-white:#fff; --ns-text:var(--app-text,#1b2b34); --ns-page:#fff;
  --ns-radius-sm:7px; --ns-radius:10px; --ns-radius-lg:12px; --ns-shadow:0 4px 16px rgba(16,42,58,.055);
  --navy:var(--ns-navy-950); --navy2:var(--ns-navy-900); --ink:var(--ns-text); --muted:var(--ns-gray-600);
  --line:var(--ns-gray-200); --line2:var(--ns-gray-100); --teal:var(--ns-teal-700); --teal-soft:var(--ns-teal-100);
  --blue:var(--ns-blue-700); --blue-soft:var(--ns-blue-100); --amber:var(--ns-amber-700); --amber-soft:var(--ns-amber-100);
  --red:var(--ns-red-700); --red-soft:var(--ns-red-100); --green:var(--ns-green-700); --green-soft:var(--ns-green-100);
  --shell:var(--ns-page); --sidebar:var(--app-sidebar,#5b1f34); --sidebar-hover:var(--app-hover,#6d2941); --accent:var(--ns-teal-700);
  --accent-dark:var(--app-hover,#591b2e); --text:var(--ns-text); --secondary:var(--ns-gray-600); --border:var(--ns-gray-200); --soft:var(--ns-gray-50)
}
html {font-size:16px;scrollbar-width:thin;scrollbar-color:#a8b5bc transparent}
* {box-sizing:border-box}
*::-webkit-scrollbar {width:7px;height:7px}
*::-webkit-scrollbar-track {background:transparent}
*::-webkit-scrollbar-thumb {background:#a8b5bc;border-radius:999px}
*::-webkit-scrollbar-thumb:hover {background:#7f9099}
body,button,input,select,textarea {font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body {margin:0;background:var(--ns-page);color:var(--ns-text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,a,input,select,textarea {transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
button {cursor:pointer} button:disabled {cursor:not-allowed;opacity:.46;transform:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:3px solid rgba(139,53,80,.25);outline-offset:2px}
.hidden {display:none!important}

/* Branded sign in */
.login-shell {min-height:100vh;background:var(--ns-white);grid-template-columns:minmax(470px,46%) 1fr}
.login-story {background:var(--ns-navy-950);padding:48px 56px;color:#fff;overflow:hidden}
.login-story:after {content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(104,180,180,.12);border-radius:50%;right:-210px;bottom:-220px}
.story-art {opacity:.38;transform:scale(.82);transform-origin:center right}
.story-art .destination {display:none}
.story-copy {max-width:650px}
.story-copy .overline,.secure {color:#c9879b}
.story-copy h1 {font-size:42px;line-height:1.12;letter-spacing:-1.25px;font-weight:680;margin:20px 0 16px}
.story-copy p {font-size:16px;line-height:1.7;color:#c5d3d9;max-width:590px}
.story-proof {gap:24px}.story-proof span {font-size:12px;color:#d7e2e6}
.login-panel {background:#fff}.login-box {width:min(480px,calc(100% - 48px))}
.login-box .secure {font-size:11px;letter-spacing:1.3px}.login-box h2 {font-size:32px;letter-spacing:-.65px;margin:26px 0 8px}
.login-box>p {font-size:15px}.login-box label {font-size:13px;font-weight:650}
.input-wrap {height:48px;border-radius:var(--ns-radius-sm);border-color:var(--ns-gray-300)}.input-wrap input {font-size:14px}
.submit-button {min-height:48px;border-radius:var(--ns-radius-sm);background:var(--ns-teal-700);font-size:14px}.submit-button:hover {background:var(--app-hover,#591b2e)}
.help-text {margin-top:28px!important;padding-top:22px;border-top:1px solid var(--ns-gray-200)}

/* Reusable authentication primitives */
.ns-wordmark {display:inline-flex;align-items:center;gap:10px;color:var(--ns-navy-950);text-decoration:none;font-size:22px;line-height:1;letter-spacing:-.55px;font-weight:500}
.ns-wordmark strong {font-weight:760}.ns-wordmark svg {width:34px;height:24px;fill:none;stroke:var(--ns-teal-600);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ns-wordmark-light {color:#fff}.ns-wordmark-light svg {stroke:#c9879b}
.ns-form {display:grid;gap:20px}.ns-field {display:grid;gap:8px}.ns-field label {font-size:14px;font-weight:650;color:var(--ns-text)}.ns-label-row {display:flex;align-items:center;justify-content:space-between;gap:16px}
.ns-input {height:50px;display:flex;align-items:center;background:#fff;border:1px solid var(--ns-gray-300);border-radius:10px;overflow:hidden}.ns-input:focus-within {border-color:var(--ns-teal-700);box-shadow:0 0 0 3px rgba(139,53,80,.12)}.ns-input input {width:100%;height:100%;padding:0 14px;border:0;outline:0;background:transparent;color:var(--ns-text);font-size:15px}.ns-input input:focus {border:0!important;box-shadow:none!important}.ns-input input::placeholder {color:#8a99a1;opacity:1}
.ns-password-input input {padding-right:4px}.ns-password-input>button {flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border:0;background:transparent;color:var(--ns-gray-600);border-radius:8px}.ns-password-input>button:hover {background:var(--ns-gray-50);color:var(--ns-teal-700)}.ns-password-input svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ns-link {display:inline;padding:0;border:0;background:transparent;color:var(--ns-teal-700);font-size:12px;font-weight:650;text-decoration:none}.ns-link:hover {color:var(--ns-navy-800);text-decoration:underline;text-underline-offset:3px;transform:none!important}
.ns-checkbox {width:max-content;display:inline-flex!important;align-items:center;gap:9px;margin:0!important;cursor:pointer;user-select:none}.ns-checkbox>input {position:absolute;opacity:0;pointer-events:none}.ns-checkbox>span {width:19px;height:19px;display:grid;place-items:center;border:1px solid var(--app-border,#aebcc3);border-radius:5px;background:#fff;color:#fff}.ns-checkbox svg {width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0}.ns-checkbox>b {font-size:13px;font-weight:500;color:var(--ns-gray-700)}.ns-checkbox>input:checked+span {background:var(--ns-teal-700);border-color:var(--ns-teal-700)}.ns-checkbox>input:checked+span svg {opacity:1}.ns-checkbox>input:focus-visible+span {outline:3px solid rgba(139,53,80,.22);outline-offset:2px}
.ns-button {height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:680}.ns-button-primary {border:1px solid var(--ns-teal-700);background:var(--ns-teal-700);color:#fff}.ns-button-primary:hover {background:var(--app-hover,#591b2e);border-color:var(--app-hover,#591b2e)}.ns-form-error {padding:10px 12px;border:1px solid #edcac6;border-radius:8px;background:var(--ns-red-100);color:var(--ns-red-700);font-size:12px;line-height:1.45}.ns-form-error:empty {display:none}.button-spinner {display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:ns-spin .7s linear infinite}.submit-button:disabled .button-spinner {display:block}.submit-button:disabled {opacity:.72}
@keyframes ns-spin {to {transform:rotate(360deg)}}

/* Pathlyra login composition */
.login-v2 {display:grid;grid-template-columns:minmax(430px,44%) minmax(0,1fr);min-height:100vh;height:auto;background:#fff}
.login-brand-panel {position:relative;isolation:isolate;min-height:100vh;display:flex;flex-direction:column;padding:44px 48px 36px;overflow:hidden;background:var(--ns-navy-950);color:#fff}
.login-brand-panel:before {content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(150deg,rgba(255,255,255,.025),transparent 48%);pointer-events:none}
.login-brand-message {width:100%;margin:auto 0;transform:translateY(-10px)}.login-brand-message p {max-width:470px;margin:24px 0 0;font-size:28px;line-height:1.35;letter-spacing:-.55px;font-weight:560;color:#edf4f6}
.login-path {width:min(100%,620px);height:220px;opacity:.34}.login-path svg {display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:#b76880;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.login-path circle {fill:var(--ns-navy-950);stroke:#d2a95f;stroke-width:2.2}
.login-brand-foot {font-size:11px;letter-spacing:.25px;color:#879eaa}
.login-v2 .login-panel {position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 32px;background:#fff}
.login-v2 .login-box {width:100%;max-width:436px;margin:0;padding:0}.login-mobile-wordmark {display:none}.login-heading {margin-bottom:30px}.login-heading h1 {margin:0 0 8px;font-size:31px;line-height:1.2;letter-spacing:-.65px;font-weight:720;color:var(--ns-navy-950)}.login-heading p {margin:0;color:var(--ns-gray-600);font-size:15px}
.login-v2 .submit-button {width:100%;margin:2px 0 0;box-shadow:none}.login-v2 .submit-button:hover {transform:none}.login-support {display:flex;align-items:center;justify-content:center;gap:7px;margin-top:30px;padding-top:22px;border-top:1px solid var(--ns-gray-200);font-size:12px;color:var(--ns-gray-600);text-align:center}
.login-help-copy {margin:0;color:var(--ns-gray-700);font-size:14px;line-height:1.65}.login-help-modal {width:min(480px,100%)}

@media(max-width:900px) {.login-v2 {display:block}.login-brand-panel {display:none}.login-v2 .login-panel {min-height:100vh;padding:40px 24px}.login-mobile-wordmark {display:inline-flex;margin-bottom:48px}.login-heading {margin-bottom:28px}}
@media(max-width:480px) {.login-v2 .login-panel {align-items:flex-start;padding:32px 24px}.login-v2 .login-box {max-width:none}.login-mobile-wordmark {margin-bottom:58px}.login-heading h1 {font-size:29px}.login-support {align-items:center;flex-direction:column;gap:5px}.ns-form {gap:18px}}

/* Product shell */
.sidebar {width:238px;display:flex;flex-direction:column;background:var(--app-sidebar,#5b1f34);box-shadow:none;transition:width .18s ease}
.workspace {margin-left:238px;background:var(--ns-page);min-height:100vh;transition:margin-left .18s ease}
.side-head {flex:0 0 70px;height:70px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.075)}
.sidebar-wordmark {font-size:20px;gap:9px;white-space:nowrap}.sidebar-wordmark svg {flex:0 0 31px;width:31px;height:22px}
.sidebar nav {flex:1 1 auto;min-height:0;padding:14px 9px 12px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(174,196,205,.25) transparent}.sidebar nav::-webkit-scrollbar {width:4px}.sidebar nav::-webkit-scrollbar-thumb {background:rgba(174,196,205,.25)}
.sidebar nav section {margin:0 0 18px}.sidebar nav section:last-child {margin-bottom:4px}
.sidebar nav label {display:block;padding:0 11px 7px;color:#fff;font-size:10px;line-height:1.2;letter-spacing:1.15px;font-weight:720}
.sidebar nav a {position:relative;height:44px;margin:2px 0;padding:0 11px;display:flex;align-items:center;gap:11px;border-radius:8px;color:#fff;font-size:14px;font-weight:520;text-decoration:none}
.sidebar nav a>b {overflow:hidden;color:inherit;font-size:14px;font-weight:inherit;line-height:1;white-space:nowrap;text-overflow:ellipsis}
.sidebar nav a>span {flex:0 0 20px;width:20px;height:20px;display:grid;place-items:center;color:#fff}
.sidebar nav a svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar nav a:hover {background:rgba(255,255,255,.09);color:#fff}.sidebar nav a.active {background:rgba(255,255,255,.14);color:#fff;font-weight:650;box-shadow:none}.sidebar nav a.active:before {content:"";display:block;position:absolute;left:-9px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#f0c5d1}.sidebar nav a.active>span {color:#fff}
.side-bottom {flex:0 0 auto;display:grid;gap:3px;padding:9px;border-top:1px solid rgba(255,255,255,.075)}
.side-utility {position:relative;width:100%;height:42px;display:flex;align-items:center;gap:11px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:#fff;text-align:left;font-size:13px;font-weight:520}.side-utility:hover {background:rgba(255,255,255,.09);color:#fff}.side-utility svg {flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.side-utility span {overflow:hidden;white-space:nowrap}.collapse-sidebar {color:#fff}
.platform.sidebar-collapsed .sidebar {width:68px}.platform.sidebar-collapsed .workspace {margin-left:68px}.platform.sidebar-collapsed .side-head {justify-content:center;padding:0}.platform.sidebar-collapsed .sidebar-wordmark {gap:0}.platform.sidebar-collapsed .sidebar-wordmark>span,.platform.sidebar-collapsed .sidebar nav label,.platform.sidebar-collapsed .sidebar nav a>b,.platform.sidebar-collapsed .side-utility>span {display:none}.platform.sidebar-collapsed .sidebar nav {padding-inline:8px}.platform.sidebar-collapsed .sidebar nav section {margin-bottom:10px}.platform.sidebar-collapsed .sidebar nav a,.platform.sidebar-collapsed .side-utility {justify-content:center;padding:0}.platform.sidebar-collapsed .sidebar nav a.active:before {left:-8px}.platform.sidebar-collapsed .collapse-sidebar svg {transform:rotate(180deg)}
.platform.sidebar-collapsed .side-utility:after {content:attr(data-tooltip);position:absolute;z-index:60;left:calc(100% + 12px);top:50%;padding:7px 9px;border-radius:6px;background:var(--app-sidebar,#5b1f34);color:#fff;box-shadow:0 7px 20px rgba(55,13,29,.2);font-size:11px;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-4px,-50%);transition:opacity .14s ease,transform .14s ease}.platform.sidebar-collapsed .side-utility:hover:after,.platform.sidebar-collapsed .side-utility:focus-visible:after {opacity:1;transform:translate(0,-50%)}
.sidebar-tooltip {position:fixed;z-index:80;padding:7px 9px;border-radius:6px;background:var(--app-sidebar,#5b1f34);color:#fff;box-shadow:0 7px 20px rgba(55,13,29,.2);font-size:11px;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-4px,-50%);transition:opacity .12s ease,transform .12s ease}.sidebar-tooltip.show {opacity:1;transform:translate(0,-50%)}
.topbar {height:72px;padding:0 28px;gap:24px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--ns-gray-200);box-shadow:none}
.top-context {display:flex;flex-direction:column;min-width:150px}.top-context small {font-size:10px;color:var(--ns-gray-500);text-transform:uppercase;letter-spacing:.8px;font-weight:700}.top-context strong {font-size:16px;line-height:1.2;margin-top:2px}
.global-search {margin-left:auto;width:min(440px,35vw);height:40px;border:1px solid var(--ns-gray-200);background:var(--ns-gray-50);border-radius:var(--ns-radius-sm);padding:0 11px}
.global-search svg,.icon-button svg,.menu-button svg,.top-profile>svg {fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.global-search svg {width:18px;height:18px;color:var(--ns-gray-500)}.global-search input {font-size:13px;background:transparent}.global-search kbd {font-size:10px}
.top-actions {gap:8px}.icon-button {width:40px;height:40px;border-radius:var(--ns-radius-sm);font-size:0}.icon-button svg {width:19px;height:19px}
.top-profile {height:44px;display:flex;align-items:center;gap:9px;padding:4px 8px 4px 5px;background:#fff;border:1px solid transparent;border-radius:var(--ns-radius-sm);text-align:left}
.top-profile:hover {background:var(--ns-gray-50);border-color:var(--ns-gray-200)}.top-profile>span:first-child {width:34px;height:34px;border-radius:7px;background:var(--ns-teal-100);color:var(--ns-teal-700);display:grid;place-items:center;font-size:11px;font-weight:800}
.top-profile>span:nth-child(2) {min-width:110px}.top-profile b,.top-profile small {display:block}.top-profile b {font-size:12px;color:var(--ns-text);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-profile small {font-size:10px;color:var(--ns-gray-600);margin-top:1px}.top-profile>svg {width:15px;height:15px;color:var(--ns-gray-500)}
#quickAdd {display:none!important}.menu-button {width:40px;height:40px}.menu-button svg {width:22px;height:22px}

/* Page foundations and components */
.page {max-width:1440px;margin:0 auto;padding:28px 32px 56px;background:transparent}.page-heading {align-items:flex-end;margin-bottom:24px;gap:24px}
.page-heading>div>span {font-size:10px;letter-spacing:1.15px;color:var(--ns-teal-700);font-weight:750}.page-heading h1 {font-size:28px;line-height:1.2;letter-spacing:-.55px;font-weight:700;margin:5px 0}.page-heading p {font-size:14px;line-height:1.5;color:var(--ns-gray-600);margin:0;max-width:760px}
.section-title {font-size:18px;margin:28px 0 12px}.surface,.table-surface,.event-row,.scholarship-row,.faq-row,.dashboard-summary,.vault-summary,.onboarding-steps {background:#fff;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-lg);box-shadow:var(--ns-shadow)}
.surface-head {min-height:66px;padding:16px 20px;border-bottom:1px solid var(--ns-gray-100)}.surface-head h2 {font-size:16px;margin:0 0 3px}.surface-head p {font-size:12px;color:var(--ns-gray-600)}.surface-head button {font-size:12px;color:var(--ns-teal-700)}
.primary-button,.secondary-button,.outline-button,.submit-button {min-height:40px;border-radius:var(--ns-radius-sm);padding:0 14px;font-size:13px;font-weight:680;text-decoration:none}
.primary-button,.submit-button,.explorer-bar button {background:var(--ns-teal-700);border:1px solid var(--ns-teal-700);color:#fff}.primary-button:hover,.submit-button:hover,.explorer-bar button:hover {background:var(--app-hover,#591b2e);border-color:var(--app-hover,#591b2e);transform:translateY(-1px)}
.secondary-button,.outline-button {background:#fff;border:1px solid var(--ns-gray-300);color:#304955}.secondary-button:hover,.outline-button:hover {background:var(--ns-gray-50);border-color:#9aabb3;transform:translateY(-1px)}.danger-link {color:var(--ns-red-700)!important}.text-button {color:var(--ns-teal-700);font-size:12px}

/* Unified forms and dialogs */
.modal-shade {background:rgba(8,27,39,.58);backdrop-filter:none;padding:20px}.modal {width:min(560px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;border-radius:var(--ns-radius-lg);box-shadow:0 24px 64px rgba(8,27,39,.24)}
.modal.detail-modal,.modal.uni-detail {width:min(980px,96vw)}.modal header {flex:0 0 auto;padding:20px 24px 16px}.modal header>div>span {font-size:10px;color:var(--ns-teal-700);letter-spacing:1.1px}.modal header h2 {font-size:22px;margin:5px 0 4px}.modal header p {font-size:12px;line-height:1.5}.modal header>button {width:36px;height:36px;border-radius:7px}.modal header>button:hover {background:var(--ns-gray-100)}
.modal form,.modal-body,.record-detail,.journey-grid,.notification-list,.import-preview {overflow-y:auto}.modal form {padding:20px 24px}.modal label,.settings-form label {font-size:13px;font-weight:640;color:var(--app-text,#30444f)}
.modal input,.modal select,.modal textarea,.settings-form input,.settings-form select,.settings-form textarea,.workflow-toolbar input,.workflow-toolbar select {font-size:14px;color:var(--ns-text)}
.modal input,.modal select,.settings-form input,.settings-form select {height:44px}.modal textarea,.settings-form textarea {min-height:96px;padding:11px;resize:vertical}
.modal input,.modal select,.modal textarea,.settings-form input,.settings-form select,.settings-form textarea {border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff}
.modal input:focus,.modal select:focus,.modal textarea:focus,.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(139,53,80,.1)}
.field-help {font-size:11px;line-height:1.45;color:var(--ns-gray-600)}.form-actions,.modal-actions,.detail-actions {padding-top:16px;gap:8px}.detail-actions {flex:0 0 auto;padding:16px 24px}.modal-body {padding:20px 24px}

/* Tables and toolbars */
.workflow-toolbar,.list-toolbar {display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:10px;background:#fff;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius);box-shadow:0 2px 9px rgba(16,42,58,.035)}
.workflow-toolbar .search-field,.table-search {height:40px;min-width:260px;max-width:480px;flex:1;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-sm);background:var(--ns-gray-50);font-size:13px}
.workflow-toolbar>select,.list-toolbar>select {height:40px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-sm);background:#fff;padding:0 11px;font-size:13px}.table-surface {max-width:100%;overflow:auto}
.table-surface>table,.data-table {min-width:720px;width:100%;border-collapse:collapse}.table-surface thead,.data-table thead {position:sticky;top:0;z-index:2}
.table-surface th,.data-table th {height:44px;padding:0 18px;background:var(--app-page,#f8fafb);border-bottom:1px solid var(--ns-gray-200);font-size:10px;color:var(--ns-gray-600);letter-spacing:.65px;font-weight:750}
.table-surface td,.data-table td {padding:14px 18px;border-bottom:1px solid var(--ns-gray-100);font-size:13px;color:#41545e}.table-surface tbody tr:hover,.data-table tbody tr:hover {background:#fbfcfc}
.table-title,.person b {font-size:13px;color:var(--ns-text)}.table-subtitle,.person small {font-size:11px;color:var(--ns-gray-600)}.person>span {width:36px;height:36px;border-radius:8px;background:var(--ns-teal-100);color:var(--ns-teal-700);font-size:10px}.record-actions,.table-actions {gap:10px}

/* Status language */
.status,.status-chip {min-height:24px;display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:var(--ns-gray-100);color:var(--ns-gray-700);font-size:10px;font-weight:720;text-transform:capitalize;white-space:nowrap}
.status.pending,.status.requested,.status-chip.pending,.status-chip.requested {background:var(--ns-amber-100);color:var(--ns-amber-700)}
.status.submitted,.status-chip.submitted,.status.in_progress,.status-chip.in_progress {background:var(--ns-blue-100);color:var(--ns-blue-700)}
.status.approved,.status.verified,.status.completed,.status.active,.status-chip.approved,.status-chip.verified,.status-chip.completed,.status-chip.active {background:var(--ns-green-100);color:var(--ns-green-700)}
.status.needs_revision,.status-chip.needs_revision,.status.warning,.status-chip.warning {background:var(--ns-orange-100);color:var(--ns-orange-700)}
.status.rejected,.status.urgent,.status.inactive,.status-chip.rejected,.status-chip.urgent,.status-chip.inactive {background:var(--ns-red-100);color:var(--ns-red-700)}

/* Database-backed dashboards */
.dashboard-kpis {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.dashboard-kpi {min-height:112px;padding:18px 19px;background:#fff;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius);box-shadow:0 2px 10px rgba(16,42,58,.035);text-align:left}
.dashboard-kpi:hover {border-color:#c7d4d8;transform:translateY(-1px);box-shadow:var(--ns-shadow)}.dashboard-kpi span,.dashboard-kpi strong,.dashboard-kpi small {display:block}.dashboard-kpi span {font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--ns-gray-600);font-weight:750}.dashboard-kpi strong {font-size:27px;line-height:1.1;margin:10px 0 5px;color:var(--ns-navy-900)}.dashboard-kpi small {font-size:11px;color:var(--ns-gray-500)}
.dashboard-kpi.attention {border-top:3px solid var(--ns-amber-700)}.dashboard-kpi.info {border-top:3px solid var(--ns-blue-700)}.dashboard-kpi.success {border-top:3px solid var(--ns-green-700)}
.dashboard-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-panel {min-height:240px;overflow:hidden}.dashboard-scroll {max-height:280px;overflow-y:auto}.no-inline-data {margin:0;padding:34px 20px;color:var(--ns-gray-600);font-size:13px;text-align:center}.attention-list button,.dashboard-list-item {min-height:60px;padding:12px 18px;border-bottom:1px solid var(--ns-gray-100)}.dashboard-list-item {display:block;width:100%;border-width:0 0 1px;background:#fff;text-align:left}.dashboard-list-item:hover {background:var(--ns-gray-50)}.dashboard-list-item:last-child {border-bottom:0}.attention-list span,.dashboard-list-item b {display:block;font-size:13px}.attention-list small,.dashboard-list-item span {display:block;font-size:11px;color:var(--ns-gray-600);margin-top:3px}
.journey-path {background:#fff;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-lg);padding:20px 24px;margin-bottom:16px;box-shadow:var(--ns-shadow)}.journey-path-head {display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.journey-path-head h2 {font-size:17px;margin:0 0 3px}.journey-path-head p {font-size:12px;color:var(--ns-gray-600);margin:0}
.journey-steps {display:grid;grid-template-columns:repeat(5,1fr);position:relative}.journey-steps:before {content:"";position:absolute;left:8%;right:8%;top:15px;height:2px;background:var(--ns-gray-200)}.journey-step {position:relative;text-align:center;color:var(--ns-gray-500)}.journey-step i {position:relative;z-index:1;width:31px;height:31px;margin:0 auto 7px;display:grid;place-items:center;border:2px solid var(--ns-gray-300);border-radius:50%;background:#fff;font-style:normal;font-size:10px;font-weight:750}.journey-step b {display:block;font-size:12px}.journey-step.done i {border-color:var(--ns-teal-600);background:var(--ns-teal-100);color:var(--ns-teal-700)}.journey-step.current i {border-color:var(--ns-teal-700);background:var(--ns-teal-700);color:#fff;box-shadow:0 0 0 4px var(--ns-teal-100)}.journey-step.current b {color:var(--ns-teal-700)}

/* Lists, cards, overflow and empty states */
.task-row,.collection-row,.compact-appointment {min-height:60px;padding:12px 18px}.event-list,.scholarship-list,.faq-list {gap:10px}.event-row,.scholarship-row,.faq-row {padding:16px 18px}.event-row h3,.scholarship-row h3 {font-size:15px}.event-row p,.scholarship-row p,.faq-answer {font-size:12px}
.notification-list {max-height:520px}.announcement-list,.attention-list,.journey-grid,.version-list {max-height:420px;overflow-y:auto}.empty-state {min-height:250px;padding:40px 24px}.empty-state .empty-icon {width:52px;height:52px;border-radius:13px;font-size:19px;box-shadow:none}.empty-icon svg,.collection-icon svg,.metric-grid svg,.role-action-grid svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.empty-state h3 {font-size:17px;margin:14px 0 5px}.empty-state p {font-size:13px;max-width:460px;margin-bottom:16px}
.modern-empty {min-height:330px;padding:40px 24px}.empty-badge {width:70px;height:70px;border-radius:18px;box-shadow:0 0 0 7px rgba(243,228,233,.72)}.empty-badge svg {width:39px;height:39px}.modern-empty h2 {font-size:19px;margin-top:18px}.onboarding-steps {padding:18px 20px}.step-track article {min-height:104px;padding:13px 14px}
.university-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.university-card {border-radius:var(--ns-radius);box-shadow:0 2px 10px rgba(16,42,58,.035)}.uni-detail-body,.record-detail,.journey-grid {max-height:62vh;overflow-y:auto}.faq-question {min-height:28px}.settings-layout {grid-template-columns:210px minmax(0,1fr)}

/* Shared page-layout framework */
.ns-page-header {min-height:64px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.ns-page-heading {min-width:0}.ns-page-kicker {display:block;margin-bottom:5px}.ns-page-header h1 {font-size:28px;line-height:1.18;letter-spacing:-.55px}.ns-page-header p {max-width:780px;font-size:14px}.ns-page-action {flex:0 0 auto}
.ns-grid-12 {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.ns-col-3 {grid-column:span 3}.ns-col-4 {grid-column:span 4}.ns-col-6 {grid-column:span 6}.ns-col-8 {grid-column:span 8}.ns-col-12 {grid-column:1/-1}
.ns-panel {min-width:0;background:#fff;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-lg);box-shadow:var(--ns-shadow);overflow:hidden}.ns-panel-body {padding:20px 22px}.ns-panel-body>:first-child {margin-top:0}.ns-panel-body>:last-child {margin-bottom:0}
.ns-contained-list {max-height:360px;overflow-y:auto}.ns-detail-row {min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--ns-gray-100)}.ns-detail-row:last-child {border-bottom:0}.ns-detail-row b,.ns-detail-row span {display:block}.ns-detail-row b {font-size:13px;color:var(--ns-text)}.ns-detail-row span {margin-top:3px;font-size:11px;color:var(--ns-gray-600)}.ns-detail-row p {margin:6px 0 0;font-size:12px;line-height:1.55;color:var(--ns-gray-600)}

/* One consistent tab treatment */
.ns-tabs,.tabbar {display:flex;align-items:center;gap:22px;min-height:45px;margin:0 0 16px;padding:0 2px;border-bottom:1px solid var(--ns-gray-200);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.ns-tabs::-webkit-scrollbar,.tabbar::-webkit-scrollbar {display:none}.ns-tabs button,.tabbar button {position:relative;flex:0 0 auto;height:45px;padding:0 2px;border:0;background:transparent;color:var(--ns-gray-600);font-size:13px;font-weight:560;white-space:nowrap}.ns-tabs button:hover,.tabbar button:hover {color:var(--ns-navy-900);transform:none}.ns-tabs button.active,.tabbar button.active {color:var(--ns-teal-700);font-weight:680}.ns-tabs button.active:after,.tabbar button.active:after {content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ns-teal-700);border-radius:2px 2px 0 0}.ns-tabs button span,.tabbar button span {margin-left:4px;padding:2px 6px;border-radius:999px;background:var(--ns-gray-100);font-size:10px}

/* Detail-page shell */
.ns-breadcrumb {display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--ns-gray-500);font-size:12px}.ns-breadcrumb button {border:0;background:transparent;color:var(--ns-teal-700);font-size:12px;padding:0}.ns-breadcrumb b {max-width:360px;overflow:hidden;color:var(--ns-gray-600);font-weight:560;text-overflow:ellipsis;white-space:nowrap}
.ns-detail-header {display:flex;align-items:center;gap:16px;padding:20px 22px;margin-bottom:14px}.ns-detail-avatar {flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:11px;background:var(--ns-teal-100);color:var(--ns-teal-700);font-size:15px;font-weight:780}.ns-detail-avatar.university {background:var(--ns-blue-100);color:var(--ns-blue-700)}.ns-detail-identity {min-width:0;flex:1}.ns-detail-identity>span {font-size:10px;letter-spacing:1px;color:var(--ns-teal-700);font-weight:750}.ns-detail-identity h1 {margin:3px 0 3px;font-size:24px;letter-spacing:-.35px}.ns-detail-identity p {margin:0;color:var(--ns-gray-600);font-size:12px}.ns-detail-actions {display:flex;align-items:center;gap:8px}.ns-detail-tabs {margin-bottom:16px}.ns-detail-content>[data-detail-panel] {min-height:250px}.ns-detail-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ns-grid-wide {grid-column:1/-1}.ns-page-form {padding:20px 22px}.ns-page-form label {display:block;margin-bottom:16px;color:var(--app-text,#30444f);font-size:13px;font-weight:640}.ns-page-form input,.ns-page-form select,.ns-page-form textarea {display:block;width:100%;height:44px;margin-top:7px;padding:0 11px;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:14px;outline:0}.ns-page-form textarea {height:auto;min-height:96px;padding:11px;resize:vertical}.ns-page-form input:focus,.ns-page-form select:focus,.ns-page-form textarea:focus {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(33,132,136,.1)}.ns-key-values {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:6px 20px 20px}.ns-key-values>span {min-width:0;padding:14px;border-right:1px solid var(--ns-gray-100);color:var(--ns-gray-700);font-size:13px;overflow-wrap:anywhere}.ns-key-values>span:last-child {border-right:0}.ns-key-values b {display:block;margin-bottom:5px;color:var(--ns-gray-600);font-size:10px;letter-spacing:.55px;text-transform:uppercase}.ns-prose p {font-size:14px;line-height:1.7;color:var(--ns-gray-700)}
.uni-facts.ns-panel {margin-bottom:0;border-radius:var(--ns-radius-lg)}

/* Contextual right-side drawers */
.modal-shade:has(.drawer) {display:flex;align-items:stretch;justify-content:flex-end;padding:0;background:rgba(8,27,39,.48)}.modal.drawer {width:min(520px,calc(100vw - 32px));max-height:100vh;height:100vh;border-radius:12px 0 0 12px;box-shadow:-18px 0 50px rgba(8,27,39,.18);animation:ns-drawer-in .18s ease-out}.modal.drawer-wide {width:min(560px,calc(100vw - 32px))}.modal.drawer>header {position:sticky;top:0;z-index:4;background:#fff}.modal.drawer>.detail-actions,.modal.drawer>form .modal-actions {position:sticky;bottom:0;z-index:4;background:#fff}.modal.drawer .record-detail,.modal.drawer>.table-surface,.modal.drawer>form {flex:1;min-height:0;max-height:none;overflow-y:auto}.modal.drawer .table-surface table {min-width:640px}.drawer-toolbar {position:sticky;z-index:3;top:0;display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ns-gray-200);background:#fff}.drawer-toolbar .search-field {height:40px;display:flex;align-items:center;gap:8px;flex:1;padding:0 11px;border:1px solid var(--ns-gray-200);border-radius:7px;background:var(--ns-gray-50)}.drawer-toolbar input {width:100%;border:0;outline:0;background:transparent;font-size:13px}.drawer-toolbar>span {font-size:11px;color:var(--ns-gray-600);white-space:nowrap}@keyframes ns-drawer-in {from {transform:translateX(24px);opacity:.7}to {transform:none;opacity:1}}

/* Reusable table behavior */
.table-surface {max-height:min(640px,calc(100vh - 250px))}.table-surface th,.data-table th {height:42px}.table-surface td,.data-table td {height:48px;padding-top:10px;padding-bottom:10px}.sortable-column {cursor:pointer;user-select:none}.sortable-column:after {content:"↕";margin-left:6px;color:#9cabb2;font-size:10px}.sortable-column[aria-sort="ascending"]:after {content:"↑";color:var(--ns-teal-700)}.sortable-column[aria-sort="descending"]:after {content:"↓";color:var(--ns-teal-700)}
.event-list,.scholarship-list,.faq-list {max-height:min(640px,calc(100vh - 250px));overflow-y:auto}.event-list+.section-title {margin-top:24px}.muted-list {max-height:320px}
.embedded-toolbar {position:sticky;top:0;z-index:3;margin:0;border-width:0 0 1px;border-radius:0;box-shadow:none}.contained-table {max-height:430px;border:0;border-radius:0;box-shadow:none}

/* Compact empty and loading states */
.empty-state,.modern-empty {min-height:230px;padding:34px 22px}.empty-state .empty-icon {width:46px;height:46px;margin-bottom:12px}.empty-state h3,.modern-empty h2 {font-size:17px}.modern-empty .empty-badge {width:58px;height:58px;border-radius:15px;box-shadow:0 0 0 5px rgba(243,228,233,.7)}.modern-empty .empty-badge svg {width:32px;height:32px}.modern-empty h2 {margin-top:15px}.modern-empty>p {font-size:13px}.empty-actions {margin-top:18px}.empty-links {margin-top:14px}
.ns-skeleton {display:block;height:11px;border-radius:5px;background:linear-gradient(90deg,var(--app-border,#edf1f3) 25%,var(--app-page,#f7f9fa) 45%,var(--app-border,#edf1f3) 65%);background-size:220% 100%;animation:ns-shimmer 1.25s ease-in-out infinite}.ns-skeleton.short {width:92px}.ns-skeleton.title {width:260px;height:30px;margin:10px 0}.ns-skeleton.copy {width:min(520px,70%)}.ns-skeleton.value {width:55px;height:28px;margin:14px 0 9px}.ns-skeleton.heading {width:180px;height:18px;margin:20px}.ns-skeleton-header {padding:7px 0 24px}.ns-skeleton-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.ns-skeleton-card {min-height:112px;padding:18px;background:#fff;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-lg)}.ns-skeleton-panel {padding-bottom:8px}.ns-skeleton-row {height:50px;display:grid;grid-template-columns:1.2fr 1fr 100px;align-items:center;gap:24px;padding:0 20px;border-top:1px solid var(--ns-gray-100)}@keyframes ns-shimmer {to {background-position:-220% 0}}
.loading-state {min-height:310px;padding:28px;font-size:0;background:linear-gradient(90deg,var(--app-border,#edf1f3) 25%,var(--app-page,#f7f9fa) 45%,var(--app-border,#edf1f3) 65%);background-repeat:no-repeat;background-size:220% 12px;background-position:28px 34px;animation:ns-shimmer 1.25s ease-in-out infinite}.loading-state:before,.loading-state:after {content:"";display:block;border-radius:6px;background:var(--app-border,#edf1f3)}.loading-state:before {width:45%;height:28px;margin:38px 0 24px}.loading-state:after {width:100%;height:180px}
.toast {right:24px;bottom:22px;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;border-radius:8px;background:var(--ns-navy-900);box-shadow:0 10px 32px rgba(8,27,39,.2);font-size:13px;line-height:1.4}.toast.error {background:#8f3e3c}

@media(max-width:760px) {.ns-detail-header {align-items:flex-start;flex-wrap:wrap}.ns-detail-identity {flex-basis:calc(100% - 72px)}.ns-detail-actions {width:100%;justify-content:flex-end}.ns-detail-grid {grid-template-columns:1fr}.ns-grid-wide {grid-column:auto}.ns-key-values {grid-template-columns:1fr 1fr}.ns-key-values>span:nth-child(2) {border-right:0}.ns-page-header {align-items:flex-start;flex-direction:column}.ns-page-action {width:100%}.ns-skeleton-grid {grid-template-columns:1fr 1fr}.modal.drawer,.modal.drawer-wide {width:calc(100vw - 10px);border-radius:12px 0 0 12px}}
@media(max-width:480px) {.ns-detail-avatar {width:44px;height:44px;flex-basis:44px}.ns-detail-identity {flex-basis:calc(100% - 60px)}.ns-detail-identity h1 {font-size:21px}.ns-detail-actions {justify-content:stretch}.ns-detail-actions button {flex:1}.ns-key-values {grid-template-columns:1fr}.ns-key-values>span {border-right:0;border-bottom:1px solid var(--ns-gray-100)}.ns-key-values>span:last-child {border-bottom:0}.ns-skeleton-grid {grid-template-columns:1fr}.ns-skeleton-row {grid-template-columns:1fr 80px}.ns-skeleton-row span:nth-child(2) {display:none}.modal.drawer,.modal.drawer-wide {width:100vw;border-radius:0}}

@media(max-width:1180px) {.top-profile>span:nth-child(2),.top-profile>svg {display:none}.top-profile {padding-right:5px}.dashboard-kpis {grid-template-columns:repeat(2,1fr)}.university-grid {grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px) {.sidebar,.platform.sidebar-collapsed .sidebar {width:278px;transform:translateX(-100%)}.sidebar.open,.platform.sidebar-collapsed .sidebar.open {transform:none}.workspace,.platform.sidebar-collapsed .workspace {margin-left:0}.platform.sidebar-collapsed .side-head {justify-content:flex-start;padding:0 18px}.platform.sidebar-collapsed .sidebar-wordmark {gap:9px}.platform.sidebar-collapsed .sidebar-wordmark>span,.platform.sidebar-collapsed .sidebar nav label,.platform.sidebar-collapsed .sidebar nav a>b,.platform.sidebar-collapsed .side-utility>span {display:block}.platform.sidebar-collapsed .sidebar nav {padding:14px 9px 12px}.platform.sidebar-collapsed .sidebar nav section {margin-bottom:18px}.platform.sidebar-collapsed .sidebar nav a,.platform.sidebar-collapsed .side-utility {justify-content:flex-start;padding:0 11px}.platform.sidebar-collapsed .sidebar nav a.active:before {left:-9px}.collapse-sidebar {display:none}.menu-button {display:grid;place-items:center;border:0;background:transparent;margin-right:2px;color:var(--app-text,#3d5562)}.nav-close {display:block;margin-left:auto;border:0;background:transparent;color:#c8d5da;font-size:24px}.nav-shade {display:block;position:fixed;z-index:29;inset:0;background:rgba(8,27,39,.46);opacity:0;pointer-events:none;transition:opacity .18s ease}.nav-shade.show {opacity:1;pointer-events:auto}.top-context {min-width:0}.top-context small {display:none}.global-search {width:min(390px,45vw)}.page {padding:24px 18px 48px}.dashboard-grid {grid-template-columns:1fr}.step-track {grid-template-columns:1fr 1fr}.university-grid {grid-template-columns:1fr 1fr}}
@media(max-width:650px) {.topbar {height:64px;padding:0 14px;gap:10px}.top-context strong {font-size:14px}.global-search {display:none}.icon-button {width:38px;height:38px}.top-profile {height:38px}.top-profile>span:first-child {width:30px;height:30px}.page {padding:20px 13px 40px}.page-heading {align-items:flex-start;flex-direction:column;margin-bottom:18px}.page-heading h1 {font-size:25px}.page-heading p {font-size:13px}.page-heading .primary-button {width:100%}.dashboard-kpis {grid-template-columns:1fr 1fr;gap:8px}.dashboard-kpi {min-height:98px;padding:14px}.dashboard-kpi strong {font-size:23px}.dashboard-grid {gap:10px}.journey-path {padding:17px 12px}.journey-step b {font-size:10px}.workflow-toolbar,.list-toolbar {flex-wrap:wrap;align-items:stretch}.workflow-toolbar .search-field,.table-search {max-width:none;width:100%;flex-basis:100%}.workflow-toolbar>select,.workflow-toolbar>.outline-button,.workflow-toolbar>.primary-button {flex:1}.field-grid {grid-template-columns:1fr}.step-track,.university-grid {grid-template-columns:1fr}.empty-actions,.empty-links {width:100%;flex-direction:column}.empty-actions button {width:100%}.login-shell {display:block}.login-story {display:none}.login-panel {min-height:100vh}.login-box h2 {font-size:30px}}
@media(max-width:390px) {.dashboard-kpis {grid-template-columns:1fr}.journey-step b {font-size:9px}.top-context {max-width:105px}.top-context strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.ns-page-form input:focus,.ns-page-form select:focus,.ns-page-form textarea:focus,.input-wrap:focus-within {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(139,53,80,.1)}
.task-check.done {background:var(--ns-teal-700);border-color:var(--ns-teal-700)}

/* User and account management */
.account-summary {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.account-summary article {min-height:84px;padding:16px 18px;background:#fff;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius);box-shadow:var(--ns-shadow)}.account-summary span {display:block;color:var(--ns-gray-600);font-size:11px;font-weight:650}.account-summary b {display:block;margin-top:5px;color:var(--ns-navy-950);font-size:24px;line-height:1.15}.account-toolbar .search-field>span {width:18px;height:18px;color:var(--ns-gray-500)}.account-toolbar .search-field svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.account-table-surface {overflow:auto}.account-table {min-width:1080px!important}.account-row {cursor:pointer}.account-row:focus-visible {outline:3px solid rgba(139,53,80,.2);outline-offset:-3px}.account-role {background:var(--ns-teal-100);color:var(--ns-teal-700)}.account-sort {height:32px;display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}.account-sort:hover,.account-sort.selected {color:var(--ns-teal-700)}.account-sort span {font-size:11px}.account-menu {position:relative;margin-left:auto;width:max-content}.account-menu summary {width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;color:var(--ns-gray-600);font-size:15px;font-weight:700;cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker {display:none}.account-menu summary:hover,.account-menu[open] summary {border-color:var(--ns-gray-200);background:#fff}.account-menu>div {position:absolute;z-index:12;right:0;top:39px;width:174px;padding:5px;background:#fff;border:1px solid var(--ns-gray-200);border-radius:9px;box-shadow:0 14px 34px rgba(16,42,58,.14)}.account-menu>div button {width:100%;height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--ns-text);font-size:12px;text-align:left}.account-menu>div button:hover {background:var(--ns-gray-50)}.account-menu>div .danger-link {color:var(--ns-red-700)}.account-pagination {position:sticky;left:0;display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:min(100%,700px);padding:12px 16px;background:#fff;border-top:1px solid var(--ns-gray-200);color:var(--ns-gray-600);font-size:12px}.account-pagination>div {display:flex;align-items:center;gap:12px}.account-pagination button {min-height:36px}.account-empty {min-width:640px}.account-loading,.account-load-error {min-height:290px}.account-load-error {display:grid;place-content:center;justify-items:center;padding:40px;text-align:center}.account-load-error h2 {margin:0 0 6px;font-size:19px}.account-load-error p {margin:0 0 18px;color:var(--ns-gray-600)}
.account-drawer form {padding:20px 22px}.account-drawer form>label,.account-drawer [data-account-role-fields]>label,.account-drawer .field-grid label,.confirmation-modal form>label {display:block;margin-bottom:17px;color:var(--app-text,#30444f);font-size:13px;font-weight:640}.account-drawer input,.account-drawer select,.confirmation-modal input {display:block;width:100%;height:44px;margin-top:7px;padding:0 11px;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:14px;outline:0}.account-drawer input:focus,.account-drawer select:focus,.confirmation-modal input:focus {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(139,53,80,.1)}.account-role-picker {display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px;padding:0;border:0}.account-role-picker legend {grid-column:1/-1;margin-bottom:8px;color:var(--app-text,#30444f);font-size:13px;font-weight:640}.account-role-picker label {cursor:pointer}.account-role-picker input {position:absolute;width:1px;height:1px;opacity:0}.account-role-picker label>span {min-height:92px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:10px;align-content:center;padding:13px;border:1px solid var(--ns-gray-200);border-radius:9px;background:#fff}.account-role-picker svg {grid-row:1/3;width:22px;height:22px;fill:none;stroke:var(--ns-gray-600);stroke-width:1.8}.account-role-picker b {font-size:13px}.account-role-picker small {margin-top:2px;color:var(--ns-gray-600);font-size:10px;font-weight:450}.account-role-picker label:hover>span {border-color:var(--app-border,#b9c5ca)}.account-role-picker input:checked+span {border-color:var(--ns-teal-700);background:var(--ns-teal-50);box-shadow:0 0 0 2px rgba(139,53,80,.1)}.account-role-picker input:checked+span svg {stroke:var(--ns-teal-700)}.account-role-readonly {margin-bottom:20px;padding:12px 14px;border-radius:8px;background:var(--ns-gray-50);border:1px solid var(--ns-gray-200)}.account-role-readonly span,.account-role-readonly b,.account-role-readonly small {display:block}.account-role-readonly span {color:var(--ns-gray-600);font-size:10px;text-transform:uppercase;letter-spacing:.65px}.account-role-readonly b {margin:2px 0;text-transform:capitalize}.account-role-readonly small,.optional-label {color:var(--ns-gray-500);font-size:10px;font-weight:500}.has-error input,.has-error select {border-color:var(--ns-red-700)!important}.field-error {display:block;margin-top:5px;color:var(--ns-red-700);font-size:11px;font-weight:550}.field-help {display:block;margin-top:6px;color:var(--ns-gray-600);font-size:10px;font-weight:450;line-height:1.45}.account-detail-body {flex:1;padding:22px;overflow-y:auto}.account-identity {display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--ns-gray-100)}.account-identity>span:first-child {width:48px;height:48px;display:grid;place-items:center;border-radius:10px;background:var(--ns-teal-100);color:var(--ns-teal-700);font-size:13px;font-weight:800}.account-identity b,.account-identity small {display:block}.account-identity b {font-size:15px}.account-identity small {margin-top:3px;color:var(--ns-gray-600);font-size:11px}.account-detail-list {margin:8px 0 0}.account-detail-list>div {display:grid;grid-template-columns:1fr 1.4fr;gap:16px;padding:13px 2px;border-bottom:1px solid var(--ns-gray-100)}.account-detail-list dt {color:var(--ns-gray-600);font-size:12px}.account-detail-list dd {margin:0;color:var(--ns-text);font-size:12px;font-weight:620;text-align:right;text-transform:capitalize}.account-preservation-note {margin-top:20px;padding:14px 15px;border:1px solid #ead9de;border-radius:8px;background:var(--ns-teal-50)}.account-preservation-note b {font-size:12px}.account-preservation-note p {margin:4px 0 0;color:var(--ns-gray-700);font-size:11px;line-height:1.55}.account-detail-actions {gap:8px}.danger-button {min-height:40px;padding:0 14px;border:1px solid var(--ns-red-700);border-radius:var(--ns-radius-sm);background:var(--ns-red-700);color:#fff;font-size:13px;font-weight:680}.danger-button:hover {background:var(--app-error,#843432);border-color:var(--app-error,#843432)}.confirmation-modal {width:min(490px,100%)}.confirmation-modal form {padding:20px 24px}.confirmation-copy {padding:12px 14px;border-radius:8px;background:var(--ns-gray-50);color:var(--ns-gray-700);font-size:11px;line-height:1.55}.confirmation-body {display:flex;align-items:flex-start;gap:13px}.confirmation-body p {margin:3px 0;color:var(--ns-gray-700);font-size:13px;line-height:1.6}.confirmation-symbol {flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--ns-teal-100);color:var(--ns-teal-700);font-weight:800}.visually-hidden {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:760px) {.account-summary {grid-template-columns:1fr 1fr}.account-toolbar>select {flex:1}.account-pagination {align-items:flex-start;flex-direction:column}.account-role-picker {grid-template-columns:1fr}.account-identity {grid-template-columns:44px 1fr}.account-identity>.status-chip {grid-column:2}.account-detail-actions {flex-wrap:wrap}.account-detail-actions button {flex:1}.account-empty {min-width:0}}
@media(max-width:430px) {.account-summary {grid-template-columns:1fr 1fr;gap:8px}.account-summary article {min-height:74px;padding:13px}.account-summary b {font-size:21px}.account-pagination>div {width:100%;justify-content:space-between}.account-role-picker label>span {min-height:78px}}

/* Central student profile */
.student-profile-header {display:grid;grid-template-columns:56px minmax(0,1fr) minmax(190px,auto);align-items:center;gap:16px;padding:19px 21px;margin-bottom:14px}.student-profile-header .ns-detail-avatar {width:52px;height:52px}.student-profile-identity {min-width:0}.student-profile-identity>span,.student-profile-direction>span:first-child {display:block;color:var(--ns-teal-700);font-size:10px;font-weight:750;letter-spacing:.8px}.student-profile-identity h1 {margin:2px 0;font-size:23px;line-height:1.2;letter-spacing:-.35px}.student-profile-identity small {display:block;margin-bottom:3px;color:var(--ns-gray-500);font-size:10px}.student-profile-identity p {margin:2px 0;color:var(--ns-gray-600);font-size:12px}.student-profile-direction {min-width:190px;padding-left:18px;border-left:1px solid var(--ns-gray-100)}.student-profile-direction b {display:block;max-width:260px;margin:3px 0 8px;font-size:13px;overflow-wrap:anywhere}.profile-tabs {max-width:100%;overflow-x:auto;scrollbar-width:none}.profile-tabs::-webkit-scrollbar {display:none}.profile-tabs button {white-space:nowrap}.student-profile-content {min-height:330px}.profile-overview-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.profile-overview-grid>.ns-panel {margin-bottom:14px}.profile-readiness,.profile-history-panel {overflow:hidden}.profile-progress-heading {display:flex;align-items:baseline;gap:10px;padding:18px 20px 8px}.profile-progress-heading strong {font-size:28px;color:var(--ns-navy-950)}.profile-progress-heading span {color:var(--ns-gray-600);font-size:12px}.profile-progress {height:7px;margin:0 20px 18px;overflow:hidden;border-radius:99px;background:var(--ns-gray-100)}.profile-progress i {display:block;height:100%;border-radius:inherit;background:var(--ns-teal-700)}.profile-missing-list {display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:14px 20px;border-top:1px solid var(--ns-gray-100);background:var(--ns-gray-50)}.profile-missing-list>b {width:100%;margin-bottom:2px;color:var(--ns-gray-600);font-size:10px;text-transform:uppercase;letter-spacing:.55px}.profile-missing-list span {padding:4px 7px;border:1px solid var(--ns-gray-200);border-radius:5px;background:#fff;color:var(--ns-gray-700);font-size:10px}.profile-complete-copy {margin:0;padding:14px 20px;border-top:1px solid var(--ns-gray-100);color:var(--ns-green-700);font-size:12px}.profile-focus {padding:14px 20px;border-bottom:1px solid var(--ns-gray-100)}.profile-focus:last-child {border-bottom:0}.profile-focus>span {display:block;margin-bottom:4px;color:var(--ns-gray-600);font-size:10px;text-transform:uppercase;letter-spacing:.45px}.profile-focus>b {font-size:13px}.profile-tags {display:flex;align-items:center;flex-wrap:wrap;gap:6px}.profile-tags>span {display:inline-flex;min-height:25px;align-items:center;padding:3px 8px;border-radius:6px;background:var(--ns-teal-100);color:var(--ns-teal-700);font-size:10px;font-weight:650}.profile-empty-copy,.profile-tab-empty p {margin:3px 0 0;color:var(--ns-gray-500);font-size:11px}.profile-linked-summary {margin-bottom:14px}.profile-linked-summary>div:last-child {display:grid;grid-template-columns:repeat(5,1fr)}.profile-linked-summary>div:last-child span {padding:15px 18px;border-right:1px solid var(--ns-gray-100);color:var(--ns-gray-600);font-size:11px}.profile-linked-summary>div:last-child span:last-child {border-right:0}.profile-linked-summary>div:last-child b {display:block;margin-bottom:2px;color:var(--ns-navy-950);font-size:19px}.profile-definition {display:grid;grid-template-columns:1fr 1fr;margin:0;padding:4px 20px 18px}.profile-definition>div {min-width:0;padding:13px 12px;border-bottom:1px solid var(--ns-gray-100)}.profile-definition dt {margin-bottom:5px;color:var(--ns-gray-600);font-size:10px;font-weight:680;text-transform:uppercase;letter-spacing:.45px}.profile-definition dd {margin:0;color:var(--ns-text);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.profile-missing {color:var(--ns-gray-500);font-size:11px}.profile-permission-note {margin:0;padding:12px 20px;border-top:1px solid var(--ns-gray-100);background:var(--ns-gray-50);color:var(--ns-gray-600);font-size:11px}.profile-list-block {padding:15px 20px;border-bottom:1px solid var(--ns-gray-100)}.profile-list-block:last-child {border-bottom:0}.profile-list-block>b {display:block;margin-bottom:8px;font-size:12px}.profile-history {max-height:480px;margin:0;padding:8px 20px 18px;overflow-y:auto;list-style:none}.profile-history li {position:relative;display:flex;gap:12px;padding:12px 0}.profile-history li:not(:last-child):after {content:"";position:absolute;left:15px;top:42px;bottom:-4px;width:1px;background:var(--ns-gray-200)}.profile-history-icon {position:relative;z-index:1;flex:0 0 31px;width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--ns-gray-200);border-radius:50%;background:#fff;color:var(--ns-teal-700);font-weight:800}.profile-history-icon.account_deactivated {border-color:#edcac6;background:var(--ns-red-100);color:var(--ns-red-700)}.profile-history b,.profile-history small {display:block}.profile-history b {font-size:12px}.profile-history small {margin-top:3px;color:var(--ns-gray-500);font-size:10px}.profile-tab-empty {padding:36px 20px;text-align:center}.profile-tab-empty b {font-size:14px}.student-profile-drawer form {padding:20px 22px}.student-profile-drawer form>label,.student-profile-drawer .field-grid label,.profile-multi-label {display:block;margin-bottom:17px;color:var(--app-text,#30444f);font-size:13px;font-weight:640}.student-profile-drawer input,.student-profile-drawer select {display:block;width:100%;height:44px;margin-top:7px;padding:0 11px;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:14px;outline:0}.student-profile-drawer input:focus,.student-profile-drawer select:focus {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(139,53,80,.1)}.profile-multiselect {margin-top:7px;padding:8px;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff}.profile-multi-chips {display:flex;flex-wrap:wrap;gap:6px}.profile-multi-chips:empty {display:none}.profile-multi-chips button {min-height:28px;display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;padding:0 8px;border:0;border-radius:6px;background:var(--ns-teal-100);color:var(--ns-teal-700);font-size:11px;font-weight:650}.profile-multi-chips button span {font-size:15px;line-height:1}.profile-multi-entry {display:flex;align-items:center;gap:7px}.student-profile-drawer .profile-multi-entry input {height:36px;margin:0;border:0;background:var(--ns-gray-50)}.profile-multi-entry button {min-height:36px}.profile-form-note {margin:0 0 16px;padding:12px 14px;border:1px solid var(--ns-gray-200);border-radius:8px;background:var(--ns-gray-50);color:var(--ns-gray-600);font-size:11px}.profile-budget {margin:0 0 16px;padding:14px;border:1px solid var(--ns-gray-200);border-radius:8px}.profile-budget legend {padding:0 5px;color:var(--app-text,#30444f);font-size:12px;font-weight:680}.student-completion-cell {min-width:105px;display:flex;align-items:center;gap:8px}.student-completion-cell .mini-progress {width:66px}.student-completion-cell span {font-size:11px}.student-profile-table {min-width:980px!important}.student-profile-table tbody tr {cursor:pointer}.student-profile-toolbar {flex-wrap:wrap}.student-profile-toolbar .search-field>span {width:18px;height:18px}.student-profile-toolbar svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.status-chip.graduated {background:var(--ns-blue-100);color:var(--ns-blue-700)}

@media(max-width:850px) {.student-profile-header {grid-template-columns:52px 1fr}.student-profile-direction {grid-column:2;min-width:0;padding:10px 0 0;border:0;border-top:1px solid var(--ns-gray-100)}.profile-overview-grid {grid-template-columns:1fr}.profile-linked-summary>div:last-child {grid-template-columns:repeat(3,1fr)}.profile-linked-summary>div:last-child span:nth-child(3) {border-right:0}.profile-linked-summary>div:last-child span:nth-child(n+4) {border-top:1px solid var(--ns-gray-100)}.student-profile-toolbar>select {flex:1}}
@media(max-width:560px) {.student-profile-header {grid-template-columns:44px 1fr;padding:16px}.student-profile-header .ns-detail-avatar {width:44px;height:44px}.student-profile-identity h1 {font-size:20px}.profile-definition {grid-template-columns:1fr;padding-inline:14px}.profile-definition>div {padding-inline:6px}.profile-linked-summary>div:last-child {grid-template-columns:1fr 1fr}.profile-linked-summary>div:last-child span:nth-child(n) {border-top:0;border-right:1px solid var(--ns-gray-100);border-bottom:1px solid var(--ns-gray-100)}.profile-linked-summary>div:last-child span:nth-child(even) {border-right:0}.profile-linked-summary>div:last-child span:last-child {border-bottom:0}.profile-progress-heading,.profile-focus,.profile-list-block {padding-inline:15px}.profile-progress {margin-inline:15px}.profile-missing-list {padding-inline:15px}.profile-multi-entry {align-items:stretch;flex-direction:column}.profile-multi-entry button {width:100%}}

/* IB academic profile */
.academic-profile-root {display:grid;gap:14px}.academic-period-bar {min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius);background:#fff;box-shadow:var(--ns-shadow)}.academic-period-bar label {display:flex;align-items:center;gap:10px;color:var(--ns-gray-600);font-size:11px;font-weight:680}.academic-period-bar select {min-width:245px;height:40px;padding:0 34px 0 11px;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:13px;font-weight:620}.academic-period-bar>div {display:flex;align-items:center;justify-content:flex-end;gap:8px}.academic-programme {margin-right:4px;color:var(--ns-gray-600);font-size:11px}.academic-summary {display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:10px}.academic-summary article {min-height:94px;padding:15px 17px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius);background:#fff;box-shadow:var(--ns-shadow)}.academic-summary article>span:first-child {display:block;margin-bottom:8px;color:var(--ns-gray-600);font-size:10px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}.academic-summary article>strong {display:block;color:var(--ns-navy-950);font-size:23px;line-height:1.15}.academic-summary article>strong small {font-size:11px;font-weight:600;color:var(--ns-gray-500)}.academic-summary article>strong>.status-chip {display:inline-flex;font-size:10px}.academic-summary article>span:last-child,.academic-summary article>small {display:block;margin-top:5px;color:var(--ns-gray-500);font-size:10px}.status-chip.academic-complete {background:var(--ns-green-100);color:var(--ns-green-700)}.status-chip.academic-incomplete {background:var(--ns-gray-100);color:var(--ns-gray-700)}.status-chip.academic-awaiting_predicted_grades {background:var(--ns-amber-100);color:var(--ns-amber-700)}.academic-subjects-panel {overflow:hidden}.academic-table-wrap {max-width:100%;overflow-x:auto}.academic-subject-table {min-width:820px!important}.academic-subject-table td:first-child b,.academic-subject-table td:first-child small {display:block}.academic-subject-table td:first-child small {margin-top:3px;color:var(--ns-gray-500);font-size:10px}.academic-level {min-width:34px;height:24px;display:inline-grid;place-items:center;padding:0 7px;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.35px}.academic-level.hl {background:var(--ns-teal-100);color:var(--ns-teal-700)}.academic-level.sl {border:1px solid var(--ns-gray-200);background:var(--ns-gray-50);color:var(--ns-gray-700)}.academic-grade {width:30px;height:30px;display:inline-grid;place-items:center;border-radius:6px;background:var(--ns-gray-100);color:var(--ns-navy-950);font-size:13px;font-weight:750}.academic-grade.predicted {background:var(--ns-teal-100);color:var(--ns-teal-700)}.academic-grade.missing {background:transparent;border:1px dashed var(--ns-gray-300);color:var(--ns-gray-500);font-weight:550}.academic-comment {display:block;max-width:260px;color:var(--ns-gray-600);font-size:11px;line-height:1.45}.academic-remove {color:var(--ns-red-700)!important}.academic-empty {min-height:245px;display:grid;place-content:center;justify-items:center;padding:34px 20px;text-align:center}.academic-empty-mark {width:56px;height:56px;display:grid;place-items:center;margin-bottom:14px;border:1px solid var(--app-border,#e3cbd2);border-radius:15px;background:var(--ns-teal-50);box-shadow:0 0 0 7px rgba(243,228,233,.55);color:var(--ns-teal-700);font-size:14px;font-weight:800;letter-spacing:.6px}.academic-empty b {font-size:15px}.academic-empty p {max-width:430px;margin:5px 0 17px;color:var(--ns-gray-600);font-size:12px}.academic-empty-record {margin:0}.academic-lower-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px}.academic-lower-grid .ns-panel {margin:0;overflow:hidden}.academic-note-list {padding:0 19px 10px}.academic-note-list article {position:relative;padding:13px 34px 13px 0;border-bottom:1px solid var(--ns-gray-100)}.academic-note-list article:last-child {border-bottom:0}.academic-note-list p {margin:0;color:var(--ns-text);font-size:12px;line-height:1.55}.academic-note-list small {display:block;margin-top:5px;color:var(--ns-gray-500);font-size:10px}.academic-note-list button {position:absolute;right:0;top:11px;width:27px;height:27px;border:0;border-radius:5px;background:transparent;color:var(--ns-gray-500);font-size:17px}.academic-note-list button:hover {background:var(--ns-red-100);color:var(--ns-red-700)}.academic-compact-empty {padding:25px 20px;color:var(--ns-gray-500);font-size:11px;text-align:center}.academic-documents {overflow:hidden}.academic-document-list>div {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 19px;border-top:1px solid var(--ns-gray-100)}.academic-document-list b,.academic-document-list small {display:block}.academic-document-list b {font-size:12px}.academic-document-list small {margin-top:3px;color:var(--ns-gray-500);font-size:10px}.academic-permission {margin:0;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius)}.academic-drawer textarea {display:block;width:100%;margin-top:7px;padding:10px 11px;resize:vertical;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:13px;line-height:1.5;outline:0}.academic-drawer textarea:focus {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(139,53,80,.1)}.academic-form-section {margin:2px 0 17px;padding:15px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-sm);background:var(--ns-gray-50)}.academic-form-section h3 {margin:0 0 13px;color:var(--ns-navy-950);font-size:13px}.academic-current-check {margin:2px 0 18px!important}.academic-current-check input {width:17px!important;height:17px!important;display:inline-block!important;margin:0 8px 0 0!important;vertical-align:-3px}.academic-drawer .field-grid {align-items:start}

@media(max-width:980px) {.academic-summary {grid-template-columns:1fr 1fr}.academic-period-bar {align-items:flex-start;flex-direction:column}.academic-period-bar>div {width:100%;justify-content:flex-start;flex-wrap:wrap}.academic-programme {width:100%;margin:0}.academic-lower-grid {grid-template-columns:1fr}}
@media(max-width:600px) {.academic-period-bar {padding:13px}.academic-period-bar label {width:100%;align-items:flex-start;flex-direction:column;gap:6px}.academic-period-bar select {width:100%;min-width:0}.academic-period-bar>div .outline-button,.academic-period-bar>div .primary-button {flex:1}.academic-summary {grid-template-columns:1fr 1fr;gap:8px}.academic-summary article {min-height:88px;padding:13px}.academic-summary article>strong {font-size:20px}.academic-subjects-panel .surface-head {align-items:flex-start;flex-direction:column}.academic-subjects-panel .surface-head button {width:100%}.academic-empty {min-height:220px}.academic-document-list>div {align-items:flex-start}}

/* Test scores and external exams */
.test-scores-root {display:grid;gap:14px}.test-score-summary {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.test-score-summary article {min-height:94px;padding:15px 17px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius);background:#fff;box-shadow:var(--ns-shadow)}.test-score-summary article>span:first-child {display:block;margin-bottom:8px;color:var(--ns-gray-600);font-size:10px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}.test-score-summary strong {display:block;color:var(--ns-navy-950);font-size:22px;line-height:1.15}.test-score-summary span:last-child,.test-score-summary small {display:block;margin-top:5px;color:var(--ns-gray-500);font-size:10px;line-height:1.4}.test-results-panel {overflow:hidden}.test-score-toolbar {display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--ns-gray-100);border-bottom:1px solid var(--ns-gray-100);background:var(--ns-gray-50)}.test-score-toolbar select {height:36px;min-width:160px;padding:0 30px 0 10px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:11px}.test-score-toolbar>span {margin-left:auto;color:var(--ns-gray-600);font-size:10px}.test-table-wrap {max-width:100%;overflow-x:auto}.test-score-table {min-width:920px!important}.test-score-table tbody tr {cursor:pointer}.test-score-table td:first-child b,.test-score-table td:first-child small {display:block}.test-score-table td:first-child small {margin-top:3px;color:var(--ns-gray-500);font-size:10px}.test-overall-score {font-size:14px}.test-validity {display:block;color:var(--ns-text);font-size:11px}.test-validity.neutral {color:var(--ns-gray-500)}.test-validity.warning {color:var(--ns-amber-700);font-weight:700}.test-validity.expired {color:var(--ns-red-700);font-weight:700}.test-validity+small {display:block;margin-top:3px;color:var(--ns-gray-500);font-size:9px}.status-chip.test-pending_review {background:var(--ns-amber-100);color:var(--ns-amber-700)}.status-chip.test-verified {background:var(--ns-green-100);color:var(--ns-green-700)}.status-chip.test-needs_correction,.status-chip.test-expired {background:var(--ns-red-100);color:var(--ns-red-700)}.test-evidence {color:var(--ns-gray-500);font-size:10px}.test-evidence.linked {color:var(--ns-green-700);font-weight:680}.test-empty {min-height:290px;display:grid;place-content:center;justify-items:center;padding:38px 20px;text-align:center}.test-empty-mark {width:58px;height:58px;display:grid;place-items:center;margin-bottom:15px;border:1px solid var(--app-border,#e3cbd2);border-radius:15px;background:var(--ns-teal-50);box-shadow:0 0 0 7px rgba(243,228,233,.55);color:var(--ns-teal-700);font-size:13px;font-weight:800;letter-spacing:.5px}.test-empty b {font-size:15px}.test-empty p {max-width:440px;margin:5px 0 18px;color:var(--ns-gray-600);font-size:12px}.test-detail-drawer {width:min(560px,calc(100vw - 32px))!important}.test-detail-body {flex:1;min-height:0;padding:0 22px 24px;overflow-y:auto}.test-detail-body>section {padding:18px 0;border-bottom:1px solid var(--ns-gray-100)}.test-detail-body h3 {margin:0 0 12px;color:var(--ns-navy-950);font-size:13px}.test-detail-score>span {display:block;color:var(--ns-gray-600);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.test-detail-score>strong {display:block;margin-top:3px;color:var(--ns-navy-950);font-size:31px}.test-detail-score>small {display:block;margin-top:3px;color:var(--ns-green-700);font-size:10px}.test-component-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.test-component-grid>div {padding:11px 9px;border:1px solid var(--ns-gray-200);border-radius:7px;background:var(--ns-gray-50)}.test-component-grid span,.test-component-grid strong {display:block}.test-component-grid span {color:var(--ns-gray-600);font-size:9px}.test-component-grid strong {margin-top:3px;font-size:16px}.test-detail-meta {display:grid;grid-template-columns:1fr 1fr;margin:0;padding:8px 0}.test-detail-meta>div {padding:11px 0;border-bottom:1px solid var(--ns-gray-100)}.test-detail-meta dt {margin-bottom:4px;color:var(--ns-gray-500);font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.test-detail-meta dd {margin:0;color:var(--ns-text);font-size:11px}.test-note-section>div:first-child {display:flex;align-items:center;justify-content:space-between}.test-note-section article {position:relative;padding:12px 32px 12px 0;border-top:1px solid var(--ns-gray-100)}.test-note-section article p {margin:0;font-size:11px;line-height:1.55}.test-note-section article small {display:block;margin-top:5px;color:var(--ns-gray-500);font-size:9px}.test-note-section article>button {position:absolute;right:0;top:9px;width:27px;height:27px;border:0;border-radius:5px;background:transparent;color:var(--ns-gray-500);font-size:17px}.test-note-section article>button:hover {background:var(--ns-red-100);color:var(--ns-red-700)}.test-no-notes {margin:0;color:var(--ns-gray-500);font-size:11px}.test-detail-actions {flex-wrap:wrap}.test-remove-action {margin-left:auto;color:var(--ns-red-700)!important}.test-form-drawer textarea {display:block;width:100%;margin-top:7px;padding:10px 11px;resize:vertical;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:13px;line-height:1.5;outline:0}.test-form-drawer textarea:focus {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(139,53,80,.1)}.test-component-fields {margin:0 0 17px;padding:14px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-sm);background:var(--ns-gray-50)}.test-component-fields legend {padding:0 5px;color:var(--app-text,#30444f);font-size:12px;font-weight:680}.test-component-fields legend span {color:var(--ns-gray-500);font-size:10px;font-weight:500}.test-component-fields .field-grid label {margin-bottom:8px}.test-upload-modal form {padding:20px 24px}.test-upload-modal form>label {display:block;color:var(--app-text,#30444f);font-size:13px;font-weight:640}.test-upload-modal input[type=file] {display:block;width:100%;margin-top:8px;padding:10px;border:1px dashed var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:var(--ns-gray-50);font-size:11px}

@media(max-width:980px) {.test-score-summary {grid-template-columns:1fr 1fr}}
@media(max-width:600px) {.test-score-summary {grid-template-columns:1fr 1fr;gap:8px}.test-score-summary article {min-height:88px;padding:13px}.test-score-summary strong {font-size:20px}.test-results-panel .surface-head {align-items:flex-start;flex-direction:column}.test-results-panel .surface-head button {width:100%}.test-score-toolbar {align-items:stretch;flex-wrap:wrap}.test-score-toolbar select {flex:1;min-width:0}.test-score-toolbar>span {width:100%;margin:2px 0 0}.test-detail-drawer {width:100vw!important}.test-component-grid {grid-template-columns:1fr 1fr}.test-detail-meta {grid-template-columns:1fr}.test-detail-actions button,.test-detail-actions a {flex:1}.test-remove-action {width:100%;margin-left:0}.test-empty {min-height:245px}}

/* Document management and requests */
.document-summary {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.document-summary>button {min-height:108px;padding:17px 18px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius);background:#fff;box-shadow:var(--ns-shadow);color:var(--ns-text);text-align:left}.document-summary>button:hover {border-color:var(--app-border,#d8bdc5);background:var(--ns-teal-50);transform:translateY(-1px)}.document-summary>button>span,.document-summary>button>strong,.document-summary>button>small {display:block}.document-summary>button>span {color:var(--ns-gray-600);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.document-summary>button>strong {margin-top:6px;color:var(--ns-navy-950);font-size:25px;line-height:1}.document-summary>button>small {margin-top:7px;color:var(--ns-gray-500);font-size:11px}.document-summary.recipient {grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px}.document-workspace {overflow:hidden}.document-actions {min-height:62px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 16px;border-bottom:1px solid var(--ns-gray-100)}.document-actions>div {display:flex;gap:8px}.document-actions .document-search {margin-left:auto}.document-toolbar {display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--ns-gray-100);background:var(--ns-gray-50);overflow-x:auto}.document-toolbar select {flex:0 0 auto;min-width:128px;height:40px;padding:0 30px 0 10px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:12px}.document-search {width:min(330px,100%);height:40px;flex:1 0 240px}.document-search svg {width:18px;height:18px;fill:none;stroke:var(--ns-gray-500);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.document-archive-toggle {height:40px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-gray-700);font-size:11px;font-weight:620;white-space:nowrap}.document-archive-toggle input {accent-color:var(--ns-teal-700)}.document-table-wrap {max-width:100%;overflow:auto}.document-table {min-width:980px!important}.recipient-table {min-width:820px!important}.document-table tbody tr {cursor:pointer}.document-title-cell {min-width:210px;display:flex;align-items:center;gap:11px}.document-title-cell>span {flex:0 0 34px;width:34px;height:38px;display:grid;place-items:center;border:1px solid var(--app-border,#ead7dd);border-radius:8px;background:var(--ns-teal-50);color:var(--ns-teal-700)}.document-title-cell svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.document-title-cell small {display:block;margin-top:3px;color:var(--ns-gray-500);font-size:10px}.document-deadline {display:block;font-size:11px;white-space:nowrap}.document-deadline small {display:block;margin-top:3px;color:var(--ns-gray-500);font-size:9px}.document-deadline.overdue {color:var(--ns-red-700);font-weight:700}.document-deadline.overdue small {color:var(--ns-red-700)}.document-visibility {display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border:1px solid var(--ns-gray-200);border-radius:5px;background:var(--ns-gray-50);color:var(--ns-gray-600);font-size:10px;font-weight:620;white-space:nowrap}.status-chip.document-requested,.status-chip.document-in_progress {background:var(--ns-blue-100);color:var(--ns-blue-700)}.status-chip.document-submitted,.status-chip.document-under_review {background:var(--ns-amber-100);color:var(--ns-amber-700)}.status-chip.document-needs_revision,.status-chip.document-overdue,.status-chip.document-rejected {background:var(--ns-red-100);color:var(--ns-red-700)}.status-chip.document-approved,.status-chip.document-completed {background:var(--ns-green-100);color:var(--ns-green-700)}.status-chip.document-archived {background:var(--ns-gray-100);color:var(--ns-gray-700)}.document-pagination {min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 16px;border-top:1px solid var(--ns-gray-100);color:var(--ns-gray-600);font-size:11px}.document-pagination>div {display:flex;align-items:center;gap:10px}.document-pagination b {font-size:11px;font-weight:620}.document-pagination .outline-button {min-height:35px}.document-empty {min-height:350px;display:grid;place-content:center;justify-items:center;padding:42px 22px;text-align:center}.document-empty-mark {width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;border:1px solid var(--app-border,#e3cbd2);border-radius:15px;background:var(--ns-teal-50);box-shadow:0 0 0 7px rgba(243,228,233,.55);color:var(--ns-teal-700)}.document-empty-mark svg {width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.document-empty h2 {margin:0;color:var(--ns-navy-950);font-size:18px}.document-empty p {max-width:480px;margin:7px 0 20px;color:var(--ns-gray-600);font-size:13px;line-height:1.55}.document-empty>div:last-child {display:flex;gap:8px}.document-form-drawer {width:min(570px,calc(100vw - 32px))!important}.document-form-drawer form {flex:1;min-height:0;padding:20px 24px 24px;overflow-y:auto}.document-form-drawer form>label,.document-form-drawer .field-grid>label {display:block;margin-bottom:17px;color:var(--app-text,#30444f);font-size:13px;font-weight:650}.document-form-drawer input:not([type=checkbox]),.document-form-drawer select,.document-form-drawer textarea {display:block;width:100%;margin-top:7px;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:13px;outline:0}.document-form-drawer input:not([type=checkbox]),.document-form-drawer select {height:44px;padding:0 11px}.document-form-drawer textarea {padding:10px 11px;line-height:1.5;resize:vertical}.document-form-drawer input:focus,.document-form-drawer select:focus,.document-form-drawer textarea:focus {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(139,53,80,.1)}.document-mode-switch {display:flex;gap:4px;margin:0 0 18px;padding:4px;border-radius:8px;background:var(--ns-gray-100)}.document-mode-switch button {flex:1;height:36px;border:0;border-radius:6px;background:transparent;color:var(--ns-gray-600);font-size:11px;font-weight:660}.document-mode-switch button.active {background:#fff;color:var(--ns-navy-950);box-shadow:0 1px 4px rgba(16,42,58,.09)}.document-upload-field {padding:14px;border:1px dashed var(--app-border,#b9c5ca);border-radius:9px;background:var(--ns-gray-50)}.document-upload-field>span {display:block;color:var(--ns-navy-950);font-size:12px}.document-upload-field input[type=file] {height:auto!important;margin:8px 0!important;padding:8px!important;border:1px solid var(--ns-gray-200)!important;background:#fff}.document-upload-field small {display:block;color:var(--ns-gray-500);font-size:10px;font-weight:500}.document-student-picker {max-height:245px;margin:0 0 18px;border:1px solid var(--ns-gray-200);border-radius:8px;overflow:auto}.document-student-picker>div {position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--ns-gray-200);background:var(--ns-gray-50);font-size:12px}.document-student-picker>label {display:flex!important;align-items:center;gap:10px;margin:0!important;padding:10px 12px;border-bottom:1px solid var(--ns-gray-100);cursor:pointer}.document-student-picker>label:last-child {border-bottom:0}.document-student-picker>label:hover {background:var(--ns-teal-50)}.document-student-picker input {width:17px;height:17px;accent-color:var(--ns-teal-700)}.document-student-picker b,.document-student-picker small {display:block}.document-student-picker b {font-size:12px}.document-student-picker small {margin-top:2px;color:var(--ns-gray-500);font-size:10px}.document-detail-drawer {width:min(680px,calc(100vw - 32px))!important}.document-detail-body {flex:1;min-height:0;padding:0 24px 24px;overflow-y:auto}.document-detail-body>section {padding:19px 0;border-bottom:1px solid var(--ns-gray-100)}.document-detail-body h3 {margin:0 0 10px;color:var(--ns-navy-950);font-size:13px}.document-detail-body p {margin:0;color:var(--ns-gray-700);font-size:12px;line-height:1.6}.document-detail-summary dl {display:grid;grid-template-columns:1fr 1fr;margin:0}.document-detail-summary dl>div {padding:10px 8px 10px 0}.document-detail-summary dt {margin-bottom:4px;color:var(--ns-gray-500);font-size:9px;font-weight:750;letter-spacing:.5px;text-transform:uppercase}.document-detail-summary dd {margin:0;color:var(--ns-text);font-size:11px}.document-priority {display:inline-flex;padding:3px 7px;border-radius:5px;background:var(--ns-gray-100);color:var(--ns-gray-700);font-size:9px;font-weight:750;text-transform:uppercase}.document-priority.high,.document-priority.urgent {background:var(--ns-red-100);color:var(--ns-red-700)}.document-feedback {margin-top:14px;padding:15px!important;border:1px solid var(--app-border,#ead7dd)!important;border-radius:8px;background:var(--ns-teal-50)}.document-section-head {display:flex;align-items:center;justify-content:space-between;gap:12px}.document-section-head h3 {margin-bottom:3px}.document-section-head>div:last-child {display:flex;gap:7px}.document-detail-body iframe,.document-detail-body img {width:100%;max-height:520px;margin-top:14px;border:1px solid var(--ns-gray-200);border-radius:8px;background:#fff}.document-detail-body iframe {height:480px}.document-detail-body img {object-fit:contain}.document-version-list article {display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:start;gap:10px;padding:12px 0;border-top:1px solid var(--ns-gray-100)}.document-version-list article>span:first-child {width:32px;height:28px;display:grid;place-items:center;border-radius:6px;background:var(--ns-teal-100);color:var(--ns-teal-700);font-size:10px;font-weight:800}.document-version-list b,.document-version-list small {display:block}.document-version-list b {font-size:11px}.document-version-list small {margin-top:3px;color:var(--ns-gray-500);font-size:9px}.document-version-list p {margin-top:5px;font-size:10px}.document-version-list .review-note {color:var(--ns-teal-700)}.document-no-history {padding:15px 0;color:var(--ns-gray-500)!important}.document-audit {margin:0;padding:0;list-style:none}.document-audit li {position:relative;display:grid;grid-template-columns:13px 1fr;gap:9px;padding:0 0 14px}.document-audit li:not(:last-child):before {content:"";position:absolute;left:5px;top:10px;bottom:0;width:1px;background:var(--ns-gray-200)}.document-audit i {z-index:1;width:11px;height:11px;margin-top:3px;border:3px solid #fff;border-radius:50%;background:var(--ns-teal-600);box-shadow:0 0 0 1px var(--app-border,#d9b8c2)}.document-audit b {display:block;font-size:11px;text-transform:capitalize}.document-audit p {margin-top:2px;font-size:10px}.document-audit small {display:block;margin-top:3px;color:var(--ns-gray-500);font-size:9px}.document-detail-actions {flex-wrap:wrap}.document-detail-actions .danger-link {margin-left:auto}.document-profile-panel {overflow:hidden}.student-documents-root {display:grid;gap:14px}.document-attention-strip {width:100%;min-height:66px;display:flex;align-items:center;gap:13px;margin:0 0 14px;padding:11px 15px;border:1px solid var(--app-border,#e3cbd2);border-radius:var(--ns-radius);background:var(--ns-teal-50);color:var(--ns-text);text-align:left}.document-attention-strip>span {width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#fff;color:var(--ns-teal-700)}.document-attention-strip svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.document-attention-strip b,.document-attention-strip small {display:block}.document-attention-strip b {font-size:12px}.document-attention-strip small {margin-top:2px;color:var(--ns-gray-600);font-size:10px}.document-attention-strip>strong {margin-left:auto;color:var(--ns-teal-700);font-size:11px}.document-attention-strip:hover {border-color:var(--app-border,#cfa9b5);background:var(--app-primary-soft,#f7ebef)}

@media(max-width:1000px) {.document-summary {grid-template-columns:1fr 1fr}.document-toolbar {flex-wrap:nowrap}.document-actions {align-items:flex-start;flex-direction:column}.document-actions .document-search {width:100%}}
@media(max-width:600px) {.document-summary,.document-summary.recipient {grid-template-columns:1fr 1fr;gap:8px}.document-summary>button {min-height:94px;padding:13px}.document-summary>button>strong {font-size:22px}.document-summary>button>small {font-size:9px}.document-actions>div {width:100%}.document-actions>div button {flex:1}.document-toolbar {padding:9px 12px}.document-search {flex-basis:220px}.document-empty {min-height:290px}.document-empty>div:last-child {width:100%;flex-direction:column}.document-detail-drawer,.document-form-drawer {width:100vw!important}.document-detail-summary dl {grid-template-columns:1fr}.document-section-head {align-items:flex-start;flex-direction:column}.document-version-list article {grid-template-columns:32px 1fr}.document-version-list article>.status-chip,.document-version-list article>a {grid-column:2}.document-detail-actions button,.document-detail-actions a {flex:1}.document-detail-actions .danger-link {width:100%;margin-left:0}.document-attention-strip>strong {display:none}}

@media(prefers-reduced-motion:reduce) {*,*:before,*:after {scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Tasks and action requests */
.task-summary {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.task-summary>button {min-height:108px;padding:17px 18px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius);background:#fff;box-shadow:var(--ns-shadow);color:var(--ns-text);text-align:left}.task-summary>button:hover,.task-summary>button[aria-pressed=true] {border-color:#d6b6c0;background:var(--ns-teal-50);transform:translateY(-1px)}.task-summary>button>span,.task-summary>button>strong,.task-summary>button>small {display:block}.task-summary>button>span {color:var(--ns-gray-600);font-size:12px;font-weight:720;text-transform:uppercase;letter-spacing:.45px}.task-summary>button>strong {margin-top:6px;color:var(--ns-navy-950);font-size:26px;line-height:1}.task-summary>button>small {margin-top:8px;color:var(--ns-gray-500);font-size:11px;line-height:1.4}.task-workspace {overflow:hidden}.task-actions {min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--ns-gray-100)}.task-actions>div {display:flex;gap:8px}.task-actions>.task-search {margin-left:auto}.task-toolbar {display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--ns-gray-100);background:var(--ns-gray-50);overflow-x:auto}.task-toolbar select {flex:0 0 auto;min-width:130px;height:40px;padding:0 30px 0 10px;border:1px solid var(--ns-gray-200);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:12px}.task-search {width:min(330px,100%);height:40px;flex:1 0 245px}.task-search svg {width:18px;height:18px;fill:none;stroke:var(--ns-gray-500);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.task-table-wrap {max-width:100%;overflow:auto}.task-table {min-width:930px!important}.task-table.recipient {min-width:760px!important}.task-table.profile {min-width:680px!important}.task-table tbody tr {cursor:pointer}.task-title-cell {min-width:245px;display:flex;align-items:center;gap:11px}.task-title-cell>span {flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--app-border,#ead7dd);border-radius:9px;background:var(--ns-teal-50);color:var(--ns-teal-700)}.task-title-cell svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.task-title-cell small {display:block;margin-top:3px;color:var(--ns-gray-500);font-size:10px}.task-priority {display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:5px;background:var(--ns-gray-100);color:var(--ns-gray-700);font-size:10px;font-weight:750;text-transform:capitalize}.task-priority.high {background:var(--ns-amber-100);color:var(--ns-amber-700)}.task-priority.urgent {background:var(--ns-red-100);color:var(--ns-red-700)}.task-priority.low {background:var(--ns-blue-100);color:var(--ns-blue-700)}.task-deadline {display:block;color:var(--ns-text);font-size:11px;white-space:nowrap}.task-deadline small {display:block;margin-top:3px;color:var(--ns-gray-500);font-size:9px}.task-deadline.overdue,.task-deadline.overdue small {color:var(--ns-red-700);font-weight:700}.status-chip.task-not_started {background:var(--ns-gray-100);color:var(--ns-gray-700)}.status-chip.task-in_progress {background:var(--ns-blue-100);color:var(--ns-blue-700)}.status-chip.task-submitted {background:var(--ns-amber-100);color:var(--ns-amber-700)}.status-chip.task-needs_revision,.status-chip.task-overdue {background:var(--ns-red-100);color:var(--ns-red-700)}.status-chip.task-completed {background:var(--ns-green-100);color:var(--ns-green-700)}.status-chip.task-cancelled {background:var(--ns-gray-100);color:var(--ns-gray-500)}.task-pagination {min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 16px;border-top:1px solid var(--ns-gray-100);color:var(--ns-gray-600);font-size:11px}.task-pagination>div {display:flex;align-items:center;gap:10px}.task-pagination b {font-size:11px;font-weight:620}.task-empty {min-height:340px;display:grid;place-content:center;justify-items:center;padding:42px 22px;text-align:center}.task-empty-mark {width:60px;height:60px;display:grid;place-items:center;margin-bottom:18px;border:1px solid var(--app-border,#e3cbd2);border-radius:15px;background:var(--ns-teal-50);box-shadow:0 0 0 7px rgba(243,228,233,.55);color:var(--ns-teal-700)}.task-empty-mark svg {width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7}.task-empty h2 {margin:0;font-size:18px}.task-empty p {max-width:470px;margin:7px 0 20px;color:var(--ns-gray-600);font-size:13px}.task-form-drawer {width:min(590px,calc(100vw - 32px))!important}.task-form-drawer form {flex:1;min-height:0;padding:20px 24px 24px;overflow-y:auto}.task-form-drawer form>label,.task-form-drawer .field-grid>label {display:block;margin-bottom:17px;color:var(--app-text,#30444f);font-size:13px;font-weight:650}.task-form-drawer input:not([type=checkbox]),.task-form-drawer select,.task-form-drawer textarea {display:block;width:100%;margin-top:7px;border:1px solid var(--ns-gray-300);border-radius:var(--ns-radius-sm);background:#fff;color:var(--ns-text);font-size:13px;outline:0}.task-form-drawer input:not([type=checkbox]),.task-form-drawer select {height:44px;padding:0 11px}.task-form-drawer textarea {padding:10px 11px;line-height:1.55;resize:vertical}.task-form-drawer input:focus,.task-form-drawer select:focus,.task-form-drawer textarea:focus,.task-comment-form textarea:focus {border-color:var(--ns-teal-600);box-shadow:0 0 0 3px rgba(139,53,80,.1)}.task-bulk-tools {display:flex;align-items:center;gap:9px;margin-bottom:9px}.task-bulk-tools select {width:auto!important;min-width:150px;margin:0!important}.task-student-picker {max-height:240px;margin-bottom:18px;border:1px solid var(--ns-gray-200);border-radius:8px;overflow:auto}.task-student-picker>label {display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--ns-gray-100);cursor:pointer}.task-student-picker>label:hover {background:var(--ns-teal-50)}.task-student-picker>label:last-child {border-bottom:0}.task-student-picker input {width:17px;height:17px;accent-color:var(--ns-teal-700)}.task-student-picker b,.task-student-picker small {display:block}.task-student-picker b {font-size:12px}.task-student-picker small {margin-top:2px;color:var(--ns-gray-500);font-size:10px}.task-template-drawer {width:min(650px,calc(100vw - 32px))!important}.task-template-body {flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.task-template-heading {display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.task-template-heading p {margin:0;color:var(--ns-gray-600);font-size:12px}.task-template-list article {display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:14px 0;border-top:1px solid var(--ns-gray-100)}.task-template-list article:first-child {border-top:0}.task-template-list b,.task-template-list span,.task-template-list small {display:block}.task-template-list b {font-size:13px}.task-template-list span {margin-top:3px;color:var(--ns-gray-700);font-size:12px}.task-template-list small {margin-top:5px;color:var(--ns-gray-500);font-size:10px}.task-template-empty {padding:54px 20px;text-align:center}.task-template-empty p {color:var(--ns-gray-600)}.task-detail-drawer {width:min(690px,calc(100vw - 32px))!important}.task-detail-body {flex:1;min-height:0;padding:0 24px 24px;overflow-y:auto}.task-detail-body>section {padding:19px 0;border-bottom:1px solid var(--ns-gray-100)}.task-detail-body h3 {margin:0 0 11px;color:var(--ns-navy-950);font-size:13px}.task-detail-body p {margin:0;color:var(--ns-gray-700);font-size:12px;line-height:1.62}.task-detail-summary dl {display:grid;grid-template-columns:1fr 1fr;margin:0}.task-detail-summary dl>div {padding:10px 8px 10px 0}.task-detail-summary dt {margin-bottom:4px;color:var(--ns-gray-500);font-size:9px;font-weight:750;letter-spacing:.5px;text-transform:uppercase}.task-detail-summary dd {margin:0;color:var(--ns-text);font-size:11px}.task-feedback,.task-submit-note {padding:15px!important;border:1px solid var(--app-border,#ead7dd)!important;border-radius:8px;background:var(--ns-teal-50)}.task-related {display:flex;flex-wrap:wrap;gap:8px}.task-related>span {min-width:155px;padding:10px;border:1px solid var(--ns-gray-200);border-radius:7px;background:var(--ns-gray-50);font-size:11px}.task-related b {display:block;margin-bottom:3px;color:var(--ns-gray-500);font-size:9px;text-transform:uppercase}.task-section-head {display:flex;align-items:center;justify-content:space-between}.task-section-head h3 {margin:0}.task-attachments article {display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--ns-gray-100)}.task-attachments article>span {width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:var(--ns-teal-50);color:var(--ns-teal-700)}.task-attachments svg {width:18px;height:18px;fill:none;stroke:currentColor}.task-attachments b,.task-attachments small {display:block}.task-attachments b {font-size:11px}.task-attachments small {margin-top:3px;color:var(--ns-gray-500);font-size:9px}.task-evidence-link {display:inline-block;margin-top:8px;color:var(--ns-teal-700);font-size:12px;font-weight:680}.task-comments article {padding:12px 0;border-top:1px solid var(--ns-gray-100)}.task-comments article>div {display:flex;align-items:center;justify-content:space-between;gap:12px}.task-comments b {font-size:11px}.task-comments span {color:var(--ns-gray-500);font-size:9px}.task-comments article p {margin-top:5px}.task-comment-form {display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px;margin-top:12px}.task-comment-form textarea {width:100%;padding:9px 10px;border:1px solid var(--ns-gray-300);border-radius:7px;resize:vertical;font:inherit;outline:0}.task-history {margin:0;padding:0;list-style:none}.task-history li {position:relative;display:grid;grid-template-columns:13px 1fr;gap:9px;padding:0 0 14px}.task-history li:not(:last-child):before {content:"";position:absolute;left:5px;top:10px;bottom:0;width:1px;background:var(--ns-gray-200)}.task-history i {z-index:1;width:11px;height:11px;margin-top:3px;border:3px solid #fff;border-radius:50%;background:var(--ns-teal-600);box-shadow:0 0 0 1px var(--app-border,#d9b8c2)}.task-history b {display:block;font-size:11px;text-transform:capitalize}.task-history p {margin-top:2px}.task-history small {display:block;margin-top:3px;color:var(--ns-gray-500);font-size:9px}.task-detail-actions {flex-wrap:wrap}.task-detail-actions .danger-link {margin-left:auto}.task-profile-panel {overflow:hidden}.task-dashboard-strip {width:100%;min-height:66px;display:flex;align-items:center;gap:13px;margin:0 0 16px;padding:12px 15px;border:1px solid var(--app-border,#e3cbd2);border-radius:var(--ns-radius);background:var(--ns-teal-50);color:var(--ns-text);text-align:left}.task-dashboard-strip>span {width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#fff;color:var(--ns-teal-700)}.task-dashboard-strip svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.task-dashboard-strip b,.task-dashboard-strip small {display:block}.task-dashboard-strip b {font-size:13px}.task-dashboard-strip small {margin-top:2px;color:var(--ns-gray-600);font-size:11px}.task-dashboard-strip>strong {margin-left:auto;color:var(--ns-teal-700);font-size:12px}.task-dashboard-strip:hover {border-color:var(--app-border,#cfa9b5);background:var(--app-primary-soft,#f7ebef)}

@media(max-width:1000px) {.task-summary {grid-template-columns:1fr 1fr}.task-toolbar {flex-wrap:nowrap}.task-actions {align-items:flex-start;flex-direction:column}.task-actions>.task-search {width:100%;margin-left:0}}
@media(max-width:600px) {.task-summary {grid-template-columns:1fr 1fr;gap:8px}.task-summary>button {min-height:98px;padding:13px}.task-summary>button>strong {font-size:22px}.task-summary>button>small {font-size:9px}.task-actions>div {width:100%;flex-wrap:wrap}.task-actions>div button {flex:1}.task-toolbar {padding:9px 12px}.task-search {flex-basis:220px}.task-empty {min-height:285px}.task-form-drawer,.task-template-drawer,.task-detail-drawer {width:100vw!important}.task-detail-summary dl {grid-template-columns:1fr}.task-template-list article {grid-template-columns:1fr auto}.task-template-list article .danger-link {grid-column:2}.task-comment-form {grid-template-columns:1fr}.task-detail-actions button,.task-detail-actions a {flex:1}.task-detail-actions .danger-link {width:100%;margin-left:0}.task-dashboard-strip>strong {display:none}.task-bulk-tools {align-items:flex-start;flex-wrap:wrap}}
