@font-face {
  font-family:"Centros Inter";
  src:url("../fonts/InterVariable-latin.f9ca5da574ae.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

@font-face {
  font-family:"Centros Serif";
  src:url("../fonts/SourceSerif4Variable-latin.e9192c2fe0a3.woff2") format("woff2");
  font-style:normal;
  font-weight:200 900;
  font-display:swap;
}

:root {
  color-scheme:light;
  --centros-canvas:#f5f7ff;
  --centros-surface:#fff;
  --centros-surface-soft:#f0f2f8;
  --centros-surface-active:#ebeefc;
  --centros-text:#20283e;
  --centros-text-soft:#505b72;
  --centros-muted:#5b667b;
  --centros-border:#dce1ef;
  --centros-border-strong:#a8b2cd;
  --centros-control-border:#7b86a1;
  --centros-blue:#3a5ada;
  --centros-blue-hover:#213481;
  --centros-blue-soft:#ebeefc;
  --centros-on-blue:#fff;
  --centros-on-primary:#fff;
  --centros-focus:var(--centros-blue);
  --centros-green:#007442;
  --centros-green-soft:#e3f6ee;
  --centros-amber:#805700;
  --centros-amber-soft:#fff3d6;
  --centros-red:#bc3030;
  --centros-red-soft:#ffeeee;
  --centros-violet:#6a37a0;
  --centros-violet-soft:#f1eafa;
  --centros-sky:#236479;
  --centros-sky-soft:#e6f8fc;
  --centros-radius-sm:.5rem;
  --centros-radius:.75rem;
  --centros-radius-lg:1rem;
  --centros-space-1:.25rem;
  --centros-space-2:.5rem;
  --centros-space-3:.75rem;
  --centros-space-4:1rem;
  --centros-space-5:1.25rem;
  --centros-space-6:1.5rem;
  --centros-space-8:2rem;
  --centros-shadow:0 8px 32px rgb(25 40 85/.07);
  --centros-transition:160ms ease-out;
  font-family:"Centros Inter",system-ui,sans-serif;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  color:var(--centros-text);
  background:var(--centros-canvas);
}

:root[data-theme="dark"] {
  color-scheme:dark;
  --centros-canvas:#12172b;
  --centros-surface:#1a2238;
  --centros-surface-soft:#222d48;
  --centros-surface-active:#2a3960;
  --centros-text:#e8ecf8;
  --centros-text-soft:#bcc6df;
  --centros-muted:#b1bdd8;
  --centros-border:#374665;
  --centros-border-strong:#556a98;
  --centros-control-border:#8093bd;
  --centros-blue:#9aaefe;
  --centros-blue-hover:#becaff;
  --centros-blue-soft:#2a3960;
  --centros-on-blue:#18244b;
  --centros-on-primary:#18244b;
  --centros-focus:var(--centros-blue);
  --centros-green:#8edbb4;
  --centros-green-soft:#1c3d32;
  --centros-amber:#efc76f;
  --centros-amber-soft:#3c311b;
  --centros-red:#ffa8a8;
  --centros-red-soft:#43282e;
  --centros-violet:#d0b4f2;
  --centros-violet-soft:#352744;
  --centros-sky:#a2dcea;
  --centros-sky-soft:#203c48;
  --centros-shadow:0 8px 32px rgb(0 0 0/.15);
}

*,*::before,*::after {
  box-sizing:border-box;
}

html {
  min-width:0;
  scroll-padding-top:2rem;
}

body.centros-app {
  margin:0;
  min-width:0;
  min-height:100vh;
  font-size:.91rem;
  line-height:1.55;
  background:var(--centros-canvas);
  color:var(--centros-text);
}

[hidden] {
  display:none!important;
}

a {
  color:var(--centros-blue);
  text-underline-offset:.22em;
}

a:hover {
  text-decoration-thickness:2px;
}

button,input,select,textarea {
  font:inherit;
  color:inherit;
}

button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

button {
  cursor:pointer;
}

input,select,textarea {
  max-width:100%;
}

button:disabled {
  cursor:wait;
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--centros-focus);
  outline-offset:3px;
}

h1,h2,h3,p {
  margin-top:0;
}

h1,h2,h3 {
  text-wrap:balance;
}

h2 {
  font-size:1.08rem;
  letter-spacing:-.015em;
  margin-bottom:.65rem;
}

h3 {
  font-size:.94rem;
  margin-bottom:.5rem;
}

p {
  margin-bottom:.8rem;
}

svg {
  display:block;
}

img {
  max-width:100%;
}

details>summary {
  cursor:pointer;
  min-height:44px;
  align-content:center;
}

details>summary::marker {
  color:var(--centros-muted);
}

fieldset {
  min-width:0;
}

input[type="checkbox"],input[type="radio"] {
  width:1.1rem;
  height:1.1rem;
  accent-color:var(--centros-blue);
  flex:none;
  vertical-align:middle;
}

input[type="checkbox"]:focus-visible {
  outline-offset:4px;
}

.centros-icon {
  width:1.15rem;
  height:1.15rem;
  flex:none;
}

.sr-only {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.centros-skip-link {
  position:fixed;
  left:1rem;
  top:-10rem;
  padding:.8rem 1rem;
  background:var(--centros-surface);
  z-index:100;
}

.centros-skip-link:focus {
  top:1rem;
}

/* A stable workspace rail; content, rather than chrome, leads the page. */
.centros-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.25rem 2.5rem;
  gap:1rem;
}

.centros-brand {
  display:flex;
  align-items:center;
  gap:.65rem;
  text-decoration:none;
  color:var(--centros-text);
  flex:none;
}

.centros-brand strong {
  display:block;
  font-size:1.22rem;
  font-weight:650;
  letter-spacing:-.045em;
  line-height:1.1;
}

.centros-brand__mark {
  display:grid;
  place-items:center;
  width:2.55rem;
  height:2.55rem;
  background:var(--centros-blue);
  color:var(--centros-on-blue);
  border-radius:.7rem;
}

.centros-brand__mark svg {
  width:2.2rem;
  height:2.2rem;
}

.centros-app .centros-brand .centros-brand__mark--image {
  background:transparent;
}

.centros-brand__mark--image picture,
.centros-brand__mark--image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.centros-brand__area {
  display:block;
  color:var(--centros-text-soft);
  font-size:.7rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-top:.25rem;
}

.centros-authenticated .centros-header {
  position:fixed;
  inset:0 auto 0 0;
  width:216px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  padding:2rem 1rem 1rem;
  border-right:1px solid var(--centros-border);
  z-index:30;
  background:var(--centros-canvas);
}

.centros-authenticated .centros-brand {
  padding:.15rem .5rem 2.6rem;
}

.centros-sidebar-label {
  font-size:.64rem;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--centros-muted);
  padding:0 .75rem .7rem;
}

