/* AERYA_LOCK — page/feature chrome only.
   DO NOT put sitewide nav/button/width rules here.
   Sitewide look is aerya-system.css + Style Designer (site/theme.css).
*/

:root {
  --aerya-ink: #0f172a;
  --aerya-muted: #64748b;
  --aerya-line: #e2e8f0;
  --aerya-bg: #f1f5f9;
  --aerya-card: #ffffff;
  --aerya-brand: #4f46e5;
  --aerya-brand-dark: #3730a3;
  --aerya-ok: #059669;
  --aerya-warn: #d97706;
  --aerya-danger: #e11d48;
  --aerya-radius: 0.75rem;
  --aerya-gutter: clamp(0.75rem, 3.2vw, 1.25rem);
  --aerya-max: 56rem;
  --aerya-tap: 44px;
  --aerya-font: "Source Sans 3", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --aerya-fs-body: clamp(0.95rem, 0.9rem + 0.28vw, 1.0625rem);
  --aerya-fs-small: clamp(0.75rem, 0.72rem + 0.15vw, 0.85rem);
  --aerya-fs-h1: clamp(1.35rem, 1.12rem + 1vw, 1.85rem);
  --aerya-fs-h2: clamp(1.12rem, 1.02rem + 0.5vw, 1.4rem);
  --aerya-fs-h3: clamp(1rem, 0.96rem + 0.22vw, 1.15rem);
  --aerya-lh-body: 1.5;
  --aerya-lh-heading: 1.22;
}
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body.aerya-body {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  font-family: var(--aerya-font) !important;
  margin: 0 !important;
  line-height: var(--aerya-lh-body) !important;
  font-size: var(--aerya-fs-body) !important;
}
.wrap,
.aerya-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--aerya-gutter) !important;
  max-width: var(--aerya-max) !important;
  width: min(100%, var(--aerya-max)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--aerya-gutter) !important;
  box-sizing: border-box !important;
}
.aerya-main.narrow { max-width: 32rem !important; width: min(100%, 32rem) !important; }

