:root {
  color-scheme: light;
  --app-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --app-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --app-canvas: #f4f7fb;
  --app-surface: #ffffff;
  --app-surface-subtle: #f8fafc;
  --app-surface-muted: #eef3f7;
  --app-text: #172a3b;
  --app-text-muted: #5f7080;
  --app-text-soft: #7b8996;
  --app-border: #dbe4eb;
  --app-border-strong: #c7d4de;
  --app-primary: #0f5f86;
  --app-primary-hover: #0b4e70;
  --app-primary-soft: #e7f3f8;
  --app-accent: #0f766e;
  --app-accent-soft: #e5f5f2;
  --app-success: #18794e;
  --app-success-soft: #eaf7f0;
  --app-warning: #8a5b07;
  --app-warning-soft: #fff6df;
  --app-danger: #a33b49;
  --app-danger-soft: #fff0f2;
  --app-info: #176b91;
  --app-info-soft: #eaf5fb;
  --app-focus: rgba(15, 95, 134, .28);
  --app-radius-sm: .65rem;
  --app-radius-md: .9rem;
  --app-radius-lg: 1.2rem;
  --app-radius-xl: 1.5rem;
  --app-shadow-sm: 0 1px 2px rgba(20, 43, 61, .04), 0 6px 18px rgba(20, 43, 61, .045);
  --app-shadow-md: 0 16px 40px rgba(20, 43, 61, .075);
  --app-shadow-lg: 0 24px 70px rgba(20, 43, 61, .12);
  --app-transition: 160ms cubic-bezier(.2, .8, .2, 1);
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  background: #f4f8fb;
  overflow-x: hidden;
}

.app-student-name { font-variant-caps: all-small-caps; font-weight: 760; letter-spacing: .01em; }
h1.app-student-name, h2.app-student-name, h3.app-student-name, h4.app-student-name { line-height: 1.08; }
strong.app-student-name { font-weight: 760; }

/* Persistent workspace navigation: public and identity pages retain the lighter, flowing shell. */
.app-confirmation-modal--report #report-launch-description,
.app-confirmation-modal--report #report-launch-responsibility {
  white-space: pre-line;
}

body:has(.faccec-shell) {
  --workspace-header-height: 4.65rem;
}

.app-shell--authenticated > header,
body:has(.faccec-shell) > header {
  position: sticky;
  top: 0;
  z-index: 1030;
}

.app-shell--authenticated .app-navbar,
body:has(.faccec-shell) .app-navbar {
  margin-bottom: .75rem !important;
  border-color: rgba(25, 64, 104, .1) !important;
  background-color: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 12px 28px rgba(23, 47, 74, .09) !important;
  backdrop-filter: blur(16px);
}

.app-breadcrumb {
  margin: 0 0 1.25rem;
  max-width: 100%;
  color: #707b8a;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.25;
}