.centros-nav {
  display:flex;
  flex-direction:column;
  gap:.3rem;
}

.centros-nav a {
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:44px;
  padding:.65rem .75rem;
  border-radius:.6rem;
  font-size:.82rem;
  text-decoration:none;
  color:var(--centros-text-soft);
  transition:background var(--centros-transition),color var(--centros-transition);
}

.centros-nav a:hover {
  background:var(--centros-surface-soft);
  color:var(--centros-text);
}

.centros-nav a[aria-current="page"] {
  background:var(--centros-blue-soft);
  color:var(--centros-blue);
  font-weight:650;
}

.centros-nav .centros-icon {
  width:1.1rem;
  height:1.1rem;
}

.centros-header__actions {
  margin-top:auto;
  padding-top:1rem;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.centros-theme-toggle {
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:44px;
  border:0;
  background:transparent;
  padding:.65rem .75rem;
  border-radius:.5rem;
  color:var(--centros-text-soft);
  font-size:.78rem;
}

.centros-theme-toggle:hover {
  background:var(--centros-surface-soft);
}

[data-theme="light"] [data-theme-icon="sun"],[data-theme="dark"] [data-theme-icon="moon"] {
  display:none;
}

.centros-account {
  position:relative;
  border-top:1px solid var(--centros-border);
  padding-top:.65rem;
}

.centros-account summary {
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.4rem .3rem;
  font-size:.76rem;
  list-style:none;
}

.centros-account summary::-webkit-details-marker {
  display:none;
}

.centros-account__name {
  min-width:0;
  overflow-wrap:anywhere;
  flex:1;
}

.centros-account summary>.centros-icon {
  width:.85rem;
  transform:rotate(-90deg);
}

.centros-account__menu {
  position:absolute;
  bottom:calc(100% + .35rem);
  left:0;
  width:240px;
  max-width:calc(100vw - 2rem);
  padding:.5rem;
  background:var(--centros-surface);
  box-shadow:var(--centros-shadow);
  border:1px solid var(--centros-border);
  border-radius:.75rem;
  z-index:40;
}

.centros-account__menu a,.centros-account__menu button {
  display:flex;
  align-items:center;
  gap:.7rem;
  min-height:44px;
  padding:.65rem .75rem;
  text-decoration:none;
  width:100%;
  border:0;
  background:none;
  color:var(--centros-text);
  font-size:.83rem;
  text-align:left;
  border-radius:.35rem;
}

.centros-account__menu a:hover,.centros-account__menu button:hover {
  background:var(--centros-surface-soft);
}

.centros-avatar {
  display:grid;
  place-items:center;
  flex:none;
  width:2.8rem;
  height:2.8rem;
  border-radius:50%;
  background:var(--centros-surface-soft);
  color:var(--centros-blue);
  font-family:"Centros Serif",Georgia,serif;
  font-size:1.3rem;
  font-weight:600;
}

.centros-avatar--small {
  width:2rem;
  height:2rem;
  font-size:1rem;
  background:var(--centros-blue-soft);
}

.centros-authenticated .centros-workspace {
  margin-left:216px;
  min-height:100vh;
  background:var(--centros-surface);
}

.centros-contextbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  min-height:64px;
  padding:.85rem 2.5rem;
  border-bottom:1px solid var(--centros-border);
  font-size:.72rem;
  color:var(--centros-muted);
}

.centros-contextbar__center {
  color:var(--centros-text);
  font-weight:600;
  overflow-wrap:anywhere;
}

.centros-contextbar__identity {
  display:flex;
  align-items:center;
  min-width:0;
  gap:.65rem;
}

.centros-center-mark {
  display:grid;
  place-items:center;
  flex:none;
  width:2.45rem;
  height:2.45rem;
  overflow:hidden;
  border-radius:.7rem;
  background:var(--centros-blue-soft);
  color:var(--centros-blue);
}

.centros-center-mark--image {
  border:1px solid var(--centros-border);
  background:#fff;
}

.centros-center-mark img {
  display:block;
  width:100%;
  height:100%;
  padding:.15rem;
  object-fit:contain;
}

/* The official header places this complete crest at its right-hand edge. */
.centros-center-mark--crest img {
  object-fit:cover;
  object-position:right;
}

.centros-contextbar__tools {
  display:flex;
  align-items:center;
  gap:1.25rem;
  flex-shrink:0;
}

.centros-contextbar__calendar {
  display:grid;
  gap:.25rem;
  text-align:right;
}

.centros-contextbar__course {
  color:var(--centros-text-soft);
  font-weight:550;
}

.centros-activity {
  position:relative;
}

.centros-activity>summary {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:44px;
  padding:.6rem .8rem;
  list-style:none;
  border:1px solid var(--centros-border);
  border-radius:.6rem;
  color:var(--centros-text);
  background:var(--centros-surface);
  cursor:pointer;
  font-size:.8rem;
  font-weight:550;
}

.centros-activity>summary::-webkit-details-marker {
  display:none;
}

.centros-activity>summary:hover,.centros-activity[open]>summary {
  background:var(--centros-blue-soft);
  color:var(--centros-blue);
}

.centros-activity__badge {
  display:grid;
  place-items:center;
  min-width:1.4rem;
  padding:.1rem .35rem;
  border-radius:.4rem;
  background:var(--centros-blue);
  color:var(--centros-on-primary);
  font-size:.7rem;
  font-variant-numeric:tabular-nums;
}

.centros-activity__panel {
  position:absolute;
  top:calc(100% + .65rem);
  right:0;
  width:min(360px,calc(100vw - 2rem));
  max-height:min(32rem,75vh);
  overflow:auto;
  padding:1.1rem;
  border:1px solid var(--centros-border);
  border-radius:.8rem;
  background:var(--centros-surface);
  box-shadow:var(--centros-shadow);
  z-index:45;
  color:var(--centros-text-soft);
  font-size:.8rem;
  text-align:left;
}

.centros-activity__heading h2 {
  margin:0 0 .25rem;
  font-family:inherit;
  font-size:1rem;
  font-weight:650;
  color:var(--centros-text);
}

.centros-activity__heading p,.centros-activity__empty p {
  margin:0;
}

.centros-activity__list {
  margin:.85rem 0 0;
  padding:0;
  list-style:none;
}