h1, .aerya-page-title {
  margin: 0 0 .25rem !important;
  font-size: var(--aerya-fs-h1) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  line-height: var(--aerya-lh-heading) !important;
  color: #0f172a !important;
}
h2, .aerya-card h2, .card h2 {
  color: #0f172a !important;
  font-size: var(--aerya-fs-h2) !important;
  line-height: var(--aerya-lh-heading) !important;
  font-weight: 750 !important;
}
h3 {
  font-size: var(--aerya-fs-h3) !important;
  line-height: var(--aerya-lh-heading) !important;
  font-weight: 700 !important;
}
.hero-card h1, .wrap .hero-card h1, .aerya-main .hero-card h1 { color: #fff !important; }
.hero-card p, .wrap .hero-card p, .aerya-main .hero-card p { color: #e0e7ff !important; }
.aerya-page-sub, .meta {
  margin: 0 0 1rem !important;
  font-size: var(--aerya-fs-small) !important;
  color: #64748b !important;
  line-height: var(--aerya-lh-body) !important;
}

.aerya-card, .card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: .75rem !important;
  box-shadow: 0 1px 3px rgba(15,23,42,.06), 0 8px 24px -8px rgba(15,23,42,.08) !important;
}
.aerya-hero, .aerya-card.aerya-hero {
  padding: 1.35rem 1.35rem 1.5rem !important;
  border-left: 4px solid #4f46e5 !important;
}
.aerya-footer {
  background: #0f172a !important;
  color: #94a3b8 !important;
  text-align: center !important;
  padding: .95rem 1rem 1.15rem !important;
  font-size: .8rem !important;
  letter-spacing: .01em !important;
}
.aerya-footer strong { color: #e2e8f0 !important; font-weight: 800 !important; }

.btn, .btn-primary, .btn-go, button.btn, button.btn-primary {
  background: #4f46e5 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: .55rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  min-height: var(--aerya-tap) !important;
  min-width: var(--aerya-tap) !important;
  padding-inline: .9rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.btn:hover, .btn-primary:hover, .btn-go:hover { background: #3730a3 !important; }
.btn-dark, button.btn-dark { background: #1e293b !important; color: #fff !important; border: 0 !important; border-radius: .55rem !important; font-weight: 700 !important; min-height: var(--aerya-tap) !important; }
.btn-muted, button.btn-muted { background: #e2e8f0 !important; color: #334155 !important; border: 0 !important; border-radius: .55rem !important; font-weight: 650 !important; min-height: var(--aerya-tap) !important; }
.btn-muted:hover { background: #cbd5e1 !important; }
.btn-danger, button.btn-danger { background: #fee2e2 !important; color: #9f1239 !important; border: 0 !important; border-radius: .55rem !important; font-weight: 700 !important; min-height: var(--aerya-tap) !important; }
.btn-warn, button.btn-warn { background: #fef3c7 !important; color: #92400e !important; border: 0 !important; border-radius: .55rem !important; font-weight: 700 !important; min-height: var(--aerya-tap) !important; }
.btn-chip, .fn-chip, .tool-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .3rem !important;
  border: 1px solid #c7d2fe !important;
  background: #eef2ff !important;
  color: #3730a3 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  padding: .45rem .85rem !important;
  min-height: var(--aerya-tap) !important;
  cursor: pointer !important;
}
.btn-chip:hover, .fn-chip:hover, .tool-chip:hover,
.btn-chip.is-active, .fn-chip.is-active, .tool-chip.is-active {
  background: #4f46e5 !important;
  border-color: #4338ca !important;
  color: #fff !important;
}

.wrap input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.wrap select, .wrap textarea,
.aerya-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.aerya-main select, .aerya-main textarea,
input.inp, select.inp, textarea.inp {
  font-family: inherit !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  min-height: var(--aerya-tap) !important;
  padding: .55rem .7rem !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: .5rem !important;
  background: #f8fafc !important;
  color: #0f172a !important;
}
textarea, textarea.inp { min-height: 6rem !important; }
.wrap input:focus, .wrap select:focus, .wrap textarea:focus,
.aerya-main input:focus, .aerya-main select:focus, .aerya-main textarea:focus {
  outline: none !important;
  border-color: #818cf8 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,.15) !important;
}
input[type="checkbox"], input[type="radio"] {
  width: 1.15rem !important;
  height: 1.15rem !important;
  accent-color: #4f46e5;
}

.aerya-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .5rem !important;
}
.aerya-stat {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: .65rem !important;
  padding: .55rem .6rem !important;
  text-align: center !important;
}
.aerya-stat b { display: block !important; font-size: 1.15rem !important; font-weight: 800 !important; color: #0f172a !important; }
.aerya-stat span { display: block !important; font-size: .68rem !important; color: #64748b !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .03em !important; }
.aerya-stat.warn { border-color: #fed7aa !important; background: #fffbeb !important; }
.aerya-stat.ok { border-color: #a7f3d0 !important; background: #ecfdf5 !important; }
.aerya-stat.info { border-color: #bfdbfe !important; background: #eff6ff !important; }
.aerya-stat.accent { border-color: #c7d2fe !important; background: #eef2ff !important; }

.aerya-hub-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .7rem !important;
  margin-top: 1.15rem !important;
}
.hub-section {
  grid-column: 1 / -1 !important;
  text-align: left !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  margin: .85rem 0 .1rem !important;
}
.aerya-hub-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 4.35rem !important;
  padding: .75rem 1rem !important;
  border-radius: .85rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-align: left !important;
  color: #fff !important;
  width: 100% !important;
  box-shadow: 0 4px 14px -4px rgba(15,23,42,.25) !important;
}
.aerya-hub-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .18rem !important;
  width: 100% !important;
}
.hub-kicker {
  font-size: .62rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  opacity: .8 !important;
  color: inherit !important;
}
.hub-label {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
  color: inherit !important;
}
.aerya-hub-btn.student { background: #4f46e5 !important; }
.aerya-hub-btn.staff { background: #1e293b !important; }
.aerya-hub-btn.mgmt { background: #7c3aed !important; }
.aerya-hub-btn:hover { filter: brightness(1.06); }

.order-card, .order-row.card, .card.order-card {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: .35rem .75rem !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: .75rem !important;
  border-left: 4px solid #c7d2fe !important;
  padding: .85rem 1rem !important;
  margin: 0 0 .55rem !important;
  align-items: start !important;
}
#orderList > .card, #orderList .desk-order, .desk-order {
  display: block !important;
  padding: .9rem 1rem !important;
  margin: 0 0 .65rem !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #6366f1 !important;
  border-radius: .75rem !important;
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(15,23,42,.06) !important;
}
.hist-item {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #34d399 !important;
  border-radius: .7rem !important;
  padding: .7rem .85rem !important;
  margin: 0 0 .45rem !important;
  min-height: var(--aerya-tap) !important;
  cursor: pointer !important;
  color: #0f172a !important;
  font: inherit !important;
}

.aerya-x {
  width: var(--aerya-tap) !important;
  height: var(--aerya-tap) !important;
  min-width: var(--aerya-tap) !important;
  min-height: var(--aerya-tap) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: .45rem !important;
  background: #e2e8f0 !important;
  color: #0f172a !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: inline-grid !important;
  place-items: center !important;
}
.aerya-x:hover { background: #cbd5e1 !important; }
.scan-card, .pos-scan-card, #scanCard, .aerya-scan-card { border-color: #86efac !important; }
.aerya-nav-msg-ind {
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: .5rem !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}
.aerya-push-enable { display: none !important; }
.aerya-nav .aerya-mark,
.aerya-nav .aerya-mark img,
.aerya-nav img.aerya-logo,
.aerya-nav img.nav-logo {
  background: transparent !important;
}

@media (min-width: 480px) {
  .aerya-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 720px) {
  .aerya-stats { grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)) !important; }
}
@media (max-width: 640px) {
  .aerya-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* —— Gate / landing / sign-in —— */
.aerya-center { text-align: center !important; }
.aerya-gate-page {
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
}
.aerya-gate-page .aerya-main.aerya-gate {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 42rem) !important;
  max-width: 42rem !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}
.aerya-gate-card {
  width: 100% !important;
  padding: 1.5rem 1.25rem 1.4rem !important;
}
.aerya-hero-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: .4rem !important;
  margin: 0 0 1.1rem !important;
}
.aerya-hero-brand img.aerya-logo {
  width: 4.5rem !important;
  height: 4.5rem !important;
  object-fit: contain !important;
  background: #fff !important;
  border-radius: 1rem !important;
  padding: .35rem !important;
  box-shadow: 0 10px 28px -12px rgba(79,70,229,.45) !important;
}
.aerya-hero-brand .aerya-page-title {
  margin: .15rem 0 0 !important;
  letter-spacing: -.03em !important;
}
.aerya-hero-brand .aerya-page-sub {
  margin: 0 !important;
  max-width: 22rem !important;
  text-align: center !important;
}
.aerya-audience {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .75rem !important;
  margin-top: .25rem !important;
}
.aerya-audience-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .2rem !important;
  min-height: 6.25rem !important;
  padding: 1rem 1.1rem !important;
  border-radius: .95rem !important;
  text-decoration: none !important;
  color: #fff !important;
  box-shadow: 0 8px 22px -10px rgba(15,23,42,.35) !important;
  transition: transform .12s ease, filter .12s ease !important;
}
.aerya-audience-card.is-student { background: linear-gradient(160deg, #4f46e5, #3730a3) !important; }
.aerya-audience-card.is-staff { background: linear-gradient(160deg, #1e293b, #0f172a) !important; }
.aerya-audience-card:hover { filter: brightness(1.06); transform: translateY(-1px); }
.aerya-audience-card .aud-kicker {
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  opacity: .78 !important;
}
.aerya-audience-card strong {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: #fff !important;
}
.aerya-audience-card .aud-hint {
  font-size: .82rem !important;
  line-height: 1.35 !important;
  opacity: .86 !important;
  margin-top: .15rem !important;
}
.aerya-audience--compact { margin-top: 1.15rem !important; }
.aerya-audience--compact .aerya-audience-card { min-height: 0 !important; }
.aerya-signin-form {
  display: grid !important;
  gap: .35rem !important;
  text-align: left !important;
}
.aerya-signin-form .meta { margin: .45rem 0 .15rem !important; }
.aerya-signin-form .inp { width: 100% !important; }
.aerya-signin-go { width: 100% !important; margin-top: .85rem !important; min-height: 2.85rem !important; }

@media (min-width: 640px) {
  .aerya-audience { grid-template-columns: 1fr 1fr !important; }
  .aerya-audience--compact { grid-template-columns: 1fr !important; }
  .aerya-gate-card { padding: 2rem 1.75rem 1.6rem !important; }
  .aerya-hero-brand img.aerya-logo {
    width: 5rem !important;
    height: 5rem !important;
  }
  .aerya-nav-inner { max-width: 56rem !important; padding: 0 1.25rem !important; }
  .aerya-nav .aerya-brand-text strong { font-size: 1.02rem !important; }
  .aerya-main { padding-top: 1.35rem !important; }
}
@media (min-width: 960px) {
  .aerya-hub-grid { gap: .85rem !important; }
  .aerya-hub-btn { min-height: 4.6rem !important; }
}

/* —— V64 buttons, hover, columns, announcement +/- —— */
.btn, .btn-primary, .btn-go, .btn-dark, .btn-muted, .btn-danger, .btn-warn,
button.btn, button.btn-primary, button.btn-muted, button.btn-dark,
.btn-on-dark, .btn-alteration, .msg-send-btn, .msg-resolve-btn,
.new-order, .order-verify, .order-pay-checkin, .signed-pin-save {
  max-width: min(100%, 16.5rem) !important;
  width: auto !important;
  min-width: 2.75rem !important;
  min-height: 2.5rem !important;
  height: auto !important;
  padding: .45rem .85rem !important;
  font-size: .86rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: background .12s ease, filter .12s ease, box-shadow .12s ease, transform .12s ease, color .12s ease, border-color .12s ease !important;
}
.btn-chip, .fn-chip, .tool-chip, .cat-toggle, .prod-toggle {
  max-width: min(100%, 12.5rem) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: background .12s ease, color .12s ease, border-color .12s ease, filter .12s ease !important;
}
.aerya-signin-go { max-width: 100% !important; width: 100% !important; }
.aerya-hub-btn { max-width: 100% !important; width: 100% !important; white-space: normal !important; }
.aerya-audience-card { max-width: 100% !important; }

.btn:hover:not(:disabled),
.btn-primary:hover:not(:disabled),
.btn-go:hover:not(:disabled),
.btn-on-dark:hover:not(:disabled),
.new-order:hover:not(:disabled),
.order-verify:hover:not(:disabled),
.order-pay-checkin:hover:not(:disabled),
.msg-send-btn:hover:not(:disabled) {
  filter: brightness(1.08) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px -6px rgba(79,70,229,.5) !important;
}
.btn-muted:hover:not(:disabled),
.btn-chip:hover:not(:disabled),
.fn-chip:hover:not(:disabled),
.tool-chip:hover:not(:disabled) {
  filter: brightness(1.04) !important;
  transform: translateY(-1px);
}
.btn-dark:hover:not(:disabled) { filter: brightness(1.12) !important; }
.btn-danger:hover:not(:disabled) { background: #fecaca !important; }
.btn-warn:hover:not(:disabled) { background: #fde68a !important; }
.btn-alteration:hover:not(:disabled) { filter: brightness(1.08) !important; transform: translateY(-1px); }
.btn:disabled, .btn-primary:disabled, .btn-muted:disabled, button:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
}

.actions, .msg-send-row, .chip-row, .fn-chip-row, .tool-chips, .signed-pin-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .4rem !important;
  align-items: center !important;
  max-width: 100% !important;
}

/* Announcement +/- */
.stu-ann-item {
  margin: 0 0 .7rem !important;
  border-radius: .9rem !important;
  padding: .85rem 1rem !important;
  color: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px -10px rgba(15,23,42,.35) !important;
  text-align: left !important;
}
.stu-ann-item.tone-info { background: linear-gradient(135deg, #312e81, #4f46e5) !important; }
.stu-ann-item.tone-warn { background: linear-gradient(135deg, #9a3412, #ea580c) !important; }
.stu-ann-item.tone-success { background: linear-gradient(135deg, #064e3b, #059669) !important; }
.stu-ann-kicker,
.ann-kicker {
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  opacity: .85 !important;
  margin: 0 0 .25rem !important;
  text-align: left !important;
  display: block !important;
}
.stu-ann-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: .65rem !important;
  cursor: pointer !important;
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  text-align: left !important;
}
.stu-ann-title,
.ann-title {
  font-weight: 800 !important;
  font-size: 1.02rem !important;
  line-height: 1.3 !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  flex: 1 1 auto !important;
  text-align: left !important;
  display: block !important;
}
.stu-ann-body,
.ann-body {
  display: none !important;
  margin-top: .45rem !important;
  font-size: .88rem !important;
  line-height: 1.5 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
}
.stu-ann-item.is-open .stu-ann-body { display: block !important; }
.aerya-pm,
.stu-ann-chev,
.aerya-collapse-chevron,
.aerya-collapse-chev {
  flex: 0 0 2rem !important;
  width: 2rem !important;
  height: 2rem !important;
  min-width: 2rem !important;
  min-height: 2rem !important;
  max-width: 2rem !important;
  margin-left: auto !important;
  border: 0 !important;
  border-radius: .45rem !important;
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
  font-size: 0 !important;
  font-weight: 800 !important;
  line-height: 2rem !important;
  text-align: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
}
.aerya-pm::after,
.stu-ann-chev::after { content: "+" !important; font-size: 1.2rem !important; font-weight: 800 !important; color: #fff !important; line-height: 1 !important; }
.stu-ann-item.is-open .aerya-pm::after,
.stu-ann-item.is-open .stu-ann-chev::after,
.stu-ann-head[aria-expanded="true"] .aerya-pm::after,
.stu-ann-head[aria-expanded="true"] .stu-ann-chev::after,
.aerya-fold.is-open .aerya-pm::after,
.aerya-fold-head[aria-expanded="true"] .aerya-pm::after { content: "−" !important; }
.aerya-collapse-chevron,
.aerya-collapse-chev {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
.aerya-collapse-chevron::after,
.aerya-collapse-chev::after { content: "+" !important; font-size: 1.15rem !important; font-weight: 800 !important; }
.aerya-collapse-head[aria-expanded="true"] .aerya-collapse-chevron::after,
.aerya-collapse-head[aria-expanded="true"] .aerya-collapse-chev::after { content: "−" !important; }
.aerya-pm:hover, .stu-ann-chev:hover { filter: brightness(1.12); }

/* Landing fold cards */
.aerya-fold { margin: .75rem auto 0 !important; max-width: 36rem !important; text-align: left !important; }
.aerya-fold-head {
  display: flex !important;
  align-items: flex-start !important;
  gap: .75rem !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  text-align: left !important;
  cursor: pointer !important;
}
.aerya-fold-copy { flex: 1 1 auto !important; min-width: 0 !important; text-align: left !important; }
.aerya-fold-kicker {
  margin: 0 0 .15rem !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  text-align: left !important;
}
.aerya-fold-copy strong {
  display: block !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  text-align: left !important;
}
.aerya-fold-body { display: none !important; margin-top: .85rem !important; text-align: left !important; }
.aerya-fold.is-open .aerya-fold-body { display: block !important; }
.aerya-fold .aerya-pm {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
.aerya-fold .aerya-pm::after { color: #0f172a !important; }
.aerya-fold-note { margin: 0 !important; color: #475569 !important; font-size: .9rem !important; line-height: 1.45 !important; }
.aerya-hub-grid--home {
  grid-template-columns: minmax(0, 1fr) !important;
}
.aerya-hub-grid--home .aerya-fold {
  margin: 0 !important;
  max-width: none !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: .85rem !important;
  padding: .85rem .95rem !important;
  box-shadow: none !important;
}
.aerya-hub-grid--home .aerya-fold-head {
  cursor: pointer !important;
}
.aerya-hub-grid--home .aerya-fold-copy strong {
  font-size: .95rem !important;
}
#studentSearchCard .search-hero {
  margin: 0 0 .35rem !important;
  padding: 0 0 .35rem !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
#studentSearchCard.is-authenticated .search-hero {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
}
#studentSearchCard .search-hero .aerya-page-title,
#studentSearchCard .search-hero h1 {
  font-size: 1.12rem !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
#studentSearchCard .search-hero .sub,
#studentSearchCard .search-hero .aerya-page-sub {
  margin: .1rem 0 0 !important;
  font-size: .78rem !important;
  line-height: 1.3 !important;
}
#studentSearchCard.card {
  padding: .75rem .95rem .7rem !important;
}
#signedInHost { min-height: 0 !important; }
#signedInHost:empty { display: none !important; }
#signedInCard .hist-pills {
  margin: .18rem 0 .4rem !important;
}
#signedInCard .meta {
  margin: .12rem 0 .3rem !important;
}
#studentAnnounceHost[hidden] { display: none !important; }
#studentAnnounceHost:empty { display: none !important; }
.aerya-gate .aerya-card { margin-left: auto !important; margin-right: auto !important; }

/* Staff login modal */
.aerya-login-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 80 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.25rem !important;
  background: rgba(15, 23, 42, .55) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.aerya-login-modal.is-open { display: flex !important; }
.aerya-login-card {
  position: relative !important;
  width: min(22.5rem, 100%) !important;
  background: #fff !important;
  border-radius: 1rem !important;
  padding: 1.25rem 1.15rem 1.15rem !important;
  box-shadow: 0 24px 48px -18px rgba(15,23,42,.45) !important;
  text-align: left !important;
}
.aerya-login-card h2 {
  margin: 0 1.75rem .25rem 0 !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}
.aerya-login-card .aerya-login-sub {
  margin: 0 0 .85rem !important;
  color: #64748b !important;
  font-size: .85rem !important;
}
.aerya-login-x {
  position: absolute !important;
  top: .65rem !important;
  right: .65rem !important;
  width: 2rem !important;
  height: 2rem !important;
  border: 0 !important;
  border-radius: .5rem !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.aerya-login-x:hover { background: #e2e8f0 !important; }
.aerya-login-err { color: #b91c1c !important; font-size: .82rem !important; margin: 0 0 .5rem !important; }

/* Columns / long names */
.wrap, .aerya-main, .card, .aerya-card, .order-card, table {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
table { width: 100% !important; }
th, td, .order-card, .hist-item, .desk-order, .stu-ann-title, .hub-label {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
th, td {
  max-width: 14rem !important;
  vertical-align: top !important;
}
@media (max-width: 640px) {
  th, td { max-width: 8.5rem !important; font-size: .8rem !important; }
  .btn, .btn-primary, .btn-muted {
    max-width: min(100%, 12.5rem) !important;
    font-size: .82rem !important;
  }
}

/* Signed-in student: one-line name + compact chips */
.hist-header .signed-name,
.hist-header h2.signed-name,
#signedInCard .signed-name {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 .4rem !important;
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.hist-header .signed-tools,
#signedInCard .signed-tools {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  justify-content: flex-start !important;
  gap: .3rem !important;
  margin: 0 0 .35rem !important;
}
.hist-header .signed-tools .btn-chip,
#signedInCard .signed-tools .btn-chip {
  min-height: 1.85rem !important;
  height: auto !important;
  padding: .18rem .55rem !important;
  font-size: .72rem !important;
  max-width: none !important;
  width: auto !important;
  border-radius: 999px !important;
}
.hist-header .signed-tools .btn-chip-go {
  background: #4f46e5 !important;
  border-color: #4338ca !important;
  color: #fff !important;
}
.hist-header .actions#orderCtaArea:empty,
.hist-header .actions#orderCtaArea:not(:has(.pin-hint)) { margin: 0 !important; min-height: 0 !important; }
.aerya-nav-who,
.aerya-nav-who--full {
  max-width: 11.5rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* Announcement manager */
.ann-mgr-toolbar { display: flex !important; flex-wrap: wrap !important; gap: .35rem !important; margin: .75rem 0 !important; }
.ann-mgr-row { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: .6rem !important; padding: .7rem 0 !important; border-bottom: 1px solid #e2e8f0 !important; text-align: left !important; }
.ann-mgr-actions { display: flex !important; flex-wrap: wrap !important; gap: .3rem !important; }
.ann-check { display: flex !important; align-items: center !important; gap: .4rem !important; margin: .5rem 0 .15rem !important; font-size: .88rem !important; }
.ann-editor { margin: .75rem 0 1rem !important; padding: .85rem !important; border: 1px solid #e2e8f0 !important; border-radius: .75rem !important; background: #f8fafc !important; }
.ann-archive-panel { margin-top: 1.25rem !important; padding-top: 1rem !important; border-top: 1px solid #e2e8f0 !important; }