.app-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .75rem; margin: 0; padding: 0; list-style: none; }
.app-breadcrumb li { display: inline-flex; align-items: center; min-width: 0; }
.app-breadcrumb li:not(:last-child)::after { width: .45rem; height: .45rem; flex: 0 0 auto; margin-left: .75rem; border-top: 2px solid #9ba5b2; border-right: 2px solid #9ba5b2; content: ""; transform: rotate(45deg); }
.app-breadcrumb a, .app-breadcrumb [aria-current="page"] { display: inline-flex; align-items: center; min-height: 2.75rem; max-width: min(100%, 32rem); padding: .65rem .95rem; border: 1px solid rgba(205, 213, 223, .8); border-radius: 999px; background: rgba(232, 235, 241, .9); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45); }
.app-breadcrumb a { gap: .45rem; color: inherit; text-decoration: none; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.app-breadcrumb a:hover { background: rgba(255, 255, 255, .5); color: var(--faccec-primary, #2d698a); }
.app-breadcrumb a:focus-visible { outline: 3px solid rgba(45, 105, 138, .35); outline-offset: 3px; }
.app-breadcrumb__home-icon { width: 1rem; height: 1rem; flex: 0 0 auto; fill: currentColor; opacity: .7; }
.app-breadcrumb [aria-current="page"] { color: var(--faccec-text, #1c2e40); font-weight: 700; }

@media (min-width: 1200px) {
  .app-shell--authenticated .faccec-sidebar,
  body:has(.faccec-shell) .faccec-sidebar {
    position: sticky;
    top: calc(var(--workspace-header-height) + 1rem);
    max-height: calc(100vh - var(--workspace-header-height) - 2rem);
    overflow-y: auto;
    align-self: start;
    z-index: 1010;
  }

  .app-shell--authenticated .faccec-sidebar__panel,
  body:has(.faccec-shell) .faccec-sidebar__panel {
    position: static;
  }

  .app-shell--authenticated .app-breadcrumb,
  body:has(.faccec-shell) .app-breadcrumb {
    position: sticky;
    top: calc(var(--workspace-header-height) + .75rem);
    z-index: 1020;
    width: fit-content;
    max-width: 100%;
    margin-top: -.25rem;
    padding: .35rem;
    border: 1px solid rgba(25, 64, 104, .09);
    border-radius: 1.25rem;
    background: rgba(244, 248, 251, .92);
    box-shadow: 0 12px 28px rgba(23, 47, 74, .07);
    backdrop-filter: blur(14px);
  }
}

@media (max-width: 575px) {
  .app-breadcrumb ol { align-items: stretch; gap: .5rem; }
  .app-breadcrumb li { max-width: 100%; }
  .app-breadcrumb li:not(:last-child)::after { display: none; }
  .app-breadcrumb a, .app-breadcrumb [aria-current="page"] { max-width: 100%; min-height: 2.55rem; padding: .55rem .8rem; white-space: normal; }
}

.manage-students-page__context { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .85rem 1.25rem; }
.manage-students-page__context-copy h2 { font-size: 1.5rem; line-height: 1.15; margin: .1rem 0 .2rem; }
.manage-students-page__context-copy p { margin: 0; color: var(--faccec-text-muted, #637083); }
.manage-students-hero__stage-badge { align-items: center; align-self: center; background: #e9f6fb; border: 1px solid #79bdd0; border-radius: 999px; color: #0d607c; display: inline-flex; font-size: 1rem; font-weight: 800; height: 2.8rem; padding: .45rem 1.05rem; white-space: nowrap; }
.manage-students-hero__actions { display: grid; gap: .55rem; }
.bulk-enrol-summary { align-items: center; background: #edf7fb; border: 1px solid #c9e7f0; border-radius: 1rem; display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.25rem 0; padding: 1rem 1.2rem; }
.bulk-enrol-summary strong { color: #173e59; font-size: 1.05rem; }
.bulk-enrol-summary span { color: #4e687d; font-weight: 650; }
.bulk-enrol-summary__success { color: #18734a !important; }.bulk-enrol-summary__problem { color: #aa3041 !important; }
.bulk-enrol-results__rows { display: grid; gap: .65rem; margin: 1rem 0 1.25rem; }
.bulk-enrol-result { border-left: 4px solid; border-radius: .75rem; display: grid; gap: .7rem; grid-template-columns: minmax(12rem, .8fr) minmax(18rem, 1.2fr); padding: .85rem 1rem; }
.bulk-enrol-result strong, .bulk-enrol-result span { display: block; }.bulk-enrol-result span { color: #587084; font-size: .9rem; margin-top: .15rem; }.bulk-enrol-result p { margin: .2rem 0 0; }
.bulk-enrol-result.is-success { background: #effaf4; border-color: #39a66b; }.bulk-enrol-result.is-problem { background: #fff4f4; border-color: #d95665; }.bulk-enrol-result__state { font-weight: 800; }.bulk-enrol-result__fix { color: #8d3944; }
.manage-students-page__stage-picker { display: flex; flex-wrap: wrap; gap: .5rem; }
.manage-students-page__stage-picker a { border: 1px solid #dbe3eb; border-radius: 999px; color: #53667a; padding: .45rem .7rem; text-decoration: none; transition: .18s ease; }
.manage-students-page__stage-picker a:hover, .manage-students-page__stage-picker a.is-active { background: #eaf5f8; border-color: #79b7c9; color: #145b74; }
.manage-students-page__editor { margin-top: 1.5rem; }
.app-search { display: grid; gap: .45rem; min-width: 0; }
.app-search__label { color: inherit; font-weight: 700; }
.app-search__control { align-items: center; display: flex; gap: .7rem; min-width: 0; position: relative; }
.app-search__icon { color: #2871a7; display: inline-flex; flex: 0 0 auto; pointer-events: none; }
.app-search__icon svg { fill: none; height: 1.15rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; width: 1.15rem; }
.app-search__input { flex: 1 1 auto; min-width: 0; padding-inline: .75rem; }
.app-search__hint { margin: .45rem 0 0; }
.app-search--floating { position: relative; }
.manage-students-page__search { background: #f1f7fc; border: 1px solid #c8e0f0; border-radius: 12px; margin: 0 0 1rem; max-width: none; padding: .8rem .9rem .9rem; width: 100%; }
.manage-students-page__search .app-search__label { color: #164e78; display: block; font-size: 1rem; font-weight: 750; }
.manage-students-page__search-input { position: relative; }
.manage-students-page__search-input .app-search__icon { left: .9rem; position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; }
.manage-students-page__search-input .form-control { background: #fff; border-color: #a9cce4; min-height: 3.05rem; padding-left: 2.8rem; }
.manage-students-page__search-input .form-control:focus { border-color: #287fc0; box-shadow: 0 0 0 .2rem rgba(40, 127, 192, .15); }
.manage-students-page__no-results { color: #607286; margin: .75rem 0; }
.manage-students-page__list { display: grid; gap: .55rem; }
.manage-student-card { border: 1px solid #e1e8ee; border-radius: 13px; background: #fff; box-shadow: 0 3px 11px rgba(25, 49, 68, .035); min-height: 4.8rem; padding: .75rem 1rem; position: relative; z-index: 0; }
.manage-student-card__header, .manage-student-card__actions, .manage-student-card__metrics, .manage-student-card__move { display: flex; align-items: center; gap: .75rem; }
.manage-student-card__header { justify-content: space-between; padding-right: 41rem; }
.manage-student-card__header h3 { margin: 0; font-size: 1.15rem; line-height: 1.2; }
.manage-student-card__header p { margin: .1rem 0 0; color: var(--faccec-text-muted, #637083); font-size: .86rem; }
.student-status-bullet { align-items: center; border-radius: 999px; display: inline-flex; font-size: .78rem; font-weight: 800; gap: .38rem; padding: .32rem .62rem; white-space: nowrap; }
.student-status-bullet__dot { border-radius: 50%; height: .48rem; width: .48rem; }
.student-status-bullet__icon { display: inline-flex; height: .9rem; width: .9rem; }
.student-status-bullet__icon svg { height: 100%; width: 100%; }
.student-status-bullet--disabled { background: #fff5de; color: #8c5700; }.student-status-bullet--disabled .student-status-bullet__dot { background: #e39a16; }
.student-status-bullet--withdrawn { background: #fff0f1; color: #9a2638; }.student-status-bullet--withdrawn .student-status-bullet__dot { background: #d84d60; }
.student-status-bullet--graduated { background: #e9f7ef; color: #17643b; }
.manage-student-card__metrics { flex-wrap: wrap; margin: 1rem 0; color: #5b6d80; font-size: .9rem; }
.manage-student-card .unicem-program-card__meta { display: none; }
.manage-student-card__actions { flex-wrap: nowrap; gap: .45rem; margin: 0; position: absolute; right: 1rem; top: .75rem; }
.manage-student-card__actions form { margin: 0; }
.manage-student-card:has(.manage-student-card__move[open]) { z-index: 80; }
.manage-student-card__actions:has(.manage-student-card__move[open]) { z-index: 90; }
.manage-student-card__move { position: relative; z-index: 1; }
.manage-student-card__move[open] { z-index: 91; }
.manage-student-card__move summary { align-items: center; display: grid; place-items: center; cursor: pointer; list-style: none; }
.manage-student-card__move summary::-webkit-details-marker { display: none; }
.manage-student-card__move[open] summary { opacity: 0; pointer-events: none; }
.manage-student-card__move > form { align-items: stretch; background: #fff; border: 1px solid #dce6ee; border-radius: .75rem; box-shadow: 0 14px 30px rgba(19, 51, 79, .14); display: grid; gap: .55rem; min-width: min(18rem, calc(100vw - 2rem)); padding: .75rem; position: absolute; right: 2.75rem; top: 0; z-index: 100; }
.manage-student-card__move-title { color: #163a59; display: block; font-size: .82rem; font-weight: 800; letter-spacing: .04em; line-height: 1.2; padding: .1rem .15rem .25rem; text-transform: uppercase; }
.manage-student-card form[action*="DeleteStudent"],
.unicem-program-card form[action*="DeleteStudent"] { display: none; }
.student-edit-page__panel { max-width: 58rem; }
.student-edit-page__panel h1 { margin-bottom: .35rem; }
.student-edit-page .app-form-field { align-content: start; }
.manage-student-card__move { flex-wrap: wrap; }
.manage-student-card__move label { align-items: stretch; display: grid; gap: .32rem; font-size: .78rem; font-weight: 760; white-space: nowrap; }
.manage-student-card__move label > span { color: #48627a; }
.manage-student-card__move-actions { display: grid; gap: .5rem; grid-template-columns: minmax(0, .72fr) minmax(0, 1fr); }
.manage-student-card__move-actions .app-button { width: 100%; }
.manage-student-card__move .form-select { min-height: 2.1rem; padding-block: .25rem; font-size: .82rem; }
.manage-students-page__empty { border: 1px dashed #cbd9e2; border-radius: 16px; color: #607286; padding: 2rem; text-align: center; }
.manage-students-page__empty h3 { color: #22394e; margin: 0 0 .4rem; }
.manage-students-page__empty p { margin: 0; }
.account-requests-panel { display: grid; gap: 1rem; }
.account-request-group { display: grid; gap: .65rem; }
.account-request-group + .account-request-group { border-top: 1px solid #e3ebf1; margin-top: .35rem; padding-top: 1rem; }
.account-request-group__header { align-items: center; display: flex; justify-content: space-between; gap: 1rem; }
.account-request-group__header h3 { color: #22394e; font-size: 1.18rem; line-height: 1.2; margin: .1rem 0 0; }
.account-request-group__header > span { align-items: center; background: #eff8fb; border: 1px solid #c7e2ed; border-radius: 999px; color: #176389; display: inline-flex; font-size: .82rem; font-weight: 800; min-height: 2.1rem; padding: .35rem .75rem; }
.account-request-group__empty { padding: 1.2rem; text-align: left; }
.account-request-card { align-items: center; display: grid; gap: .85rem; grid-template-columns: auto minmax(0, 1fr) auto; max-width: 100%; min-height: 4.35rem; min-width: 0; padding: .65rem .9rem; width: 100%; }
.account-request-card--escalated { background: linear-gradient(110deg, #fff4f3, #fff); border: 2px solid #d92d20; box-shadow: 0 8px 24px rgba(185, 28, 28, .13); }
.account-request-card__avatar { align-items: center; background: linear-gradient(145deg, #eaf6fb, #f8fcff); border: 1px solid #c9e3ef; border-radius: 999px; color: #176389; display: inline-flex; flex: 0 0 auto; font-size: .86rem; font-weight: 850; height: 2.4rem; justify-content: center; width: 2.4rem; }
.account-request-card__header { display: grid; gap: .65rem; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; padding-right: 0; }
.account-request-card__header > div { min-width: 0; }
.account-request-card__header h3 { overflow-wrap: anywhere; white-space: normal; }
.account-request-card__metadata { align-items: baseline; display: flex; flex-wrap: wrap; gap: .2rem .75rem; overflow-wrap: anywhere; white-space: normal; }
.account-request-card__metadata span { min-width: 0; }
.account-request-card__metadata strong { color: #38536a; font-weight: 750; }
.account-request-card__metadata a { color: #176389; overflow-wrap: anywhere; text-decoration-thickness: .08em; text-underline-offset: .14em; }
.account-request-card__requester-comments { background: #f5f9fc; border: 1px solid #d8e6ef; border-radius: .7rem; display: grid; gap: .25rem; margin-top: .55rem; max-width: 58rem; padding: .65rem .75rem; }
.account-request-card__requester-comments > strong { color: #24465f; font-size: .76rem; letter-spacing: .035em; text-transform: uppercase; }
.account-request-card__requester-comments > p { color: #405d73 !important; line-height: 1.55; margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; word-break: break-word; }
.account-request-card__badges { align-items: flex-end; display: flex; flex-direction: column; gap: .45rem; }
.account-request-escalation-badge { align-items: center; background: #b42318; border: 1px solid #7a271a; border-radius: .75rem; box-shadow: 0 5px 14px rgba(180, 35, 24, .22); color: #fff; display: flex; flex-direction: column; font-size: .78rem; gap: .08rem; line-height: 1.2; min-width: 13.5rem; padding: .65rem .85rem; text-align: center; }
.account-request-escalation-badge strong { font-size: .84rem; letter-spacing: .045em; }
.account-request-escalation-badge span { color: #fee4e2; font-weight: 750; }
.account-request-card:has(.account-request-card__decision[open]) { z-index: 92; }
.account-request-card__actions { justify-self: end; margin: 0; position: static; top: auto; transform: none; }
.account-request-card__decision { position: relative; z-index: 91; }
.account-request-card__decision summary { align-items: center; display: inline-flex; cursor: pointer; list-style: none; }
.account-request-card__decision summary::-webkit-details-marker { display: none; }
.account-request-card__decision[open] summary { opacity: 0; pointer-events: none; }
.account-request-card__decision > form { background: #fff; border: 1px solid #dce6ee; border-radius: .8rem; box-shadow: 0 16px 34px rgba(19, 51, 79, .16); display: grid; gap: .55rem; max-height: calc(100dvh - var(--workspace-header-height, 5rem) - 2rem); min-width: min(21rem, calc(100vw - 2rem)); overflow-y: auto; overscroll-behavior: contain; padding: 2.85rem .8rem .8rem; position: absolute; right: 0; top: 0; transform: none; z-index: 100; }
.account-request-card__decision-close { align-items: center; background: #f4f7fa; border: 1px solid #d5e0e8; border-radius: 999px; color: #526b7e; display: inline-flex; height: 2rem; justify-content: center; padding: 0; position: absolute; right: .65rem; top: .55rem; transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease; width: 2rem; }
.account-request-card__decision-close svg { height: 1rem; width: 1rem; }
.account-request-card__decision-close:hover { background: #e7f1f7; border-color: #9ebfd2; color: #164e78; transform: translateY(-1px); }
.account-request-card__decision-close:focus-visible { box-shadow: 0 0 0 .2rem rgba(40, 127, 192, .16); outline: 2px solid #287fc0; outline-offset: 2px; }
.account-request-card__decision > form > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.account-request-card__decision .form-label { color: #164e78; font-size: .86rem; font-weight: 750; margin: 0; }
.account-request-card__decision .form-control { font-size: .9rem; min-height: 4.4rem; }
.account-request-card__escalation-note { background: #fff1f0; border: 1px solid #f3b4ae; border-radius: .65rem; color: #7a271a; display: grid; font-size: .8rem; gap: .2rem; line-height: 1.4; padding: .65rem .7rem; }
.account-request-card__escalation-note strong { color: #912018; }
.ratify-apps-page__hero-count { align-items: center; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.32); border-radius: 999px; color: #fff; display: inline-flex; font-size: .86rem; font-weight: 750; min-height: 2.25rem; padding: .35rem .8rem; }
.ratify-apps-page__bulk { align-items: center; background: #f1f7fc; border: 1px solid #c8e0f0; border-radius: 12px; display: flex; flex-wrap: wrap; gap: .85rem; margin: 0 0 1rem; padding: .7rem .9rem; }
.ratify-apps-page__bulk label, .ratify-app-block__header label { align-items: center; color: #164e78; display: flex; font-size: .9rem; font-weight: 750; gap: .45rem; }
.ratify-apps-page__bulk [data-ratify-selection-count] { color: #607286; font-size: .88rem; margin-right: auto; }
.ratify-app-block { border: 1px solid #dce6ee; border-radius: 14px; overflow: visible; }
.ratify-app-block + .ratify-app-block { margin-top: .75rem; }
.ratify-app-block__header { align-items: center; background: #fbfdff; border-bottom: 1px solid #e3ebf1; display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; }
.ratify-app-block__header h3 { color: #22394e; font-size: 1.02rem; margin: 0; }.ratify-app-block__header p { color: #68798a; font-size: .84rem; margin: .15rem 0 0; }
.ratify-app-block .ratify-app-card { border: 0; border-radius: 0; box-shadow: none; padding-left: 3.8rem; }.ratify-app-block .ratify-app-card + .ratify-app-card { border-top: 1px solid #edf1f4; }
.ratify-app-card .manage-student-card__header { padding-right: 0; }
.ratify-app-card__select { left: 1rem; position: absolute; top: 1.05rem; }.ratify-app-card__select input, .ratify-app-block input, .ratify-apps-page__bulk input { accent-color: #1d7f9f; height: 1.05rem; width: 1.05rem; }
.ratify-app-card__content { align-items: center; display: grid; gap: .9rem; grid-template-columns: minmax(10rem, 1.15fr) minmax(16rem, 1fr) auto; width: 100%; }.ratify-app-card__identity h3 { font-size: 1.36rem; font-variant-caps: all-small-caps; font-weight: 760; line-height: 1.05; margin: 0; }.ratify-app-card__identity p { color: #5e7488; font-size: .88rem; margin: .15rem 0 0; }.ratify-app-card__metrics { display: grid; gap: .35rem; grid-template-columns: repeat(3, minmax(4rem, 1fr)); margin: 0; }.ratify-app-card__metrics div { border-left: 1px solid #e1e9ef; padding-left: .65rem; }.ratify-app-card__metrics dt { color: #718294; font-size: .72rem; font-weight: 700; text-transform: uppercase; }.ratify-app-card__metrics dd { color: #244761; font-size: .98rem; font-weight: 800; margin: .14rem 0 0; }.ratify-app-card__view { align-items: center; border-radius: 999px; color: #176389; display: inline-flex; height: 1.65rem; justify-content: center; margin-left: .2rem; vertical-align: middle; width: 1.65rem; }.ratify-app-card__view:hover, .ratify-app-card__view:focus-visible { background: #e8f4fa; color: #0d4f74; outline: none; }.ratify-app-card__view svg { height: 1rem; width: 1rem; }.ratify-app-card:has(.ratify-app-card__menu[open]) { z-index: 10; }.ratify-app-card__menu { position: relative; z-index: 11; }.ratify-app-card__menu summary { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid #dce6ee; border-radius: .6rem; color: #5e7488; cursor: pointer; list-style: none; }.ratify-app-card__menu summary::-webkit-details-marker { display: none; }.ratify-app-card__menu summary:hover, .ratify-app-card__menu[open] summary { color: #176389; border-color: #176389; background: #e8f4fa; }.ratify-app-card__menu summary svg { width: 1.2rem; height: 1.2rem; fill: currentColor; }.ratify-app-card__menu-panel { position: absolute; z-index: 12; right: 0; top: calc(100% + .4rem); min-width: 13.5rem; padding: .55rem; border: 1px solid #dce6ee; border-radius: .75rem; background: #fff; box-shadow: 0 14px 30px rgba(19, 51, 79, .14); }.ratify-app-card__menu-panel > span { display: block; padding: .2rem .45rem .4rem; color: #718294; font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }.ratify-app-card__menu-panel button { display: block; width: 100%; padding: .55rem .45rem; border: 0; border-radius: .45rem; background: transparent; color: #244761; font-weight: 600; text-align: left; }.ratify-app-card__menu-panel button:hover, .ratify-app-card__menu-panel button:focus-visible { background: #e8f4fa; color: #0d4f74; outline: none; }
.results-page .ratify-app-block .ratify-app-card { padding-left: 1rem; }
.results-page .ratify-app-card__content { grid-template-columns: minmax(10rem, 1.15fr) minmax(16rem, 1fr) auto auto; }
.results-page .ratify-app-card:has(.ratify-app-card__menu[open]) { isolation: isolate; z-index: 100; }
.results-page .ratify-app-card__menu[open] { z-index: 101; }
.results-page .ratify-app-card__menu[open] .ratify-app-card__menu-panel { z-index: 102; }
.ratify-app-card__expand { align-items: center; align-self: center; background: #fff; border: 1px solid #dce6ee; border-radius: .6rem; color: #5e7488; cursor: pointer; display: inline-flex; height: 2.25rem; justify-content: center; padding: 0; position: relative; width: 2.25rem; }
.ratify-app-card__expand::before { border-bottom: 2px solid currentColor; border-right: 2px solid currentColor; content: ""; height: .5rem; transform: rotate(45deg) translate(-1px, -1px); transition: transform .18s ease; width: .5rem; }
.ratify-app-card__expand:hover, .ratify-app-card__expand:focus-visible, .ratify-app-card__expand.is-expanded { background: #e8f4fa; border-color: #176389; color: #176389; outline: none; }
.ratify-app-card__expand.is-expanded::before { transform: rotate(225deg) translate(-1px, -1px); }
.results-page .ratify-app-card > .reports-student-card__detail { grid-column: 1 / -1; margin-top: .9rem; width: 100%; }
.assessment-combined-table__comment { border-top: 1px solid rgba(32, 72, 106, .12); color: #526b7d; font-size: .8rem; font-weight: 500; line-height: 1.45; margin: .45rem 0 0; padding-top: .4rem; white-space: pre-wrap; }
.manage-clinical-blocks-page__editor { scroll-margin-top: 1.25rem; }
.manage-clinical-blocks-page__form { max-width: 68rem; }
.manage-clinical-blocks-page__cohorts { border: 1px solid #dce6ee; border-radius: 14px; grid-column: 1 / -1; margin: .25rem 0 0; padding: 1rem; }
.manage-clinical-blocks-page__cohorts legend { color: #173b59; float: none; font-size: 1rem; font-weight: 750; margin: 0; padding: 0 .25rem; width: auto; }
.manage-clinical-blocks-page__cohorts > p { color: #637083; font-size: .9rem; margin: 0 0 .8rem; }
.manage-clinical-blocks-page__cohort-list { display: grid; gap: .55rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.manage-clinical-blocks-page__cohort-group { background: #fff; border: 1px solid #dfe8ee; border-radius: 12px; display: grid; gap: .45rem; padding: .8rem; }
.manage-clinical-blocks-page__cohort-group > strong { color: #173b59; line-height: 1.2; }
.manage-clinical-blocks-page__cohort-group > small { color: #637083; margin-top: -.3rem; }
.manage-clinical-blocks-page__cohort-option { align-items: flex-start; background: #f8fbfd; border: 1px solid #e0e9ef; border-radius: 10px; cursor: pointer; display: flex; gap: .65rem; min-height: 4rem; padding: .7rem .8rem; }
.manage-clinical-blocks-page__cohort-option:hover { border-color: #8dc1d4; background: #f1f9fc; }
.manage-clinical-blocks-page__cohort-option input { margin-top: .24rem; }
.manage-clinical-blocks-page__cohort-option span { display: grid; gap: .12rem; }
.manage-clinical-blocks-page__cohort-option small { color: #647488; }
.manage-clinical-blocks-page__form-actions { display: flex; flex-wrap: wrap; gap: .6rem; grid-column: 1 / -1; }
.allocations-page__form { display: grid; gap: 1.25rem; }
.allocations-page__hint { color: #637083; margin: .25rem 0 0; max-width: 44rem; }
.allocation-student-card { align-items: center; cursor: pointer; display: flex; gap: .9rem; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.allocation-student-card:hover { background: #f8fcfe; border-color: #8fc5dd; box-shadow: 0 5px 14px rgba(25, 74, 106, .08); }
.allocation-student-card:has(input:checked) { background: #f0f9fc; border-color: #4aa0c5; }
.allocation-student-card:has(input:disabled) { cursor: not-allowed; opacity: .74; }
.allocation-student-card__select { display: grid; place-items: center; position: relative; }
.allocation-student-card__select input { height: 1.25rem; margin: 0; width: 1.25rem; }
.allocation-student-card__details { display: grid; gap: .1rem; min-width: 0; }
.allocation-student-card__details strong { color: #173b59; }
.allocation-student-card__details small, .allocation-student-card__details em { color: #647488; font-size: .86rem; font-style: normal; }
.allocation-student-card__details em { margin-top: .2rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.allocation-student-card .student-status-bullet { margin-left: auto; }
.allocation-status-badge { align-items: center; border-radius: 999px; display: inline-flex; font-size: .76rem; font-weight: 750; gap: .32rem; margin-left: auto; padding: .35rem .6rem; white-space: nowrap; }
.allocation-status-badge--allocated { background: #e6f6eb; border: 1px solid #9bd5aa; color: #16713a; }
.allocation-status-badge--allocated > span { align-items: center; background: #2c9a55; border-radius: 50%; color: #fff; display: inline-flex; font-size: .62rem; font-weight: 900; height: .9rem; justify-content: center; width: .9rem; }
.allocation-student-card__edit { flex: 0 0 auto; margin-left: .25rem; }
.allocations-page__details .app-form-field--wide { grid-column: 1 / -1; }
.allocations-page__split-toggle { justify-self: start; }
.allocations-page__split-panel { background: #f6fbfe; border: 1px solid #d5e9f2; border-radius: 12px; display: grid; gap: .9rem; padding: 1rem; }
.allocations-page__split-panel[hidden] { display: none; }
.allocations-page__split-row { align-items: end; display: grid; gap: .9rem; grid-template-columns: minmax(16rem, 1fr) minmax(7rem, 11rem) auto; }
.allocations-page__split-row--primary { grid-template-columns: minmax(16rem, 1fr) minmax(7rem, 11rem); }
.allocations-page__split-row--primary .allocations-page__split-remove { display: none; }
.allocations-page__add-split { justify-self: start; }
.allocations-page__split-remove { margin-bottom: .15rem; }
.allocations-page__facility-label { color: #48627a; display: block; font-size: .82rem; font-weight: 760; margin-bottom: .38rem; }
.allocations-page__facility-name { align-items: center; background: #fff; border: 1px solid #d6e0ea; border-radius: .65rem; color: #173b59; display: flex; min-height: 3.05rem; padding: .7rem .85rem; }
.allocations-page__split-error { color: #a63e3e; font-size: .88rem; font-weight: 700; margin: -.15rem 0 0; }
.allocation-picker-card { align-items: center; color: inherit; display: flex; justify-content: space-between; text-decoration: none; }
.allocation-picker-card > span:first-child { display: grid; gap: .2rem; }
.allocation-picker-card small { color: #647488; }
.allocation-picker-card__progress { align-items: center; color: #176389; display: grid; justify-items: end; margin-left: auto; margin-right: .2rem; }
.allocation-picker-card__progress strong { font-size: 1.05rem; }
.allocation-picker-card__progress small { font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.allocations-page__selection-action { align-items: center; background: #f4fafc; border: 1px solid #d8e9f0; border-radius: 12px; display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; padding: .75rem; }
.allocations-page__selection-action > span { color: #526b7e; font-size: .9rem; font-weight: 650; }
.allocations-page__progress { align-items: center; background: #eff8fb; border: 1px solid #c7e2ed; border-radius: .8rem; color: #176389; display: grid; justify-items: center; line-height: 1; min-width: 4.7rem; padding: .6rem .75rem; }
.allocations-page__progress strong { font-size: 1.2rem; font-weight: 800; }
.allocations-page__progress span { font-size: .68rem; font-weight: 750; letter-spacing: .04em; margin-top: .24rem; text-transform: uppercase; }
.allocation-picker__block-context { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; }
.allocation-picker__block-context > span { background: rgba(255,255,255,.88); border: 1px solid #bddcea; border-radius: .85rem; color: #174f70; display: grid; gap: .1rem; min-width: 13rem; padding: .55rem .75rem; }
.allocation-picker__block-context small { color: #6a8191; font-size: .68rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.allocation-picker__block-context strong { font-size: .96rem; line-height: 1.2; }
.allocation-picker__block-context em { color: #557386; font-size: .78rem; font-style: normal; }
.allocations-page__selection-action .app-button:disabled { --app-button-bg: transparent; --app-button-bg-hover: transparent; --app-button-border: #4f9dcc; --app-button-color: #4a88ad; opacity: 1; }
.progression-page__actions { align-items: center; flex-wrap: wrap; }
.progression-page__actions .form-select { max-width: 22rem; }
.progression-student-card { display: grid; grid-template-columns: auto minmax(10rem, .75fr) minmax(0, 3fr); gap: 1rem; align-items: center; }
.progression-student-card__blocks { display: flex; flex-wrap: nowrap; gap: .42rem; justify-content: flex-end; min-width: 0; }
.progression-student-card__programme { display: grid; gap: .08rem; margin-top: .4rem; color: #526176; font-size: .75rem; line-height: 1.25; }
.progression-student-card__programme small { color: #647889; font-size: .69rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.progression-student-card__programme strong { color: #1e3f64; font-size: .82rem; }
.progression-block-result { display: grid; flex: 1 1 0; min-width: 0; max-width: 8.1rem; padding: .42rem .55rem; border: 1px solid #d9dee7; border-radius: 6px; background: #f5f7fa; color: #435166; }
.progression-block-result small { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.progression-block-result strong { font-size: .88rem; }
.progression-block-result.is-passed { border-color: #86caa4; background: #e9f7ef; color: #17643b; }
.progression-block-result.is-failed { border-color: #e8c16f; background: #fff6dc; color: #805d10; }
.progression-block-result.is-missing { color: #667085; }
@media (max-width: 760px) { .progression-student-card { grid-template-columns: auto 1fr; } .progression-student-card__blocks { grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-start; } .progression-block-result { flex: 1 1 5.6rem; } .progression-page__actions .form-select { max-width: none; width: 100%; } }
.allocations-page__chips { display: flex; flex-wrap: wrap; gap: .55rem; }
.allocation-student-chip { align-items: center; background: #edf8fc; border: 1px solid #a8d2e2; border-radius: 999px; color: #173b59; display: inline-flex; gap: .45rem; max-width: 100%; padding: .32rem .42rem .32rem .75rem; }
.allocation-student-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.allocation-student-chip small { color: #56768a; margin-left: .25rem; }
.allocation-student-chip button { align-items: center; background: #d7edf5; border: 0; border-radius: 50%; color: #245773; display: inline-flex; font-size: 1.25rem; height: 1.35rem; justify-content: center; line-height: 1; padding: 0; transition: background .18s ease, color .18s ease; width: 1.35rem; }
.allocation-student-chip button:hover, .allocation-student-chip button:focus-visible { background: #287fa7; color: #fff; outline: none; }
.app-form-field:has(.filter-select:focus-within) { position: relative; z-index: 40; }
.filter-select { position: relative; z-index: 1; }
.filter-select__native,
.filter-select__native.form-select { display: none !important; }
.filter-select__options { background: #fff; border: 1px solid #8ec0d7; border-radius: .7rem; box-shadow: 0 12px 28px rgba(24, 60, 84, .16); left: 0; margin-top: .3rem; max-height: 13rem; overflow-y: auto; padding: .35rem; position: absolute; right: 0; top: 100%; z-index: 30; }
.filter-select__options button { background: transparent; border: 0; border-radius: .45rem; color: #173b59; display: block; padding: .55rem .65rem; text-align: left; width: 100%; }
.filter-select__options button:hover, .filter-select__options button:focus-visible { background: #e9f6fb; color: #0d5b80; outline: none; }
.app-confirmation-modal .modal-content { border: 0; border-radius: 20px; box-shadow: 0 1.5rem 4rem rgba(21, 42, 62, .24); overflow: hidden; }
.app-confirmation-modal__icon { align-items: center; background: linear-gradient(135deg, #fff4f2, #ffe7e3); border-radius: 15px; color: #c73a30; display: flex; height: 3.4rem; justify-content: center; margin: 1.6rem auto 0; width: 3.4rem; }
.app-confirmation-modal--non-destructive .app-confirmation-modal__icon { background: linear-gradient(135deg, #e9f6fb, #dceef8); color: #17678f; }
.app-confirmation-modal__icon svg { height: 1.75rem; width: 1.75rem; }
.app-confirmation-modal--report .modal-dialog { max-width: 34rem; }
.app-confirmation-modal--report .app-confirmation-modal__icon { background: linear-gradient(135deg, #e9f6fb, #dceef8); color: #17678f; }
.app-confirmation-modal__eyebrow { color: #397393; display: block; font-size: .72rem; font-weight: 800; letter-spacing: .1em; margin-bottom: .45rem; text-transform: uppercase; }
.app-confirmation-modal__responsibility { background: #f4f8fb; border: 1px solid #dce8ef; border-radius: .85rem; margin-top: 1rem; padding: .8rem .9rem; text-align: left; }
.app-confirmation-modal__responsibility strong { color: #244967; display: block; font-size: .84rem; margin-bottom: .25rem; }
.app-confirmation-modal__responsibility p { font-size: .9rem; }
.app-confirmation-modal__body { padding: 1.1rem 1.7rem .65rem; text-align: center; }
.app-confirmation-modal__body h2 { color: #1d354b; font-size: 1.3rem; font-weight: 780; margin: 0 0 .55rem; }
.app-confirmation-modal__body p { color: #5e6f80; line-height: 1.5; margin: 0; }
.app-confirmation-modal__irreversible { color: #a13932 !important; font-size: .88rem; font-weight: 700; margin-top: .8rem !important; }
.app-confirmation-modal__actions { border: 0; display: flex; gap: .65rem; justify-content: center; padding: 1rem 1.7rem 1.55rem; }
.app-alert { align-items: flex-start; animation: app-alert-enter .32s cubic-bezier(.2,.8,.2,1) both; border: 1px solid; border-radius: 16px; box-shadow: 0 16px 42px rgba(26, 49, 69, .18); display: flex; gap: 1rem; left: 50%; margin: 0; max-width: 46rem; padding: 1rem 1.1rem; position: fixed; top: 1.25rem; transform: translateX(-50%); width: calc(100% - 2.5rem); z-index: 1090; }
.app-alert--info { background: linear-gradient(110deg, #f1f8ff, #fbfdff); border-color: #bbd9ee; color: #145b84; }
.app-alert--success { background: linear-gradient(110deg, #f0fbf5, #fbfefc); border-color: #b9e4cb; color: #17724a; }
.app-alert--warning { background: linear-gradient(110deg, #fff8e8, #fffdf8); border-color: #efd79b; color: #855909; }
.app-alert--danger { background: linear-gradient(110deg, #fff3f3, #fffafb); border-color: #efc5c7; color: #a0363b; }
.app-alert__icon { align-items: center; background: transparent; color: inherit; display: inline-flex; flex: 0 0 auto; height: 2.25rem; justify-content: center; margin-top: .05rem; width: 2.25rem; }
.app-alert__icon svg { color: currentColor; height: 1.35rem; width: 1.35rem; }
.app-alert--danger .app-alert__icon { height: 3.1rem; width: 3.1rem; }
.app-alert--danger .app-alert__icon svg { height: 2.1rem; width: 2.1rem; }
.app-alert__content { flex: 1 1 auto; min-width: 0; padding: .12rem 0; }
.app-alert__content h2 { color: inherit; font-size: .98rem; font-weight: 780; line-height: 1.25; margin: 0 0 .18rem; }
.app-alert__content p { color: inherit; line-height: 1.45; margin: 0; }
.app-alert__links { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .55rem; }
.app-alert__links a { color: inherit; font-size: .9rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.app-alert__dismiss { align-items: center; background: transparent; border: 0; border-radius: 8px; color: inherit; display: inline-flex; flex: 0 0 auto; font-size: 1.45rem; height: 2rem; justify-content: center; line-height: 1; margin: -.2rem -.35rem 0 0; opacity: .72; transition: background .18s ease, opacity .18s ease, transform .18s ease; width: 2rem; }
.app-alert__dismiss:hover, .app-alert__dismiss:focus-visible { background: rgba(255,255,255,.62); opacity: 1; outline: none; transform: scale(1.07); }
.app-alert.is-dismissing { animation: app-alert-exit .28s ease forwards; pointer-events: none; }
@keyframes app-alert-enter { from { opacity: 0; transform: translate(-50%, -14px) scale(.985); } to { opacity: 1; transform: translate(-50%, 0) scale(1); } }
@keyframes app-alert-exit { to { opacity: 0; transform: translate(-50%, -10px) scale(.98); } }
@media (max-width: 575.98px) { .app-alert { gap: .7rem; padding: .85rem; top: .75rem; width: calc(100% - 1.5rem); } .app-alert__icon { height: 2rem; width: 2rem; } .app-alert--danger .app-alert__icon { height: 2.7rem; width: 2.7rem; } .app-alert--danger .app-alert__icon svg { height: 1.85rem; width: 1.85rem; } }

@media (max-width: 720px) {
  .manage-students-page__context, .manage-student-card__header { align-items: flex-start; flex-direction: column; }
  .manage-student-card { padding: 1rem; }
  .manage-student-card__header { padding-right: 0; }
  .manage-student-card__actions { flex-wrap: wrap; margin-top: .6rem; position: static; }
  .manage-student-card__move > form { left: 0; right: auto; }
  .account-request-card { align-items: flex-start; grid-template-columns: auto minmax(0, 1fr); }
  .account-request-card__header { grid-column: 2; grid-template-columns: 1fr; padding-right: 0; }
  .account-request-card__header p { white-space: normal; }
  .account-request-card__badges { align-items: flex-start; }
  .account-request-escalation-badge { min-width: 0; width: 100%; }
  .account-request-card__actions { grid-column: 2; justify-self: start; transform: none; }
  .account-request-card__decision > form { left: 0; right: auto; top: 0; transform: none; }
  .allocations-page__split-row { grid-template-columns: 1fr; }
  .ratify-app-block__header { align-items: flex-start; flex-direction: column; }.ratify-app-block .ratify-app-card { padding-left: 3.3rem; }.ratify-app-card__content { align-items: flex-start; grid-template-columns: 1fr; }.ratify-app-card__metrics { max-width: 22rem; }.ratify-app-card__placement summary { white-space: normal; }
}

.app-button {
  --app-button-bg: #183450;
  --app-button-bg-hover: #24496d;
  --app-button-border: transparent;
  --app-button-color: #ffffff;
  --app-button-shadow: none;
  --app-button-padding-inline: 1.15rem;
  min-height: 2.85rem;
  padding: 0.7rem var(--app-button-padding-inline);
  border-radius: 1rem;
  border: 1px solid var(--app-button-border);
  background: var(--app-button-bg);
  color: var(--app-button-color);
  box-shadow: var(--app-button-shadow);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.app-button:hover,
.app-button:focus-visible {
  background: var(--app-button-bg-hover);
  color: var(--app-button-color);
  border-color: var(--app-button-border);
  box-shadow: none;
  transform: translateY(-1px);
  text-decoration: none;
}

.app-button:disabled,
.app-button[aria-disabled="true"] {
  opacity: 0.55;
  box-shadow: none;
  transform: none;
  pointer-events: none;
}

.app-button__icon {
  width: 1rem;
  height: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.app-button__icon svg {
  width: 100%;
  height: 100%;
}

.app-button__label {
  line-height: 1;
}

.app-button__badge {
  display: inline-flex;
  min-width: 1.2rem;
  height: 1.2rem;
  align-items: center;
  justify-content: center;
  padding: 0 0.34rem;
  border-radius: 999px;
  background: #e45a48;
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1;
}

.app-button__badge--info {
  background: #3975ad;
}

.app-button--small {
  min-height: 2.35rem;
  padding: 0.55rem 0.9rem;
  border-radius: 0.9rem;
  font-size: 0.86rem;
}

.app-button--medium {
  font-size: 0.95rem;
}

.app-button--large {
  min-height: 3.2rem;
  padding: 0.85rem 1.25rem;
  border-radius: 1.1rem;
  font-size: 1rem;
}

.app-button--primary {
  --app-button-bg: linear-gradient(135deg, #1677e6 0%, #2b8cff 100%);
  --app-button-bg-hover: linear-gradient(135deg, #1368cb 0%, #247de4 100%);
  --app-button-border: rgba(17, 94, 183, 0.18);
  --app-button-color: #ffffff;
  --app-button-shadow: none;
}

.app-button--success {
  --app-button-bg: linear-gradient(135deg, #1f9d67 0%, #2fba7b 100%);
  --app-button-bg-hover: linear-gradient(135deg, #19895a 0%, #29a96f 100%);
  --app-button-border: rgba(24, 126, 83, 0.18);
  --app-button-color: #ffffff;
  --app-button-shadow: none;
}

.app-button--warning {
  --app-button-bg: linear-gradient(135deg, #f0a43a 0%, #f4b450 100%);
  --app-button-bg-hover: linear-gradient(135deg, #e29424 0%, #eba93f 100%);
  --app-button-border: rgba(166, 106, 17, 0.18);
  --app-button-color: #ffffff;
  --app-button-shadow: none;
}

.app-button--secondary {
  --app-button-bg: linear-gradient(180deg, #f8fbff 0%, #eef5fd 100%);
  --app-button-bg-hover: linear-gradient(180deg, #f1f7fd 0%, #e7f0fa 100%);
  --app-button-border: #d4e4f2;
  --app-button-color: #183450;
  --app-button-shadow: none;
}

.app-button--neutral {
  --app-button-bg: #f7f9fc;
  --app-button-bg-hover: #edf2f7;
  --app-button-border: #d6e0ea;
  --app-button-color: #30485f;
  --app-button-shadow: none;
}

.app-button--danger {
  --app-button-bg: #fff6f7;
  --app-button-bg-hover: #feecef;
  --app-button-border: #f0cfd5;
  --app-button-color: #9e4d5f;
  --app-button-shadow: none;
}

.app-button--ghost {
  --app-button-bg: rgba(255, 255, 255, 0.92);
  --app-button-bg-hover: #ffffff;
  --app-button-border: rgba(24, 52, 80, 0.1);
  --app-button-color: #31516f;
  --app-button-shadow: none;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.landing-hero {
  overflow: hidden;
  background: #eef7fc;
  border: 1px solid #cfe2f0;
  border-radius: 10px;
  box-shadow: 0 18px 42px rgba(27, 70, 98, 0.12);
}

.landing-hero__content {
  position: absolute;
  top: 50%;
  left: clamp(1rem, 2.5vw, 2rem);
  z-index: 1;
  width: min(31rem, calc(100% - 2.5rem));
  min-height: 350px;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  transform: translateY(-50%);
  color: #ffffff;
  background: rgba(54, 65, 73, 0.46);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(18, 42, 58, 0.22);
  backdrop-filter: blur(4px);
}

.landing-hero__eyebrow {
  display: inline-block;
  margin-bottom: 1.1rem;
  color: #d7edf8;
  font-size: clamp(1.4rem, 2.2vw, 1.75rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}

.landing-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2.8rem, 5vw, 4.65rem);
  font-weight: 750;
  line-height: 1;
}

.landing-hero__lead {
  max-width: 34rem;
  margin: 1.2rem 0 1.6rem;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.35;
}

.landing-hero__media {
  position: relative;
  height: 480px;
  background: #cde6f2;
}

.landing-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(14, 55, 74, 0.28), rgba(14, 55, 74, 0.02) 68%);
  content: "";
  pointer-events: none;
}

.landing-hero__media img {
  display: block;
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: 68% center;
}

@media (max-width: 991.98px) {
  .landing-hero__content {
    left: 1.5rem;
    width: min(31rem, calc(100% - 3rem));
  }

  .landing-hero__media img {
    height: 420px;
    object-position: 67% center;
  }
}

@media (max-width: 575.98px) {
  .landing-hero__content {
    top: auto;
    bottom: 1rem;
    left: 1rem;
    width: calc(100% - 2rem);
    min-height: 0;
    padding: 1.35rem;
    transform: none;
  }

  .landing-hero h1 {
    font-size: 2.9rem;
  }

  .landing-hero__lead {
    font-size: 1.2rem;
  }

  .landing-hero__media img {
    height: 390px;
    object-position: 64% center;
  }
}

.app-learning-page {
  max-width: 1120px;
  margin: 0 auto;
  padding-block: 1rem 2.5rem;
}

.app-learning-page nav {
  color: #526b7b;
  font-size: 0.95rem;
}

.app-learning-hero {
  padding: clamp(1.5rem, 4vw, 3.5rem);
  margin-bottom: 1.5rem;
  border: 1px solid #cfe2ed;
  border-radius: 20px;
  background: linear-gradient(120deg, #edf7fb, #f8fbfd);
}

.app-learning-hero h1 {
  margin: 0.65rem 0 1rem;
  font-size: clamp(2rem, 4vw, 3.25rem);
  letter-spacing: -0.035em;
  color: #163e52;
}

.app-learning-hero p {
  max-width: 46rem;
  margin-bottom: 1.5rem;
  color: #456174;
  font-size: 1.15rem;
  line-height: 1.65;
}

.app-learning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.app-learning-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid #dce7ee;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(27, 70, 98, 0.04);
}

.app-learning-card h2 {
  margin: 0.5rem 0 1rem;
  color: #163e52;
  font-size: 1.4rem;
}

.app-learning-card p,
.app-learning-domains {
  color: #456174;
  line-height: 1.7;
}

.app-learning-card .app-button {
  max-width: 100%;
  white-space: normal;
  text-align: start;
}

.app-learning-domains {
  padding-inline-start: 1.25rem;
  margin-bottom: 0;
}

.app-learning-domains li + li {
  margin-top: 0.35rem;
}

.app-learning-source {
  margin: 1.5rem 0 0;
  color: #526b7b;
  font-size: 0.9rem;
  line-height: 1.6;
}

@media (max-width: 767.98px) {
  .app-learning-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.clinical-note {
  background: #ffffff;
  border: 1px solid #dbe7f3;
}

.navbar-brand {
  font-weight: 700;
  color: #0f4c81 !important;
}

.app-navbar__inner {
  align-items: center;
}

.app-navbar__collapse {
  gap: 1rem;
}

.app-navbar__nav,
.app-navbar__auth {
  min-width: 0;
}

.app-navbar__language {
  flex: 0 1 auto;
  min-width: 0;
}

.app-navbar__language .form-select {
  min-width: 0;
}

.language-switcher a {
  min-width: 84px;
}

.metric-card {
  background: #ffffff;
  border-left: 4px solid #0f4c81;
}

.metric-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: #0f4c81;
}

.feature-list {
  background: #ffffff;
  border: 1px solid #dbe7f3;
  border-radius: 0.75rem;
  padding: 1rem 1rem 1rem 1.5rem;
  margin: 0;
}

.feature-list li {
  margin-bottom: 0.5rem;
}

.feature-list li:last-child {
  margin-bottom: 0;
}

.status-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 0.5rem;
}

.status-success { background-color: #198754; }
.status-warning { background-color: #ffc107; }
.status-danger { background-color: #dc3545; }
.status-secondary { background-color: #6c757d; }
.status-dark { background-color: #212529; }

.auth-page-wrap {
  max-width: 420px;
  margin: 3.5rem auto;
}

.auth-card {
  border-radius: 0.75rem;
  background: #ffffff;
}

.account-type-card {
  border-left: 4px solid #0f4c81;
}

.register-flow {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0 3rem;
}

.register-flow__hero,
.register-flow__panel {
  background: #ffffff;
  border: 1px solid rgba(25, 64, 104, 0.08);
  box-shadow: 0 20px 45px rgba(23, 47, 74, 0.08);
}

.register-flow__hero {
  border-radius: 1.85rem;
  padding: 1.65rem 1.85rem;
  background: #ffffff;
}

.register-flow__hero h1,
.register-flow__panel-header h2,
.register-empty-state h2 {
  margin: 0;
  color: #183450;
}

.register-flow__eyebrow {
  display: inline-block;
  margin-bottom: 0.55rem;
  color: #4073a8;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.register-flow__intro,
.register-flow__panel-header p,
.register-empty-state p,
.register-multi-select__header p {
  margin: 0.45rem 0 0;
  color: #5c7086;
}

.register-flow__grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.12fr);
  gap: 1.2rem;
}

.register-flow__panel {
  border-radius: 1.6rem;
  padding: 1.35rem;
}

.register-flow__panel--selector {
  background: #ffffff;
}

.register-selector-form,
.register-request-form {
  display: grid;
  gap: 1rem;
}

.register-role-list {
  display: grid;
  gap: 0.75rem;
}

.register-role-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.9rem;
  align-items: start;
  padding: 1rem 1rem 1rem 0.95rem;
  border-radius: 1.2rem;
  border: 1px solid #dce8f4;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.register-role-card:hover {
  transform: translateY(-1px);
  border-color: #b9d7f2;
  box-shadow: 0 14px 28px rgba(19, 50, 79, 0.08);
}

.register-role-card.is-selected {
  border: 2px solid #0f4c81;
  padding: calc(1rem - 1px) calc(1rem - 1px) calc(1rem - 1px) calc(0.95rem - 1px);
  background: linear-gradient(135deg, #edf6ff 0%, #ffffff 82%);
  box-shadow: 0 16px 32px rgba(15, 76, 129, 0.16);
}

.register-role-card:has(input:checked) {
  border: 2px solid #0f4c81;
  padding: calc(1rem - 1px) calc(1rem - 1px) calc(1rem - 1px) calc(0.95rem - 1px);
  background: linear-gradient(135deg, #edf6ff 0%, #ffffff 82%);
  box-shadow: 0 16px 32px rgba(15, 76, 129, 0.16);
}

.register-role-card.is-selected .register-role-card__icon,
.register-role-card:has(input:checked) .register-role-card__icon {
  box-shadow: 0 0 0 4px rgba(15, 76, 129, 0.13);
}

.register-role-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.register-role-card__icon {
  min-width: 2.75rem;
  height: 2.45rem;
  padding: 0 0.55rem;
  border-radius: 0.95rem;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #0f4c81 0%, #5fa8f5 100%);
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.register-role-card__content {
  display: grid;
  gap: 0.3rem;
}

.register-role-card__content strong {
  color: #183450;
}

.register-role-card__content span {
  color: #5f7287;
  font-size: 0.93rem;
  line-height: 1.45;
}

.register-empty-state {
  min-height: 100%;
  display: grid;
  align-content: center;
  padding: 0.5rem;
}

.register-student-state {
  display: grid;
  gap: 1.1rem;
}

.register-student-state__card {
  display: grid;
  gap: 1rem;
  padding: 1.2rem;
  border-radius: 1.35rem;
  border: 1px solid #dce8f4;
  background: #ffffff;
}

.register-student-state__section {
  padding: 1rem 1rem 1.05rem;
  border-radius: 1.1rem;
  background: #f8fbff;
  border: 1px solid #e4eef8;
}

.register-student-state__section h3 {
  margin: 0;
  color: #183450;
  font-size: 1.05rem;
}

.register-student-state__section p {
  margin: 0.45rem 0 0;
  color: #5c7086;
}

.register-request-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.register-request-form__validation:empty { display: none; }

.register-request-form__validation ul {
  margin: 0;
  padding: 0.85rem 1rem 0.85rem 2rem;
  border: 1px solid #e8a3a3;
  border-radius: 1rem;
  background: #fff7f7;
  color: #9b2424;
}

.register-request-form__validation li + li { margin-top: 0.25rem; }

.register-multi-select {
  padding: 1rem 1rem 1.05rem;
  border-radius: 1.25rem;
  border: 1px solid #dce8f4;
  background: #ffffff;
}

.register-multi-select__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.register-multi-select__meta {
  display: grid;
  gap: 0.45rem;
  justify-items: end;
}

.register-multi-select__count {
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: #edf5ff;
  color: #0f4c81;
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
}

.register-facility-picker {
  display: grid;
  gap: 0.9rem;
}

.register-facility-picker__search {
  border-radius: 1rem;
}

.register-facility-picker__selected {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  min-height: 2.3rem;
}

.register-facility-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.48rem 0.8rem;
  border-radius: 999px;
  background: #edf5ff;
  color: #0f4c81;
  font-size: 0.88rem;
  font-weight: 600;
}

.register-facility-picker__empty {
  color: #70839a;
  font-size: 0.92rem;
}

.register-facility-picker__list {
  display: grid;
  gap: 0.7rem;
  max-height: 19rem;
  overflow: auto;
  padding: 0.2rem;
}

.register-facility-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  padding: 0.9rem 0.95rem;
  border-radius: 1rem;
  border: 1px solid #dce8f4;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.register-facility-option:hover {
  border-color: #bdd9f2;
  box-shadow: 0 14px 28px rgba(19, 50, 79, 0.08);
  transform: translateY(-1px);
}

.register-facility-option:has(input:checked) {
  border-color: rgba(15, 76, 129, 0.26);
  background: #f8fbff;
  box-shadow: 0 16px 32px rgba(15, 76, 129, 0.08);
}

.register-facility-option input {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.2rem;
  accent-color: #0f4c81;
}

.register-facility-option__content {
  display: grid;
  gap: 0.25rem;
}

.register-facility-option__content strong {
  color: #183450;
}

.register-facility-option__content span {
  color: #5f7287;
  font-size: 0.9rem;
  line-height: 1.45;
}

.register-facility-picker__no-results {
  padding: 1rem 1.05rem;
  border-radius: 1rem;
  background: #f8fbff;
  border: 1px dashed #d1e1f0;
  color: #607489;
}

.register-request-form__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.register-request-form__textarea {
  min-height: 9rem !important;
  height: auto !important;
}

.register-verification-comment {
  display: grid;
  gap: 0.45rem;
}

.register-verification-comment label {
  color: #183450;
  font-weight: 650;
}

.register-verification-comment p {
  margin: 0;
  color: #63788d;
  font-size: 0.9rem;
}

.register-verification {
  display: grid;
  gap: 0.9rem;
  padding: 1.15rem;
  border: 1px solid #b9d7f2;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, #f2f9ff 0%, #ffffff 76%);
}

.register-verification__heading h3 { margin: 0.2rem 0 0; color: #183450; font-size: 1.08rem; }
.register-verification__heading p { margin: 0.45rem 0 0; color: #5c7086; }
.register-verification__examples { padding: 0.85rem 0.95rem; border-radius: 0.9rem; background: rgba(255,255,255,.82); color: #4d647b; font-size: .92rem; }
.register-verification__examples strong { color: #183450; }
.register-verification__examples ul { margin: .4rem 0 0; padding-left: 1.15rem; }
.register-verification__examples li + li { margin-top: .2rem; }
.register-verification__upload { display: flex; align-items: center; gap: .75rem; padding: .8rem .9rem; border: 1px dashed #79abd7; border-radius: 1rem; background: #fff; color: #183450; cursor: pointer; }
.register-verification__upload:hover { border-color: #0f4c81; background: #f8fbff; }
.register-verification__upload-icon { display: grid; place-items: center; width: 2.15rem; height: 2.15rem; border-radius: .75rem; background: #e1f0ff; color: #0f4c81; font-size: 1.25rem; font-weight: 700; }
.register-verification__upload span:nth-child(2) { display: grid; gap: .15rem; }
.register-verification__upload small { color: #63788d; }
.register-verification__upload input { margin-left: auto; max-width: 13.5rem; color: #405b75; font-size: .85rem; }

.account-request-card__attachment {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .6rem;
  color: #0f4c81;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}

.account-request-card__attachment:hover,
.account-request-card__attachment:focus-visible { color: #063863; text-decoration: underline; }

.register-request-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.35rem;
}

.register-request-form__review {
  display: grid;
  gap: 0.2rem;
}

.register-request-form__review span {
  color: #6c7f93;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.register-request-form__review strong {
  color: #183450;
}

.faccec-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.dashboard-loading-shell {
  display: grid;
  gap: 1.5rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(1.25rem, 3vw, 2.5rem);
}

.dashboard-loading-shell__hero,
.dashboard-loading-shell__cards > div {
  border: 1px solid rgba(25, 64, 104, 0.08);
  border-radius: 1.25rem;
  background: linear-gradient(105deg, #f4f8fc 20%, #ffffff 38%, #f4f8fc 55%);
  background-size: 250% 100%;
  animation: dashboard-loading-shimmer 1.5s ease-in-out infinite;
}

.dashboard-loading-shell__hero {
  min-height: 13rem;
  padding: 2rem;
}

.dashboard-loading-shell__eyebrow {
  display: block;
  color: #6c7f93;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-loading-shell__title,
.dashboard-loading-shell__copy {
  border-radius: 999px;
  background: rgba(114, 143, 171, 0.16);
}

.dashboard-loading-shell__title {
  width: min(26rem, 72%);
  height: 2.2rem;
  margin-top: 1.15rem;
}

.dashboard-loading-shell__copy {
  width: min(34rem, 92%);
  height: 1rem;
  margin-top: 0.8rem;
}

.dashboard-loading-shell__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.dashboard-loading-shell__cards > div {
  min-height: 9rem;
}

.dashboard-loading-shell__message {
  margin: 0;
  color: #526b84;
  text-align: center;
}

.dashboard-loading-shell--error {
  display: block;
  max-width: 42rem;
  margin-top: 4rem;
  text-align: center;
}

@keyframes dashboard-loading-shimmer {
  from { background-position: 100% 0; }
  to { background-position: -150% 0; }
}

.faccec-sidebar,
.faccec-main,
.faccec-hero__copy,
.faccec-primary-workspace,
.ce-workspace,
.faccec-card-workspace,
.faccec-card-tabs__content,
.faccec-card-tabs__content > .tab-pane {
  min-width: 0;
}

.faccec-sidebar__panel,
.faccec-hero,
.faccec-toolbar,
.faccec-inline-note,
.faccec-panel,
.faccec-stat {
  background: #ffffff;
  border: 1px solid rgba(25, 64, 104, 0.08);
  box-shadow: 0 20px 45px rgba(23, 47, 74, 0.08);
}

.faccec-sidebar__panel {
  position: sticky;
  top: 1rem;
  border-radius: 1.5rem;
  padding: 1.5rem 1.15rem 1.25rem;
  background: #ffffff;
}

.faccec-sidebar__toggle,
.faccec-sidebar__backdrop,
.faccec-sidebar__mobile-header {
  display: none;
}

.faccec-sidebar__toggle {
  min-height: 3rem;
  padding: 0.7rem 1rem;
  border: 1px solid #d7e4f1;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.94);
  color: #183450;
  box-shadow: 0 14px 30px rgba(23, 47, 74, 0.08);
  align-items: center;
  gap: 0.7rem;
  font-weight: 700;
}

.faccec-sidebar__toggle-icon {
  width: 1.15rem;
  height: 1.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.faccec-sidebar__toggle-icon svg {
  width: 100%;
  height: 100%;
}

.faccec-sidebar__toggle-label {
  line-height: 1;
}

.faccec-sidebar__mobile-header {
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.faccec-sidebar__mobile-title {
  color: #183450;
  font-size: 1rem;
  font-weight: 700;
}

.faccec-sidebar__close {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #d8e5f1;
  border-radius: 999px;
  background: #f8fbfe;
  color: #385573;
  display: inline-grid;
  place-items: center;
}

.faccec-sidebar__close svg {
  width: 1rem;
  height: 1rem;
}

.faccec-sidebar__backdrop {
  position: fixed;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(20, 33, 49, 0.38);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 1090;
}

.faccec-profile {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "avatar identity"
    "role role";
  align-items: start;
  gap: 1.1rem;
  padding-bottom: 1.15rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(15, 76, 129, 0.12);
}

.faccec-profile__avatar {
  grid-area: avatar;
  width: 5rem;
  height: 5rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #0f4c81 0%, #5fa8f5 100%);
  color: #ffffff;
  font-weight: 700;
  font-size: 1.55rem;
  box-shadow: 0 12px 26px rgba(15, 76, 129, 0.18);
  border: 3px solid #ffffff;
}

.faccec-profile__avatar-image {
  grid-area: avatar;
  width: 5rem;
  height: 5rem;
  border-radius: 999px;
  object-fit: cover;
  box-shadow: 0 12px 26px rgba(15, 76, 129, 0.18);
  border: 3px solid #ffffff;
}

.faccec-profile__identity {
  grid-area: identity;
  min-width: 0;
}

.faccec-profile__name {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: #23344c;
}

.faccec-profile__role {
  grid-area: role;
  width: 100%;
  color: #5c7086;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding-top: 0.15rem;
  text-align: center;
}

.faccec-profile__actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.7rem;
}

.faccec-profile__action-form {
  display: contents;
}

.faccec-profile__action,
.faccec-profile__action--button {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  color: #34475d;
  background: transparent;
  border: none;
  text-decoration: none;
  transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.faccec-profile__action svg,
.faccec-profile__action--button svg {
  width: 1.3rem;
  height: 1.3rem;
}

.faccec-profile__action:hover,
.faccec-profile__action:focus-visible,
.faccec-profile__action--button:hover,
.faccec-profile__action--button:focus-visible {
  color: #0f4c81;
  background: rgba(15, 76, 129, 0.08);
  transform: translateY(-1px);
  outline: none;
}

.faccec-profile__action--muted {
  opacity: 0.72;
  cursor: default;
}

.faccec-nav {
  display: grid;
  gap: 0.25rem;
}

.faccec-nav__item {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-height: 3.05rem;
  padding: 0.78rem 0.8rem;
  border-radius: 1rem;
  color: #31465e;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  background: transparent;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.faccec-nav__item:hover {
  background: rgba(15, 76, 129, 0.05);
  color: #183450;
  transform: translateX(2px);
}

.faccec-nav__link {
  color: inherit;
  text-decoration: none;
}

.faccec-nav__item.is-active {
  background: rgba(15, 76, 129, 0.08);
  color: #183450;
  box-shadow: none;
}

.faccec-nav__icon {
  width: 1.6rem;
  height: 1.6rem;
  display: grid;
  place-items: center;
  color: inherit;
  background: transparent;
  flex: 0 0 auto;
}

.faccec-nav__icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.faccec-nav__item.is-active .faccec-nav__icon {
  color: #0f4c81;
}

.faccec-nav__badge {
  margin-left: 0.2rem;
  min-width: 1.55rem;
  height: 1.55rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #ff5b7c;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  box-shadow: 0 10px 20px rgba(255, 91, 124, 0.25);
}

.faccec-main {
  display: grid;
  gap: 1.5rem;
}

.faccec-hero {
  border-radius: 1.8rem;
  padding: 1.6rem 1.7rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  background: #ffffff;
}

.faccec-kicker {
  display: inline-block;
  margin-bottom: 0.55rem;
  color: #4073a8;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.faccec-hero h1,
.faccec-toolbar h2,
.faccec-inline-note h2,
.faccec-panel h2 {
  margin: 0;
  color: #183450;
}

.faccec-hero p,
.faccec-toolbar p,
.faccec-inline-note p {
  margin: 0.35rem 0 0;
  color: #5c7086;
}

.faccec-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
  min-width: 0;
}

.faccec-hero__year-stack {
  display: grid;
  gap: 0.7rem;
}

.faccec-hero__switch-action {
  min-height: 3rem;
  padding-inline: 1rem;
}

/* Page headers use a single, direct title treatment across the workspace. */
.faccec-hero__copy > .faccec-kicker,
.faccec-hero__copy > p,
.requests-page__hero > div:first-child > p,
.user-admin-profile-hero > div > p,
.account-page__hero .account-page__identity p {
  display: none;
}

.faccec-hero__copy > .faccec-kicker,
.requests-page__hero .requests-page__eyebrow,
.user-admin-profile-hero .faccec-kicker,
.account-page__hero .account-page__eyebrow,
.page-header__eyebrow {
  display: inline-block;
  margin: 0 0 .45rem;
}

.faccec-hero__copy > h1,
.faccec-hero h1,
.faccec-panel h1,
.faccec-panel h2,
.faccec-toolbar h2,
.requests-page__hero h1,
.user-admin-profile-hero h1,
.account-page__hero h1,
.faccec-panel__header h1,
.faccec-panel__header h2,
.user-admin-panel__heading h2,
.user-admin-results__header h2,
.requests-section__header h2,
.account-panel__header h2,
.admin-editor-card__header h2,
.assessment-surveys-card__header h2 {
  text-transform: uppercase;
}

.faccec-panel__header p,
.user-admin-panel__heading p,
.requests-section__header p,
.account-panel__header p,
.admin-editor-card__header p,
.assessment-surveys-card__header p {
  display: none;
}

.faccec-hero h1,
.user-admin-profile-hero h1,
.account-page__hero h1 {
  font-size: clamp(1.75rem, 2.4vw, 2.35rem);
  font-weight: 650;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.faccec-panel h2,
.faccec-toolbar h2,
.user-admin-panel__heading h2,
.requests-section__header h2,
.account-panel__header h2,
.admin-editor-card__header h2,
.assessment-surveys-card__header h2 {
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.manage-students-panel__header {
  align-items: center;
}

.manage-students-panel__actions {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.manage-students-panel__actions .faccec-panel__count {
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .manage-students-panel__header {
    align-items: flex-start;
  }

  .manage-students-panel__actions {
    width: 100%;
    justify-content: flex-start;
  }
}

.page-header__copy {
  display: block;
}

.faccec-chip {
  min-width: 9rem;
  padding: 0.8rem 0.95rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(15, 76, 129, 0.1);
}

.faccec-chip--alert {
  border-color: rgba(255, 91, 124, 0.18);
}

.faccec-chip__label {
  display: block;
  margin-bottom: 0.15rem;
  color: #6c7f93;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.faccec-inline-note,
.faccec-panel {
  border-radius: 1.4rem;
  padding: 1.35rem 1.45rem;
}

.faccec-inline-note--warning {
  background: linear-gradient(180deg, #fff8f4 0%, #ffffff 100%);
  border-color: rgba(216, 116, 66, 0.18);
}

.faccec-inline-note--success {
  background: linear-gradient(180deg, #f5fcf8 0%, #ffffff 100%);
  border-color: rgba(46, 153, 96, 0.18);
}

.faccec-inline-note--danger {
  background: linear-gradient(180deg, #fff6f7 0%, #ffffff 100%);
  border-color: rgba(186, 72, 89, 0.2);
}

.app-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.app-form-field {
  display: grid;
  gap: 0.45rem;
}

.app-form-field label {
  font-size: 0.86rem;
  font-weight: 700;
  color: #39516f;
}

.app-form-field--checkbox {
  align-content: center;
}

.app-form-field--checkbox label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 920px) {
  .app-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.faccec-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.faccec-top-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.unicem-top-metrics .faccec-stat__label {
  white-space: normal;
}

.unicem-priority-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.unicem-priority-card {
  display: grid;
  gap: 0.35rem;
  padding: 1.15rem 1.25rem;
  border-radius: 1.6rem;
  border: 1px solid #d7e5f5;
  background: #fff;
  box-shadow: 0 24px 60px rgba(17, 40, 74, 0.08);
}

.unicem-priority-card.is-priority {
  border-color: rgba(181, 71, 87, 0.22);
  box-shadow: 0 24px 60px rgba(181, 71, 87, 0.1);
}

.unicem-priority-card__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6281a4;
}

.unicem-priority-card strong {
  font-size: clamp(2rem, 3vw, 2.65rem);
  line-height: 1;
  color: #183450;
}

.unicem-priority-card span:last-child {
  color: #486585;
  font-size: 0.98rem;
  line-height: 1.45;
}

.unicem-program-panel {
  display: grid;
  gap: 1.25rem;
}

.unicem-program-list {
  display: grid;
  gap: 1rem;
}

.unicem-program-card {
  display: grid;
  gap: 1rem;
  padding: 1.4rem;
  border: 1px solid #d7e5f5;
  border-radius: 1.7rem;
  background: #fff;
}

.unicem-program-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.unicem-program-card__university {
  display: inline-block;
  margin-bottom: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6281a4;
}

.unicem-program-card h3 {
  margin: 0;
  color: #183450;
  font-size: clamp(1.3rem, 2vw, 1.8rem);
}

.unicem-program-card p {
  margin: 0.35rem 0 0;
  color: #5c7086;
}

.unicem-program-card__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
}

.unicem-meta-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.62rem 0.9rem;
  border-radius: 999px;
  background: #f6f9fd;
  border: 1px solid #d9e5f1;
  color: #274c71;
  font-size: 0.92rem;
  font-weight: 600;
  white-space: nowrap;
}

.unicem-year-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem;
}

.unicem-year-card {
  display: grid;
  gap: 0.85rem;
  padding: 1rem 1.05rem;
  border-radius: 1.4rem;
  border: 1px solid #d7e5f5;
  background: #fbfdff;
}

.unicem-year-card.is-muted {
  background: #f8fafc;
}

.unicem-year-card__header h4 {
  margin: 0;
  color: #183450;
  font-size: 1.08rem;
}

.unicem-year-card__header p {
  margin: 0.28rem 0 0;
  color: #5f7690;
  font-size: 0.94rem;
}

.unicem-year-card__metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.6rem;
}

.unicem-year-card__metric {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.unicem-year-card__metric span {
  color: #6b829c;
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.unicem-year-card__metric strong {
  color: #183450;
  font-size: 1.1rem;
  line-height: 1.2;
}

.unicem-year-card__signals {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.unicem-signal {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.8rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.3;
}

.unicem-signal.is-success {
  background: #edf8f2;
  color: #23764d;
}

.unicem-signal.is-warning {
  background: #fff3f1;
  color: #b54757;
}

.unicem-text-danger {
  color: #b54757;
}

.unicem-cohort-workspace__intro {
  margin: 0.55rem 0 0;
  max-width: 54rem;
  color: rgba(34, 63, 96, 0.78);
}

.unicem-cohort-workspace__create-action {
  margin-left: auto;
}

.unicem-cohort-workspace__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
  margin-left: auto;
}

.unicem-import-progress {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.1rem 0;
  padding: 1.15rem 1.3rem;
  border: 1px solid rgba(97, 157, 221, 0.34);
  border-radius: 1.25rem;
  background: linear-gradient(125deg, rgba(233, 244, 255, 0.92), rgba(248, 252, 255, 0.98));
  color: #19385f;
}

.unicem-import-progress h2 {
  margin: 0.12rem 0 0;
  font-size: 1.05rem;
}

.unicem-import-progress p {
  margin: 0.28rem 0 0;
  color: rgba(34, 63, 96, 0.78);
}

.unicem-import-progress__spinner {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  border: 3px solid rgba(41, 95, 156, 0.18);
  border-top-color: #2c73b9;
  border-radius: 50%;
  animation: unicem-import-spin 0.85s linear infinite;
}

.unicem-import-progress.is-error {
  border-color: rgba(181, 71, 87, 0.3);
  background: #fff7f6;
}

.unicem-import-progress.is-error .unicem-import-progress__spinner {
  animation: none;
  border-color: #b54757;
}

@keyframes unicem-import-spin {
  to { transform: rotate(360deg); }
}

.unicem-cohort-list {
  display: grid;
  gap: 1.5rem;
}

.unicem-cohort-card {
  border: 1px solid rgba(190, 210, 232, 0.95);
  border-radius: 1.9rem;
  background: #fff;
  padding: 1.65rem;
  box-shadow: 0 18px 42px rgba(28, 57, 90, 0.08);
}

.unicem-cohort-card__header {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: flex-start;
  margin-bottom: 1.25rem;
}

.unicem-cohort-card__title-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.unicem-cohort-card__title-row h3 {
  margin: 0;
  font-size: 1.55rem;
  color: #19385f;
}

.unicem-cohort-card__subtitle {
  margin: 0.35rem 0 0;
  color: rgba(34, 63, 96, 0.72);
  font-size: 1rem;
}

.unicem-status-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(32, 96, 184, 0.1);
  color: #275da7;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.unicem-cohort-card__summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  margin-bottom: 1.35rem;
}

.unicem-cohort-card__summary {
  padding: 0.95rem 1rem;
  border-radius: 1.1rem;
  background: #f7fafc;
  border: 1px solid rgba(204, 220, 238, 0.9);
}

.unicem-cohort-card__summary span {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(66, 99, 137, 0.82);
}

.unicem-cohort-card__summary strong {
  display: block;
  margin-top: 0.45rem;
  font-size: 1.45rem;
  color: #19385f;
}

.unicem-cohort-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.unicem-cohort-manage__list {
  display: grid;
  gap: 0.8rem;
}

.unicem-cohort-manage__item {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(190, 210, 232, 0.95);
  border-radius: 1rem;
  box-shadow: 0 12px 28px rgba(28, 57, 90, 0.06);
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
}

.unicem-cohort-manage__item[draggable="true"] {
  cursor: grab;
}

.unicem-cohort-manage__item.is-dragging {
  border-color: rgba(44, 115, 185, 0.65);
  box-shadow: 0 18px 36px rgba(28, 57, 90, 0.14);
  opacity: 0.76;
  transform: scale(0.995);
}

.unicem-cohort-manage__item.is-archived {
  background: #f8fafc;
  opacity: 0.74;
}

.unicem-cohort-manage__drag {
  align-items: center;
  background: #f1f6fb;
  border: 1px solid rgba(190, 210, 232, 0.95);
  border-radius: 0.85rem;
  color: #275da7;
  display: inline-flex;
  height: 2.6rem;
  justify-content: center;
  width: 2.6rem;
}

.unicem-cohort-manage__drag:disabled {
  color: rgba(66, 99, 137, 0.45);
  cursor: not-allowed;
}

.unicem-cohort-manage__main {
  min-width: 0;
}

.unicem-cohort-manage__title-row,
.unicem-cohort-manage__meta,
.unicem-cohort-manage__actions,
.unicem-cohort-manage__footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.unicem-cohort-manage__title-row strong {
  color: #19385f;
  font-size: 1.08rem;
}

.unicem-cohort-manage__main p {
  color: rgba(34, 63, 96, 0.74);
  margin: 0.28rem 0 0;
}

.unicem-cohort-manage__meta {
  color: rgba(34, 63, 96, 0.68);
  font-size: 0.9rem;
  margin-top: 0.48rem;
}

.unicem-cohort-manage__actions {
  justify-content: flex-end;
}

.unicem-cohort-manage__footer {
  justify-content: flex-end;
  margin-top: 1rem;
}

.unicem-status-pill--muted {
  background: #eef2f6;
  color: #65758b;
}

.unicem-pathway-list {
  display: grid;
  gap: 1.35rem;
}

.unicem-pathway-group {
  position: relative;
  margin-top: 0.8rem;
  padding: 2.35rem 1.25rem 1.25rem;
  border: 1px solid rgba(126, 181, 240, 0.74);
  border-radius: 1.7rem;
  background: linear-gradient(150deg, rgba(248, 252, 255, 0.96), #fff 48%);
}

.unicem-pathway-group--main {
  border-color: rgba(79, 151, 224, 0.84);
}

.unicem-pathway-group__legend {
  position: absolute;
  top: -1rem;
  left: 1.1rem;
  padding: 0 0.65rem;
  background: #fff;
}

.unicem-pathway-group__legend h4 {
  margin: 0;
  color: #19385f;
  font-size: 1.28rem;
  font-weight: 750;
}

.unicem-pathway-group__body {
  display: grid;
  gap: 1rem;
}

.unicem-pathway-group__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex-wrap: wrap;
  color: #295f9c;
}

.unicem-pathway-group__meta span,
.unicem-pathway-group__meta strong {
  display: inline-flex;
  align-items: center;
  min-height: auto;
  padding: 0.2rem 0.15rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 0.88rem;
}

.unicem-pathway-group__meta strong {
  color: #19385f;
}

/* Dashboard facts are deliberately quiet; actionable controls remain obvious. */
.unicem-dashboard-action {
  --app-button-bg: #fff;
  --app-button-bg-hover: #edf6ff;
  --app-button-border: #6fa9df;
  --app-button-color: #15599d;
  --app-button-shadow: 0 0.2rem 0.5rem rgba(32, 99, 163, 0.1);
  border-radius: 0.72rem;
  letter-spacing: 0.01em;
}

.unicem-dashboard-action:hover,
.unicem-dashboard-action:focus-visible {
  transform: translateY(-1px);
}

.unicem-dashboard-action .app-button__badge {
  background: #1967ad;
  color: #fff;
}

.unicem-pathway-group__empty {
  margin: 0;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(239, 246, 253, 0.75);
  color: rgba(34, 63, 96, 0.75);
}

.unicem-date-range-exception {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0.35rem 0 0;
  color: #9a5b08;
  font-size: 0.84rem;
  font-weight: 700;
}

.unicem-date-range-exception::before {
  content: "!";
  display: inline-grid;
  width: 1.05rem;
  height: 1.05rem;
  place-items: center;
  border-radius: 50%;
  background: #fff1d6;
  border: 1px solid #e3a34d;
  font-size: 0.72rem;
}

.unicem-pathway-page { width: min(100% - 3rem, 1280px); margin: 1.5rem auto 3rem; }
.unicem-pathway-page .faccec-hero { min-height: 0; }
.unicem-pathway-page .faccec-hero__copy h1 { max-width: 48rem; }
.unicem-pathway-admin { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(22rem, .85fr); gap: 1.25rem; align-items: start; }
.unicem-pathway-admin__list { display: grid; gap: .75rem; }
.unicem-pathway-admin__item { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem; border:1px solid rgba(204,220,238,.9); border-radius:1rem; background:#fff; }
.unicem-pathway-admin__item strong { color:#19385f; }
.unicem-pathway-admin__item p { margin:.3rem 0 0; color:rgba(34,63,96,.72); }
.unicem-pathway-admin__form { display:grid; gap:1rem; }
.unicem-pathway-admin__form label { display:grid; gap:.4rem; color:#19385f; font-weight:650; }

@media (max-width: 860px) {
  .unicem-pathway-page { width: min(100% - 1.5rem, 1280px); }
  .unicem-pathway-admin { grid-template-columns: 1fr; }
  .unicem-pathway-admin__item { align-items: flex-start; flex-direction: column; }
}

.unicem-cohort-card__section + .unicem-cohort-card__section {
  margin-top: 1.35rem;
}

.unicem-cohort-card__section h4 {
  margin: 0 0 0.8rem;
  font-size: 1rem;
  color: #295f9c;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.unicem-stage-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.9rem;
}

.unicem-stage-overview-card {
  padding: 1rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(204, 220, 238, 0.92);
  background: #fff;
}

.unicem-stage-overview-card.is-attention {
  border-color: rgba(224, 169, 61, 0.45);
  box-shadow: inset 0 0 0 1px rgba(224, 169, 61, 0.14);
}

.unicem-stage-overview-card__header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
}

.unicem-stage-overview-card__header strong {
  color: #19385f;
  font-size: 1.02rem;
}

.unicem-stage-overview-card--dashboard .unicem-stage-overview-card__header {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.unicem-stage-overview-card__students {
  color: rgba(34, 63, 96, 0.8);
  font-size: 0.94rem;
}

.unicem-stage-overview-card--dashboard .unicem-stage-overview-card__flag {
  margin-left: auto;
}

.unicem-stage-overview-card__flag {
  border-radius: 999px;
  padding: 0.28rem 0.55rem;
  background: rgba(37, 97, 169, 0.1);
  color: #295f9c;
  font-size: 0.72rem;
  font-weight: 700;
}

.unicem-stage-overview-card__metrics {
  display: grid;
  gap: 0.32rem;
  margin-top: 0.8rem;
  color: rgba(34, 63, 96, 0.8);
  font-size: 0.94rem;
}

.unicem-stage-overview-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1rem;
}

.unicem-stage-overview-card--dashboard .unicem-stage-overview-card__actions {
  margin-top: 0.8rem;
}

.unicem-stage-overview-card__note {
  margin: 0.8rem 0 0;
  color: #b56c11;
  font-size: 0.9rem;
  font-weight: 600;
}

.unicem-cohort-card__exceptions {
  margin: 0;
  padding-left: 1.2rem;
  color: rgba(34, 63, 96, 0.88);
}

.unicem-cohort-card__exceptions li + li {
  margin-top: 0.45rem;
}

.unicem-cohort-card__muted {
  margin: 0;
  color: rgba(34, 63, 96, 0.72);
}

.unicem-editor-panel {
  overflow: hidden;
}

.unicem-editor-form {
  display: grid;
  gap: 1.5rem;
}

.unicem-migration-hero {
  align-items: center;
}

.unicem-migration-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.unicem-migration-step-card {
  display: grid;
  gap: 0.45rem;
  padding: 1rem 1.05rem;
  border-radius: 1.1rem;
  border: 1px solid #dfebf5;
  background: #fbfdff;
}

.unicem-migration-step-card span {
  color: #183450;
  font-size: 0.95rem;
  font-weight: 700;
}

.unicem-migration-step-card p,
.unicem-migration-program-card__hint {
  margin: 0;
  color: #617589;
}

.unicem-migration-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.5fr);
  gap: 1.5rem;
  align-items: start;
}

.unicem-migration-programs,
.unicem-migration-editor {
  min-width: 0;
}

.unicem-migration-programs__list,
.unicem-migration-stage-planner__list {
  display: grid;
  gap: 0.85rem;
}

.unicem-migration-program-card {
  display: grid;
  gap: 0.7rem;
  padding: 1rem 1.05rem;
  border: 1px solid #dce8f3;
  border-radius: 1.2rem;
  background: #ffffff;
  color: inherit;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.unicem-migration-program-card:hover,
.unicem-migration-program-card:focus-visible {
  transform: translateY(-1px);
  border-color: #bfd5ea;
  box-shadow: 0 14px 30px rgba(16, 42, 67, 0.08);
  outline: none;
}

.unicem-migration-program-card.is-selected {
  border-color: rgba(22, 119, 230, 0.26);
  box-shadow: 0 16px 36px rgba(27, 111, 201, 0.1);
}

.unicem-migration-program-card__top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.85rem;
}

.unicem-migration-program-card__top strong {
  color: #183450;
  font-size: 1rem;
}

.unicem-migration-program-card__top p {
  margin: 0.2rem 0 0;
  color: #697d90;
  font-size: 0.88rem;
}

.unicem-migration-program-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.unicem-migration-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid #dce7f1;
  background: #f8fbfe;
  color: #597086;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.unicem-migration-status.is-success {
  border-color: rgba(31, 157, 103, 0.2);
  background: rgba(31, 157, 103, 0.1);
  color: #1f7f57;
}

.unicem-migration-status.is-draft {
  border-color: rgba(22, 119, 230, 0.18);
  background: rgba(22, 119, 230, 0.08);
  color: #1663bd;
}

.unicem-migration-status.is-pending {
  border-color: rgba(181, 71, 87, 0.14);
  background: #fff7f8;
  color: #a14d5d;
}

.unicem-migration-legacy-snapshot {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.unicem-migration-form-grid {
  margin-bottom: 1rem;
}

.unicem-migration-repeat {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr);
  gap: 1rem;
  align-items: end;
  padding: 1rem 1.05rem;
  margin-bottom: 1rem;
  border: 1px solid #dfe9f4;
  border-radius: 1.2rem;
  background: #fbfdff;
}

.unicem-migration-repeat .form-check {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.8rem;
}

.unicem-migration-repeat .form-check-input {
  margin-top: 0;
}

.unicem-migration-stage-card {
  display: grid;
  gap: 0.85rem;
  padding: 1rem 1.05rem;
  border: 1px solid #dfe9f4;
  border-radius: 1.25rem;
  background: #ffffff;
}

.unicem-migration-stage-card__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.unicem-migration-stage-card__header strong {
  color: #183450;
  font-size: 1rem;
}

.unicem-migration-stage-card__header p {
  margin: 0.25rem 0 0;
  color: #6a7f93;
  font-size: 0.88rem;
}

.unicem-migration-stage-card__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.faccec-linked-attention {
  border-radius: 1.45rem;
  padding: 1.15rem 1.3rem;
  background: #ffffff;
  border: 1px solid #e4edf6;
  box-shadow: 0 16px 34px rgba(23, 47, 74, 0.06);
}

.faccec-linked-attention__header h2 {
  margin: 0;
  color: #183450;
  font-size: 1.12rem;
}

.faccec-linked-attention__summary {
  margin: 0.7rem 0 0;
  color: #4d647c;
  font-size: 1rem;
  line-height: 1.65;
}

.faccec-linked-attention__item,
.faccec-linked-attention__joiner,
.faccec-linked-attention__suffix {
  display: inline;
}

.faccec-linked-attention__count {
  color: #c53a4b;
  font-weight: 800;
}

.faccec-priority-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
  gap: 1rem;
}

.faccec-metrics--secondary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.faccec-stat {
  border-radius: 1.3rem;
  padding: 1.2rem 1.25rem;
  min-height: 9.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #ffffff;
  border: 1px solid #deebf6;
}

.faccec-stat.is-warning {
  background: linear-gradient(180deg, #fff8f8 0%, #ffffff 100%);
  border-color: rgba(214, 100, 110, 0.16);
}

.faccec-stat__value {
  font-size: clamp(2rem, 5vw, 2.8rem);
  line-height: 1;
  font-weight: 700;
  color: #15324f;
}

.faccec-stat__label {
  margin-top: 0.6rem;
  color: #5c7086;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.15;
  white-space: nowrap;
}

.faccec-stat--compact {
  min-height: 8.75rem;
}

.faccec-stat--priority-accent {
  box-shadow: 0 16px 32px rgba(16, 42, 67, 0.06);
}

.faccec-stat--priority-accent.is-priority {
  background: linear-gradient(180deg, #f5f9ff 0%, #ffffff 100%);
  border-color: rgba(64, 115, 168, 0.22);
}

.faccec-panel--priority {
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.faccec-priority-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}

.faccec-stat--priority {
  background: linear-gradient(180deg, #eef6ff 0%, #ffffff 100%);
}

.faccec-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
  gap: 1.5rem;
}

.faccec-primary-workspace {
  display: grid;
}

.faccec-card-workspace {
  display: grid;
  gap: 1.25rem;
}

.faccec-card-workspace__header {
  margin-bottom: 0;
}

.faccec-card-workspace__toolbar {
  display: grid;
  gap: 0.9rem;
  padding: 0.95rem;
  border: 1px solid rgba(200, 220, 238, 0.9);
  border-radius: 1.4rem;
  background: linear-gradient(180deg, rgba(246, 250, 255, 0.94), rgba(255, 255, 255, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.faccec-card-workspace__controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.faccec-card-workspace__search-field {
  width: 100%;
}

.faccec-card-workspace__search-control {
  width: 100%;
}

.faccec-card-workspace__search-control .app-search__icon {
  position: absolute;
  left: 0.95rem;
  top: 50%;
  z-index: 1;
  transform: translateY(-50%);
}

.faccec-card-workspace__search-control .faccec-card-workspace__search {
  width: 100%;
  padding-inline: 2.85rem 0.95rem;
}

.faccec-card-workspace__search {
  width: min(100%, 25rem);
  min-height: 3rem;
  border-radius: 1.05rem;
  border-color: #d6e4f1;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 20px rgba(16, 62, 104, 0.04);
  padding-inline: 0.95rem;
}

.faccec-card-workspace__filter {
  flex: 0 0 auto;
}

.faccec-card-workspace__year {
  width: min(100%, 10rem);
  min-height: 3rem;
  border-radius: 1.05rem;
  border-color: #d6e4f1;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 20px rgba(16, 62, 104, 0.04);
}

.faccec-card-workspace__search:focus {
  border-color: #9fc0e0;
  box-shadow: 0 0 0 0.25rem rgba(72, 124, 184, 0.12);
}

.ce-year-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  min-height: 2.75rem;
  padding: 0.1rem 0.25rem;
}

.ce-year-filter[hidden] {
  display: none;
}

.ce-year-filter__context {
  min-width: 0;
  color: #526b80;
  font-size: 0.84rem;
  font-weight: 750;
}

.ce-year-menu {
  position: relative;
  flex: 0 0 auto;
}

.ce-year-menu__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  padding: 0.45rem 0.55rem 0.45rem 0.85rem;
  border: 1px solid #d2e0eb;
  border-radius: 0.9rem;
  color: #254b6b;
  background: #fff;
  box-shadow: 0 7px 18px rgba(24, 52, 80, 0.06);
  cursor: pointer;
  list-style: none;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ce-year-menu__trigger::-webkit-details-marker {
  display: none;
}

.ce-year-menu__trigger:hover,
.ce-year-menu__trigger:focus-visible,
.ce-year-menu[open] .ce-year-menu__trigger {
  border-color: #9fc4d8;
  background: #f5fafc;
  box-shadow: 0 10px 24px rgba(24, 52, 80, 0.1);
  transform: translateY(-1px);
}

.ce-year-menu__label {
  color: #73869a;
  font-size: 0.76rem;
  font-weight: 700;
}

.ce-year-menu__trigger strong {
  font-size: 0.88rem;
  font-weight: 800;
}

.ce-year-menu__trigger-count,
.ce-year-menu__count {
  display: inline-grid;
  min-width: 1.6rem;
  min-height: 1.6rem;
  padding: 0 0.45rem;
  place-items: center;
  border-radius: 999px;
  color: #245f78;
  background: #e8f3f7;
  font-size: 0.78rem;
  font-weight: 800;
}

.ce-year-menu__trigger svg {
  width: 0.9rem;
  height: 0.9rem;
  fill: none;
  stroke: #71869a;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  transition: transform 160ms ease;
}

.ce-year-menu[open] .ce-year-menu__trigger svg {
  transform: rotate(180deg);
}

.ce-year-menu__popover {
  position: absolute;
  z-index: 30;
  top: calc(100% + 0.5rem);
  right: 0;
  display: grid;
  width: min(17rem, calc(100vw - 2rem));
  max-height: 19rem;
  gap: 0.25rem;
  padding: 0.45rem;
  overflow-y: auto;
  border: 1px solid #d5e2ec;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.99);
  box-shadow: 0 20px 48px rgba(24, 52, 80, 0.18);
}

.ce-year-menu__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.65rem;
  padding: 0.5rem 0.65rem 0.5rem 0.8rem;
  border: 0;
  border-radius: 0.7rem;
  color: #39566e;
  background: transparent;
  font-size: 0.88rem;
  font-weight: 720;
  text-align: left;
  transition: color 150ms ease, background-color 150ms ease;
}

.ce-year-menu__option:hover,
.ce-year-menu__option:focus-visible {
  color: #164f70;
  background: #edf6fa;
}

.ce-year-menu__option.is-active {
  color: #fff;
  background: linear-gradient(135deg, #236986 0%, #2e829d 100%);
}

.ce-year-menu__option.is-active .ce-year-menu__count {
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
}

.ce-year-menu__option:disabled {
  cursor: wait;
  opacity: 0.58;
}

.ce-year-content {
  display: grid;
  gap: 0.9rem;
  min-height: 8rem;
}

.ce-year-content[aria-busy="true"] {
  opacity: 0.58;
  pointer-events: none;
}

.faccec-card-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0;
  margin-bottom: 0;
}

.faccec-card-tabs__button {
  flex: 1 1 0;
  min-height: 2.75rem;
  min-width: 0;
  padding: 0.48rem 1rem;
  border: 1px solid #d7e5f2;
  border-radius: 999px;
  background: rgba(248, 251, 255, 0.96);
  color: #33597b;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  justify-content: space-between;
  font-size: 0.92rem;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  transition: all 0.18s ease;
}

.faccec-card-tabs__button > span:first-child {
  min-width: 0;
}

.faccec-card-tabs__button:hover,
.faccec-card-tabs__button:focus-visible {
  border-color: #bed6ec;
  background: #f0f7fd;
  color: #183450;
  transform: translateY(-1px);
  outline: none;
}

.faccec-card-tabs__button.is-active,
.faccec-card-tabs__button.active {
  border-color: transparent;
  background: linear-gradient(135deg, #183450 0%, #28527d 100%);
  color: #ffffff;
  box-shadow: 0 14px 26px rgba(24, 52, 80, 0.14);
}

.faccec-card-tabs__count {
  min-width: 1.6rem;
  min-height: 1.6rem;
  padding: 0 0.45rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(24, 52, 80, 0.08);
  color: inherit;
  font-size: 0.78rem;
  font-weight: 800;
}

.faccec-card-tabs__button.active .faccec-card-tabs__count,
.faccec-card-tabs__button.is-active .faccec-card-tabs__count {
  background: rgba(255, 255, 255, 0.16);
}

.faccec-card-tabs__content {
  display: grid;
  margin-top: 0.15rem;
}

.unicem-cohort-workspace .faccec-card-tabs__content {
  margin-top: 0.9rem;
}

.faccec-card-workspace__empty {
  margin-top: 0.25rem;
}

.faccec-card-workspace__search-empty {
  margin-top: 0.75rem;
}

.faccec-card-list {
  display: grid;
  gap: 0.75rem;
}

.ce-card-workspace .faccec-card-tabs {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.ce-card-workspace .faccec-card-tabs__content {
  margin-top: 0.15rem;
}

.ce-card-workspace .faccec-card-list {
  gap: 1rem;
}

.faccec-placement-card {
  border: 1.5px solid #c7d9ea;
  border-radius: 1.2rem;
  padding: 0.85rem 0.95rem;
  background: #ffffff;
  box-shadow: 0 14px 28px rgba(23, 47, 74, 0.05);
  display: grid;
  gap: 0.75rem;
}

.faccec-placement-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.faccec-placement-card__identity h3 {
  margin: 0;
  color: #183450;
  font-size: 1.15rem;
  line-height: 1.2;
}

.faccec-placement-card__identity p {
  margin: 0.18rem 0 0;
  color: #657a90;
  font-size: 0.88rem;
}

.faccec-placement-card__grid {
  display: grid;
  grid-template-columns: minmax(11rem, 1.1fr) minmax(14rem, 1.5fr) minmax(10rem, 0.95fr) minmax(11rem, 1.15fr);
  gap: 0.65rem;
  align-items: stretch;
}

.faccec-placement-card__field {
  display: grid;
  gap: 0.18rem;
  padding: 0.6rem 0.72rem;
  border-radius: 0.95rem;
  border: 1px solid #e4edf6;
  background: #fbfdff;
  min-width: 0;
}

.faccec-placement-card__field--placement {
  min-width: 0;
}

.faccec-placement-card__field span {
  color: #6c8094;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.faccec-placement-card__field strong {
  color: #183450;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.faccec-placement-card__field strong.faccec-placement-card__value--unassigned {
  color: #b54757;
}

.faccec-placement-card__field small {
  color: #64798e;
  font-size: 0.82rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.faccec-placement-card__grid--educator {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.faccec-placement-card--educator .faccec-placement-card__field--placement {
  grid-column: span 1;
}

.faccec-placement-card__field--metrics {
  align-content: start;
}

.faccec-placement-card__metrics-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.12rem;
}

.faccec-placement-card__metrics-list > div {
  display: grid;
  align-content: start;
  gap: 0.12rem;
  min-width: 0;
}

.faccec-placement-card__metrics-list > div + div {
  padding-left: 0.65rem;
  border-left: 1px solid #e4edf6;
}

.faccec-placement-card__action-button {
  min-height: 2.45rem;
  padding: 0.5rem 0.9rem;
  border-radius: 0.9rem;
  flex: 0 0 auto;
  align-self: flex-start;
  white-space: nowrap;
}

.ce-placement-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.45rem;
  justify-content: flex-end;
}

.ce-placement-card__action {
  min-height: 2.38rem;
}

.ce-placement-card__action.app-button--danger {
  color: #b54757;
  border-color: #f0cfd5;
  background: #fff6f7;
}

.ce-placement-card__action.app-button--danger:hover,
.ce-placement-card__action.app-button--danger:focus-visible {
  color: #9e3a4b;
  background: #feecef;
  border-color: #e5bbc4;
}

.student-placement-card__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.placement-card__detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
}

.placement-card__detail-header h3,
.placement-card__detail-header strong {
  min-width: 0;
}

.placement-card__info-button {
  flex: 0 0 auto;
  min-width: 1.4rem;
  min-height: 1.4rem;
  padding: 0;
  border-radius: 999px;
  border-color: transparent;
  color: #3692e3;
  background: transparent;
  box-shadow: none;
  --app-button-padding-inline: 0.35rem;
}

.placement-card__info-button .app-button__label {
  display: none;
}

.placement-card__info-button svg {
  width: 1.05rem;
  height: 1.05rem;
}

.placement-card__info-button:hover,
.placement-card__info-button:focus-visible {
  color: #2f84d0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  transform: translateY(-1px);
}

.student-placement-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
  margin-top: 0.45rem;
}

.request-action-dropdown--top {
  flex: 0 0 auto;
  align-self: flex-start;
}

.student-placement-card__action {
  min-height: 2.38rem;
}

.student-placement-educator-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}

.student-placement-educator-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(145, 164, 188, 0.24);
  background: linear-gradient(180deg, rgba(247, 250, 255, 0.96), rgba(239, 245, 252, 0.9));
  box-shadow: 0 14px 28px rgba(15, 76, 129, 0.08);
}

.student-placement-educator-card__avatar-shell {
  flex: 0 0 auto;
}

.student-placement-educator-card__avatar-image,
.student-placement-educator-card__avatar-fallback {
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  border: 3px solid #ffffff;
  box-shadow: 0 12px 24px rgba(15, 76, 129, 0.14);
}

.student-placement-educator-card__avatar-image {
  object-fit: cover;
}

.student-placement-educator-card__avatar-fallback {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #0f4c81 0%, #5fa8f5 100%);
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
}

.student-placement-educator-card__body {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.student-placement-educator-card__body h3 {
  margin: 0;
  color: #12304a;
  font-size: 1rem;
  font-weight: 700;
}

.student-placement-educator-card__detail {
  display: grid;
  gap: 0.2rem;
}

.student-placement-educator-card__detail span {
  color: #60758e;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.student-placement-educator-card__detail strong {
  color: #12304a;
  font-size: 0.95rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.dashboard-profile-card {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1.05rem;
  border-radius: 1.3rem;
  border: 1px solid rgba(145, 164, 188, 0.24);
  background: linear-gradient(180deg, rgba(247, 250, 255, 0.96), rgba(239, 245, 252, 0.9));
  box-shadow: 0 14px 28px rgba(15, 76, 129, 0.08);
}

.dashboard-profile-card__avatar-shell {
  flex: 0 0 auto;
}

.dashboard-profile-card__avatar-fallback {
  width: 4.35rem;
  height: 4.35rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 3px solid #ffffff;
  box-shadow: 0 12px 24px rgba(15, 76, 129, 0.14);
  background: linear-gradient(135deg, #0f4c81 0%, #5fa8f5 100%);
  color: #ffffff;
  font-size: 1.35rem;
  font-weight: 700;
}

.dashboard-profile-card__body {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
  flex: 1 1 auto;
}

.dashboard-profile-card__body h3 {
  margin: 0;
  color: #12304a;
  font-size: 1.1rem;
  font-weight: 700;
}

.dashboard-profile-card__detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.85rem;
}

.dashboard-profile-card__detail {
  display: grid;
  gap: 0.2rem;
}

.dashboard-profile-card__detail span {
  color: #60758e;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-profile-card__detail strong {
  color: #12304a;
  font-size: 0.95rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.faccec-secondary-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
  gap: 1.5rem;
}

.faccec-stack {
  display: grid;
  gap: 1.5rem;
}

.faccec-stack__table .workspace-table__count,
.faccec-stack__table .workspace-table__footer {
  display: none;
}

.faccec-secondary-empty-state {
  padding: 2rem 1.25rem;
}

.faccec-panel__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.faccec-panel__count {
  min-width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #edf5ff;
  color: #0f4c81;
  font-weight: 700;
}

.faccec-empty {
  margin: 0;
  color: #6f8092;
}

.faccec-student-table-wrap {
  overflow-x: auto;
  border: 1px solid #e0ebf6;
  border-radius: 1.2rem;
}

.faccec-student-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.faccec-student-table thead th {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid #e0ebf6;
  color: #5d738a;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #fbfdff;
  text-align: left;
}

.faccec-student-table tbody td {
  padding: 0.95rem 1rem;
  border-top: 1px solid #edf3f8;
  color: #33516e;
  vertical-align: top;
}

.faccec-student-table__name {
  font-weight: 700;
  color: #183450;
}

.faccec-student-table__meta {
  margin-top: 0.25rem;
  color: #6a7e92;
  font-size: 0.88rem;
}

.faccec-student-list {
  display: grid;
  gap: 0.85rem;
}

.faccec-student-card,
.faccec-secondary-card {
  border: 1px solid #e0ebf6;
  border-radius: 1.1rem;
  padding: 1rem;
  background: #ffffff;
}

.faccec-student-card__top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.55rem;
}

.faccec-student-card__name,
.faccec-secondary-card__title {
  font-weight: 700;
  color: #183450;
}

.faccec-student-card__meta {
  color: #6a7e92;
  font-size: 0.92rem;
}

.faccec-student-card__placement {
  margin-top: 0.7rem;
  color: #33516e;
  font-size: 0.92rem;
}

.faccec-pill {
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: #edf5ff;
  color: #0f4c81;
  font-size: 0.8rem;
  font-weight: 700;
}

.faccec-secondary-facilities {
  display: grid;
  gap: 0.85rem;
}

.faccec-secondary-card__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 0.8rem;
}

.faccec-secondary-card__metrics strong {
  display: block;
  color: #15324f;
  font-size: 1.1rem;
}

.faccec-secondary-card__metrics span {
  color: #6a7e92;
  font-size: 0.84rem;
}

.faccec-workspace-list {
  margin: 0;
  padding-left: 1.2rem;
  color: #3e5974;
}

.faccec-workspace-list li + li {
  margin-top: 0.5rem;
}

.ce-workspace__panel {
  padding: 1.55rem;
  border-radius: 1.75rem;
  border: 1px solid rgba(24, 52, 80, 0.08);
  box-shadow: 0 26px 56px rgba(16, 42, 67, 0.08);
  background: #ffffff;
}

.workspace-table .faccec-panel.faccec-panel--primary.ce-workspace__panel {
  background: #ffffff;
}

.ce-tabs {
  display: grid;
  gap: 1rem;
}

.ce-tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  border-bottom: 1px solid #e0ebf6;
  padding-bottom: 0.9rem;
}

.ce-tabs__tab {
  min-height: 2.85rem;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0.7rem 1rem;
  background: transparent;
  color: #587089;
  font-weight: 700;
  transition: all 0.2s ease;
}

.ce-tabs__tab:hover,
.ce-tabs__tab:focus-visible {
  color: #183450;
  background: rgba(15, 76, 129, 0.06);
  outline: none;
}

.ce-tabs__tab.is-active {
  background: #183450;
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(24, 52, 80, 0.14);
}

.ce-table-wrap {
  overflow-x: auto;
  border: 1px solid #e0ebf6;
  border-radius: 1.2rem;
  background: #ffffff;
}

.ce-table {
  width: 100%;
  min-width: 1260px;
  border-collapse: separate;
  border-spacing: 0;
}

.ce-table th,
.ce-table td {
  padding: 1rem 0.95rem;
  vertical-align: top;
  border-bottom: 1px solid #e6eef7;
}

.ce-table th {
  position: sticky;
  top: 0;
  background: rgba(255, 255, 255, 0.98);
  color: #5d7389;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  z-index: 1;
}

.ce-table tbody tr:last-child td {
  border-bottom: 0;
}

.ce-cell-primary {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  color: #183450;
  font-weight: 700;
  font-size: 0.96rem;
  line-height: 1.25;
}

.ce-cell-secondary {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin-top: 0.18rem;
  color: #6d8093;
  font-size: 0.8rem;
  line-height: 1.2;
}

.ce-status {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  width: 100%;
  min-width: 10.5rem;
  min-height: 3.2rem;
  padding: 0.55rem 0.75rem;
  border-radius: 0.95rem;
  border: 1px solid transparent;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: left;
}

.ce-status__icon {
  width: 0.95rem;
  height: 0.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ce-status__icon svg {
  width: 100%;
  height: 100%;
}

.ce-status__label {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  flex: 1 1 auto;
}

.ce-status--locked {
  border-color: #f2d8dc;
  color: #aa5c68;
  background: #fff6f7;
}

.ce-status--ready {
  border-color: #cfe0f4;
  color: #0f4c81;
  background: #f3f8ff;
}

.ce-status--waiting,
.ce-status--submitted {
  border-color: #d8dde7;
  color: #4d6278;
  background: #f8fafc;
}

.ce-status--view {
  border-color: rgba(76, 110, 245, 0.18);
  color: #4c5ae0;
  background: rgba(76, 90, 224, 0.08);
}

.workspace-table {
  display: grid;
}

.workspace-table__header {
  align-items: center;
  margin-bottom: 1.35rem;
}

.workspace-table__heading {
  display: grid;
  gap: 0.35rem;
}

.workspace-table__heading h2 {
  margin: 0;
  color: #183450;
  font-size: clamp(1.35rem, 1.2rem + 0.4vw, 1.7rem);
  letter-spacing: -0.02em;
}

.workspace-table__count {
  min-width: 3.25rem;
  height: 3.25rem;
  border: 1px solid rgba(64, 115, 168, 0.14);
  background: #ffffff;
  color: #18436d;
  box-shadow: 0 10px 22px rgba(16, 42, 67, 0.06);
}

.workspace-table__toolbar {
  display: grid;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.workspace-table__tabs {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
  gap: 0.8rem;
}

.workspace-table__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 3.1rem;
  padding: 0.8rem 1.05rem;
  border: 1px solid #d9e6f2;
  background: #f8fbfe;
  color: #45627e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.workspace-table__tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.85rem;
  min-height: 1.85rem;
  padding: 0 0.45rem;
  border-radius: 999px;
  background: rgba(24, 52, 80, 0.08);
  color: inherit;
  font-size: 0.76rem;
  font-weight: 700;
}

.workspace-table__tab:hover,
.workspace-table__tab:focus-visible {
  border-color: #bfd6ec;
  background: #f2f7fc;
}

.workspace-table__tab.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, #183450 0%, #28527d 100%);
  color: #ffffff;
  box-shadow: 0 14px 32px rgba(24, 52, 80, 0.16);
}

.workspace-table__tab.is-active .workspace-table__tab-count {
  background: rgba(255, 255, 255, 0.16);
}

.workspace-table__controls-shell {
  display: flex;
  justify-content: stretch;
}

.workspace-table__surface {
  display: grid;
  gap: 0;
  border: 1px solid #dfeaf4;
  border-radius: 1.35rem;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  overflow: hidden;
}

.workspace-table__controls {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid #e5edf6;
  background: #ffffff;
  width: 100%;
}

.workspace-table__control {
  display: grid;
  gap: 0.35rem;
  color: #5d7389;
  font-size: 0.82rem;
  font-weight: 700;
}

.workspace-table__control--inline {
  grid-template-columns: auto auto;
  align-items: center;
  gap: 0.65rem;
  flex: 0 0 auto;
}

.workspace-table__control .form-select,
.workspace-table__control .form-control {
  border-radius: 0.95rem;
  border-color: #d4e2f0;
  min-height: 2.7rem;
  box-shadow: none;
  background: #ffffff;
}

.workspace-table__control .form-select:focus,
.workspace-table__control .form-control:focus {
  border-color: #94b9df;
  box-shadow: 0 0 0 0.25rem rgba(72, 124, 184, 0.15);
}

.workspace-table__control--search {
  min-width: 19rem;
  margin-left: auto;
}

.workspace-table__panel {
  display: grid;
  gap: 0.9rem;
}

.workspace-table__notice {
  margin-bottom: 0;
}

.workspace-table__wrap {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.workspace-table__wrap[hidden] {
  display: none;
}

.workspace-table__cell--status {
  text-align: center;
  vertical-align: middle;
  width: 12rem;
  min-width: 12rem;
}

.workspace-table__empty {
  border: 0;
  border-bottom: 1px solid #e5edf6;
  border-radius: 0;
  padding: 1.2rem 1.25rem;
  background: #ffffff;
  color: #5f7387;
}

.workspace-table__empty[hidden] {
  display: none;
}

.workspace-table__empty-state {
  display: grid;
  justify-items: center;
  gap: 0.7rem;
  padding: 2.4rem 1.5rem;
  border: 1px solid #dfe9f4;
  border-radius: 1.45rem;
  background: #ffffff;
  text-align: center;
}

.workspace-table__empty-state h3 {
  margin: 0;
  color: #183450;
  font-size: 1.15rem;
}

.workspace-table__empty-state p {
  margin: 0;
  max-width: 32rem;
  color: #64798e;
}

.workspace-table__empty-icon {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 1.25rem;
  display: grid;
  place-items: center;
  background: #f4f7fb;
  color: #3c6e9f;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.workspace-table__empty-icon svg {
  width: 1.6rem;
  height: 1.6rem;
}

.workspace-table__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.95rem 1rem 1rem;
}

.workspace-table__summary,
.workspace-table__page-summary {
  color: #5f7387;
  font-size: 0.9rem;
}

.workspace-table__pagination {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.workspace-table__page-button {
  min-height: 2.45rem;
}

.workspace-table__page-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.workspace-table__page-list {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.workspace-table__page-number,
.workspace-table__page-gap {
  min-width: 2.45rem;
  min-height: 2.45rem;
  border-radius: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
}

.workspace-table__page-number {
  padding: 0.45rem 0.7rem;
  border: 1px solid #dbe7f2;
  background: #f9fbfd;
  color: #183450;
  font-weight: 700;
  transition: all 0.2s ease;
}

.workspace-table__page-number:hover,
.workspace-table__page-number:focus-visible {
  border-color: #aac6e4;
  background: #f1f7fc;
  outline: none;
}

.workspace-table__page-number.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, #183450 0%, #2b5b89 100%);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(24, 52, 80, 0.18);
}

.workspace-table__page-gap {
  color: #6a7f92;
  font-weight: 700;
}

.workspace-table__table {
  min-width: 1320px;
}

.workspace-table__table th,
.workspace-table__table td {
  padding: 0.8rem 0.9rem;
}

.workspace-table__table th {
  background: #f7fbff;
  color: #6a7f92;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

.workspace-table__table th:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  background: #ffffff;
  box-shadow: 10px 0 18px rgba(24, 52, 80, 0.06);
}

.workspace-table__table td {
  line-height: 1.2;
}

.workspace-table__table tbody td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #ffffff;
  box-shadow: 10px 0 18px rgba(24, 52, 80, 0.05);
}

.workspace-table__table tbody tr {
  transition: background 0.18s ease;
}

.workspace-table__table tbody tr:hover {
  background: rgba(246, 250, 254, 0.95);
}

.workspace-table__table tbody tr:hover td:first-child {
  background: #f9fcff;
}

.workspace-table__cell--university {
  position: relative;
}

.workspace-table__cell--university::before {
  content: none;
}

.workspace-table__cell--university .ce-cell-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding-left: 0;
}

.workspace-table__cell--university .ce-cell-primary::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  flex: 0 0 auto;
  border-radius: 0.2rem;
  background: linear-gradient(180deg, #4f82b8 0%, #183450 100%);
  opacity: 0.9;
  box-shadow: 0 0 0 1px rgba(24, 52, 80, 0.08);
}

.workspace-table__cell--university .ce-cell-primary,
.workspace-table__cell--university .ce-cell-secondary {
  padding-left: 0;
}

.workspace-table__cell--name .ce-cell-primary {
  -webkit-line-clamp: 2;
  line-height: 1.28;
}

.workspace-table__cell--name {
  min-width: 15rem;
}

.workspace-table__cell--university {
  min-width: 8.5rem;
}

.workspace-table__cell--allocation {
  min-width: 15.5rem;
}

.workspace-table__cell--allocation + td {
  min-width: 11rem;
}

.workspace-table__cell--allocation .ce-cell-primary {
  -webkit-line-clamp: 1;
}

.workspace-table__cell--allocation .ce-cell-secondary {
  -webkit-line-clamp: 1;
}

.workspace-table__info-button {
  margin-top: 0.55rem;
  min-height: 1.4rem;
  font-size: 0.78rem;
  padding: 0;
  border-color: transparent;
  background: transparent;
  color: #3692e3;
  box-shadow: none;
  --app-button-padding-inline: 0;
}

.workspace-table__info-button svg {
  width: 1.05rem;
  height: 1.05rem;
}

.workspace-table__info-button:hover,
.workspace-table__info-button:focus-visible {
  border-color: transparent;
  background: transparent;
  color: #2f84d0;
  box-shadow: none;
}

.workspace-table__modal .modal-dialog {
  max-width: 62rem;
}

.workspace-table__modal-content {
  border: 0;
  border-radius: 1.55rem;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(18, 38, 61, 0.24);
}

.workspace-table__modal-header {
  padding: 1.35rem 1.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: linear-gradient(135deg, #1677e6 0%, #1d87ff 100%);
  color: #ffffff;
}

.workspace-table__modal-header h2 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
}

.workspace-table__modal-close {
  width: 2.4rem;
  height: 2.4rem;
  border: 0;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

.workspace-table__modal-close:hover,
.workspace-table__modal-close:focus-visible {
  background: rgba(255, 255, 255, 0.22);
  outline: none;
}

.workspace-table__modal-close svg {
  width: 1rem;
  height: 1rem;
}

.workspace-table__modal-body {
  padding: 1.55rem 1.6rem 1.1rem;
  background: #ffffff;
}

.workspace-table__modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.15rem;
}

.workspace-table__modal-item {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid #e4edf6;
  border-radius: 1rem;
  background: #ffffff;
}

.workspace-table__modal-item span {
  color: #6b8093;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.workspace-table__modal-item strong {
  color: #183450;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.workspace-table__modal-footer {
  padding: 0 1.6rem 1.4rem;
  display: flex;
  justify-content: flex-end;
  background: #ffffff;
}

.workspace-table__modal-dismiss {
  min-height: 3rem;
  letter-spacing: 0.02em;
}

.workspace-table__page-button {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.workspace-table__page-button-icon {
  width: 0.95rem;
  height: 0.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.workspace-table__page-button-icon svg {
  width: 100%;
  height: 100%;
}

.workspace-table__expand-header,
.workspace-table__cell--expand {
  width: 3.25rem;
  min-width: 3.25rem;
  text-align: center;
  vertical-align: middle;
}

.workspace-table__expand-button {
  width: 2rem;
  height: 2rem;
  border: 1px solid #d8e5f1;
  border-radius: 0.75rem;
  display: inline-grid;
  place-items: center;
  background: #f8fbfe;
  color: #4d6a85;
  transition: all 0.2s ease;
}

.workspace-table__expand-button:hover,
.workspace-table__expand-button:focus-visible {
  border-color: #b5d0e8;
  background: #eef6fc;
  color: #183450;
  outline: none;
}

.workspace-table__expand-button svg {
  width: 0.95rem;
  height: 0.95rem;
  transition: transform 0.2s ease;
}

.workspace-table__expand-button.is-expanded svg {
  transform: rotate(90deg);
}

.workspace-table__detail-row td {
  padding: 0;
  background: #f9fbfd;
  border-bottom: 1px solid #e6eef7;
}

.workspace-table__detail-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.8rem;
  padding: 1rem 1.1rem 1.1rem;
}

.workspace-table__detail-item {
  display: grid;
  gap: 0.2rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid #e1ebf5;
  border-radius: 0.95rem;
  background: #ffffff;
}

.workspace-table__detail-item span {
  color: #6c8094;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.workspace-table__detail-item strong {
  color: #183450;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.35;
}

.facility-select-page {
  min-height: calc(100vh - 12rem);
  display: grid;
  place-items: center;
  padding: 2rem 0 3rem;
}

.facility-select-card {
  width: min(100%, 44rem);
  border-radius: 2rem;
  padding: 2rem;
  background:
    radial-gradient(circle at top right, rgba(86, 176, 255, 0.2), transparent 30%),
    linear-gradient(135deg, #f7fbff 0%, #ffffff 100%);
  border: 1px solid rgba(25, 64, 104, 0.08);
  box-shadow: 0 26px 60px rgba(23, 47, 74, 0.12);
}

.facility-select-kicker {
  display: inline-block;
  margin-bottom: 0.75rem;
  color: #4073a8;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.facility-select-card h1 {
  margin: 0;
  color: #183450;
}

.facility-select-copy {
  margin: 0.75rem 0 0;
  color: #5c7086;
  font-size: 1.02rem;
}

.facility-select-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 1.4rem;
}

.facility-select-meta__item,
.facility-select-option {
  border: 1px solid #dfeaf6;
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.84);
}

.facility-select-meta__item {
  padding: 1rem 1.1rem;
}

.facility-select-meta__item span {
  display: block;
  color: #6c7f93;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.facility-select-meta__item strong {
  display: block;
  margin-top: 0.3rem;
  color: #183450;
  font-size: 1.2rem;
}

.facility-allocation-hero {
  align-items: center;
}

.facility-allocation-panel {
  display: grid;
  gap: 1.3rem;
}

.facility-allocation-panel__header {
  margin-bottom: 0;
}

.facility-allocation-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.facility-allocation-form {
  display: grid;
  gap: 1.1rem;
}

.facility-allocation-form__toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 0.35rem;
}

.facility-allocation-form__toolbar h3 {
  margin: 0;
  color: #183450;
  font-size: 1.35rem;
}

.facility-allocation-form__toolbar p {
  margin: 0.35rem 0 0;
  color: #5c7086;
}

.facility-allocation-form__meta {
  display: grid;
  gap: 0.65rem;
  justify-items: end;
}

.facility-allocation-candidate-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.facility-allocation-candidate {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.9rem;
  padding: 1rem 1.05rem;
  border-radius: 1.2rem;
  border: 1px solid #dce8f4;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.facility-allocation-candidate:hover {
  border-color: #bdd9f2;
  box-shadow: 0 14px 28px rgba(19, 50, 79, 0.08);
  transform: translateY(-1px);
}

.facility-allocation-candidate:has(input:checked) {
  border-color: rgba(15, 76, 129, 0.26);
  background: #f8fbff;
  box-shadow: 0 16px 32px rgba(15, 76, 129, 0.08);
}

.facility-allocation-candidate input {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.25rem;
  accent-color: #0f4c81;
}

.facility-allocation-candidate__body {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
}

.facility-allocation-candidate__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.7rem;
}

.facility-allocation-candidate__header strong,
.facility-allocation-candidate__email {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.facility-allocation-candidate__role {
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: #edf5ff;
  color: #0f4c81;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.facility-allocation-candidate__email {
  color: #5f7287;
  font-size: 0.92rem;
}

.facility-allocation-search-empty {
  margin-top: 0.2rem;
}

.facility-allocation-form__actions {
  display: flex;
  justify-content: space-between;
  gap: 0.9rem;
  flex-wrap: wrap;
}

.facility-select-form {
  display: grid;
  gap: 0.9rem;
  margin-top: 1.5rem;
}

.facility-select-form .form-select {
  border-radius: 1rem;
  border-color: #d4e4f3;
  min-height: 3.5rem;
}

.facility-select-button {
  border-radius: 1rem;
  min-height: 3.5rem;
}

.facility-select-list {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.5rem;
}

.facility-select-option {
  padding: 1rem 1.1rem;
}

.facility-select-option__name {
  color: #183450;
  font-weight: 700;
}

.account-page {
  display: grid;
  gap: 1.5rem;
}

.account-page__hero,
.account-panel {
  background: #ffffff;
  border: 1px solid rgba(25, 64, 104, 0.08);
  box-shadow: 0 20px 45px rgba(23, 47, 74, 0.08);
}

.account-page__hero {
  border-radius: 1.8rem;
  padding: 1.7rem 1.8rem;
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  background:
    radial-gradient(circle at top right, rgba(86, 176, 255, 0.18), transparent 26%),
    linear-gradient(135deg, #f7fbff 0%, #edf6ff 100%);
}

.account-page__identity {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.account-page__avatar-image,
.account-page__avatar-fallback {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 999px;
  border: 4px solid #ffffff;
  box-shadow: 0 14px 28px rgba(15, 76, 129, 0.16);
}

.account-page__avatar-image {
  object-fit: cover;
}

.account-page__avatar-fallback {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #0f4c81 0%, #5fa8f5 100%);
  color: #ffffff;
  font-size: 1.9rem;
  font-weight: 700;
}

.account-page__eyebrow,
.account-panel__eyebrow {
  display: inline-block;
  margin-bottom: 0.45rem;
  color: #4073a8;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.account-page__hero h1,
.account-panel__header h2 {
  margin: 0;
  color: #183450;
}

.account-page__hero p,
.account-panel__copy,
.account-panel__hint {
  color: #5c7086;
}

.account-page__hero-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  min-width: 18rem;
}

.account-page__meta-card {
  padding: 1rem 1.1rem;
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(15, 76, 129, 0.08);
}

.account-page__meta-card span {
  display: block;
  color: #6c7f93;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.account-page__meta-card strong {
  display: block;
  margin-top: 0.35rem;
  color: #183450;
  font-size: 1.25rem;
}

.account-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 1.5rem;
}

.account-panel {
  border-radius: 1.5rem;
  padding: 1.4rem 1.5rem;
}

.account-panel--image {
  grid-row: span 2;
}

.account-panel__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.account-photo-stage {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 1.25rem;
  border-radius: 1.35rem;
  background: linear-gradient(180deg, #fbfdff 0%, #f2f7fc 100%);
  border: 1px solid #dce8f4;
  display: grid;
  place-items: center;
}

.account-photo-stage__image,
.account-photo-stage__fallback {
  width: min(100%, 15rem);
  aspect-ratio: 1;
  border-radius: 1.6rem;
}

.account-photo-stage__image {
  object-fit: cover;
}

.account-photo-stage__fallback {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #0f4c81 0%, #5fa8f5 100%);
  color: #ffffff;
  font-size: 4rem;
  font-weight: 700;
}

.account-photo-form {
  display: grid;
  gap: 0.85rem;
}

.account-photo-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.account-detail-list {
  margin: 0;
  display: grid;
  gap: 0.9rem;
}

.account-detail-list div {
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  border: 1px solid #dde8f3;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.account-detail-list dt {
  margin: 0;
  color: #6c7f93;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.account-detail-list dd {
  margin: 0.35rem 0 0;
  color: #183450;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.account-details-form {
  display: grid;
  gap: 1.15rem;
}

.account-details-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.account-details-form__field {
  min-width: 0;
}

.account-details-form__field--full {
  grid-column: 1 / -1;
}

.account-details-form__field .form-control {
  min-height: 3rem;
  border-color: #cfdeec;
  border-radius: 0.9rem;
  background: #fbfdff;
}

.account-details-form__field .form-control:focus {
  border-color: #438bc7;
  background: #ffffff;
  box-shadow: 0 0 0 0.23rem rgba(67, 139, 199, 0.14);
}

.account-details-form__validation {
  color: #a83232;
  font-size: 0.86rem;
}

.account-details-form__validation:empty {
  display: none;
}

.account-login-notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  padding: 1rem;
  border: 1px solid #f0d49a;
  border-radius: 1rem;
  background: linear-gradient(135deg, #fffaf0 0%, #fff6df 100%);
  color: #624b1e;
}

.account-login-notice__icon {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 0.75rem;
  background: rgba(222, 163, 39, 0.16);
  color: #9b6b08;
}

.account-login-notice__icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.account-login-notice strong {
  display: block;
  margin-bottom: 0.2rem;
  color: #4f3a11;
}

.account-login-notice p {
  margin: 0;
  line-height: 1.5;
}

.account-details-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.account-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.account-tag {
  padding: 0.6rem 0.85rem;
  border-radius: 999px;
  background: #edf5ff;
  color: #0f4c81;
  font-weight: 700;
}

.account-note-list {
  margin: 0;
  padding-left: 1.2rem;
  color: #3e5974;
}

.account-note-list li + li {
  margin-top: 0.5rem;
}

.account-facility-page {
  display: grid;
  gap: 1.35rem;
}

.account-facility-page__hero {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.55rem 1.65rem;
  border: 1px solid rgba(25, 64, 104, 0.08);
  border-radius: 1.6rem;
  background:
    radial-gradient(circle at top right, rgba(66, 153, 225, 0.16), transparent 30%),
    linear-gradient(135deg, #f8fbff 0%, #edf6ff 100%);
  box-shadow: 0 18px 42px rgba(23, 47, 74, 0.08);
}

.account-facility-page__hero-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1.05rem;
  background: linear-gradient(135deg, #0f5f93 0%, #3f94ca 100%);
  color: #fff;
  box-shadow: 0 12px 24px rgba(15, 95, 147, 0.22);
}

.account-facility-page__hero-icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

.account-facility-page__hero .app-page-header {
  margin: 0;
}

.account-facility-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
  gap: 1.35rem;
  align-items: start;
}

.account-facility-page__request-panel {
  min-height: 23rem;
}

.account-facility-page__form {
  display: grid;
  gap: 1.15rem;
}

.account-facility-page__form .app-form-field {
  padding: 1.1rem;
  border: 1px solid #dbe7f2;
  border-radius: 1.05rem;
  background: linear-gradient(180deg, #fbfdff 0%, #f7fbff 100%);
}

.account-facility-page__form .filter-select input {
  min-height: 3.15rem;
  border-radius: 0.85rem;
  border-color: #c9dceb;
  background: #fff;
}

.account-facility-page__notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  padding: 0.9rem 1rem;
  border: 1px solid #cfe3f2;
  border-radius: 0.95rem;
  background: #f1f8fd;
  color: #355a72;
}

.account-facility-page__notice > span {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  background: #dceefa;
  color: #17648f;
}

.account-facility-page__notice svg {
  width: 1rem;
  height: 1rem;
}

.account-facility-page__notice p,
.account-facility-page__empty p {
  margin: 0;
}

.account-facility-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.account-facility-page__steps ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-facility-page__steps li {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.75rem 0;
}

.account-facility-page__steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 2.65rem;
  bottom: -0.2rem;
  left: 1rem;
  width: 1px;
  background: #cfe0ec;
}

.account-facility-page__steps li > span {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #e8f4fb;
  color: #12618d;
  font-size: 0.82rem;
  font-weight: 800;
}

.account-facility-page__steps strong {
  color: #183450;
}

.account-facility-page__steps p {
  margin: 0.2rem 0 0;
  color: #667b8e;
  line-height: 1.45;
}

.account-facility-page__empty {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
  padding: 1.1rem;
  border: 1px solid #cfe7d8;
  border-radius: 1rem;
  background: #f3fbf6;
  color: #315d42;
}

.account-facility-page__empty > span {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.8rem;
  background: #dff2e6;
  color: #297548;
}

.account-facility-page__empty strong {
  display: block;
  margin-bottom: 0.15rem;
  color: #214d32;
}

.account-facility-page__pending-list {
  display: grid;
  gap: 0.7rem;
}

.account-facility-page__pending-list article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  padding: 0.9rem 1rem;
  border: 1px solid #dbe7f1;
  border-radius: 1rem;
  background: #fbfdff;
}

.account-facility-page__pending-list strong,
.account-facility-page__pending-list div > span {
  display: block;
}

.account-facility-page__pending-list strong {
  color: #183450;
}

.account-facility-page__pending-list div > span {
  margin-top: 0.15rem;
  color: #708398;
  font-size: 0.88rem;
}

.account-facility-page__pending-icon {
  display: grid;
  place-items: center;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 0.75rem;
  background: #eaf4fb;
  color: #17648f;
}

.account-facility-page__pending-icon svg {
  width: 1rem;
  height: 1rem;
}

.account-facility-page__status {
  padding: 0.4rem 0.65rem;
  border-radius: 999px;
  background: #fff5da;
  color: #7b5a09;
  font-size: 0.78rem;
  font-weight: 800;
}

@media (max-width: 991.98px) {
  .account-facility-page__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .account-facility-page__hero {
    align-items: flex-start;
    padding: 1.2rem;
  }

  .account-facility-page__hero-icon {
    width: 2.8rem;
    height: 2.8rem;
  }

  .account-facility-page__pending-list article {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .account-facility-page__status {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 1199.98px) {
  .faccec-shell,
  .faccec-grid,
  .faccec-priority-grid,
  .faccec-metrics,
  .faccec-secondary-grid,
  .account-page__grid,
  .register-flow__grid {
    grid-template-columns: 1fr;
  }

  .faccec-sidebar__panel {
    position: static;
  }

  .faccec-sidebar {
    display: grid;
    gap: 0.9rem;
  }

  .faccec-sidebar__toggle {
    display: inline-flex;
    justify-self: start;
  }

  .faccec-sidebar__backdrop {
    display: block;
  }

  .faccec-sidebar__mobile-header {
    display: flex;
  }

  .faccec-sidebar__panel {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(24rem, 88vw);
    max-width: 24rem;
    border-radius: 0 1.5rem 1.5rem 0;
    padding: 1.15rem 1rem 1.25rem;
    overflow-y: auto;
    z-index: 1100;
    transform: translateX(-104%);
    transition: transform 0.24s ease;
    box-shadow: 0 24px 54px rgba(15, 31, 48, 0.18);
  }

  .faccec-sidebar.is-open .faccec-sidebar__panel {
    transform: translateX(0);
  }

  .faccec-sidebar.is-open .faccec-sidebar__backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .faccec-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .faccec-hero__actions {
    justify-content: flex-start;
  }

  .faccec-placement-card__grid,
  .faccec-placement-card__grid--educator,
  .student-placement-card__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .faccec-placement-card--educator .faccec-placement-card__field--placement {
    grid-column: span 1;
  }

}

@media (max-width: 1199.98px) {
  .faccec-top-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
  }

  .unicem-cohort-card__summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unicem-priority-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unicem-year-grid {
    grid-template-columns: 1fr;
  }

  .unicem-year-card__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .unicem-migration-steps__grid,
  .unicem-migration-stage-card__grid,
  .unicem-migration-legacy-snapshot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unicem-migration-layout {
    grid-template-columns: 1fr;
  }

  .faccec-top-metrics .faccec-stat {
    min-height: 7.25rem;
    padding: 1rem 0.9rem;
  }

  .faccec-top-metrics .faccec-stat__value {
    font-size: clamp(1.8rem, 4vw, 2.35rem);
  }

  .faccec-top-metrics .faccec-stat__label {
    margin-top: 0.45rem;
    font-size: 0.82rem;
    line-height: 1.2;
    white-space: normal;
  }
}

@media (max-width: 1199.98px) {
  body.faccec-sidebar-open {
    overflow: hidden;
  }
}

@media (max-width: 767.98px) {
  .ce-year-filter {
    align-items: stretch;
    flex-direction: column;
  }

  .ce-year-menu,
  .ce-year-menu__trigger {
    width: 100%;
  }

  .ce-year-menu__trigger {
    justify-content: space-between;
  }

  .ce-year-menu__popover {
    right: auto;
    left: 0;
    width: 100%;
  }

  .faccec-hero,
  .account-page__hero,
  .register-flow__hero,
  .register-request-form__footer,
  .register-multi-select__header {
    display: grid;
  }

  .faccec-shell {
    gap: 1rem;
  }

  .faccec-sidebar__panel,
  .faccec-hero,
  .faccec-toolbar,
  .faccec-inline-note,
  .faccec-panel,
  .faccec-stat {
    border-radius: 1.2rem;
  }

  .faccec-profile {
    grid-template-columns: 1fr;
    grid-template-areas:
      "avatar"
      "identity"
      "role";
    justify-items: start;
  }

  .faccec-profile__name {
    font-size: 1.55rem;
  }

  .faccec-priority-metrics,
  .faccec-metrics--secondary {
    grid-template-columns: 1fr;
  }

  .faccec-top-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
  }

  .unicem-priority-grid,
  .unicem-year-card__metrics,
  .unicem-cohort-card__summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unicem-migration-steps__grid,
  .unicem-migration-stage-card__grid,
  .unicem-migration-legacy-snapshot,
  .unicem-migration-repeat {
    grid-template-columns: 1fr;
  }

  .unicem-cohort-card__header {
    flex-direction: column;
  }

  .unicem-program-card__header,
  .unicem-program-card__meta {
    justify-content: flex-start;
  }

  .faccec-top-metrics .faccec-stat {
    min-height: 6.2rem;
    padding: 0.8rem 0.75rem;
  }

  .faccec-top-metrics .faccec-stat__value {
    font-size: clamp(1.55rem, 5vw, 2rem);
  }

  .faccec-top-metrics .faccec-stat__label {
    font-size: 0.74rem;
    line-height: 1.15;
  }

  .faccec-card-tabs {
    flex-direction: column;
  }

  .faccec-card-tabs__button {
    width: 100%;
    justify-content: space-between;
  }

  .faccec-card-workspace__controls {
    justify-content: stretch;
  }

  .faccec-card-workspace__search-field,
  .faccec-card-workspace__search {
    width: 100%;
  }

  .faccec-card-workspace__filter,
  .faccec-card-workspace__year {
    width: 100%;
  }

  .unicem-cohort-card {
    padding: 1.2rem;
  }

  .app-navbar__collapse {
    padding-top: 0.9rem;
    align-items: stretch;
  }

  .app-navbar__nav,
  .app-navbar__language,
  .app-navbar__auth {
    width: 100%;
  }

  .app-navbar__language {
    margin-right: 0 !important;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .app-navbar__language .form-select {
    width: 100%;
  }

  .app-navbar__auth {
    align-items: stretch !important;
  }

  .app-navbar__auth .nav-item,
  .app-navbar__auth .app-button,
  .app-navbar__auth form {
    width: 100%;
  }

  .faccec-placement-card__top,
  .faccec-placement-card__actions {
    display: grid;
  }

  .faccec-placement-card__grid {
    grid-template-columns: 1fr;
  }

  .student-placement-card__action {
    width: 100%;
  }

  .student-placement-educator-card {
    padding: 0.9rem;
  }

  .unicem-year-card__metrics {
    grid-template-columns: 1fr 1fr;
  }

  .ce-tabs__list {
    flex-direction: column;
  }

  .workspace-table__toolbar,
  .workspace-table__controls,
  .workspace-table__footer,
  .workspace-table__pagination {
    align-items: stretch;
  }

  .workspace-table__header {
    align-items: start;
  }

  .workspace-table__controls-shell {
    justify-content: stretch;
  }

  .workspace-table__controls {
    padding: 0.8rem;
    flex-wrap: wrap;
  }

  .workspace-table__control--inline {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .workspace-table__control--search {
    min-width: 100%;
    margin-left: 0;
  }

  .workspace-table__footer,
  .workspace-table__pagination {
    flex-direction: column;
  }

  .workspace-table__detail-grid {
    grid-template-columns: 1fr;
  }

  .workspace-table__modal-grid {
    grid-template-columns: 1fr;
  }

  .workspace-table__page-button {
    width: 100%;
  }

  .account-page__hero-meta {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .account-page__identity {
    align-items: start;
  }

  .account-details-form__grid {
    grid-template-columns: 1fr;
  }

  .account-details-form__field--full {
    grid-column: auto;
  }

  .register-flow__panel,
  .register-flow__hero {
    border-radius: 1.3rem;
    padding: 1.25rem;
  }

  .register-request-form__grid {
    grid-template-columns: 1fr;
  }

  .facility-allocation-summary,
  .facility-allocation-candidate-list {
    grid-template-columns: 1fr;
  }

  .facility-allocation-form__meta {
    justify-items: stretch;
  }

  .facility-allocation-form__actions {
    flex-direction: column;
  }

  .register-multi-select__meta {
    justify-items: start;
  }

  .register-facility-option {
    grid-template-columns: 1fr;
  }

  .register-facility-option input {
    margin-top: 0;
  }

  .facility-select-card {
    padding: 1.4rem;
    border-radius: 1.4rem;
  }

  .facility-select-meta {
    grid-template-columns: 1fr;
  }
}
.assessment-comparison-banner {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(43, 92, 150, 0.14);
    border-radius: 18px;
    background: rgba(244, 248, 255, 0.95);
}

.assessment-comparison-banner h3 {
    margin: 0.2rem 0 0.25rem;
    font-size: 1rem;
}

.assessment-comparison-banner p,
.assessment-comparison-banner span {
    margin: 0;
    color: #4b5e78;
}

.assessment-report__section {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1.3rem;
    border-radius: 1.35rem;
    border: 1px solid color-mix(in srgb, var(--assessment-theme-source) 14%, white);
    background: linear-gradient(180deg, color-mix(in srgb, var(--assessment-theme-accent-soft) 18%, white) 0%, #ffffff 18%);
    box-shadow: 0 18px 38px rgba(23, 47, 74, 0.08);
}

.assessment-report__section .assessment-form__section-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.95rem;
    border-bottom: 1px solid color-mix(in srgb, var(--assessment-theme-source) 12%, white);
}

.assessment-report__section .assessment-form__section-header h3 {
    margin: 0;
    font-size: clamp(1.55rem, 2vw, 2rem);
    color: #183450;
}

.assessment-report-header {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 0.5rem 0 0.25rem;
    margin-bottom: 1.75rem;
}

.assessment-report-header__title {
    text-align: center;
}

.assessment-report-header__title h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 3.5rem);
    line-height: 1.08;
    color: #17263f;
}

.assessment-report-header__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    padding: 1.35rem 1.5rem;
    border-radius: 1.2rem;
    border: 1px solid color-mix(in srgb, var(--assessment-theme-source) 12%, white);
    background: linear-gradient(180deg, color-mix(in srgb, var(--assessment-theme-accent-soft) 16%, white) 0%, #ffffff 28%);
}

.assessment-report-header__column {
    display: grid;
    align-content: start;
    gap: 0.8rem;
    min-width: 0;
}

.assessment-report-header__row {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
}

.assessment-report-header__row span {
    font-size: 0.92rem;
    font-weight: 700;
    color: #1d2d45;
    text-align: right;
    line-height: 1.45;
}

.assessment-report-header__row strong {
    font-size: 0.95rem;
    font-weight: 600;
    color: #233754;
    line-height: 1.45;
    max-width: 34ch;
}

.assessment-report-toolbar__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.assessment-view-toggle {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem;
    border-radius: 999px;
    border: 1px solid rgba(26, 35, 52, 0.12);
    background: #f4f7fb;
}

.assessment-view-toggle__option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.45rem 0.95rem;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #4f627d;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.assessment-view-toggle__option:hover,
.assessment-view-toggle__option:focus-visible {
    color: #17263f;
    background: rgba(255, 255, 255, 0.72);
    outline: none;
}

.assessment-view-toggle__option.is-active {
    background: #ffffff;
    color: #17263f;
    box-shadow: 0 8px 18px rgba(26, 35, 52, 0.08);
}

.assessment-question__comparison {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    margin-top: 0.35rem;
    font-size: 0.86rem;
    color: #5e6f87;
}

.assessment-question__comparison strong {
    color: #173a63;
}

.assessment-combined-table {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(26, 35, 52, 0.12);
}

.assessment-combined-table__header,
.assessment-combined-table__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 140px 140px;
    gap: 1.5rem;
    align-items: center;
    padding: 1.2rem 0.85rem;
    border-bottom: 1px solid rgba(26, 35, 52, 0.12);
}

.assessment-combined-table__header {
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1c2433;
}

.assessment-combined-table__item {
    min-width: 0;
    font-size: 1rem;
    line-height: 1.45;
    color: #1b2435;
}

.assessment-combined-table__row .assessment-combined-table__item {
    font-size: 1rem;
    font-weight: 700;
}

.assessment-combined-table__score {
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
}

.assessment-combined-table__score--educator {
    color: #1673ea;
}

.assessment-combined-table__score--student {
    color: #2eaf4a;
}

.assessment-combined-table--educator-only .assessment-combined-table__header,
.assessment-combined-table--educator-only .assessment-combined-table__row {
    grid-template-columns: minmax(0, 1fr) 140px;
}

.assessment-feedback-compare {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.assessment-feedback-compare__section {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.assessment-feedback-compare__heading {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1c2433;
}

.assessment-feedback-compare__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.assessment-feedback-compare__grid--single {
    grid-template-columns: minmax(0, 1fr);
}

.assessment-feedback-card {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 1rem 1.1rem;
    border-radius: 16px;
    border: 1px solid rgba(26, 35, 52, 0.12);
    background: #fff;
}

.assessment-feedback-card--educator {
    border-color: rgba(22, 115, 234, 0.24);
    background: rgba(22, 115, 234, 0.05);
}

.assessment-feedback-card--student {
    border-color: rgba(46, 175, 74, 0.24);
    background: rgba(46, 175, 74, 0.05);
}

.assessment-feedback-card__label {
    font-size: 0.85rem;
    font-weight: 700;
}

.assessment-feedback-card--educator .assessment-feedback-card__label {
    color: #1673ea;
}

.assessment-feedback-card--student .assessment-feedback-card__label {
    color: #2eaf4a;
}

.assessment-feedback-card__body {
    white-space: pre-wrap;
    line-height: 1.55;
    color: #22344d;
}

.assessment-report__section .assessment-report-section__body {
    display: grid;
    gap: 1.2rem;
    padding-top: 0.1rem;
}

.assessment-surveys-page__main {
    gap: 1.5rem;
}

.assessment-surveys-page__hero-meta {
    display: grid;
    align-content: center;
    gap: 0.5rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.assessment-surveys-page__meta-card {
    min-height: 0;
}

.assessment-page__meta-card {
    min-height: 88px;
}

.assessment-surveys-page__panel {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.assessment-surveys-card {
    border: 1px solid rgba(43, 92, 150, 0.12);
    border-radius: 20px;
    padding: 1.25rem;
    background: #fff;
    box-shadow: 0 18px 40px rgba(22, 39, 66, 0.06);
}

.assessment-surveys-card__header,
.assessment-surveys-card__actions,
.assessment-surveys-card__facility {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.assessment-surveys-card__header--toolbar {
    padding-bottom: 1.15rem;
    border-bottom: 1px solid rgba(43, 92, 150, 0.1);
}

.assessment-surveys-card__header h2,
.assessment-surveys-create__heading h3 {
    margin: 0.2rem 0 0;
}

.assessment-surveys-card__toolbar-actions,
.assessment-surveys-create__footer,
.assessment-surveys-list__actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.assessment-surveys-create {
    margin-top: 1rem;
    border: 1px solid rgba(43, 92, 150, 0.14);
    border-radius: 18px;
    background: linear-gradient(145deg, #f7faff, #fff);
}

.assessment-surveys-create .assessment-surveys-form {
    padding: 1.15rem;
}

.assessment-surveys-create__heading {
    display: grid;
    grid-template-columns: minmax(220px, 0.7fr) minmax(280px, 1.3fr);
    gap: 1rem;
    align-items: end;
}

.assessment-surveys-create__heading p {
    margin: 0;
    color: #5c6d84;
}

.assessment-surveys-create__footer {
    justify-content: space-between;
}

.assessment-surveys-form {
    display: grid;
    gap: 1rem;
}

.assessment-surveys-card__facility {
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: #f6f8fc;
    color: #52647d;
}

.assessment-surveys-card__facility strong {
    color: #173a63;
}

.assessment-surveys-empty {
    margin-top: 1rem;
    padding: 3.25rem 1rem;
    border: 1px dashed rgba(43, 92, 150, 0.22);
    border-radius: 18px;
    background: #fbfcfe;
    text-align: center;
    color: #5e6f87;
}

.assessment-surveys-empty h3,
.assessment-surveys-empty p {
    margin: 0;
}

.assessment-surveys-empty p {
    margin-top: 0.35rem;
}

.assessment-surveys-list {
    display: grid;
    gap: 0.65rem;
    margin-top: 1rem;
}

.assessment-surveys-list__item {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(43, 92, 150, 0.12);
    background: #fff;
    box-shadow: 0 8px 24px rgba(22, 39, 66, 0.045);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.assessment-surveys-list__item:hover {
    border-color: rgba(43, 92, 150, 0.24);
    box-shadow: 0 12px 30px rgba(22, 39, 66, 0.075);
    transform: translateY(-1px);
}

.assessment-surveys-list__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
}

.assessment-surveys-list__content {
    min-width: 0;
}

.assessment-surveys-list__title-row,
.assessment-surveys-list__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 0.9rem;
    align-items: center;
}

.assessment-surveys-list__item h3 {
    margin: 0;
    font-size: 1rem;
}

.assessment-surveys-list__item p,
.assessment-surveys-list__meta {
    margin: 0.35rem 0 0;
    color: #5c6d84;
}

.assessment-surveys-list__meta span:not(:last-child)::after {
    content: "\00b7";
    margin-left: 0.9rem;
    color: #a3afbd;
}

.assessment-surveys-list__actions form {
    margin: 0;
}

.assessment-surveys-copy {
    margin-top: 0.9rem;
    border-top: 1px solid rgba(43, 92, 150, 0.1);
}

.assessment-surveys-copy__form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(240px, 0.8fr) auto;
    gap: 1rem;
    align-items: end;
    padding-top: 0.9rem;
}

.assessment-surveys-copy__heading p {
    margin: 0.25rem 0 0;
    color: #5c6d84;
}

@media (max-width: 900px) {
    .assessment-comparison-banner,
    .assessment-surveys-list__item,
    .assessment-surveys-card__header,
    .assessment-surveys-card__actions,
    .assessment-surveys-card__facility {
        flex-direction: column;
        align-items: flex-start;
    }

    .assessment-surveys-card__toolbar-actions,
    .assessment-surveys-create__footer,
    .assessment-surveys-list__actions {
        flex-wrap: wrap;
    }

    .assessment-surveys-create__heading,
    .assessment-surveys-list__row,
    .assessment-surveys-copy__form {
        grid-template-columns: 1fr;
    }

    .assessment-surveys-list__actions {
        margin-top: 0.85rem;
    }

    .assessment-report-header__grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
        padding: 1rem 1.1rem;
    }

    .assessment-report-header__row {
        grid-template-columns: minmax(128px, 180px) minmax(0, 1fr);
    }

    .assessment-combined-table__header,
    .assessment-combined-table__row {
        grid-template-columns: minmax(0, 1fr) 90px 90px;
        gap: 0.9rem;
    }

    .assessment-combined-table--educator-only .assessment-combined-table__header,
    .assessment-combined-table--educator-only .assessment-combined-table__row {
        grid-template-columns: minmax(0, 1fr) 90px;
    }

    .assessment-feedback-compare__grid {
        grid-template-columns: 1fr;
    }

    .assessment-report-toolbar__actions {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .assessment-report-header__title h2 {
        font-size: 1.85rem;
    }

    .assessment-report-header__row {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }

    .assessment-report-header__row span {
        text-align: left;
    }

    .assessment-combined-table__header,
    .assessment-combined-table__row {
        grid-template-columns: minmax(0, 1fr) 68px 68px;
        gap: 0.55rem;
        padding-left: 0;
        padding-right: 0;
    }

    .assessment-combined-table--educator-only .assessment-combined-table__header,
    .assessment-combined-table--educator-only .assessment-combined-table__row {
        grid-template-columns: minmax(0, 1fr) 68px;
    }

    .assessment-combined-table__item,
    .assessment-combined-table__row .assessment-combined-table__item {
        font-size: 0.95rem;
    }

    .assessment-view-toggle {
        width: 100%;
        justify-content: space-between;
    }

    .assessment-view-toggle__option {
        flex: 1 1 0;
    }
}

.admin-questionnaires-page__main {
  gap: 1.5rem;
}

.admin-questionnaires-page__hero {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.admin-questionnaires-page__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* Administration dashboard */
.admin-dashboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.25rem; }
.worker-health-badge{display:inline-flex;align-items:center;gap:.48rem;align-self:center;padding:.48rem .78rem;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.worker-health-badge__indicator{width:.55rem;height:.55rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px currentColor;opacity:.9}.worker-health-badge--healthy{color:#18744b;background:#e7f7ee}.worker-health-badge--unhealthy{color:#a4571d;background:#fff0df}.worker-health-badge--offline{color:#a63e3e;background:#fff0f0}.worker-health-badge--unknown{color:#596b7c;background:#eef2f5}
.worker-version-badge{display:inline-flex;align-items:center;gap:.42rem;margin-top:.7rem;padding:.34rem .58rem;border-radius:999px;font-size:.73rem;font-weight:800;line-height:1;white-space:nowrap}.worker-version-badge__indicator{width:.46rem;height:.46rem;border-radius:50%;background:currentColor}.worker-version-badge--synced{color:#18744b;background:#e7f7ee}.worker-version-badge--outofsync{color:#a63e3e;background:#fff0f0}.worker-version-badge--unknown{color:#596b7c;background:#eef2f5}
.admin-dashboard-worker{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(20rem,.9fr);gap:1.15rem;align-items:start;padding:1.4rem 1.5rem;border:1px solid rgba(39,69,100,.14);border-radius:1.3rem;color:#20364b;background:linear-gradient(135deg,#f8fbfd 0%,#fff 58%,#f4faf7 100%);box-shadow:0 14px 32px rgba(23,48,75,.07)}.admin-dashboard-worker--healthy{border-color:rgba(24,116,75,.22)}.admin-dashboard-worker--unhealthy,.admin-dashboard-worker--offline{border-color:rgba(166,62,62,.27);background:linear-gradient(135deg,#fff8f6 0%,#fff 58%,#fff3f2 100%)}.admin-dashboard-worker__topline{display:grid;gap:.7rem;justify-items:center}.admin-dashboard-worker__icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:1rem;color:#18744b;background:#e3f5ea}.admin-dashboard-worker--unhealthy .admin-dashboard-worker__icon,.admin-dashboard-worker--offline .admin-dashboard-worker__icon{color:#a63e3e;background:#fff0f0}.admin-dashboard-worker__icon svg{width:1.6rem;height:1.6rem}.admin-dashboard-worker h2{margin:.18rem 0 .35rem;font-size:1.2rem}.admin-dashboard-worker p{margin:0;color:#62778a;font-size:.9rem;line-height:1.45}.admin-dashboard-worker__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.admin-dashboard-worker__metrics>div{display:grid;gap:.18rem;min-height:5.1rem;padding:.85rem .8rem;border:1px solid rgba(47,91,125,.1);border-radius:.9rem;background:rgba(255,255,255,.78)}.admin-dashboard-worker__metrics strong{color:#234f70;font-size:1.55rem;line-height:1}.admin-dashboard-worker__metrics span{color:#62778a;font-size:.72rem;font-weight:700;line-height:1.3}.admin-dashboard-worker__metrics .is-attention{border-color:rgba(166,62,62,.25);background:#fff4f2}.admin-dashboard-worker__metrics .is-attention strong{color:#a63e3e}.admin-dashboard-worker__activity{grid-column:2/-1;display:flex;gap:.45rem;align-items:flex-start;padding:.72rem .85rem;border-radius:.78rem;color:#476277;background:rgba(232,243,251,.75);font-size:.82rem;line-height:1.35}.admin-dashboard-worker__activity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:900px){.admin-dashboard-worker{grid-template-columns:auto minmax(0,1fr)}.admin-dashboard-worker__metrics{grid-column:1/-1}.admin-dashboard-worker__activity{grid-column:1/-1}}@media (max-width:560px){.admin-dashboard-worker{padding:1.15rem}.admin-dashboard-worker__metrics{grid-template-columns:1fr}.admin-dashboard-worker__metrics>div{min-height:0}.admin-dashboard-worker__activity strong{white-space:normal}}
.admin-dashboard-tile { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:auto auto; column-gap:1rem; row-gap:.7rem; min-height:178px; padding:1.35rem; overflow:hidden; border:1px solid rgba(39,69,100,.12); border-radius:1.25rem; color:#20364b; background:linear-gradient(145deg,#fff,#f7fafc); box-shadow:0 12px 28px rgba(23,48,75,.06); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.admin-dashboard-tile::after { position:absolute; right:-2rem; bottom:-3.25rem; width:9rem; height:9rem; border-radius:50%; background:rgba(50,111,161,.045); content:""; transition:transform .25s ease,background .25s ease; }
.admin-dashboard-tile:hover { transform:translateY(-3px); border-color:rgba(43,101,151,.28); box-shadow:0 20px 38px rgba(23,48,75,.12); color:#172c40; }
.admin-dashboard-tile:hover::after { transform:scale(1.2); background:rgba(50,111,161,.08); }
.admin-dashboard-tile:focus-visible { outline:3px solid rgba(35,112,171,.4); outline-offset:3px; }
.admin-dashboard-tile__icon { display:grid; grid-row:span 2; place-items:center; width:3.15rem; height:3.15rem; border-radius:1rem; color:#28658e; background:#e8f3fb; }
.admin-dashboard-tile__icon svg { width:1.55rem; height:1.55rem; }
.admin-dashboard-tile__content { display:grid; align-content:center; gap:.35rem; min-width:0; }
.admin-dashboard-tile__heading { font-size:1.15rem; font-weight:800; line-height:1.2; letter-spacing:-.015em; }
.admin-dashboard-tile__description { display:-webkit-box; overflow:hidden; color:#62778a; font-size:.9rem; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.admin-dashboard-tile__badge { position:relative; z-index:1; align-self:start; display:inline-flex; align-items:center; justify-self:end; padding:.34rem .62rem; border-radius:999px; color:#4d687b; background:#eaf0f4; font-size:.72rem; font-weight:800; white-space:nowrap; }
.admin-dashboard-tile__badge.is-attention { color:#97411f; background:#fff0e8; }
.admin-dashboard-tile__arrow { position:relative; z-index:1; align-self:end; justify-self:end; color:#5f7e96; font-size:1.35rem; line-height:1; transition:transform .2s ease; }
.admin-dashboard-tile:hover .admin-dashboard-tile__arrow { transform:translateX(3px); }
.admin-dashboard-tile--support { border-color:rgba(28,123,117,.2); background:linear-gradient(135deg,#f5fcfb,#fff); }
.admin-dashboard-tile--support .admin-dashboard-tile__icon { color:#08746f; background:#def5f1; }
.admin-dashboard-tile--email { border-color:rgba(104,74,159,.18); background:linear-gradient(135deg,#faf8ff,#fff); }
.admin-dashboard-tile--email .admin-dashboard-tile__icon { color:#684a9f; background:#eee8fc; }
.admin-dashboard-tile--facilities { border-color:rgba(167,83,42,.17); background:linear-gradient(135deg,#fffaf5,#fff); }
.admin-dashboard-tile--facilities .admin-dashboard-tile__icon { color:#a05725; background:#fff0df; }
.admin-dashboard-tile--unicem { border-color:rgba(24,112,118,.17); background:linear-gradient(135deg,#f5fcfc,#fff); }
.admin-dashboard-tile--unicem .admin-dashboard-tile__icon { color:#167278; background:#e0f4f4; }
.admin-dashboard-tile--universities { border-color:rgba(45,95,160,.18); background:linear-gradient(135deg,#f5f9ff,#fff); }
.admin-dashboard-tile--universities .admin-dashboard-tile__icon { color:#295f9e; background:#e3efff; }
.user-admin-facility-filter{display:grid;gap:.35rem;margin:0 0 1rem;color:#40576a;font-size:.82rem;font-weight:700}.user-admin-facility-filter input{width:100%;max-width:420px;border:1px solid #d4dfe8;border-radius:.65rem;padding:.65rem .7rem;color:#24394d;background:#fff}.user-admin-facility-filter input:focus{outline:0;border-color:#387eab;box-shadow:0 0 0 3px rgba(56,126,171,.12)}
@media (max-width:1100px) { .admin-dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .admin-dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .admin-dashboard-tile { grid-template-columns:auto minmax(0,1fr); min-height:0; padding:1.1rem; }.admin-dashboard-tile__badge { grid-column:2; justify-self:start; }.admin-dashboard-tile__arrow { position:absolute; top:1.35rem; right:1.15rem; }.admin-dashboard-tile__description { padding-right:1rem; } }


.admin-questionnaires-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.admin-questionnaires-page__panel,
.admin-editor-card {
  background: #fff;
  border: 1px solid #e4ebf2;
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(24, 52, 80, 0.08);
}

.admin-questionnaires-page__panel {
  padding: 1.5rem;
}

.admin-questionnaires-page__panel-header,
.admin-editor-card__header,
.admin-options__header,
.admin-section-card__header,
.admin-question-card__header,
.admin-definition-row,
.admin-version-list__item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.admin-editor-grid,
.admin-definition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.admin-definition-card,
.admin-editor-card,
.admin-section-card,
.admin-question-card {
  padding: 1.25rem;
}

.admin-definition-card__header,
.admin-definition-row__title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.admin-definition-card__code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: #eef5fd;
  color: #31516f;
  font-size: 0.85rem;
  font-weight: 700;
}

.admin-definition-card p,
.admin-definition-row p {
  color: #5d7387;
  margin: 0.75rem 0;
}

.admin-definition-card__meta,
.admin-definition-row__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  color: #486176;
  font-size: 0.95rem;
}

.admin-definition-card__meta dt,
.admin-definition-card__meta dd {
  margin: 0;
}

.admin-definition-row,
.admin-version-list__item {
  padding: 1rem 0;
  border-top: 1px solid #edf2f7;
}

.admin-definition-row:first-child,
.admin-version-list__item:first-child {
  border-top: 0;
  padding-top: 0;
}

.admin-definition-row__main,
.admin-version-list__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.admin-definition-row__actions,
.admin-version-list__actions,
.admin-toggle-form,
.admin-editor-card__actions,
.admin-inline-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.admin-inline-form {
  align-items: end;
}

.admin-editor-card--full {
  margin-bottom: 1.25rem;
}

.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.admin-form-grid__wide {
  grid-column: 1 / -1;
}

.admin-version-form {
  display: flex;
  flex-direction: column;
}

.admin-sections,
.admin-question-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-section-card,
.admin-question-card {
  border: 1px solid #e7eef6;
  border-radius: 16px;
  background: #fbfdff;
}

.admin-question-card {
  margin-top: 1rem;
}

.admin-options {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.admin-option-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(160px, 2fr) auto;
  gap: 0.75rem;
  align-items: end;
  padding: 0.85rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #edf2f7;
}

.admin-option-row__tooltip {
  grid-column: span 1;
}

.admin-options.is-disabled {
  opacity: 0.72;
}

.admin-json-block {
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  background: #0f1720;
  color: #dbe9f5;
  font-size: 0.9rem;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.admin-option-preview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem;
}

.admin-option-preview__item {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 0.95rem;
  border-radius: 12px;
  border: 1px solid #e7eef6;
  background: #fff;
}

@media (max-width: 1199.98px) {
  .admin-questionnaires-metrics,
  .admin-editor-grid,
  .admin-definition-grid,
  .admin-form-grid {
    grid-template-columns: 1fr 1fr;
  }

  .admin-option-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767.98px) {
  .admin-questionnaires-page__hero,
  .admin-editor-grid,
  .admin-definition-grid,
  .admin-questionnaires-metrics,
  .admin-form-grid,
  .admin-option-row,
  .admin-questionnaires-page__panel-header,
  .admin-editor-card__header,
  .admin-section-card__header,
  .admin-question-card__header,
  .admin-definition-row,
  .admin-version-list__item {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .admin-definition-row__actions,
  .admin-version-list__actions,
  .admin-toggle-form,
  .admin-editor-card__actions {
    width: 100%;
  }
}

.impersonation-banner {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(173, 109, 0, 0.22);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(255, 248, 230, 0.98), rgba(255, 241, 208, 0.92));
  color: #6b4b00;
  box-shadow: 0 18px 45px rgba(99, 72, 0, 0.12);
}

.impersonation-banner__copy {
  display: grid;
  gap: 0.15rem;
}

.impersonation-banner__copy strong {
  font-size: 0.95rem;
}

.impersonation-banner__copy span {
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(107, 75, 0, 0.78);
}

.impersonation-banner__form {
  width: 100%;
}

.impersonation-banner__form .app-button {
  width: 100%;
}

.admin-impersonation-page__main {
  gap: 1.5rem;
}

.admin-impersonation-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 1.5rem;
}

.admin-impersonation-grid--stacked {
  grid-template-columns: 1fr;
}

.admin-impersonation-results__search {
  margin-bottom: 1.25rem;
  max-width: 40rem;
}

.admin-impersonation-card {
  padding: 1.5rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}

.admin-impersonation-card__header {
  margin-bottom: 1.25rem;
}

.admin-impersonation-card__header h2 {
  margin: 0.2rem 0 0.5rem;
  font-size: 1.35rem;
}

.admin-impersonation-card__header p {
  margin: 0;
  color: rgba(15, 23, 42, 0.7);
  line-height: 1.6;
}

.admin-impersonation-search {
  display: grid;
  gap: 1rem;
}

.admin-impersonation-field {
  display: grid;
  gap: 0.45rem;
}

.admin-impersonation-empty {
  padding: 1.25rem;
  border: 1px dashed rgba(148, 163, 184, 0.45);
  border-radius: 1.1rem;
  background: rgba(248, 250, 252, 0.9);
}

.admin-impersonation-empty h3,
.admin-impersonation-result-group h3 {
  margin: 0 0 0.45rem;
  font-size: 1rem;
}

.admin-impersonation-empty p {
  margin: 0;
  color: rgba(15, 23, 42, 0.68);
}

.admin-impersonation-results {
  display: grid;
  gap: 1.25rem;
}

.admin-impersonation-result-group {
  display: grid;
  gap: 0.75rem;
}

.admin-impersonation-result-list {
  display: grid;
  gap: 0.75rem;
}

.admin-impersonation-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
}

.admin-impersonation-result__identity {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.admin-impersonation-result__identity strong,
.admin-impersonation-result__identity span {
  overflow-wrap: anywhere;
}

.admin-impersonation-result__identity span,
.admin-impersonation-result__meta {
  color: rgba(15, 23, 42, 0.66);
  font-size: 0.9rem;
}

@media (max-width: 991.98px) {
  .admin-impersonation-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .admin-impersonation-result {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
  }

  .impersonation-banner__form,
  .impersonation-banner__form .app-button,
  .admin-impersonation-result .app-button {
    width: 100%;
  }
}

.dashboard-request-alert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 1.1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
  color: #0f172a;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  text-decoration: none;
}

.dashboard-request-alert:hover {
  color: #0f172a;
  border-color: rgba(59, 130, 246, 0.24);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.1);
}

.dashboard-request-alert--info {
  background: linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(226, 240, 255, 0.96));
  border-color: rgba(96, 165, 250, 0.28);
}

.dashboard-request-alert--success {
  background: linear-gradient(135deg, rgba(240, 253, 244, 0.98), rgba(220, 252, 231, 0.94));
  border-color: rgba(74, 222, 128, 0.28);
}

.dashboard-request-alert--danger {
  background: linear-gradient(135deg, rgba(254, 242, 242, 0.98), rgba(254, 226, 226, 0.94));
  border-color: rgba(248, 113, 113, 0.28);
}

.request-action-dropdown__menu {
  min-width: 16rem;
  padding: 0.5rem;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 1rem;
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.14);
}

.request-action-dropdown__menu .dropdown-item {
  border-radius: 0.8rem;
  padding: 0.7rem 0.85rem;
  font-weight: 600;
}

.request-action-dropdown__menu .dropdown-item:disabled {
  opacity: 0.45;
}

.request-unlock-modal__textarea {
  min-height: 8.5rem;
  resize: vertical;
}

.requests-page {
  display: grid;
  gap: 1.5rem;
}

.requests-page__main {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
}

.requests-page__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  padding: 1.65rem;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 1.5rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 245, 249, 0.94));
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}

.requests-page__eyebrow,
.requests-section__eyebrow {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #2563eb;
}

.requests-page__hero h1,
.requests-section__header h2 {
  margin: 0;
}

.requests-page__hero p,
.requests-empty-state p,
.request-card__reason p {
  margin: 0;
  color: rgba(15, 23, 42, 0.7);
  line-height: 1.6;
}

.requests-page__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 0.9rem;
}

.requests-page__metric {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.86);
}

.requests-page__metric strong {
  font-size: 1.55rem;
  line-height: 1;
  color: #0f172a;
}

.requests-page__metric span {
  font-size: 0.88rem;
  color: rgba(15, 23, 42, 0.68);
}

.requests-page__status {
  padding: 0.95rem 1.05rem;
  border-radius: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

.requests-page__status--success {
  background: rgba(240, 253, 244, 0.96);
  border-color: rgba(74, 222, 128, 0.28);
}

.requests-page__status--danger {
  background: rgba(254, 242, 242, 0.96);
  border-color: rgba(248, 113, 113, 0.28);
}

.requests-section {
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
}

.requests-section__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.requests-card-list {
  display: grid;
  gap: 1rem;
}

.requests-empty-state,
.request-card {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.07);
}

.requests-empty-state {
  padding: 1.35rem 1.45rem;
}

.requests-empty-state strong {
  display: block;
  margin-bottom: 0.35rem;
}

.requests-empty-state--compact {
  padding: 0.9rem 1.1rem;
}

.requests-empty-state--compact p {
  margin: 0;
}

.request-card {
  display: grid;
  gap: 0.7rem;
  padding: 0.95rem 1.05rem;
}

.request-card__top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.request-card__name {
  margin: 0;
  color: #183450;
  font-size: 1.08rem;
  line-height: 1.2;
}

.request-card__meta,
.request-card__top time {
  margin: 0;
  color: rgba(15, 23, 42, 0.62);
}

.request-card__badge,
.request-card__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.request-card__badge {
  background: rgba(219, 234, 254, 0.9);
  color: #1d4ed8;
}

.request-card__status {
  background: rgba(226, 232, 240, 0.75);
  color: #334155;
  text-transform: capitalize;
}

.request-card__status--pending {
  background: rgba(254, 240, 138, 0.6);
  color: #854d0e;
}

.request-card__status--approved {
  background: rgba(187, 247, 208, 0.7);
  color: #166534;
}

.request-card__status--denied {
  background: rgba(254, 202, 202, 0.8);
  color: #991b1b;
}

.request-card__status--rejected {
  background: rgba(254, 202, 202, 0.8);
  color: #991b1b;
}

.request-card__status--withdrawn {
  background: rgba(226, 232, 240, 0.9);
  color: #475569;
}

.request-card__reason {
  display: grid;
  gap: 0.2rem;
}

.request-card__reason-inline {
  margin: 0;
  color: rgba(15, 23, 42, 0.76);
  line-height: 1.45;
}

.request-card__reason-inline strong {
  color: #31475d;
}

.request-card__routing {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 0.65rem 0.8rem;
  border: 1px solid rgba(147, 197, 253, 0.55);
  border-radius: 0.85rem;
  background: rgba(239, 246, 255, 0.78);
  color: #1e4f7a;
}

.request-card__routing svg {
  width: 1.2rem;
  height: 1.2rem;
}

.request-card__routing p {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.4rem;
  margin: 0;
  line-height: 1.4;
}

.request-card__routing span {
  color: #55718b;
  font-size: 0.82rem;
  font-weight: 650;
}

.request-card__routing strong {
  color: #173f66;
  font-size: 0.88rem;
  font-weight: 800;
}

.request-card__reason span {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.5);
}

.request-card__decision {
  display: grid;
  gap: 0.55rem;
}

.request-card__buttons {
  display: flex;
  gap: 0.75rem;
}

.request-card__buttons .app-button {
  flex: 1 1 0;
}

.request-card__notes {
  min-height: 2.85rem;
  resize: vertical;
}

.request-card__reason--secondary {
  padding-top: 0.9rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.request-card__withdraw {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}

@media (max-width: 991.98px) {
  .requests-page__hero {
    grid-template-columns: 1fr;
  }

  .requests-page__summary {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .dashboard-request-alert,
  .request-card__top {
    flex-direction: column;
    align-items: start;
  }

  .requests-page__hero,
  .request-card,
  .requests-empty-state {
    padding: 1.15rem;
  }

  .request-card__buttons {
    flex-direction: column;
  }

  .request-card__withdraw .app-button {
    width: 100%;
  }

  .requests-page__summary,
  .request-card__decision,
  .request-action-dropdown,
  .request-action-dropdown .app-button {
    width: 100%;
  }

  .request-action-dropdown__menu {
    width: 100%;
    min-width: 0;
  }
}

/* Reports */

/* My Files */
.files-page__main { padding-bottom: 3rem; }
.files-page__hero { align-items: center; }
.files-page__eyebrow { color: #547266; font-size: .69rem; font-weight: 800; letter-spacing: .12em; }
.files-page__summary { min-width: 9rem; padding: 1rem 1.35rem; text-align: center; border: 1px solid rgba(38, 77, 64, .12); border-radius: 1rem; background: rgba(255,255,255,.65); }
.files-page__summary strong { display: block; color: #214d40; font-size: 1.75rem; line-height: 1; }
.files-page__summary span { color: #64736c; font-size: .78rem; }
.files-page__status { margin: 1.4rem 0; padding: .85rem 1rem; border-radius: .75rem; color: #1d6249; background: #e8f6ef; }
.files-panel { margin-top: 1.5rem; padding: 0; overflow: hidden; }
.files-panel--preparing{border-color:rgba(46,118,163,.2);background:linear-gradient(135deg,rgba(246,251,255,.98),#fff)}.files-preparing-list{display:grid}.files-preparing-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.8rem;border-top:1px solid #e4edf4}.files-preparing-item__details{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem 1rem;align-items:center;color:#718392;font-size:.78rem}.files-preparing-item__status{display:inline-flex;gap:.42rem;align-items:center;padding:.35rem .6rem;border-radius:999px;color:#496a83;background:#e8f1f7;font-size:.72rem;font-weight:800}.files-preparing-item__status>span{width:.45rem;height:.45rem;border-radius:50%;background:currentColor;opacity:.75}.files-preparing-item__status.is-processing{color:#136f70;background:#e1f5f4}.files-preparing-item__status.is-processing>span{animation:files-processing-pulse 1.1s ease-in-out infinite}.files-preparing-item__status.is-failed{color:#a63e3e;background:#fff0f0}.files-preparing-item__error{flex-basis:100%;order:3;margin:0;color:#9a4c43;font-size:.78rem;line-height:1.35}.files-preparing-item__clear{margin:0}@keyframes files-processing-pulse{50%{transform:scale(1.55);opacity:.35}}
.files-panel__header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.6rem 1.8rem; border-bottom: 1px solid #e9eeeb; }
.files-panel__header h2 { margin: .2rem 0 0; font-size: 1.3rem; }
.files-panel__privacy { color: #507160; font-size: .8rem; font-weight: 600; }
.files-panel__privacy span { color: #2a9c69; }
.files-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.files-table th { padding: .9rem 1.8rem; color: #76847d; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; background: #fbfcfb; }
.files-table td { padding: 1rem 1.8rem; color: #53635c; border-top: 1px solid #edf1ee; font-size: .875rem; vertical-align: middle; }
.files-table th:nth-child(1),.files-table td:nth-child(1) { width: 44%; }.files-table th:nth-child(2),.files-table td:nth-child(2),.files-table th:nth-child(3),.files-table td:nth-child(3) { width: 12%; }.files-table th:nth-child(4),.files-table td:nth-child(4) { width: 32%; }
.files-table__file { display: flex; align-items: center; gap: .75rem; min-width: 0; color: #24382e; }.files-table__file strong { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.files-table__type { display: inline-grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .55rem; color: #fff; font-size: .62rem; font-weight: 800; }
.files-table__type--pdf { background: #c84848; }.files-table__type--sheet { background: #267a55; }
.files-table__actions { white-space: nowrap; }.files-table__action-buttons { display: flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center; gap: .45rem; }
.files-table__delete { display: inline; }.files-delete { width: 2rem; height: 2rem; border: 0; border-radius: .5rem; color: #9b625e; background: transparent; font-size: 1.4rem; line-height: 1; }.files-delete:hover,.files-delete:focus-visible { color: #a32e2e; background: #fbeeee; }
.files-empty-state { padding: 4.5rem 1.5rem; text-align: center; }.files-empty-state__icon { display: grid; width: 3.25rem; height: 3.25rem; margin: 0 auto 1rem; place-items: center; border-radius: 1rem; color: #477160; background: #edf5f0; font-size: 1.5rem; }.files-empty-state h3 { margin: 0; font-size: 1.05rem; }.files-empty-state p { margin: .45rem 0 0; color: #6d7a74; }
@media (max-width: 1200px) { .files-page__hero,.files-panel__header,.files-preparing-item { align-items: flex-start; flex-direction: column; }.files-preparing-item{padding:1rem 1.25rem}.files-preparing-item__details{gap:.65rem;white-space:normal}.files-table thead { display: none; }.files-table,.files-table tbody,.files-table tr,.files-table td { display: block; width: 100%; }.files-table tr { padding: 1rem 1.25rem; border-top: 1px solid #edf1ee; }.files-table td { padding: .25rem 0; border: 0; }.files-table td[data-label]::before { display: inline-block; width: 5rem; color: #7a8781; font-size: .7rem; font-weight: 800; text-transform: uppercase; content: attr(data-label); }.files-table__action-buttons { justify-content: flex-start; flex-wrap: nowrap; padding-top: .8rem; }.files-table__file { margin-bottom: .5rem; } }
.reports-page { max-width: 1440px; }
.reports-catalogue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.reports-catalogue__card, .reports-selector__choice { color: inherit; text-decoration: none; border: 1px solid #dce8e9; border-radius: 20px; background: #fff; box-shadow: 0 10px 32px rgba(18, 61, 66, .07); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.reports-catalogue__card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 0 1.1rem; padding: 1.5rem; }
.reports-catalogue__card:hover, .reports-selector__choice:hover { transform: translateY(-2px); border-color: #68a8aa; box-shadow: 0 15px 35px rgba(18, 61, 66, .12); color: inherit; }
.reports-catalogue__card h2, .reports-selector h2, .reports-results h2 { margin: .2rem 0 .35rem; color: #143d42; }
.reports-catalogue__card h2 { font-variant-caps: all-small-caps; letter-spacing: .035em; }
.reports-catalogue__card p, .reports-selector p { margin: 0; color: #64787c; }
.reports-catalogue__icon { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 15px; color: #16646d; background: #e7f5f3; flex: 0 0 auto; }
.reports-catalogue__icon svg { width: 1.7rem; height: 1.7rem; }
.reports-catalogue__card .app-button { grid-column: 2; justify-self: start; margin-top: 1rem; white-space: nowrap; }
.reports-selector, .reports-filters { margin-top: 1rem; padding: 1.75rem; }
.reports-selector .reports-cohort-tabs { margin-top: .9rem; }
.reports-selector__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .9rem; margin-top: 1.25rem; }
.reports-selector__choice { display: flex; flex-direction: column; gap: .35rem; padding: 1.15rem; }
.reports-selector__choice strong { color: #143d42; }.reports-selector__choice span { color: #4d696d; }.reports-selector__choice small { color: #7d8e91; }
.reports-selector__group-title { display: flex; align-items: center; justify-content: space-between; margin: 1.45rem 0 .15rem; color: #1b454a; font-size: 1rem; }.reports-selector__group-title span, .reports-selector__secondary summary span { display: inline-grid; place-items: center; min-width: 1.65rem; height: 1.65rem; padding: 0 .4rem; border-radius: 999px; color: #16646d; background: #e7f5f3; font-size: .78rem; }.reports-selector__empty { padding: 1rem 0; }.reports-selector__secondary { margin-top: 1.2rem; padding-top: 1.1rem; border-top: 1px solid #e4eeee; }.reports-selector__secondary summary { display: flex; align-items: center; justify-content: space-between; color: #34565b; font-weight: 700; cursor: pointer; }.reports-selector__secondary .reports-selector__grid { margin-top: 1rem; }
.reports-hero__selection { display: flex; align-items: center; gap: .5rem; margin: .85rem 0 0 !important; color: #173f44 !important; font-size: 1rem; }.reports-filters { display: block; }.reports-filters h2 { margin: .2rem 0 1.25rem; }
.reports-filters__form { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)) auto; align-items: end; gap: .75rem; }.reports-filters__form label { display: grid; gap: .35rem; font-size: .8rem; font-weight: 700; color: #476064; }.reports-filters__form select { width: 100%; min-width: 0; padding: .72rem .7rem; border: 1px solid #c8dadd; border-radius: 10px; background: #fff; color: #243d41; }.reports-filters__actions { display: flex; gap: .6rem; }.reports-filters__actions .app-button { white-space: nowrap; }
.reports-results { margin-top: 1.5rem; }.reports-results__summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; padding: 1.15rem 1.25rem; border: 1px solid #dce8e9; border-radius: 16px; background: linear-gradient(135deg,#fff,#f5fbfb); box-shadow: 0 8px 24px rgba(18,61,66,.04); }.reports-results__summary h2 { margin: .18rem 0 0; color: #163f44; font-size: 1.2rem; }.reports-students { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 1rem; }.reports-student-card { border: 1px solid #dce8e9; background: #fff; border-radius: 17px; overflow: hidden; box-shadow: 0 8px 24px rgba(18,61,66,.05); }.reports-student-card header { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.2rem 1rem; background: linear-gradient(135deg,#f5fbfb,#fff); }.reports-student-card h3 { margin: 0; color: #143d42; font-size: 1.08rem; }.reports-student-card header p { margin: .25rem 0 0; color: #6d8184; font-size: .88rem; }.reports-student-card__score { color: #16646d; font-size: 1.1rem; white-space: nowrap; }.reports-student-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; padding: 1rem 1.2rem; margin: 0; }.reports-student-card dl div { min-width: 0; }.reports-student-card dt { color: #789094; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }.reports-student-card dd { margin: .15rem 0 0; color: #304c50; font-size: .88rem; overflow-wrap: anywhere; }.reports-student-card__answers { max-height: 260px; overflow: auto; border-top: 1px solid #e5eeee; }.reports-student-card__answers div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 1.2rem; border-bottom: 1px solid #edf3f3; }.reports-student-card__answers span { color: #556c70; font-size: .82rem; }.reports-student-card__answers strong { color: #143d42; }
.reports-students { display: grid; grid-template-columns: 1fr; gap: .7rem; }
.reports-student-card { border-radius: 14px; box-shadow: 0 6px 18px rgba(18,61,66,.04); }
.reports-student-card summary { display: grid; grid-template-columns: minmax(170px, 1.2fr) minmax(260px, 2fr) auto 14px; align-items: center; gap: 1rem; min-height: 62px; padding: .75rem 1rem; cursor: pointer; list-style: none; }
.reports-student-card summary::-webkit-details-marker { display: none; }
.reports-student-card summary:hover { background: #f7fbfc; }
.reports-student-card summary:focus-visible { outline: 3px solid rgba(31,125,215,.35); outline-offset: -3px; }
.reports-student-card__identity { display: grid; gap: .1rem; min-width: 0; }.reports-student-card__identity strong { color: #143d42; font-size: .98rem; }.reports-student-card__identity small { color: #71868a; font-size: .78rem; }
.reports-student-card__metadata { display: flex; flex-wrap: wrap; gap: .35rem .8rem; color: #587176; font-size: .82rem; min-width: 0; }.reports-student-card__metadata span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 230px; }.reports-student-card__metadata span + span::before { content: "•"; color: #9cb2b5; margin-right: .8rem; }
.reports-student-card__score { font-size: .95rem; background: #e9f6f3; border-radius: 999px; padding: .34rem .6rem; }
.reports-student-card__chevron { width: 9px; height: 9px; border-right: 2px solid #527176; border-bottom: 2px solid #527176; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }.reports-student-card[open] .reports-student-card__chevron { transform: rotate(225deg) translate(-2px, -1px); }
.reports-student-card__detail { border-top: 1px solid #e3eeee; background: #fcfefe; }.reports-student-card dl { padding: .85rem 1rem; }
.reports-student-card__answers { max-height: none; overflow: visible; padding: .85rem 1rem 1rem; display: grid; gap: .4rem; }.reports-answer { border: 1px solid #e4eeee; border-radius: 10px; background: #fff; padding: .65rem .8rem; }.reports-answer h3 { color: #264b50; font-size: .86rem; margin: 0; }.reports-answer p { margin: 0; white-space: pre-wrap; color: #425d61; font-size: .9rem; }.reports-answer--score { display: grid; grid-template-columns: minmax(0, 1fr) 52px; align-items: center; gap: 1rem; min-height: 42px; }.reports-answer--score p { color: #16646d; font-size: 1rem; font-weight: 750; text-align: center; }.reports-answer--richtext { display: block; }.reports-answer--richtext h3 { margin-bottom: .45rem; }.reports-answer__richtext, .reports-answer__richtext div { display: block !important; float: none !important; width: auto !important; padding: 0; border: 0; color: #425d61; font-size: .9rem; line-height: 1.5; }.reports-answer__richtext p { display: block !important; float: none !important; width: auto !important; margin: 0 0 .55rem; white-space: normal; }.reports-answer__richtext > :last-child { margin-bottom: 0; }.reports-answer__richtext ol, .reports-answer__richtext ul { display: block; margin: .35rem 0 .2rem; padding-left: 1.35rem; }.reports-answer__richtext li { display: list-item; padding: 0; border: 0; }.reports-answer__feedback + .reports-answer__feedback { border-top: 1px solid #edf3f3; margin-top: .65rem; padding-top: .65rem; }.reports-answer__feedback h4 { color: #6a8286; font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; margin: 0 0 .25rem; }.reports-answer__feedback div { display: block; padding: 0; border: 0; color: #425d61; font-size: .9rem; }.reports-answer__feedback ol, .reports-answer__feedback ul { display: block; margin: .35rem 0 .2rem; padding-left: 1.35rem; }.reports-answer__feedback li { display: list-item; padding: 0; border: 0; }.reports-answer__feedback div > :last-child { margin-bottom: 0; }
@media (max-width: 1000px) { .reports-filters__form { grid-template-columns: repeat(3, minmax(130px, 1fr)); } .reports-filters__actions { grid-column: 1 / -1; } }
@media (max-width: 800px) { .reports-catalogue { grid-template-columns: 1fr; }.reports-filters__form { grid-template-columns: 1fr; margin-top: 1rem; }.reports-filters__actions { grid-column: auto; }.reports-filters__actions .app-button { flex: 1; }.reports-students { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .reports-student-card summary { grid-template-columns: 1fr auto 12px; gap: .55rem; }.reports-student-card__metadata { grid-column: 1 / -1; grid-row: 2; }.reports-student-card__metadata span { max-width: 100%; }.reports-student-card dl { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .reports-answer--score { grid-template-columns: minmax(0, 1fr) 40px; gap: .65rem; } }
.absence-report-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1rem; padding: 1.35rem 1.5rem; }
.absence-report-toolbar h2 { margin: .18rem 0 .3rem; color: #143d42; font-size: 1.22rem; }
.absence-report-toolbar p { max-width: 760px; margin: 0; color: #64787c; }
.absence-report-toolbar__actions { display: flex; flex: 0 0 auto; gap: .6rem; }
.absence-report-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.absence-report-summary > div { display: grid; gap: .2rem; padding: 1rem 1.1rem; border: 1px solid #dce8e9; border-radius: 15px; background: linear-gradient(145deg, #fff, #f6fbfb); box-shadow: 0 7px 20px rgba(18,61,66,.04); }
.absence-report-summary span { color: #71868a; font-size: .72rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.absence-report-summary strong { color: #16646d; font-size: 1.45rem; line-height: 1.1; }
.absence-report-results { display: grid; gap: 1rem; }
.absence-report-results .reports-results__summary { margin-bottom: 0; }
.absence-block { overflow: hidden; border: 1px solid #dce8e9; border-radius: 18px; background: #fff; box-shadow: 0 9px 28px rgba(18,61,66,.055); }
.absence-block__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; border-bottom: 1px solid #e4eeee; background: linear-gradient(135deg, #f4fbfa, #fff); }
.absence-block__sequence { display: block; margin-bottom: .15rem; color: #2b7c82; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.absence-block h3 { margin: 0; color: #143d42; font-size: 1.12rem; }
.absence-block__header p { margin: .2rem 0 0; color: #71868a; font-size: .82rem; }
.absence-block__total { display: grid; min-width: 92px; text-align: right; }
.absence-block__total strong { color: #16646d; font-size: 1.4rem; line-height: 1.05; }
.absence-block__total span { color: #71868a; font-size: .7rem; font-weight: 750; }
.absence-block__table-wrap { overflow-x: auto; }
.absence-block__table { width: 100%; border-collapse: collapse; }
.absence-block__table th { padding: .72rem 1rem; color: #71868a; background: #fbfdfd; font-size: .68rem; font-weight: 850; letter-spacing: .065em; text-align: left; text-transform: uppercase; }
.absence-block__table th:last-child { text-align: right; }
.absence-block__table td { padding: .8rem 1rem; border-top: 1px solid #edf3f3; color: #536c70; font-size: .84rem; vertical-align: middle; }
.absence-block__table td:first-child { color: #34585d; white-space: nowrap; }
.absence-block__table td:nth-child(2) strong { color: #163f44; }
.absence-block__table td:nth-child(3) { white-space: nowrap; }
.absence-block__table td:nth-child(4) { max-width: 500px; overflow-wrap: anywhere; }
.absence-block__table td:last-child { text-align: right; }
.absence-block__table tbody tr:hover { background: #f8fcfc; }
.absence-hours { display: inline-flex; min-width: 2.8rem; justify-content: center; padding: .3rem .5rem; border-radius: 999px; color: #98501f; background: #fff0df; font-weight: 850; }
.absence-block__empty { display: flex; align-items: center; gap: .85rem; padding: 1.25rem; color: #4b6d66; }
.absence-block__empty > span { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #2a805e; background: #e8f7f0; }
.absence-block__empty svg { width: 1.25rem; height: 1.25rem; }
.absence-block__empty strong { color: #315950; }
.absence-block__empty p { margin: .12rem 0 0; color: #78908b; font-size: .82rem; }
@media (max-width: 800px) {
    .absence-report-toolbar { align-items: flex-start; flex-direction: column; }
    .absence-report-toolbar__actions { width: 100%; }
    .absence-report-toolbar__actions .app-button { flex: 1; }
    .absence-report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .absence-block__table thead { display: none; }
    .absence-block__table, .absence-block__table tbody, .absence-block__table tr, .absence-block__table td { display: block; width: 100%; }
    .absence-block__table tr { padding: .65rem 1rem; border-top: 1px solid #edf3f3; }
    .absence-block__table td { display: grid; grid-template-columns: 110px 1fr; gap: .75rem; padding: .28rem 0; border: 0; text-align: left !important; }
    .absence-block__table td::before { color: #7b9094; font-size: .65rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; content: attr(data-label); }
    .absence-hours { justify-self: start; }
}
@media (max-width: 520px) {
    .absence-report-toolbar__actions { flex-direction: column; }
    .absence-report-summary { grid-template-columns: 1fr 1fr; }
    .absence-block__header { align-items: flex-start; }
}

/* Support desk */
.support-page { max-width: 1320px; }.support-hero { align-items: center; }.support-ticket-hero { align-items: flex-start; }.support-back { display: inline-block; margin-bottom: .7rem; color: #16646d; font-weight: 700; text-decoration: none; }.support-status, .support-assignee, .support-ticket-card__number { display: inline-flex; align-items: center; border-radius: 999px; padding: .28rem .62rem; font-size: .76rem; font-weight: 800; white-space: nowrap; }.support-status { color: #16646d; background: #e4f5f3; }.support-status--new { color: #73520a; background: #fff3c9; }.support-status--needsreview { color: #804018; background: #ffe5d3; }.support-status--completed, .support-status--closed { color: #517176; background: #edf3f3; }.support-assignee { color: #405d62; background: #f0f6f7; }.support-ticket-card__number { color: #638084; background: #f3f7f7; }.support-list-panel { margin-top: 1.25rem; }.support-ticket-list { display: grid; gap: .65rem; }.support-ticket-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border: 1px solid #dce8e9; border-radius: 14px; background: linear-gradient(120deg,#fff,#f9fcfc); }.support-ticket-card__main { min-width: 0; }.support-ticket-card__top { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }.support-ticket-card h3 { margin: .35rem 0 .1rem; color: #163f44; font-size: 1rem; }.support-ticket-card p { margin: 0; color: #688086; font-size: .82rem; }.support-empty { padding: 2.75rem 1rem; text-align: center; color: #637c80; }.support-empty h3 { color: #24494e; }.support-filters { display: grid; grid-template-columns: minmax(200px,2fr) repeat(2,minmax(150px,1fr)) auto auto; align-items: end; gap: .8rem; margin-top: 1.2rem; padding: 1rem 1.15rem; border: 1px solid #dce8e9; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(18,61,66,.05); }.support-filters label { display: grid; gap: .35rem; color: #49666b; font-size: .78rem; font-weight: 800; }.support-filters__check { display: flex !important; align-items: center; gap: .45rem !important; padding-bottom: .55rem; white-space: nowrap; }.support-detail-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.25rem; margin-top: 1.25rem; }.support-thread__messages { display: grid; gap: .85rem; }.support-message { max-width: 88%; padding: 1rem 1.1rem; border: 1px solid #dce8e9; border-radius: 4px 16px 16px; background: #f8fbfb; }.support-message--mine { justify-self: end; border-color: #bbdddd; border-radius: 16px 4px 16px 16px; background: #e9f7f5; }.support-message header { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; color: #264c51; font-size: .86rem; }.support-message time { color: #72888c; font-size: .75rem; white-space: nowrap; }.support-message__body { color: #2e4e53; overflow-wrap: anywhere; }.support-message__body img { display: block; max-width: min(100%, 680px); height: auto; margin: .7rem 0; border: 1px solid #d3e1e2; border-radius: 8px; }.support-admin-panel { height: fit-content; }.support-admin-panel form, .support-compose { display: grid; gap: 1rem; }.support-admin-panel label, .support-compose > label { display: grid; gap: .4rem; color: #49666b; font-size: .82rem; font-weight: 800; }.support-reply { margin-top: 1.25rem; }.support-rich-editor { overflow: hidden; border: 1px solid #bed5d8; border-radius: 12px; background: #fff; }.support-rich-editor:focus-within { border-color: #237982; box-shadow: 0 0 0 3px rgba(35,121,130,.12); }.support-rich-editor__toolbar { display: flex; flex-wrap: wrap; gap: .25rem; padding: .45rem; border-bottom: 1px solid #d9e6e7; background: #f4f9f9; }.support-rich-editor__toolbar button, .support-rich-editor__image { border: 0; border-radius: 7px; padding: .34rem .55rem; color: #31575c; background: transparent; font-size: .82rem; cursor: pointer; }.support-rich-editor__toolbar button:hover, .support-rich-editor__image:hover { background: #dfeeee; }.support-rich-editor__image input { position: absolute; width: 1px; height: 1px; opacity: 0; }.support-rich-editor__surface { min-height: 155px; padding: .95rem 1rem; color: #243f43; outline: none; }.support-rich-editor__surface:empty:before { content: attr(data-placeholder); color: #8aa0a3; }.support-rich-editor__surface img { max-width: 100%; height: auto; }.support-compose__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }.support-reply .support-compose__actions { margin-top: 1.25rem; }.support-dialog { width: min(720px,calc(100vw - 2rem)); border: 0; border-radius: 20px; padding: 0; box-shadow: 0 28px 70px rgba(10,43,48,.28); }.support-dialog::backdrop { background: rgba(15,48,53,.46); backdrop-filter: blur(3px); }.support-compose { padding: 1.5rem; }.support-dialog__heading { display: flex; justify-content: space-between; align-items: flex-start; }.support-dialog__heading h2 { margin: .18rem 0 0; color: #173f44; }.support-dialog__close { border: 0; color: #4b696e; background: transparent; font-size: 2rem; line-height: 1; cursor: pointer; }
@media (max-width: 800px) { .support-filters, .support-detail-grid { grid-template-columns: 1fr; }.support-ticket-card { align-items: flex-start; flex-direction: column; gap: .9rem; }.support-ticket-card .app-button { width: 100%; }.support-message { max-width: 100%; }.support-ticket-hero { gap: 1rem; flex-direction: column; }.support-dialog { width: calc(100vw - 1rem); }.support-compose { padding: 1.1rem; } }

.admin-dashboard-worker__benchmark {
  align-items: start;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(47, 91, 125, .12);
  border-radius: 1rem;
  display: grid;
  gap: 1rem 1.35rem;
  grid-column: 2 / -1;
  grid-template-columns: minmax(420px, 1fr) auto;
  padding: 1rem 1.1rem;
}
.admin-dashboard-worker__benchmark-copy {
  display: grid;
  gap: .18rem;
  min-width: 0;
}
.admin-dashboard-worker__benchmark-copy strong {
  color: #20364b;
  font-size: 1rem;
  overflow-wrap: anywhere;
}
.admin-dashboard-worker__benchmark-status {
  color: #62778a;
  font-size: .82rem;
  line-height: 1.35;
}
.admin-dashboard-worker__benchmark-storage {
  color: #476277;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.35;
}
.admin-dashboard-worker__benchmark-storage.is-unavailable {
  color: #a63e3e;
}
.admin-dashboard-worker__benchmark-heartbeat {
  color: #27624d !important;
  font-weight: 760;
}
.admin-dashboard-worker__benchmark-heartbeat.is-stale {
  color: #a63e3e !important;
}
.admin-dashboard-worker__benchmark-stats {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
  justify-content: flex-end;
}
.admin-dashboard-worker__benchmark-actions {
  display: grid;
  gap: .55rem;
  justify-items: end;
}
.admin-dashboard-worker__benchmark-stats span {
  background: #f2f7fb;
  border: 1px solid rgba(47, 91, 125, .1);
  border-radius: 999px;
  color: #476277;
  font-size: .72rem;
  font-weight: 760;
  padding: .32rem .55rem;
  white-space: nowrap;
}
.admin-dashboard-worker__benchmark-stats .is-attention {
  background: #fff4f2;
  border-color: rgba(166, 62, 62, .24);
  color: #a63e3e;
}
.admin-dashboard-worker__benchmark-form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-self: end;
}
.admin-dashboard-worker__benchmark-form form {
  margin: 0;
}
.admin-dashboard-worker__benchmark-error {
  background: #fff7f5;
  border: 1px solid rgba(166, 62, 62, .18);
  border-radius: .85rem;
  color: #7d3434;
  grid-column: 1 / -1;
  overflow: hidden;
}
.admin-dashboard-worker__benchmark-error summary {
  cursor: pointer;
  font-size: .78rem;
  font-weight: 800;
  list-style-position: inside;
  padding: .65rem .8rem;
}
.admin-dashboard-worker__benchmark-error pre {
  background: rgba(255, 255, 255, .7);
  border-top: 1px solid rgba(166, 62, 62, .12);
  color: #543131;
  font-size: .72rem;
  line-height: 1.45;
  margin: 0;
  max-height: 14rem;
  overflow: auto;
  padding: .75rem .8rem;
  white-space: pre-wrap;
  word-break: break-word;
}
.admin-dashboard-worker__benchmark-error form {
  display: flex;
  justify-content: flex-end;
  margin: 0;
  padding: .6rem .8rem;
}
@media (max-width: 900px) {
  .admin-dashboard-worker__benchmark {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }
  .admin-dashboard-worker__benchmark-actions {
    justify-items: start;
  }
  .admin-dashboard-worker__benchmark-form,
  .admin-dashboard-worker__benchmark-stats {
    justify-self: stretch;
    justify-content: flex-start;
  }
  .admin-dashboard-worker__benchmark-form .app-button {
    width: 100%;
  }
  .admin-dashboard-worker__benchmark-form form {
    width: 100%;
  }
}

.support-hero__actions, .support-reply__tools, .support-template-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }.support-editor-panel { max-width: 880px; margin-top: 1.25rem; }.support-template-picker { display: grid; gap: .4rem; margin-bottom: .65rem; max-width: 420px; color: #49666b; font-size: .82rem; font-weight: 800; }
.support-ticket-card--unread { border-color: #6eafb2; box-shadow: 0 10px 25px rgba(21, 100, 109, .11); }.support-unread { display: inline-flex; align-items: center; gap: .38rem; border-radius: 999px; padding: .28rem .62rem; color: #075f69; background: #d8f3f0; font-size: .76rem; font-weight: 800; white-space: nowrap; }.support-unread span { width: .45rem; height: .45rem; border-radius: 50%; background: #008c99; box-shadow: 0 0 0 3px rgba(0, 140, 153, .12); }
.support-attachments{display:grid;gap:.35rem;margin-top:1rem;font-weight:650}.support-attachments input{max-width:100%}.support-attachments span{color:var(--app-muted,#687385);font-size:.82rem;font-weight:400}.support-message__attachments{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:.85rem 0 0;padding:0}.support-message__attachments a{display:inline-flex;gap:.35rem;align-items:center;padding:.42rem .65rem;border:1px solid rgba(43,77,117,.18);border-radius:.55rem;background:#fff;color:#184d84;font-size:.86rem;font-weight:650;text-decoration:none}.support-message__attachments a:hover{background:#f1f7ff}.support-message__attachments span{color:#687385;font-weight:500}
.support-ticket-card__actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.support-ticket-card__status select{width:142px;min-height:32px;padding-top:.25rem;padding-bottom:.25rem;font-size:.78rem}.support-ticket-card__preview{display:-webkit-box;max-width:780px;margin-top:.35rem;overflow:hidden;color:#506a6e;font-size:.81rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.support-ticket-card__preview>*{display:inline;margin:0}.support-ticket-card__preview img{display:none}@media(max-width:800px){.support-ticket-card__actions{width:100%}.support-ticket-card__status{flex:1}.support-ticket-card__status select{width:100%}}

/* User administration */
.user-admin-page__main{min-width:0}.user-admin-search-card,.user-admin-panel,.user-admin-results,.user-admin-profile-hero{background:#fff;border:1px solid rgba(33,54,77,.1);border-radius:1.25rem;box-shadow:0 10px 30px rgba(20,42,65,.05)}.user-admin-search-card{padding:1.35rem;margin:0 0 1.5rem}.user-admin-search-form .app-search__label{display:block;font-weight:700;color:#24384b}.user-admin-search-form .app-search__control{display:flex;align-items:center;gap:.7rem;border:1px solid #d5dfe8;border-radius:.85rem;padding:.35rem .4rem .35rem .85rem;background:#f9fbfc}.user-admin-search-form svg{width:1.3rem;height:1.3rem;fill:none;stroke:#6a7d90;stroke-width:1.9}.user-admin-search-form input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:.55rem .75rem;color:#21364a}.user-admin-search-card__hint{margin:.9rem 0 0;color:#64788a;font-size:.92rem}.user-admin-results{padding:1.5rem}.user-admin-results__header{margin-bottom:1rem}.user-admin-results h2,.user-admin-panel h2{font-size:1.22rem;margin:.2rem 0 0;color:#20364b}.user-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem}.user-admin-card{display:flex;gap:.85rem;padding:1.1rem;border:1px solid #e1e8ee;border-radius:1rem;background:linear-gradient(145deg,#fff,#f8fbfd)}.user-admin-card__avatar,.user-admin-profile-hero__avatar{flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#357ba5,#275174);font-weight:800;width:2.75rem;height:2.75rem}.user-admin-card__body{min-width:0;flex:1}.user-admin-card h3{font-size:1rem;margin:0;color:#20364b}.user-admin-card p{margin:.2rem 0 0;overflow-wrap:anywhere;color:#687d8f;font-size:.86rem}.user-admin-card__top{display:flex;justify-content:space-between;gap:.5rem}.user-admin-card__meta{display:flex;flex-wrap:wrap;gap:.3rem .7rem;margin:.65rem 0 .8rem;color:#50697d;font-size:.8rem}.user-admin-status{display:inline-flex;white-space:nowrap;align-self:start;padding:.28rem .55rem;border-radius:99px;font-size:.72rem;font-weight:700}.user-admin-status.is-active{color:#176340;background:#e6f7ef}.user-admin-status.is-disabled{color:#985225;background:#fff0e5}.user-admin-empty{padding:1.5rem;text-align:center;color:#677b8d;background:#f8fafb;border-radius:.9rem}.user-admin-empty h3{color:#354c60;font-size:1rem}.user-admin-empty p{margin:0}.user-admin-profile-hero{display:flex;align-items:center;gap:1rem;padding:1.35rem;margin:0 0 1rem}.user-admin-profile-hero__avatar{width:3.6rem;height:3.6rem;font-size:1.25rem}.user-admin-profile-hero h1{margin:.2rem 0;color:#1e3449;font-size:1.65rem}.user-admin-profile-hero p{margin:0;color:#64798b}.user-admin-profile-hero .user-admin-status{margin-left:auto}.user-admin-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.7fr);gap:1rem}.user-admin-panel{padding:1.35rem}.user-admin-panel__heading p{margin:.4rem 0 1.1rem;color:#64798b;font-size:.9rem}.user-admin-panel--facilities,.user-admin-panel--sessions{grid-column:1/-1}.user-admin-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-bottom:1.15rem}.user-admin-form label{display:grid;gap:.35rem;color:#40576a;font-size:.82rem;font-weight:700}.user-admin-form input:not([type=checkbox]),.user-admin-form select{width:100%;border:1px solid #d4dfe8;border-radius:.65rem;padding:.65rem .7rem;color:#24394d;background:#fff}.user-admin-form__wide{grid-column:1/-1}.user-admin-form .user-admin-switch{display:flex;grid-column:1/-1;align-items:center;gap:.55rem;font-size:.9rem}.user-admin-switch input{width:1.05rem;height:1.05rem}.user-admin-panel--security{align-self:start}.user-admin-panel--security form{margin:1.1rem 0 .85rem}.user-admin-panel--security p{margin:0;font-size:.85rem;line-height:1.55;color:#6b7e8d}.user-admin-facilities{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem}.user-admin-facility{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border:1px solid #e1e8ee;border-radius:.8rem}.user-admin-facility strong,.user-admin-facility small{display:block}.user-admin-facility small{color:#6d8090;margin-top:.15rem}.user-admin-sessions{display:grid;gap:.65rem}.user-admin-sessions article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem;background:#f8fafc;border-radius:.75rem}.user-admin-sessions strong,.user-admin-sessions span{display:block}.user-admin-sessions span{margin-top:.18rem;color:#6a7e8f;font-size:.84rem}@media(max-width:720px){.user-admin-search-form .app-search__control,.user-admin-profile-hero{flex-wrap:wrap}.user-admin-workspace{grid-template-columns:1fr}.user-admin-form__grid{grid-template-columns:1fr}.user-admin-form__wide{grid-column:auto}.user-admin-card__top,.user-admin-sessions article{align-items:flex-start;flex-direction:column}.user-admin-sessions article form,.user-admin-sessions article button{width:100%}}
.email-queue-list{display:grid;gap:.7rem}.email-queue-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid #e1e8ee;border-radius:.9rem;background:#fbfdff}.email-queue-item strong,.email-queue-item span,.email-queue-item small{display:block}.email-queue-item strong{color:#253d52}.email-queue-item>div:first-child span,.email-queue-item small{margin-top:.2rem;color:#6b7f90;font-size:.85rem}.email-queue-item>div:last-child{text-align:right}.email-queue-item__status{display:inline-flex!important;padding:.28rem .55rem;border-radius:999px;color:#845421;background:#fff1d8;font-size:.72rem;font-weight:800}.email-queue-item__status.is-failed{color:#a13f3f;background:#fff0f0}.email-queue-item__status.is-processing{color:#275f94;background:#e8f3ff}@media(max-width:620px){.email-queue-item{align-items:flex-start;flex-direction:column}.email-queue-item>div:last-child{text-align:left}}
.user-admin-form textarea{width:100%;resize:vertical;border:1px solid #d4dfe8;border-radius:.65rem;padding:.65rem .7rem;color:#24394d;background:#fff}.facility-admin-allocations{display:grid;gap:.65rem}.facility-admin-allocations article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem;background:#f8fafc;border-radius:.75rem}.facility-admin-allocations strong,.facility-admin-allocations span{display:block}.facility-admin-allocations small{font-weight:500;color:#6a7e8f}.facility-admin-allocations span{margin-top:.18rem;color:#6a7e8f;font-size:.84rem}.facility-admin-allocations form{display:flex;gap:.5rem}.facility-admin-allocations select{max-width:220px;border:1px solid #d4dfe8;border-radius:.6rem;padding:.45rem;background:#fff;color:#24394d}.student-support-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1rem}.student-support-summary article{display:grid;gap:.25rem;padding:1rem 1.15rem;border:1px solid rgba(33,54,77,.1);border-radius:1rem;background:linear-gradient(145deg,#fff,#f7fafc);box-shadow:0 8px 22px rgba(20,42,65,.04)}.student-support-summary span{color:#62788b;font-size:.8rem;font-weight:700}.student-support-summary strong{color:#203c53;font-size:1.55rem}.student-support-placements{display:grid;gap:.7rem}.student-support-placements article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid #e1e8ee;border-radius:.85rem;background:#f9fbfc}.student-support-placement__main strong,.student-support-placement__main span,.student-support-placement__main small{display:block}.student-support-placement__main span,.student-support-placement__main small{margin-top:.2rem;color:#64798b;font-size:.85rem}.student-support-placement__forms,.student-support-form-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.student-support-placement__forms>span{width:100%;color:#64798b;font-size:.78rem;text-align:right}.student-support-placement__forms form,.student-support-form-actions form{display:inline-flex}@media(max-width:720px){.facility-admin-allocations article,.facility-admin-allocations form,.student-support-placements article{align-items:stretch;flex-direction:column}.facility-admin-allocations select{max-width:none}.facility-admin-allocations button{width:100%}.student-support-summary{grid-template-columns:1fr}.student-support-placement__forms,.student-support-form-actions{justify-content:flex-start}.student-support-placement__forms>span{text-align:left}}
.user-admin-action-group{display:flex;align-items:center;gap:.5rem}.user-admin-action-group form{margin:0}@media(max-width:720px){.user-admin-action-group{width:100%;align-items:stretch;flex-direction:column}.user-admin-action-group a,.user-admin-action-group button{width:100%}}

/* Administrator search results follow the full-width cohort-card pattern. */
.user-admin-grid--full-width{grid-template-columns:1fr;gap:.55rem}.user-admin-results-filter{margin-top:0}.user-admin-grid--full-width .user-admin-card{align-items:center;border-radius:.85rem}.user-admin-grid--full-width .user-admin-card>.app-button{margin-left:auto}.user-admin-grid--full-width .user-admin-card__meta{margin-bottom:0}@media(max-width:720px){.user-admin-grid--full-width .user-admin-card{align-items:flex-start;flex-direction:column}.user-admin-grid--full-width .user-admin-card>.app-button{margin-left:0;width:100%}}
.user-admin-affiliation-add{margin-top:1rem}.user-admin-affiliation-add summary{display:inline-flex;cursor:pointer;list-style:none}.user-admin-affiliation-add summary::-webkit-details-marker{display:none}.user-admin-affiliation-add form{display:flex;align-items:end;flex-wrap:wrap;gap:.65rem;margin-top:.8rem;padding:.9rem;border:1px solid #dce7ee;border-radius:.8rem;background:#f8fbfd}.user-admin-affiliation-add label{display:grid;flex:1 1 260px;gap:.35rem;color:#40576a;font-size:.82rem;font-weight:700}.user-admin-affiliation-add select{width:100%;border:1px solid #d4dfe8;border-radius:.65rem;padding:.6rem .7rem;color:#24394d;background:#fff}.user-admin-return-link{margin:.5rem 0 1rem}.user-admin-return-link a{color:#1d668a;font-weight:700}@media(max-width:720px){.user-admin-affiliation-add form,.user-admin-affiliation-add button{width:100%}}
.user-admin-affiliation{background:#e8f4f8;border:1px solid #bcdde8;border-radius:999px;color:#1e617d;font-weight:700;padding:.2rem .48rem}
.admin-placement-card__menu{position:relative}.admin-placement-card__menu summary{cursor:pointer;list-style:none}.admin-placement-card__menu summary::-webkit-details-marker{display:none}.admin-placement-card__menu summary span{margin-left:.25rem;font-size:1rem;line-height:.7}.admin-placement-card__menu>div{position:absolute;z-index:3;top:calc(100% + .4rem);right:0;display:grid;min-width:15rem;padding:.4rem;border:1px solid #cbdce7;border-radius:.75rem;background:#fff;box-shadow:0 14px 32px rgba(24,61,90,.16)}.admin-placement-card__menu>div form{margin:0}.admin-placement-card__menu>div button,.admin-placement-card__menu>div a,.admin-placement-card__menu>div>span{display:block;width:100%;padding:.65rem .7rem;border:0;border-radius:.45rem;background:transparent;color:#234b69;font-size:.85rem;text-align:left;text-decoration:none}.admin-placement-card__menu>div button:hover,.admin-placement-card__menu>div a:hover{background:#edf7fb}.admin-placement-card__menu>div>span{color:#63798a}@media(max-width:720px){.admin-placement-card__menu{width:100%}.admin-placement-card__menu summary{width:100%;justify-content:center}.admin-placement-card__menu>div{right:auto;left:0;width:100%}}
.admin-placement-card__menu>div .admin-placement-card__menu-heading{margin-top:.25rem;padding:.7rem .7rem .25rem;color:#57748a;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.admin-placement-card__menu>div .admin-placement-card__menu-heading:first-child{margin-top:0}
.admin-placement-card__chevron{width:1rem;height:1rem;margin-left:.45rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .18s ease}.admin-placement-card__menu[open] .admin-placement-card__chevron{transform:rotate(180deg)}
.user-admin-facility--detailed{align-items:flex-start}.user-admin-facility--detailed small{line-height:1.4}.admin-placement-list{display:grid;gap:1rem}.admin-placement-card{border:1px solid #d6e4ed;border-radius:1rem;background:linear-gradient(145deg,#fff,#f7fbfd);overflow:visible}.admin-placement-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.15rem;border-bottom:1px solid #e4edf2}.admin-placement-card h3{margin:0;color:#183d5a;font-size:1.1rem}.admin-placement-card h3 span,.admin-placement-card header p{color:#61798c;font-size:.88rem;font-weight:600}.admin-placement-card header p{margin:.3rem 0 0}.admin-placement-card__actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.admin-placement-card__unlock{position:relative}.admin-placement-card__unlock summary{cursor:pointer;list-style:none}.admin-placement-card__unlock summary::-webkit-details-marker{display:none}.admin-placement-card__unlock>div{position:absolute;z-index:3;top:calc(100% + .4rem);right:0;display:grid;min-width:15rem;padding:.4rem;border:1px solid #cbdce7;border-radius:.75rem;background:#fff;box-shadow:0 14px 32px rgba(24,61,90,.16)}.admin-placement-card__unlock>div form{margin:0}.admin-placement-card__unlock>div button,.admin-placement-card__unlock>div>span{display:block;width:100%;padding:.65rem .7rem;border:0;border-radius:.45rem;background:transparent;color:#234b69;font-size:.85rem;text-align:left}.admin-placement-card__unlock>div button:hover{background:#edf7fb}.admin-placement-card__unlock>div>span{color:#63798a}.admin-placement-card__details{padding:1.1rem 1.15rem}.admin-placement-card__details dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0}.admin-placement-card__details dl>div{min-width:0;padding:.75rem;border:1px solid #e0ebf1;border-radius:.75rem;background:#fbfdfe}.admin-placement-card__details dt{margin:0 0 .3rem;color:#668099;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.admin-placement-card__details dd{margin:0;color:#193c59;font-size:.88rem;font-weight:700;overflow-wrap:anywhere}.admin-placement-card__notes{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0}.admin-placement-card__notes span{padding:.28rem .55rem;border-radius:999px;background:#e9f5f8;color:#28637d;font-size:.8rem;font-weight:700}@media(max-width:900px){.admin-placement-card__details dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.admin-placement-card>header{flex-direction:column}.admin-placement-card__actions{width:100%;justify-content:flex-start}.admin-placement-card__actions>a,.admin-placement-card__actions>form,.admin-placement-card__actions>form button{width:100%}.admin-placement-card__unlock{width:100%}.admin-placement-card__unlock summary{width:100%;justify-content:center}.admin-placement-card__unlock>div{right:auto;left:0;width:100%}.admin-placement-card__details dl{grid-template-columns:1fr}}
.user-admin-affiliation-add input[type="search"]{width:100%;border:1px solid #d4dfe8;border-radius:.65rem;padding:.6rem .7rem;color:#24394d;background:#fff;outline:none}.user-admin-affiliation-add input[type="search"]:focus{border-color:#5195b4;box-shadow:0 0 0 3px rgba(81,149,180,.14)}.user-admin-affiliation-add select:disabled{cursor:not-allowed;background:#f1f4f6;color:#8a989f}
.admin-placement-year{display:grid;gap:.7rem}.admin-placement-year>header{display:flex;align-items:baseline;gap:.65rem;padding:.15rem .15rem 0}.admin-placement-year>header .faccec-kicker{margin:0}.admin-placement-year>header h3{margin:0;color:#24475d;font-size:1.1rem}
.admin-placement-card__scores{display:flex;gap:0;margin:1rem 0 0;padding:.25rem 0;border-top:1px solid #e5edf1}.admin-placement-card__scores>div{display:flex;flex-direction:column;gap:.22rem;min-width:8.5rem;padding:.7rem 1rem;border-right:1px solid #dce7ec}.admin-placement-card__scores>div:first-child{padding-left:0}.admin-placement-card__scores>div:last-child{border-right:0}.admin-placement-card__scores dt{color:#668099;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.admin-placement-card__scores dd{display:flex;align-items:center;gap:.45rem;margin:0;color:#193c59;font-size:1rem;font-weight:800}.admin-placement-card__score-view{display:inline-grid;width:1.3rem;height:1.3rem;place-items:center;color:#1473a6}.admin-placement-card__score-view:hover{color:#0c527d}.admin-placement-card__score-view svg{width:1rem;height:1rem}@media(max-width:720px){.admin-placement-card__scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-placement-card__scores>div{min-width:0;padding:.7rem;border-right:1px solid #dce7ec}.admin-placement-card__scores>div:first-child{padding-left:.7rem}.admin-placement-card__scores dd{font-size:.9rem}}
.student-support-progress{display:grid;gap:.75rem}.student-support-progress article{padding:1rem;border:1px solid #e1e8ee;border-radius:.9rem;background:#f9fbfc}.student-support-progress article.is-current{border-color:#8ccbbd;background:linear-gradient(135deg,#f2fbf8,#fff)}.student-support-progress header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.student-support-progress header strong,.student-support-progress header span{display:block}.student-support-progress header span{margin-top:.2rem;color:#64798b;font-size:.85rem}.student-support-progress header em{padding:.25rem .5rem;border-radius:99px;color:#126a59;background:#def5ed;font-size:.72rem;font-style:normal;font-weight:800;white-space:nowrap}.student-support-progress dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0 0}.student-support-progress dl div{min-width:0}.student-support-progress dt{color:#718493;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.student-support-progress dd{margin:.2rem 0 0;color:#284256;font-size:.86rem;overflow-wrap:anywhere}.student-support-progress footer{margin-top:.9rem;color:#607688;font-size:.82rem;font-weight:700}@media(max-width:720px){.student-support-progress dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.student-support-educators{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.student-support-educators>span{width:100%;color:#526b7d;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.student-support-educators a{display:grid;gap:.12rem;padding:.45rem .55rem;border:1px solid #cfe1eb;border-radius:.65rem;color:#225f83;background:#f1f8fc;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}.student-support-educators a:hover{border-color:#78afcb;background:#e6f4fb;transform:translateY(-1px)}.student-support-educators a:focus-visible{outline:3px solid rgba(56,126,171,.25);outline-offset:2px}.student-support-educators a strong{font-size:.8rem}.student-support-educators a small,.student-support-no-educator{color:#617b8e;font-size:.74rem}
.student-support-educators--managers a{border-color:#d8d1ee;color:#5a498d;background:#f7f5ff}.student-support-educators--managers a:hover{border-color:#a99bd4;background:#efebff}

/*
 * APPLinkup canonical design system overrides.
 * Shared primitives live here so older page-specific selectors resolve to one visual language.
 */
html { scroll-behavior: smooth; font-family: var(--app-font-sans); }
body { margin-bottom: 4.25rem; background: var(--app-canvas); color: var(--app-text); font-family: var(--app-font-sans); font-synthesis: none; text-rendering: optimizeLegibility; }
body, button, input, select, textarea { font-family: var(--app-font-sans); }
a { color: var(--app-primary); }
a:hover { color: var(--app-primary-hover); }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--app-focus); outline-offset: 2px; box-shadow: none; }

.app-skip-link { position:fixed; z-index:1200; top:.75rem; left:.75rem; padding:.7rem 1rem; border-radius:var(--app-radius-sm); color:#fff; background:var(--app-primary); box-shadow:var(--app-shadow-md); text-decoration:none; transform:translateY(-180%); transition:transform var(--app-transition); }
.app-skip-link:focus { color:#fff; transform:translateY(0); }
.app-main-content:focus { outline:none; }
.app-navbar { border-color:rgba(23,42,59,.08)!important; background:rgba(255,255,255,.94)!important; box-shadow:0 8px 24px rgba(23,42,59,.06)!important; }
.navbar-brand { color:var(--app-primary)!important; letter-spacing:-.025em; }
.app-navbar .nav-link { border-radius:var(--app-radius-sm); font-weight:650; }
.app-navbar .nav-link:hover { background:var(--app-primary-soft); }
.app-public-page { display:grid; min-height:min(68vh,44rem); padding:clamp(1.5rem,5vw,4rem) 0; place-items:center; }
.app-public-card { width:min(100%,44rem); padding:clamp(1.5rem,4vw,2.5rem); border:1px solid var(--app-border); border-radius:var(--app-radius-xl); background:var(--app-surface); box-shadow:var(--app-shadow-md); }
.app-public-card h1 { margin:.25rem 0 .75rem; color:var(--app-text); font-size:clamp(2rem,5vw,3rem); font-weight:720; letter-spacing:-.04em; }
.app-public-card>p { color:var(--app-text-muted); font-size:1.05rem; line-height:1.65; }
.app-public-card__actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.4rem; }
.app-error-card { text-align:center; }
.app-error-card__icon { display:grid; width:3.5rem; height:3.5rem; margin:0 auto 1rem; place-items:center; border-radius:1rem; color:var(--app-danger); background:var(--app-danger-soft); }
.app-error-card__icon svg { width:1.7rem; height:1.7rem; }
.app-error-card__reference { font-size:.82rem!important; }
.app-error-card__reference code { color:var(--app-text); }
.app-error-card .app-public-card__actions { justify-content:center; }
.app-inline-note { margin:1.25rem 0; padding:1rem; border:1px solid var(--app-border); border-radius:var(--app-radius-md); background:var(--app-surface-subtle); }
.app-inline-note strong { display:block; color:var(--app-text); }
.app-inline-note p { margin:.25rem 0 0; color:var(--app-text-muted); line-height:1.5; }
.app-inline-note--warning { border-color:#ead8a7; background:var(--app-warning-soft); }

.faccec-shell { gap:clamp(1rem,2vw,1.5rem); margin-inline:auto; }
.faccec-main { gap:1.25rem; }
.faccec-sidebar__panel,.faccec-hero,.faccec-toolbar,.faccec-inline-note,.faccec-panel,.faccec-stat,.user-admin-search-card,.user-admin-panel,.user-admin-results,.user-admin-profile-hero,.audit-filter-card,.audit-results-card,.audit-archives-card,.audit-detail-card,.assessment-audit-summary,.assessment-audit-group,.cpqs-page .cpqs-filter-panel,.cpqs-page .cpqs-response-overview { border-color:var(--app-border); background:var(--app-surface); box-shadow:var(--app-shadow-sm); }
.faccec-sidebar__panel { border-radius:var(--app-radius-xl); }
.faccec-hero { border-radius:var(--app-radius-lg); padding:clamp(1.25rem,2.2vw,1.7rem); }
.faccec-panel,.faccec-inline-note { border-radius:var(--app-radius-lg); }

.faccec-kicker,.audit-eyebrow,.cpqs-eyebrow,.page-header__eyebrow { color:var(--app-primary); font-size:.75rem; font-weight:750; letter-spacing:.075em; text-transform:uppercase; }
.faccec-hero__copy>h1,.faccec-hero h1,.faccec-panel h1,.faccec-panel h2,.faccec-toolbar h2,.requests-page__hero h1,.user-admin-profile-hero h1,.account-page__hero h1,.faccec-panel__header h1,.faccec-panel__header h2,.user-admin-panel__heading h2,.user-admin-results__header h2,.requests-section__header h2,.account-panel__header h2,.admin-editor-card__header h2,.assessment-surveys-card__header h2 { color:var(--app-text); text-transform:none; }
.faccec-hero h1,.user-admin-profile-hero h1,.account-page__hero h1,.audit-hero h1,.audit-detail-hero h1 { font-size:clamp(1.8rem,2.8vw,2.55rem); font-weight:720; letter-spacing:-.035em; line-height:1.08; }
.faccec-panel h2,.faccec-toolbar h2,.user-admin-panel__heading h2,.requests-section__header h2,.account-panel__header h2,.admin-editor-card__header h2,.assessment-surveys-card__header h2 { font-size:1.18rem; font-weight:720; letter-spacing:-.015em; }
.faccec-hero__copy>p.page-header__description,.page-header__description { display:block; max-width:68ch; margin:.45rem 0 0; color:var(--app-text-muted); line-height:1.55; }
.faccec-panel__header p,.user-admin-panel__heading p,.requests-section__header p,.account-panel__header p,.admin-editor-card__header p,.assessment-surveys-card__header p { display:block; color:var(--app-text-muted); line-height:1.5; }

.app-breadcrumb { margin-bottom:1rem; color:var(--app-text-muted); font-size:.86rem; }
.app-breadcrumb ol { gap:.3rem .5rem; }
.app-breadcrumb li:not(:last-child)::after { width:.38rem; height:.38rem; margin-left:.5rem; border-color:#a6b2bd; }
.app-breadcrumb a,.app-breadcrumb [aria-current="page"] { min-height:2rem; padding:.25rem .35rem; border:0; border-radius:.45rem; background:transparent; box-shadow:none; }
.app-breadcrumb a:hover { background:var(--app-primary-soft); }
.app-breadcrumb [aria-current="page"] { color:var(--app-text); }

.app-button { min-height:2.75rem; padding:.68rem 1rem; border-radius:.75rem; font-weight:700; letter-spacing:0; transition:background-color var(--app-transition),border-color var(--app-transition),color var(--app-transition),box-shadow var(--app-transition),transform var(--app-transition); }
.app-button:hover,.app-button:focus-visible { box-shadow:0 7px 18px rgba(23,42,59,.09); transform:translateY(-1px); }
.app-button:active { transform:translateY(0); }
.app-button--small { min-height:2.25rem; padding:.48rem .75rem; border-radius:.65rem; }
.app-button--large { min-height:3rem; padding:.8rem 1.2rem; border-radius:.8rem; }
.app-button--primary { --app-button-bg:var(--app-primary); --app-button-bg-hover:var(--app-primary-hover); --app-button-border:var(--app-primary); }
.app-button--success { --app-button-bg:var(--app-success); --app-button-bg-hover:#12653f; --app-button-border:var(--app-success); }
.app-button--warning { --app-button-bg:var(--app-warning); --app-button-bg-hover:#704804; --app-button-border:var(--app-warning); }
.app-button--secondary { --app-button-bg:var(--app-surface); --app-button-bg-hover:var(--app-primary-soft); --app-button-border:var(--app-border-strong); --app-button-color:var(--app-primary); }
.app-button--neutral { --app-button-bg:var(--app-surface-subtle); --app-button-bg-hover:var(--app-surface-muted); --app-button-border:var(--app-border); --app-button-color:#405467; }
.app-button--danger { --app-button-bg:var(--app-danger-soft); --app-button-bg-hover:#ffe3e7; --app-button-border:#ebc4ca; --app-button-color:var(--app-danger); }
.app-button--ghost { --app-button-bg:transparent; --app-button-bg-hover:var(--app-primary-soft); --app-button-border:transparent; --app-button-color:var(--app-primary); }
.app-button__spinner { width:1rem; height:1rem; flex:0 0 auto; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:app-spin .7s linear infinite; }
@keyframes app-spin { to { transform:rotate(360deg); } }

.app-icon-button { display:inline-grid; width:2.75rem; height:2.75rem; padding:0; place-items:center; border:1px solid var(--app-border); border-radius:.75rem; color:var(--app-text-muted); background:var(--app-surface); text-decoration:none; transition:color var(--app-transition),background-color var(--app-transition),border-color var(--app-transition),transform var(--app-transition); }
.app-icon-button svg { width:1.15rem; height:1.15rem; }
.app-icon-button:hover,.app-icon-button:focus-visible { border-color:#a9c7d5; color:var(--app-primary); background:var(--app-primary-soft); transform:translateY(-1px); }
.app-icon-button--small { width:2.25rem; height:2.25rem; border-radius:.6rem; }
.app-icon-button--large { width:3rem; height:3rem; }
.app-icon-button--danger { color:var(--app-danger); background:var(--app-danger-soft); }
.app-icon-button:disabled,.app-icon-button[aria-disabled="true"] { opacity:.5; pointer-events:none; }

.app-status-badge,.user-admin-status,.unicem-status-pill,.support-status,.support-unread,.audit-pill { display:inline-flex; min-height:1.75rem; align-items:center; gap:.35rem; padding:.28rem .58rem; border:1px solid transparent; border-radius:999px; color:#526475; background:var(--app-surface-muted); font-size:.74rem; font-style:normal; font-weight:750; line-height:1; white-space:nowrap; }
.app-status-badge__icon { display:inline-flex; width:.85rem; height:.85rem; }
.app-status-badge__icon svg { width:100%; height:100%; }
.app-status-badge--info { border-color:#c7e2ef; color:var(--app-info); background:var(--app-info-soft); }
.app-status-badge--success { border-color:#c5e5d3; color:var(--app-success); background:var(--app-success-soft); }
.app-status-badge--warning { border-color:#ead8a7; color:var(--app-warning); background:var(--app-warning-soft); }
.app-status-badge--danger { border-color:#ebc6cc; color:var(--app-danger); background:var(--app-danger-soft); }
.university-avatar { background:var(--university-color, var(--app-primary)); }
.educator-directory { display:grid; gap:1.25rem; }
.educator-directory__hero p { margin:.5rem 0 0; color:var(--app-text-muted); }
.educator-directory__card .manage-student-card__header { padding-right:7rem; }
.educator-directory__card a { color:inherit; }
.educator-add-page { display:grid; gap:1.25rem; }
.educator-add-page__panel { max-width:58rem; }
.educator-add-page__search { display:grid; gap:.6rem; }
.educator-add-page__search label,.educator-add-page__form label { color:#354c5f; font-weight:700; }
.educator-add-page__search .app-button { justify-self:start; }
.educator-add-page__results,.educator-add-page__create { margin-top:1.35rem; padding-top:1.35rem; border-top:1px solid var(--app-border); }
.educator-add-page__result-note,.educator-add-page__create p { margin:0 0 1rem; color:var(--app-text-muted); }
.educator-add-page__results { display:grid; gap:.55rem; }
.educator-add-page__result .manage-student-card__header { padding-right:9rem; }
.educator-add-page__missing { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem; margin-top:.45rem; padding:.75rem .85rem; border:1px dashed var(--app-border-strong); border-radius:.75rem; color:var(--app-text-muted); background:var(--app-surface-subtle); }
.educator-add-page__form { display:grid; gap:.4rem; max-width:34rem; }
.educator-add-page__form input { padding:.7rem .8rem; border:1px solid var(--app-border-strong); border-radius:.7rem; }
.educator-add-page__actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:.8rem; }

.app-empty-state,.faccec-empty-state,.workspace-table__empty-state,.manage-students-page__empty,.user-admin-empty,.support-empty,.files-empty-state,.requests-empty-state,.audit-empty { display:grid; justify-items:center; gap:.75rem; padding:clamp(1.5rem,4vw,3rem) 1.25rem; border:1px dashed var(--app-border-strong); border-radius:var(--app-radius-lg); color:var(--app-text-muted); background:var(--app-surface-subtle); text-align:center; }
.app-empty-state--compact { padding:1.25rem; }
.app-empty-state__icon { display:grid; width:2.75rem; height:2.75rem; place-items:center; border-radius:.85rem; color:var(--app-primary); background:var(--app-primary-soft); }
.app-empty-state__icon svg { width:1.35rem; height:1.35rem; }
.app-empty-state__copy h3,.app-empty-state h3,.faccec-empty-state h3,.workspace-table__empty-state h3,.manage-students-page__empty h3,.user-admin-empty h3,.support-empty h3,.files-empty-state h3,.requests-empty-state h3,.audit-empty h2 { margin:0; color:var(--app-text); font-size:1.05rem; }
.app-empty-state__copy p,.app-empty-state p,.faccec-empty-state p,.workspace-table__empty-state p,.manage-students-page__empty p,.user-admin-empty p,.support-empty p,.files-empty-state p,.requests-empty-state p,.audit-empty p { max-width:52ch; margin:.3rem auto 0; line-height:1.5; }

.app-data-table,.workspace-table__table,.files-table,.absence-block__table,.cpqs-mapping-table { width:100%; border-collapse:separate; border-spacing:0; color:var(--app-text); }
.app-data-table thead th,.workspace-table__table thead th,.files-table thead th,.absence-block__table thead th,.cpqs-mapping-table thead th { padding:.75rem .85rem; border-bottom:1px solid var(--app-border); color:var(--app-text-muted); background:var(--app-surface-subtle); font-size:.72rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.app-data-table tbody td,.workspace-table__table tbody td,.files-table tbody td,.absence-block__table tbody td,.cpqs-mapping-table tbody td { padding:.8rem .85rem; border-bottom:1px solid #e9eef2; vertical-align:middle; }
.app-data-table tbody tr:hover,.workspace-table__table tbody tr:hover,.files-table tbody tr:hover,.absence-block__table tbody tr:hover,.cpqs-mapping-table tbody tr:hover { background:#f7fafc; }

.form-control,.form-select,.app-shell--authenticated input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="hidden"]),.app-shell--authenticated textarea,.app-shell--authenticated select { border-color:var(--app-border-strong); border-radius:.7rem; color:var(--app-text); background-color:var(--app-surface); }
.form-control:focus,.form-select:focus,.app-shell--authenticated input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="hidden"]):focus,.app-shell--authenticated textarea:focus,.app-shell--authenticated select:focus { border-color:#74a9bf; box-shadow:0 0 0 .2rem var(--app-focus); }
.form-label,.app-form-field label { color:#354c5f; font-weight:700; }
.form-text { color:var(--app-text-muted); }

.app-alert { border-radius:var(--app-radius-md); box-shadow:var(--app-shadow-md); }
.app-alert--info { border-color:#bdddea; color:var(--app-info); background:var(--app-info-soft); }
.app-alert--success { border-color:#bfe1cd; color:var(--app-success); background:var(--app-success-soft); }
.app-alert--warning { border-color:#e8d49b; color:var(--app-warning); background:var(--app-warning-soft); }
.app-alert--danger { border-color:#e9bdc5; color:var(--app-danger); background:var(--app-danger-soft); }

.app-defer-render { content-visibility:auto; contain-intrinsic-block-size:36rem; }
.app-section-offset { margin-top:1.5rem; }
.app-section-offset--sm { margin-top:1rem; }

/* Canonical authentication surface */
.auth-shell {
  width:min(100% - 2rem, 31rem);
  margin:clamp(2rem,8vh,5.5rem) auto;
}
.auth-panel {
  padding:clamp(1.5rem,4vw,2.25rem);
  border:1px solid var(--app-border);
  border-radius:var(--app-radius-xl);
  background:var(--app-surface);
  box-shadow:var(--app-shadow-lg);
}
.auth-panel__header { margin-bottom:1.5rem; }
.auth-panel__header h1 { margin:.2rem 0 .45rem; font-size:clamp(1.75rem,5vw,2.25rem); letter-spacing:-.035em; }
.auth-panel__header p:last-child { margin:0; color:var(--app-text-muted); line-height:1.65; }
.auth-panel__eyebrow { margin:0; color:var(--app-primary); font-size:.76rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.auth-panel__form { display:grid; gap:.2rem; }
.auth-panel .form-floating { margin-bottom:1rem !important; }
.auth-panel .checkbox { margin:.15rem 0 1.1rem !important; }

@media (min-width:1200px) {
  .app-shell--authenticated .app-breadcrumb,body:has(.faccec-shell) .app-breadcrumb { padding:.25rem .4rem; border-color:rgba(23,42,59,.07); border-radius:.8rem; background:rgba(244,247,251,.94); box-shadow:0 7px 20px rgba(23,42,59,.05); }
}
@media (max-width:767.98px) {
  .app-layout-container { max-width:100%; padding-inline:.8rem; }
  .faccec-hero { align-items:stretch; flex-direction:column; }
  .faccec-hero__actions { justify-content:flex-start; }
  .faccec-hero__actions>.app-button { flex:1 1 auto; }
  .app-data-table,.workspace-table__table,.files-table,.absence-block__table,.cpqs-mapping-table { font-size:.88rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Keep every contextual action surface inside the viewport. */
:where(
  .manage-student-card__move > form,
  .account-request-card__decision > form,
  .ratify-app-card__menu-panel,
  .admin-placement-card__menu > div,
  .admin-placement-card__unlock > div,
  .request-action-dropdown__menu
) {
  max-inline-size: calc(100dvw - 1.5rem);
  overflow-wrap: anywhere;
}

@media (max-width:767.98px) {
  /* The two form-sized menus become bottom sheets on phones. */
  .manage-student-card__move > form,
  .account-request-card__decision > form {
    position: fixed;
    width: auto;
    min-width: 0;
    max-width: none;
    max-height: calc(100dvh - var(--workspace-header-height, 5rem) - 1.5rem);
    inset: auto .75rem max(.75rem, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 1rem;
    box-shadow: 0 22px 54px rgba(19, 51, 79, .24);
    z-index: 1100;
  }

  .manage-student-card__move > form {
    padding: 1rem;
  }

  /* Compact menus expand within their card instead of escaping the screen. */
  .results-page .ratify-app-card__content {
    grid-template-columns: 1fr;
  }

  .ratify-app-card__menu,
  .admin-placement-card__menu,
  .admin-placement-card__unlock {
    width: 100%;
  }

  .ratify-app-card__menu summary {
    margin-left: auto;
  }

  .ratify-app-card__menu-panel,
  .admin-placement-card__menu > div,
  .admin-placement-card__unlock > div {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: .4rem;
  }

  .request-action-dropdown__menu {
    position: static !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    transform: none !important;
  }
}

/* Facility cards retain the shared student-card appearance without fixed action gutters. */
.educator-directory__card, .educator-add-page__result { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.educator-directory__card .manage-student-card__header, .educator-add-page__result .manage-student-card__header { padding-right:0; min-width:0; overflow-wrap:anywhere; }
.educator-directory__card .manage-student-card__actions, .educator-add-page__result .manage-student-card__actions { position:static; flex-wrap:wrap; flex-shrink:0; }
.educator-add-page__actions { align-items:center; }
@media (max-width:720px) {
    .educator-directory__card, .educator-add-page__result { flex-direction:column; align-items:stretch; }
}
.educator-directory__card[hidden], .educator-add-page__result[hidden] { display:none; }

/* Placement statistics management actions. */
.placement-stat-edit { display:inline-flex; align-items:center; justify-content:center; width:1.75rem; height:1.75rem; margin-left:.2rem; border-radius:.5rem; color:#376ca6; vertical-align:middle; transition:background-color .15s ease; }
.placement-stat-edit svg { width:1rem; height:1rem; }
.placement-stat-edit:hover { background:#e3effc; color:#174c86; }
.placement-stat-edit:focus-visible { outline:3px solid #397ed0; outline-offset:2px; }
.placement-stat-edit:active { background:#cbdff5; }

.support-thread__heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.support-thread__controls { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: end; gap: .5rem .85rem; margin: 0 0 0 auto; padding: 0; border: 0; max-width: 100%; flex: 0 1 450px; }
.support-thread__field { display: grid; gap: .4rem; flex: 1 1 180px; min-width: 0; color: #49666b; font-size: .8rem; font-weight: 700; }
.support-thread__field .form-select { min-height: 42px; border-radius: 10px; }
.support-thread__save-state { align-self: center; color: #49666b; font-size: .8rem; }
.support-thread__save-state.is-error { color: #a33434; }
@media (max-width: 575px) { .support-thread__controls { flex-basis: 100%; margin-left: 0; } .support-thread__field { flex: 1 1 100%; min-width: 0; } .support-thread__save-state { flex-basis: 100%; } }

.support-ticket-identity { min-width: 0; flex: 1; }
.support-requester { display: grid; gap: .7rem; margin-top: 1rem; color: #49666b; font-size: .86rem; }
.support-requester__person { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .85rem; }
.support-requester__person strong { color: #264c51; }
.support-requester__label { color: #647b80; font-size: .75rem; font-weight: 700; }
.support-requester__email { overflow-wrap: anywhere; color: #176880; text-underline-offset: 3px; }
.support-requester__affiliations { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem .85rem; }
.support-requester__affiliations ul { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 0; list-style: none; min-width: 0; }
.support-requester__affiliations li { padding: .3rem .65rem; background: #f3f7fa; border: 1px solid #e0e9ef; border-radius: 9px; overflow-wrap: anywhere; max-width: 100%; }
.support-requester__id { color: #647b80; white-space: nowrap; font-size: .78rem; }
@media (max-width: 575px) { .support-requester__affiliations { display: grid; } .support-requester__person { column-gap: .6rem; } .support-requester__email { flex-basis: 100%; } }