.centros-activity__list li+li {
  border-top:1px solid var(--centros-border);
}

.centros-activity__list a {
  display:flex;
  gap:.65rem;
  align-items:center;
  padding:.85rem .5rem;
  border-radius:.4rem;
  color:var(--centros-text);
  text-decoration:none;
}

.centros-activity__list a:hover {
  background:var(--centros-surface-soft);
}

.centros-activity__list a>span:first-child {
  flex:1;
  min-width:0;
}

.centros-activity__list small {
  display:block;
  margin-top:.3rem;
  font-size:.74rem;
  line-height:1.5;
  color:var(--centros-text-soft);
}

.centros-activity__count {
  font-variant-numeric:tabular-nums;
  font-size:1rem;
  font-weight:650;
  color:var(--centros-blue);
}

.centros-activity__list .centros-icon {
  width:1rem;
  height:1rem;
}

.centros-activity__empty {
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  margin:1.1rem 0;
  line-height:1.6;
}

.centros-activity__empty>.centros-icon {
  color:var(--centros-green);
  margin-top:.15rem;
}

.centros-activity__empty strong {
  color:var(--centros-text);
}

.centros-activity__updated {
  margin:.85rem 0 0;
  padding-top:.75rem;
  border-top:1px solid var(--centros-border);
  font-size:.7rem;
  line-height:1.6;
}

.centros-main {
  max-width:1440px;
  margin:0 auto;
  padding:2.5rem clamp(1.25rem,3.3vw,3.5rem) 4rem;
  min-width:0;
}

/* The skip target is a container, not a control, as on the login page. */
.centros-main:focus {
  outline:none;
}

.centros-page-heading {
  margin-bottom:1.25rem;
  max-width:68rem;
}

.centros-page-heading h1,.centros-notice-page h1 {
  font-family:"Centros Serif",Georgia,serif;
  font-size:clamp(2rem,3vw,2.75rem);
  font-weight:450;
  letter-spacing:-.045em;
  line-height:1.16;
  margin:0 0 .7rem;
  color:var(--centros-text);
  overflow-wrap:anywhere;
}

.centros-page-heading p:not(.centros-eyebrow) {
  color:var(--centros-text-soft);
  max-width:65ch;
  margin-bottom:0;
  font-size:.9rem;
}

.centros-eyebrow {
  color:var(--centros-blue);
  font-size:.65rem;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:.65rem;
}

.centros-list-heading,.centros-detail-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.5rem;
  max-width:none;
}

.centros-list-heading>div,.centros-detail-heading>div {
  min-width:0;
}

.centros-breadcrumbs {
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  font-size:.75rem;
  color:var(--centros-muted);
  margin-bottom:1.75rem;
}

.centros-breadcrumbs a {
  color:var(--centros-text-soft);
}

.centros-breadcrumbs [aria-current] {
  overflow-wrap:anywhere;
}

.centros-section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.centros-section-heading p {
  margin-bottom:0;
  color:var(--centros-text-soft);
}

/* Controls share a consistent rhythm and native semantics. */
.centros-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:44px;
  padding:.65rem 1rem;
  border:1px solid transparent;
  border-radius:.55rem;
  font-size:.82rem;
  font-weight:550;
  line-height:1.3;
  text-decoration:none;
  text-align:center;
  background:transparent;
  color:var(--centros-blue);
  transition:background var(--centros-transition),color var(--centros-transition),border-color var(--centros-transition),transform var(--centros-transition);
  max-width:100%;
}

.centros-button:hover {
  text-decoration:none;
}

.centros-button:active {
  transform:translateY(1px);
}

.centros-button--primary {
  background:var(--centros-blue);
  color:var(--centros-on-blue);
  border-color:var(--centros-blue);
}

.centros-button--primary:hover {
  background:var(--centros-blue-hover);
  border-color:var(--centros-blue-hover);
}

.centros-button--secondary {
  background:var(--centros-surface);
  border-color:var(--centros-border-strong);
  color:var(--centros-text);
}

.centros-button--secondary:hover {
  background:var(--centros-surface-soft);
}

.centros-button--quiet:hover {
  background:var(--centros-surface-soft);
}

.centros-button--danger {
  color:var(--centros-red);
}

.centros-toolbar__actions {
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
}

.centros-form {
  display:grid;
  gap:1.25rem;
}

.centros-field {
  display:flex;
  flex-direction:column;
  gap:.42rem;
  min-width:0;
  margin:0;
}

.centros-field label,.centros-field legend {
  font-size:.82rem;
  font-weight:550;
  color:var(--centros-text);
}

.centros-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.centros-field select,.centros-field textarea,.centros-withdraw-form select {
  min-height:44px;
  width:100%;
  border:1px solid var(--centros-control-border);
  background:var(--centros-surface);
  color:var(--centros-text);
  border-radius:.5rem;
  padding:.67rem .8rem;
  line-height:1.4;
  transition:border-color var(--centros-transition),box-shadow var(--centros-transition);
}

.centros-field textarea {
  min-height:7rem;
  resize:vertical;
}

.centros-field input::placeholder,.centros-field textarea::placeholder {
  color:var(--centros-muted);
}

.centros-field input:hover,.centros-field select:hover,.centros-field textarea:hover {
  border-color:var(--centros-blue);
}

/* Match the compact blue field focus used by the login. */
.centros-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,.centros-field select:focus,.centros-field textarea:focus,.centros-withdraw-form select:focus {
  border-color:var(--centros-blue);
  box-shadow:0 0 0 1px var(--centros-blue);
  outline:none;
}

@media(forced-colors:active) {
  .centros-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,.centros-field select:focus,.centros-field textarea:focus,.centros-withdraw-form select:focus {
    outline:2px solid Highlight;
    outline-offset:2px;
  }
}

.centros-help-text,.centros-field__help,.centros-field small {
  color:var(--centros-text-soft);
  font-size:.75rem;
  line-height:1.55;
  margin:0;
}

.centros-field__errors {
  color:var(--centros-red);
  font-size:.8rem;
  padding-left:1.15rem;
  margin:.15rem 0;
}

.centros-field--invalid input,.centros-field--invalid select,.centros-field--invalid textarea {
  border-color:var(--centros-red)!important;
}

.centros-field--checkbox label,.centros-checkbox-label {
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  min-height:44px;
  padding:.5rem 0;
}

.centros-field--checkbox input,.centros-checkbox-label input {
  margin-top:.2rem;
}

.centros-field--choices {
  border:0;
  padding:0;
}

.centros-field--choices>div {
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}

.centros-field--choices label {
  display:flex;
  align-items:center;
  gap:.55rem;
  min-height:44px;
}

.centros-password-control {
  position:relative;
}

.centros-password-control input {
  padding-right:5rem!important;
}

.centros-password-toggle {
  position:absolute;
  right:.3rem;
  top:.2rem;
  bottom:.2rem;
  padding:.4rem .6rem;
  border:0;
  background:none;
  color:var(--centros-blue);
  font-size:.75rem;
}

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

.centros-filter-field input,.centros-filter-field select {
  font-size:.8rem;
}

.centros-filter-field {
  min-width:0;
}

.centros-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.centros-filter-bar {
  display:flex;
  align-items:flex-end;
  gap:1rem;
  padding:1.25rem 0;
  border-top:1px solid var(--centros-border);
  border-bottom:1px solid var(--centros-border);
  margin-bottom:1rem;
}

.centros-toolbar__search {
  display:flex;
  align-items:flex-end;
  gap:.85rem;
  flex:1;
  min-width:0;
  flex-wrap:wrap;
}

.centros-toolbar__search>.centros-field {
  flex:1;
  min-width:8rem;
}

.centros-toolbar__search>.centros-field:first-child {
  flex:1.7;
}

.centros-search-control {
  position:relative;
}

.centros-search-control>.centros-icon {
  position:absolute;
  left:.8rem;
  top:.8rem;
  color:var(--centros-muted);
}

.centros-search-control input {
  padding-left:2.5rem!important;
}

.centros-filter-panel {
  position:relative;
}

.centros-filter-panel>summary {
  display:flex;
  align-items:center;
  gap:.5rem;
  list-style:none;
  border:1px solid var(--centros-border-strong);
  border-radius:.5rem;
  padding:.6rem .9rem;
  font-size:.8rem;
}

.centros-filter-panel>summary::-webkit-details-marker {
  display:none;
}

.centros-filter-panel[open]>summary {
  background:var(--centros-surface-soft);
}

.centros-filter-panel__body {
  position:absolute;
  right:0;
  top:calc(100% + .5rem);
  width:300px;
  max-width:calc(100vw - 3rem);
  display:grid;
  gap:1rem;
  padding:1.25rem;
  background:var(--centros-surface);
  border:1px solid var(--centros-border);
  border-radius:.75rem;
  box-shadow:var(--centros-shadow);
  z-index:15;
}

.centros-filters-search {
  display:flex;
  align-items:center;
  gap:.5rem;
  flex:1;
  max-width:30rem;
}

.centros-filters-search .centros-field {
  flex:1;
}

.centros-search-submit {
  border:0;
  background:none;
  color:var(--centros-blue);
  min-height:44px;
  padding:.6rem;
  font-size:.8rem;
}

/* A people-first inbox: hierarchy and space instead of a grid of boxes. */
.centros-status-nav {
  display:flex;
  align-items:center;
  gap:1.15rem;
  flex-wrap:wrap;
  border-bottom:1px solid var(--centros-border);
  margin-bottom:1.4rem;
}

.centros-status-nav a {
  display:inline-flex;
  align-items:center;
  min-height:45px;
  border-bottom:2px solid transparent;
  padding:.45rem .1rem;
  text-decoration:none;
  color:var(--centros-muted);
  font-size:.78rem;
  white-space:nowrap;
}

.centros-status-nav a[aria-current="page"] {
  border-color:var(--centros-blue);
  color:var(--centros-blue);
  font-weight:650;
}

.centros-status-nav a:hover {
  color:var(--centros-text);
}

.centros-inbox-toolbar {
  display:flex;
  align-items:center;
  gap:1rem;
  justify-content:space-between;
  margin-bottom:1.6rem;
}

.centros-inbox-caption {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin:1.5rem 0 .5rem;
  font-size:.72rem;
  color:var(--centros-muted);
}

.centros-inbox-caption strong {
  font-weight:550;
  color:var(--centros-text-soft);
}

.centros-record-list {
  list-style:none;
  padding:0;
  margin:0;
}

.centros-record-row {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:start;
  gap:1rem;
  padding:1.35rem .55rem;
  border-bottom:1px solid var(--centros-border);
  transition:background var(--centros-transition);
}

.centros-record-row:hover {
  background:var(--centros-surface-soft);
}

.centros-record-row:has(input:checked) {
  background:var(--centros-blue-soft);
}

.centros-record-row__identity {
  min-width:0;
}

.centros-record-name {
  font-size:.95rem;
  font-weight:600;
  color:var(--centros-text);
  text-decoration:none;
  overflow-wrap:anywhere;
}

.centros-record-name:hover {
  color:var(--centros-blue);
  text-decoration:underline;
}

.centros-record-meta {
  display:flex;
  align-items:center;
  gap:.4rem .8rem;
  flex-wrap:wrap;
  margin:.25rem 0;
  color:var(--centros-text-soft);
  font-size:.75rem;
}

.centros-record-reference {
  color:var(--centros-muted);
  font-size:.66rem;
  letter-spacing:.015em;
}

.centros-record-modality {
  display:inline-flex;
  max-width:100%;
  padding:.18rem .55rem;
  border-radius:.35rem;
  background:var(--centros-blue-soft);
  color:var(--centros-blue);
  font-size:.7rem;
  font-weight:600;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.centros-record-row__end {
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:.5rem;
  text-align:right;
  font-size:.7rem;
  color:var(--centros-muted);
}

.centros-record-subjects {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.35rem .85rem;
  list-style:none;
  padding:0;
  margin:.65rem 0 0;
  color:var(--centros-text-soft);
  font-size:.75rem;
}

.centros-record-subjects li::before {
  content:"";
  display:inline-block;
  width:.28rem;
  height:.28rem;
  border-radius:50%;
  background:var(--centros-border-strong);
  margin-right:.5rem;
  vertical-align:middle;
}

.centros-record-subjects li {
  overflow-wrap:anywhere;
}

.centros-status {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.72rem;
  font-weight:550;
  line-height:1.4;
  color:var(--centros-text-soft);
  white-space:normal;
}

.centros-status::before {
  content:"";
  width:.4rem;
  height:.4rem;
  border-radius:50%;
  background:currentColor;
  flex:none;
}

.centros-status--draft {
  color:var(--centros-muted);
}

.centros-status--submitted {
  color:var(--centros-sky);
}

.centros-status--confirmed {
  color:var(--centros-green);
}

.centros-status--correction {
  color:var(--centros-amber);
}

.centros-status--cancelled {
  color:var(--centros-muted);
}

.centros-row-review {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
}

.centros-row-review input {
  margin:0;
}

.centros-bulkbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  padding:.8rem 1rem;
  background:var(--centros-surface-soft);
  border-radius:.6rem;
  margin:.8rem 0;
}

.centros-bulkbar__selection {
  display:flex;
  align-items:center;
  gap:.6rem;
  font-size:.75rem;
  min-height:44px;
}

.centros-bulkbar__actions {
  display:flex;
  align-items:center;
  gap:.85rem;
  flex-wrap:wrap;
}

.centros-bulkbar__selection-count {
  font-size:.7rem;
  color:var(--centros-text-soft);
}

.centros-bulk-help {
  font-size:.74rem;
  color:var(--centros-text-soft);
  max-width:70ch;
  margin:0 0 1rem;
}

.centros-pagination {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.3rem;
  justify-content:center;
  margin-top:2rem;
  font-size:.78rem;
}

.centros-pagination a,.centros-pagination span {
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  padding:.5rem .7rem;
  border-radius:.5rem;
  text-decoration:none;
}

.centros-pagination [aria-current] {
  background:var(--centros-blue-soft);
  color:var(--centros-blue);
}

/* Quiet states and readable record pages. */
.centros-empty-state {
  padding:3.5rem 1rem;
  max-width:36rem;
  margin:0 auto;
  text-align:center;
}

.centros-empty-state__art {
  display:grid;
  place-items:center;
  margin:0 auto 1.3rem;
  color:var(--centros-blue);
  width:4rem;
  height:4rem;
  background:var(--centros-blue-soft);
  border-radius:50%;
}

.centros-empty-state__art>.centros-icon {
  width:1.7rem;
  height:1.7rem;
}

.centros-empty-state h2,.centros-empty-state h3 {
  font-family:"Centros Serif",Georgia,serif;
  font-weight:500;
  font-size:1.6rem;
  letter-spacing:-.025em;
}

.centros-empty-state p {
  color:var(--centros-text-soft);
  font-size:.86rem;
  max-width:45ch;
  margin:0 auto 1.3rem;
}

.centros-empty-state .centros-toolbar__actions {
  justify-content:center;
}

.centros-feedback-stack {
  display:grid;
  gap:.65rem;
  margin-bottom:1.6rem;
}

.centros-feedback {
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  padding:.9rem 1rem;
  background:var(--centros-blue-soft);
  border-radius:.6rem;
  color:var(--centros-text);
  font-size:.83rem;
  margin-bottom:1rem;
}

.centros-feedback-stack .centros-feedback {
  margin:0;
}

.centros-feedback>.centros-icon {
  margin-top:.12rem;
}

.centros-feedback--success {
  background:var(--centros-green-soft);
  color:var(--centros-green);
}

.centros-feedback--error {
  background:var(--centros-red-soft);
  color:var(--centros-red);
}

.centros-feedback--warning {
  background:var(--centros-amber-soft);
  color:var(--centros-amber);
}

.centros-error-summary {
  border-left:3px solid var(--centros-red);
  background:var(--centros-red-soft);
  padding:1.15rem 1.35rem;
  margin-bottom:1.5rem;
  color:var(--centros-red);
  border-radius:0 .55rem .55rem 0;
}

.centros-error-summary h2 {
  font-size:1rem;
}

.centros-error-summary a {
  color:inherit;
}

.centros-error-summary ul {
  padding-left:1.2rem;
  margin-bottom:0;
}

.centros-offline-note {
  padding:1rem;
  background:var(--centros-amber-soft);
  color:var(--centros-amber);
  border-radius:.5rem;
  margin-bottom:1rem;
}

.centros-detail-heading {
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--centros-border);
  margin-bottom:2rem;
}

.centros-detail-heading__meta {
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
}

.centros-detail-layout {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(230px,.8fr);
  gap:3rem;
  align-items:start;
}

.centros-detail-main,.centros-detail-aside {
  min-width:0;
}

.centros-detail-main {
  display:grid;
  gap:1.9rem;
}

.centros-detail__section {
  padding:1.5rem 0;
  min-width:0;
}

.centros-detail-main>.centros-detail__section {
  padding:0 0 1.5rem;
  border-bottom:1px solid var(--centros-border);
}

.centros-detail h2 {
  font-size:1rem;
}

.centros-detail p {
  color:var(--centros-text-soft);
}

.centros-facts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.5rem;
  margin:1rem 0 0;
}

.centros-facts dt,.centros-summary__facts dt {
  font-size:.69rem;
  color:var(--centros-muted);
  margin-bottom:.3rem;
}

.centros-facts dd,.centros-summary__facts dd {
  margin:0;
  font-size:.88rem;
  overflow-wrap:anywhere;
}

.centros-detail-subjects {
  list-style:none;
  padding:0;
  margin:0;
  counter-reset:subjects;
}

.centros-detail-subjects li {
  padding:1rem 0 1rem 2.1rem;
  position:relative;
  counter-increment:subjects;
  font-weight:550;
  font-size:.92rem;
  border-bottom:1px solid var(--centros-border);
}

.centros-detail-subjects li::before {
  content:counter(subjects,decimal-leading-zero);
  position:absolute;
  left:0;
  top:1.1rem;
  color:var(--centros-muted);
  font-size:.64rem;
  font-weight:400;
  font-variant-numeric:tabular-nums;
}

.centros-detail-subjects__meta {
  display:block;
  font-size:.72rem;
  color:var(--centros-muted);
  font-weight:400;
  margin-top:.3rem;
}

.centros-detail-aside {
  border-left:1px solid var(--centros-border);
  padding-left:1.8rem;
}

.centros-action-panel>h2 {
  font-size:1rem;
}

.centros-action-panel>p,.centros-withdraw-panel>p {
  color:var(--centros-text-soft);
  font-size:.79rem;
}

.centros-action-buttons {
  display:grid;
  gap:.55rem;
}

.centros-action-form textarea {
  min-height:6rem;
}

.centros-withdraw-panel {
  margin-top:1.7rem;
  border-top:1px solid var(--centros-border);
  padding-top:.8rem;
  font-size:.8rem;
}

.centros-withdraw-panel>summary {
  color:var(--centros-muted);
}

.centros-withdraw-form {
  gap:.8rem;
}

.centros-history {
  border-top:1px solid var(--centros-border);
  margin-top:2rem;
  padding-top:.65rem;
  font-size:.8rem;
}

.centros-history>summary {
  color:var(--centros-text-soft);
}

.centros-history-list,.centros-message-list {
  list-style:none;
  padding:0;
  margin:1rem 0;
}

.centros-history-list li {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.7rem 0;
  border-bottom:1px solid var(--centros-border);
  font-size:.76rem;
}

.centros-history-list__event {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}

.centros-history-list time {
  color:var(--centros-muted);
  font-size:.68rem;
}

.centros-review-message {
  border-left:2px solid var(--centros-blue);
  padding:.4rem 0 .4rem 1rem;
  margin:1rem 0;
}

.centros-review-message header {
  display:flex;
  align-items:center;
  gap:.4rem .8rem;
  flex-wrap:wrap;
  font-size:.72rem;
  color:var(--centros-muted);
  margin-bottom:.6rem;
}

.centros-review-message header strong {
  color:var(--centros-text);
}

.centros-review-message p {
  margin:0;
  font-size:.88rem;
  overflow-wrap:anywhere;
}

.centros-summary {
  padding:1.4rem;
  background:var(--centros-surface-soft);
  border-radius:.65rem;
}

.centros-summary p {
  font-size:.82rem;
  color:var(--centros-text-soft);
}

.centros-summary h2,.centros-summary h3 {
  font-size:.94rem;
}

.centros-muted-copy {
  color:var(--centros-muted);
}

/* Roster as a subject directory. */
.centros-roster-layout {
  display:grid;
  grid-template-columns:205px minmax(0,1fr);
  gap:2.3rem;
}

.centros-subject-directory {
  border-right:1px solid var(--centros-border);
  padding-right:1rem;
}

.centros-subject-directory h2 {
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--centros-muted);
  margin:0 0 .75rem;
}

.centros-subject-directory nav {
  display:grid;
  gap:.2rem;
}

.centros-subject-directory a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:.6rem .7rem;
  border-radius:.5rem;
  text-decoration:none;
  font-size:.77rem;
  color:var(--centros-text-soft);
  overflow-wrap:anywhere;
}

.centros-subject-directory a:hover {
  background:var(--centros-surface-soft);
}

.centros-subject-directory a[aria-current] {
  background:var(--centros-blue-soft);
  color:var(--centros-blue);
  font-weight:600;
}

.centros-roster-content {
  min-width:0;
}

.centros-roster-count {
  font-size:.75rem;
  color:var(--centros-muted);
  margin:1.3rem 0;
}

.centros-roster-list {
  list-style:none;
  padding:0;
  margin:0;
}

.centros-roster-row {
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.2rem 0;
  border-bottom:1px solid var(--centros-border);
}

.centros-roster-row>div {
  min-width:0;
  flex:1;
}

.centros-roster-row__subject {
  color:var(--centros-text-soft);
  font-size:.8rem;
  margin:.4rem 0 0;
}

.centros-roster-row__subject strong {
  font-weight:500;
}

.centros-roster-level {
  font-family:"Centros Serif",Georgia,serif;
  color:var(--centros-blue);
  font-size:1.35rem;
  padding:.2rem .7rem;
  border-left:1px solid var(--centros-border);
}

.centros-roster-subject-meta {
  display:block;
  font-size:.69rem;
  color:var(--centros-muted);
}

/* Login and secondary destinations receive the same considered treatment. */
.centros-login-page .centros-main {
  padding-top:2rem;
  max-width:1200px;
}

.centros-login {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:7rem;
  align-items:center;
  min-height:70vh;
}

.centros-login__welcome {
  padding:2rem 0;
}

.centros-login__welcome h2 {
  font-family:"Centros Serif",Georgia,serif;
  font-size:clamp(2.5rem,4.5vw,4rem);
  font-weight:430;
  line-height:1.08;
  letter-spacing:-.05em;
  max-width:9ch;
  margin-bottom:1.4rem;
}

.centros-login__welcome>p {
  color:var(--centros-text-soft);
  max-width:33ch;
  font-size:.95rem;
}

.centros-login__drawing {
  width:100%;
  max-width:360px;
  margin-top:2.3rem;
  color:var(--centros-blue);
}

.centros-login__drawing svg {
  width:100%;
  height:auto;
}

.centros-login__access {
  max-width:27rem;
  padding:1.5rem 0;
}

.centros-login__access .centros-page-heading {
  margin-bottom:1.5rem;
}

.centros-login__access h1 {
  font-size:2rem;
}

.centros-login__access .centros-form {
  gap:1.2rem;
}

.centros-login__submit {
  width:100%;
  margin-top:.3rem;
}

.centros-login__help {
  font-size:.76rem;
  color:var(--centros-text-soft);
  margin-top:1.6rem;
  border-top:1px solid var(--centros-border);
  padding-top:1.25rem;
}

.centros-login__footnote {
  font-size:.67rem;
  letter-spacing:.04em;
  color:var(--centros-muted);
  margin-top:1.75rem;
}

.centros-help-path {
  padding:1.5rem 0;
  border-top:1px solid var(--centros-border);
  max-width:48rem;
}

.centros-help-path>h2 {
  font-family:"Centros Serif",Georgia,serif;
  font-weight:500;
  font-size:1.65rem;
  margin-bottom:1.5rem;
}

.centros-steps {
  list-style:none;
  padding:0;
  margin:0 0 1rem;
  display:grid;
  gap:1.5rem;
}

.centros-steps li {
  display:flex;
  gap:1rem;
  align-items:flex-start;
}

.centros-step__number {
  font-family:"Centros Serif",Georgia,serif;
  font-size:1.5rem;
  color:var(--centros-blue);
  line-height:1.1;
  min-width:1.5rem;
}

.centros-steps h3 {
  font-size:.9rem;
}

.centros-steps p {
  color:var(--centros-text-soft);
  font-size:.85rem;
  max-width:58ch;
}

.centros-help-admin {
  border-top:1px solid var(--centros-border);
  margin-top:2rem;
  padding-top:1rem;
  font-size:.8rem;
  color:var(--centros-text-soft);
}

.centros-notice-page {
  max-width:42rem;
  margin:3rem auto;
  padding:1.5rem 0;
}

.centros-notice-page>p {
  color:var(--centros-text-soft);
  max-width:58ch;
}

.centros-notice-page h1 {
  font-size:2.4rem;
}

.centros-scope-options {
  display:grid;
  gap:2rem;
  max-width:40rem;
}

.centros-scope-option {
  padding:1.5rem 0;
  border-top:1px solid var(--centros-border);
}

.centros-scope-form {
  max-width:30rem;
}

.centros-password-page {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(13rem,.7fr);
  gap:3rem;
  max-width:58rem;
}

.centros-password-guidance {
  border-left:1px solid var(--centros-border);
  padding-left:1.5rem;
  color:var(--centros-text-soft);
  font-size:.82rem;
}

.centros-scope-link {
  color:var(--centros-blue);
}

@media(min-width:1200px) {
  .centros-detail-aside {
    position:sticky;
    top:2rem;
  }
  .centros-main {
    padding-top:3rem;
  }
}

@media(max-width:1100px) {
  .centros-authenticated .centros-header {
    width:190px;
    padding-inline:.7rem;
  }
  .centros-authenticated .centros-workspace {
    margin-left:190px;
  }
  .centros-nav a {
    font-size:.76rem;
    padding-inline:.55rem;
  }
  .centros-contextbar {
    padding-inline:1.6rem;
  }
  .centros-detail-layout {
    gap:1.5rem;
    grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr);
  }
  .centros-detail-aside {
    padding-left:1.25rem;
  }
  .centros-roster-layout {
    grid-template-columns:165px minmax(0,1fr);
    gap:1.5rem;
  }
  .centros-login {
    gap:3.5rem;
  }
}

@media(max-width:800px) {
  .centros-authenticated .centros-header {
    position:relative;
    width:auto;
    inset:auto;
    display:grid;
    grid-template-columns:1fr auto auto;
    padding:.7rem 1.25rem;
    gap:.5rem 1rem;
    border-right:0;
    border-bottom:1px solid var(--centros-border);
  }
  .centros-authenticated .centros-brand {
    padding:0;
  }
  .centros-brand__mark {
    width:2.1rem;
    height:2.1rem;
    border-radius:.5rem;
  }
  .centros-brand__mark svg {
    width:1.8rem;
    height:1.8rem;
  }
  .centros-brand strong {
    font-size:1.07rem;
  }
  .centros-brand__area {
    font-size:.6rem;
  }
  .centros-sidebar-label {
    display:none;
  }
  .centros-nav {
    grid-column:1/-1;
    grid-row:2;
    flex-direction:row;
    gap:.2rem;
    flex-wrap:wrap;
    margin-top:.35rem;
  }
  .centros-nav a {
    min-height:44px;
    font-size:.75rem;
    padding:.55rem .65rem;
    gap:.45rem;
  }
  .centros-nav .centros-icon {
    width:1rem;
    height:1rem;
  }
  .centros-header__actions {
    margin-top:0;
    padding-top:0;
    grid-column:3;
    grid-row:1;
    flex-direction:row;
    align-items:center;
    gap:.4rem;
  }
  .centros-header__actions [data-theme-label],.centros-account__name {
    display:none;
  }
  .centros-header__actions .centros-theme-toggle {
    padding:.6rem;
  }
  .centros-account {
    border:0;
    padding:0;
  }
  .centros-account summary {
    padding:.2rem;
    gap:.15rem;
  }
  .centros-account summary>.centros-icon {
    transform:rotate(90deg);
  }
  .centros-account__menu {
    left:auto;
    right:0;
    bottom:auto;
    top:calc(100% + .5rem);
  }
  .centros-authenticated .centros-workspace {
    margin-left:0;
  }
  .centros-contextbar {
    min-height:48px;
    padding:.65rem 1.25rem;
    font-size:.67rem;
    flex-wrap:wrap;
    gap:.7rem;
  }
  .centros-contextbar__identity {
    flex-basis:100%;
  }
  .centros-contextbar__tools {
    flex:1;
    justify-content:space-between;
  }
  .centros-contextbar__calendar {
    text-align:left;
  }
  .centros-main {
    padding:1.8rem 1.25rem 3rem;
  }
  .centros-detail-layout {
    grid-template-columns:minmax(0,1fr);
  }
  .centros-detail-aside {
    border-left:0;
    padding:1.5rem 0 0;
    border-top:1px solid var(--centros-border);
  }
  .centros-action-buttons {
    display:flex;
    flex-wrap:wrap;
  }
  .centros-action-form {
    max-width:40rem;
  }
  .centros-login {
    min-height:0;
    gap:2rem;
  }
  .centros-header {
    padding:1.2rem;
  }
  .centros-login__welcome h2 {
    font-size:2.7rem;
  }
  .centros-login__welcome>p {
    font-size:.85rem;
  }
  .centros-roster-layout {
    grid-template-columns:minmax(0,1fr);
  }
  .centros-subject-directory {
    border:0;
    padding:0;
  }
  .centros-subject-directory nav {
    display:flex;
    gap:.25rem;
    flex-wrap:wrap;
  }
  .centros-subject-directory a {
    min-height:40px;
    background:var(--centros-surface-soft);
    padding:.5rem .65rem;
    font-size:.72rem;
  }
  .centros-subject-directory h2 {
    margin-bottom:.5rem;
  }
  .centros-password-page {
    gap:1.5rem;
  }
}

@media(max-width:540px) {
  .centros-main {
    padding:1.5rem 1rem 3rem;
  }
  .centros-authenticated .centros-header {
    padding:.6rem .8rem;
  }
  .centros-contextbar {
    padding:.6rem 1rem;
    align-items:flex-start;
  }
  .centros-contextbar__label {
    display:none;
  }
  .centros-contextbar__center {
    text-align:left;
  }
  .centros-nav a {
    font-size:.8rem;
    padding:.6rem .55rem;
    gap:.35rem;
  }
  .centros-nav .centros-icon {
    width:.95rem;
    height:.95rem;
  }
  .centros-page-heading {
    margin-bottom:1.5rem;
  }
  .centros-page-heading h1 {
    font-size:2.1rem;
  }
  .centros-list-heading,.centros-detail-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:1rem;
  }
  .centros-list-heading>.centros-button {
    align-self:flex-start;
  }
  .centros-status-nav {
    gap:.7rem;
  }
  .centros-status-nav a {
    font-size:.7rem;
    min-height:40px;
  }
  .centros-inbox-toolbar {
    gap:.5rem;
    flex-wrap:wrap;
  }
  .centros-filters-search {
    max-width:none;
    min-width:0;
    flex-basis:100%;
  }
  .centros-filter-panel {
    margin-left:auto;
  }
  .centros-record-row {
    gap:.7rem;
    padding:1.15rem 0;
    grid-template-columns:auto minmax(0,1fr);
  }
  .centros-record-row__end {
    grid-column:2;
    align-items:flex-start;
    flex-direction:row;
    justify-content:space-between;
    flex-wrap:wrap;
    text-align:left;
    gap:.6rem;
  }
  .centros-avatar {
    width:2.3rem;
    height:2.3rem;
    font-size:1.05rem;
  }
  .centros-avatar--small {
    width:1.9rem;
    height:1.9rem;
    font-size:.9rem;
  }
  .centros-record-name {
    font-size:.9rem;
  }
  .centros-record-meta {
    font-size:.71rem;
  }
  .centros-record-subjects {
    font-size:.72rem;
  }
  .centros-inbox-caption {
    font-size:.67rem;
  }
  .centros-bulkbar {
    padding:.65rem .8rem;
  }
  .centros-bulkbar__actions {
    width:100%;
    justify-content:space-between;
  }
  .centros-bulkbar__selection-count {
    font-size:.65rem;
  }
  .centros-bulkbar .centros-button {
    font-size:.75rem;
    padding:.55rem .75rem;
  }
  .centros-facts,.centros-form-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .centros-facts {
    gap:1rem;
  }
  .centros-detail-heading__meta {
    gap:.5rem;
  }
  .centros-history-list li {
    flex-direction:column;
    gap:.2rem;
  }
  .centros-filter-bar {
    align-items:stretch;
  }
  .centros-toolbar__search {
    flex-basis:100%;
  }
  .centros-toolbar__search>.centros-field {
    min-width:8rem;
  }
  .centros-button {
    font-size:.79rem;
  }
  .centros-roster-row {
    gap:.7rem;
  }
  .centros-roster-level {
    font-size:1.1rem;
    padding:.1rem .4rem;
  }
  .centros-password-page {
    grid-template-columns:minmax(0,1fr);
  }
  .centros-password-guidance {
    border-left:0;
    border-top:1px solid var(--centros-border);
    padding:1rem 0;
  }
  .centros-login-page .centros-main {
    padding-top:1rem;
  }
  .centros-login {
    display:block;
  }
  .centros-login__welcome {
    padding:0 0 1.5rem;
    border-bottom:1px solid var(--centros-border);
    margin-bottom:1.7rem;
  }
  .centros-login__welcome h2 {
    font-size:2.2rem;
    max-width:18ch;
    margin-bottom:.8rem;
  }
  .centros-login__welcome>p {
    margin:0;
    max-width:none;
    font-size:.83rem;
  }
  .centros-login__drawing,.centros-login__footnote {
    display:none;
  }
  .centros-login__access {
    padding:0;
    max-width:none;
  }
  .centros-login__access h1 {
    font-size:1.8rem;
  }
  .centros-empty-state {
    padding:2.5rem .5rem;
  }
  .centros-empty-state h2 {
    font-size:1.4rem;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

@media print {
  .centros-header,.centros-contextbar,.centros-toolbar,.centros-inbox-toolbar,.centros-detail-aside,.centros-pagination,.centros-button {
    display:none!important;
  }
  .centros-authenticated .centros-workspace {
    margin:0;
  }
  .centros-main {
    padding:0;
    color:#000;
    background:#fff;
  }
  .centros-record-row {
    break-inside:avoid;
  }
}

.centros-next-step {
  max-width:78ch;
  font-size:.86rem;
  color:var(--centros-text-soft);
  margin:-.7rem 0 2rem;
  padding-left:1rem;
  border-left:2px solid var(--centros-blue);
}

.centros-next-step strong {
  color:var(--centros-text);
  font-weight:550;
}

@media (min-width: 801px) and (max-height: 740px) {
  .centros-authenticated .centros-header {
    overflow-y: auto;
  }
  .centros-header__actions {
    margin-top: auto;
    padding-top: 1rem;
  }
  .centros-account__menu {
    position: static;
    width: auto;
    max-width: none;
    margin-top: .5rem;
    box-shadow: none;
  }
}

/* Shared working controls: one reading order across all student lists. */
.centros-nav-toggle { display:none; }
.centros-list-filters {
  display:flex; flex-wrap:wrap; align-items:end; gap:.75rem;
  padding-block:0 1rem; margin-bottom:0; border-bottom:1px solid var(--centros-border);
}
.centros-list-filters .centros-field { flex:1 1 9rem; min-width:0; margin:0; }
.centros-list-filters .centros-list-filters__search { flex:2 1 15rem; }
.centros-list-filters__actions { display:flex; align-items:center; gap:.35rem; }
.centros-results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-block:1rem; min-width:0; }
.centros-results-summary { display:grid; gap:.2rem; margin:0; color:var(--centros-muted); font-size:.75rem; min-width:0; }
.centros-results-summary strong { color:var(--centros-text); font-weight:600; }
.centros-results-hint { display:block; margin-top:.2rem; font-size:.75rem; color:var(--centros-muted); }
.centros-results-toolbar .centros-roster-count { margin:0; }
.centros-contextbar { flex-wrap:wrap; }
.centros-contextbar__tools { gap:.65rem; flex-wrap:wrap; min-width:0; max-width:100%; flex-shrink:1; }
@media (max-width:800px) {
  .centros-nav-toggle:not([hidden]) {
    display:inline-flex; grid-column:2; grid-row:1; align-items:center; justify-content:center;
    min-height:44px; border:1px solid var(--centros-border); border-radius:var(--centros-radius-sm);
    padding:.5rem .7rem; background:var(--centros-surface); color:var(--centros-text); font-size:.8rem;
  }
  .is-enhanced .centros-nav:not(.is-open) { display:none; }
  .centros-nav { flex-direction:column; align-items:stretch; }
  .centros-nav a { font-size:.85rem; }
  .centros-contextbar { padding-block:.5rem; gap:.25rem; }
  .centros-contextbar__tools { gap:.5rem; min-width:0; }
  .centros-contextbar__calendar { margin-right:auto; }
  .centros-contextbar__help span { max-width:7rem; line-height:1.3; }
  .centros-contextbar__course { font-size:.7rem; }
  .centros-list-filters .centros-list-filters__search { flex-basis:100%; }
}
@media (max-width:540px) {
  .centros-authenticated .centros-header { gap:.3rem; }
  .centros-list-filters__actions { flex-basis:100%; }
  .centros-list-filters__actions .centros-button--secondary { flex:1; justify-content:center; }
  .centros-results-toolbar { gap:.65rem; }
  .centros-results-summary span { font-size:.7rem; }
}
@media print { .centros-nav-toggle, .centros-list-filters { display:none!important; } }

.centros-contextbar__help-short { display:none; }
@media (max-width:800px) {
  .centros-contextbar__course-label { display:none; }
  .centros-contextbar__help .centros-contextbar__help-wide { display:none; }
  .centros-contextbar__help .centros-contextbar__help-short { display:inline; white-space:nowrap; }
  .centros-contextbar__course { white-space:nowrap; }
}
