/* ConCourse Course Registry — interaction layer
   This final stylesheet keeps the navy visual identity while giving every
   control a quieter, architectural system: solid materials, precise borders,
   restrained motion, and a gold course-line for active state. */

:root {
  --cc-control-navy: #0a2038;
  --cc-control-navy-hover: #12385f;
  --cc-control-navy-pressed: #061526;
  --cc-control-blue: #2f6df6;
  --cc-control-sky: #8bd8ff;
  --cc-control-gold: #efc36a;
  --cc-control-paper: #fffdf7;
  --cc-control-paper-soft: #f2f5f7;
  --cc-control-paper-pressed: #e8edf1;
  --cc-control-border: rgba(7, 29, 58, .17);
  --cc-control-border-strong: rgba(7, 29, 58, .32);
  --cc-control-border-dark: rgba(205, 226, 246, .2);
  --cc-control-focus: #78a9ff;
  --cc-control-radius: 9px;
  --cc-control-ease: cubic-bezier(.2, .72, .2, 1);
  --cc-control-fast: 130ms;
  --cc-control-base: 190ms;
}

/* Shared behavior */

:is(
  button,
  [role="button"],
  summary,
  a,
  input,
  select,
  textarea,
  .choice,
  .market-card,
  .marketplace-card
) {
  -webkit-tap-highlight-color: transparent;
  transition:
    color var(--cc-control-fast) var(--cc-control-ease),
    background-color var(--cc-control-fast) var(--cc-control-ease),
    border-color var(--cc-control-fast) var(--cc-control-ease),
    box-shadow var(--cc-control-base) var(--cc-control-ease),
    opacity var(--cc-control-fast) var(--cc-control-ease);
}

:where(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--cc-control-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(120, 169, 255, .15);
}

:is(button, [role="button"]):disabled,
:is(button, [role="button"])[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .44;
  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
}

:is(button, [role="button"])[aria-busy="true"] {
  cursor: progress;
  opacity: .7;
  pointer-events: none;
}

button {
  letter-spacing: -.005em;
}

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

/* Buttons: solid and functional, never decorative gradients */

:is(
  .btn-primary,
  .btn-accent,
  .auth-submit,
  .market-primary-button,
  .market-sell-button,
  .marketplace-detail-action.primary,
  .market-detail-action-bar > .primary,
  .market-action-bar > .primary
) {
  min-height: 44px;
  padding: 0 17px;
  color: #fff;
  background: var(--cc-control-navy);
  background-image: none;
  border: 1px solid var(--cc-control-navy);
  border-radius: var(--cc-control-radius);
  box-shadow: 0 5px 14px rgba(7, 29, 58, .14);
  font-size: 13px;
  font-weight: 680;
}

:is(
  .btn-primary,
  .btn-accent,
  .auth-submit,
  .market-primary-button,
  .market-sell-button,
  .marketplace-detail-action.primary,
  .market-detail-action-bar > .primary,
  .market-action-bar > .primary
):hover {
  color: #fff;
  background: var(--cc-control-navy-hover);
  border-color: var(--cc-control-navy-hover);
  box-shadow: 0 7px 18px rgba(7, 29, 58, .18);
  filter: none;
  transform: none;
}

:is(
  .btn-primary,
  .btn-accent,
  .auth-submit,
  .market-primary-button,
  .market-sell-button,
  .marketplace-detail-action.primary,
  .market-detail-action-bar > .primary,
  .market-action-bar > .primary
):active {
  background: var(--cc-control-navy-pressed);
  border-color: var(--cc-control-navy-pressed);
  box-shadow: 0 2px 7px rgba(7, 29, 58, .16);
  transform: translateY(1px);
}

:is(
  .btn-ghost,
  .hub-tool-button,
  .marketplace-card-action,
  .marketplace-detail-action,
  .market-detail-action-bar > :where(button, a),
  .market-action-bar > :where(button, a)
) {
  min-height: 42px;
  color: var(--navy-850);
  background: transparent;
  background-image: none;
  border: 1px solid var(--cc-control-border);
  border-radius: var(--cc-control-radius);
  box-shadow: none;
  font-size: 12px;
  font-weight: 640;
}

:is(
  .btn-ghost,
  .hub-tool-button,
  .marketplace-card-action,
  .marketplace-detail-action,
  .market-detail-action-bar > :where(button, a),
  .market-action-bar > :where(button, a)
):hover {
  color: var(--navy-950);
  background: var(--cc-control-paper-soft);
  border-color: var(--cc-control-border-strong);
  box-shadow: none;
  filter: none;
  transform: none;
}

/* Gold is reserved for decisive forward actions. */

:is(#landingScreen .start-app-btn, #generate, .market-sell-button) {
  color: var(--navy-950);
  background: var(--cc-control-gold);
  background-image: none;
  border-color: #d3a346;
  box-shadow: 0 6px 16px rgba(3, 14, 27, .18);
}

:is(#landingScreen .start-app-btn, #generate, .market-sell-button):hover {
  color: var(--navy-950);
  background: #f8d993;
  border-color: var(--cc-control-gold);
  box-shadow: 0 8px 20px rgba(3, 14, 27, .2);
}

:is(#landingScreen .start-app-btn, #generate, .market-sell-button):active {
  color: var(--navy-950);
  background: #e2b459;
  border-color: #c99537;
}

.btn-danger,
.hub-action-buttons .danger,
.hub-post-menu-list button.danger,
.marketplace-detail-action.danger {
  color: var(--danger);
  background: transparent;
  border: 1px solid rgba(184, 46, 69, .25);
  border-radius: var(--cc-control-radius);
  box-shadow: none;
}

.btn-danger:hover,
.hub-action-buttons .danger:hover,
.hub-post-menu-list button.danger:hover,
.marketplace-detail-action.danger:hover {
  color: #941e34;
  background: rgba(184, 46, 69, .07);
  border-color: rgba(184, 46, 69, .44);
  filter: none;
  transform: none;
}

/* Header controls */

#landingScreen .auth-bar {
  gap: 7px;
}

#landingScreen .auth-bar :is(.btn-primary, .btn-ghost) {
  min-height: 38px;
  padding-inline: 13px;
  border-radius: 8px;
  box-shadow: none;
}

#landingScreen .auth-bar .btn-primary {
  color: var(--navy-950);
  background: var(--cc-control-gold);
  border-color: rgba(239, 195, 106, .72);
}

#landingScreen .auth-bar .btn-ghost {
  color: rgba(243, 248, 252, .82);
  background: rgba(255, 255, 255, .045);
  border-color: rgba(205, 226, 246, .16);
}

#landingScreen .auth-bar .btn-ghost:hover {
  color: #fff;
  background: rgba(255, 255, 255, .09);
  border-color: rgba(205, 226, 246, .3);
}

#landingScreen .language-control {
  min-height: 40px;
  padding: 0 8px 0 10px;
  color: #fff;
  background: #0c2847;
  border: 1px solid rgba(139, 216, 255, .22);
  border-radius: 9px;
  box-shadow: inset 0 -2px 0 rgba(139, 216, 255, .08);
}

#landingScreen .language-control:hover,
#landingScreen .language-control:focus-within {
  background: #12385f;
  border-color: rgba(139, 216, 255, .46);
}

#landingScreen .language-icon {
  color: var(--cc-control-sky);
  background: rgba(139, 216, 255, .1);
  background-image: none;
  box-shadow: none;
}

#landingScreen .language-select {
  color: #fff;
  background: transparent;
  border: 0;
  box-shadow: none;
  font-weight: 650;
}

#landingScreen .language-select option {
  color: #fff;
  background: var(--cc-control-navy);
}

body.app-active #landingScreen .brand {
  padding: 4px 7px 4px 4px;
  border: 1px solid transparent;
  border-radius: 9px;
}

body.app-active #landingScreen .brand:hover {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(139, 216, 255, .14);
}

/* Auth, marketplace and connection tabs: an editorial baseline */

:is(.auth-mode-switch, .market-mode-tabs, .hub-connection-tabs) {
  display: flex;
  align-items: stretch;
  gap: clamp(18px, 3vw, 30px);
  width: 100%;
  padding: 0;
  overflow-x: auto;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--cc-control-border);
  border-radius: 0;
  box-shadow: none;
  scrollbar-width: none;
}

:is(.auth-mode-switch, .market-mode-tabs, .hub-connection-tabs)::-webkit-scrollbar {
  display: none;
}

:is(
  .auth-mode-btn,
  .market-mode-button,
  .market-mode-tabs > button,
  .market-mode-tabs > [role="tab"],
  .hub-connection-tab
) {
  position: relative;
  min-width: max-content;
  min-height: 46px;
  flex: 0 0 auto;
  padding: 12px 2px 11px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 12px;
  font-weight: 680;
}

:is(
  .auth-mode-btn,
  .market-mode-button,
  .market-mode-tabs > button,
  .market-mode-tabs > [role="tab"],
  .hub-connection-tab
)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--cc-control-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--cc-control-base) var(--cc-control-ease);
}

:is(
  .auth-mode-btn,
  .market-mode-button,
  .market-mode-tabs > button,
  .market-mode-tabs > [role="tab"],
  .hub-connection-tab
):hover {
  color: var(--navy-850);
  background: transparent;
  box-shadow: none;
  filter: none;
  transform: none;
}

:is(
  .auth-mode-btn.active,
  .auth-mode-btn[aria-pressed="true"],
  .market-mode-button.active,
  .market-mode-button[aria-selected="true"],
  .market-mode-tabs > .active,
  .market-mode-tabs > [aria-selected="true"],
  .hub-connection-tab.active,
  .hub-connection-tab[aria-selected="true"]
) {
  color: var(--navy-950);
  background: transparent;
  box-shadow: none;
}

:is(
  .auth-mode-btn.active,
  .auth-mode-btn[aria-pressed="true"],
  .market-mode-button.active,
  .market-mode-button[aria-selected="true"],
  .market-mode-tabs > .active,
  .market-mode-tabs > [aria-selected="true"],
  .hub-connection-tab.active,
  .hub-connection-tab[aria-selected="true"]
)::after {
  transform: scaleX(1);
}

.auth-close,
.marketplace-dialog-close,
.hub-profile-preview-close,
.hub-media-preview-remove,
.marketplace-editor-media-remove {
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.school-result {
  position: relative;
  padding: 11px 13px;
  color: var(--navy-850);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(7, 29, 58, .08);
  border-radius: 7px;
  box-shadow: inset 3px 0 0 transparent;
  text-align: left;
}

.school-result:hover,
.school-result.active,
.school-result[aria-selected="true"] {
  color: var(--navy-950);
  background: #edf2f6;
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
  filter: none;
  transform: none;
}

/* Form controls and advanced select treatment */

:is(
  .auth-card input,
  .configurator-column input,
  .hub-compose-content textarea,
  .hub-comment-form textarea,
  .hub-message-compose :is(input, textarea),
  .hub-chat-start input,
  .hub-form-grid :is(input, textarea),
  .hub-social-list input,
  .hub-wechat-row input,
  .market-search input,
  .market-field :is(input, textarea),
  .marketplace-editor-form input:not([type="checkbox"]):not([type="radio"]),
  .marketplace-editor-form textarea
) {
  min-height: 46px;
  color: var(--navy-950);
  background: var(--cc-control-paper);
  border: 1px solid var(--cc-control-border);
  border-radius: var(--cc-control-radius);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .74);
}

:is(
  .auth-card input,
  .configurator-column input,
  .hub-compose-content textarea,
  .hub-comment-form textarea,
  .hub-message-compose :is(input, textarea),
  .hub-chat-start input,
  .hub-form-grid :is(input, textarea),
  .hub-social-list input,
  .hub-wechat-row input,
  .market-field :is(input, textarea),
  .marketplace-editor-form input:not([type="checkbox"]):not([type="radio"]),
  .marketplace-editor-form textarea
):hover {
  background: #fff;
  border-color: var(--cc-control-border-strong);
}

:is(
  .auth-card input,
  .configurator-column input,
  .hub-compose-content textarea,
  .hub-comment-form textarea,
  .hub-message-compose :is(input, textarea),
  .hub-chat-start input,
  .hub-form-grid :is(input, textarea),
  .hub-social-list input,
  .hub-wechat-row input,
  .market-field :is(input, textarea),
  .marketplace-editor-form input:not([type="checkbox"]):not([type="radio"]),
  .marketplace-editor-form textarea
):focus {
  outline: none;
  background: #fff;
  border-color: var(--cc-control-blue);
  box-shadow: 0 0 0 4px rgba(47, 109, 246, .1);
}

:is(
  .configurator-column select,
  #wishlistPanel select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-filter-select > select,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
) {
  appearance: none;
  min-height: 48px;
  padding: 0 48px 0 14px;
  color: #f7fbff !important;
  color-scheme: dark;
  background-color: var(--cc-control-navy) !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #8bd8ff 50%),
    linear-gradient(135deg, #8bd8ff 50%, transparent 50%),
    linear-gradient(to right, rgba(139, 216, 255, .13), rgba(139, 216, 255, .13)) !important;
  background-position:
    calc(100% - 20px) calc(50% - 2px),
    calc(100% - 15px) calc(50% - 2px),
    calc(100% - 42px) 0 !important;
  background-size: 5px 5px, 5px 5px, 1px 100% !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(139, 216, 255, .2) !important;
  border-radius: var(--cc-control-radius) !important;
  box-shadow: inset 0 -2px 0 rgba(139, 216, 255, .05) !important;
  font-size: 12.5px;
  font-weight: 620;
}

:is(
  .configurator-column select,
  #wishlistPanel select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-filter-select > select,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
):hover {
  background-color: var(--cc-control-navy-hover) !important;
  border-color: rgba(139, 216, 255, .42) !important;
}

:is(
  .configurator-column select,
  #wishlistPanel select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-filter-select > select,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
):focus {
  outline: none;
  background-color: var(--cc-control-navy-hover) !important;
  border-color: var(--cc-control-sky) !important;
  box-shadow: 0 0 0 4px rgba(47, 109, 246, .14) !important;
}

:is(
  .configurator-column select,
  #wishlistPanel select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-filter-select > select,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
) option {
  color: #fff;
  background: var(--cc-control-navy);
}

/* Form selects use a blue-grey registry surface; only navigation/filter
   consoles stay dark. This keeps forms cohesive without returning to plain
   white fields with black text. */
:is(
  .configurator-column select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
) {
  color: var(--navy-950) !important;
  color-scheme: light;
  background-color: #e7edf2 !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #12385f 50%),
    linear-gradient(135deg, #12385f 50%, transparent 50%),
    linear-gradient(to right, rgba(7, 29, 58, .12), rgba(7, 29, 58, .12)) !important;
  border-color: rgba(7, 29, 58, .18) !important;
  box-shadow: inset 3px 0 0 rgba(47, 109, 246, .34) !important;
}

:is(
  .configurator-column select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
):hover {
  background-color: #dfe7ed !important;
  border-color: var(--cc-control-border-strong) !important;
}

:is(
  .configurator-column select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
):focus {
  background-color: #f0f4f7 !important;
  border-color: var(--cc-control-blue) !important;
  box-shadow: inset 3px 0 0 var(--cc-control-blue), 0 0 0 4px rgba(47, 109, 246, .1) !important;
}

:is(
  .configurator-column select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
) option {
  color: var(--navy-950);
  background: #f2f5f7;
}

:is(
  .configurator-column select,
  #wishlistPanel select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-filter-select > select,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
):disabled {
  cursor: not-allowed;
  opacity: .62;
  box-shadow: none !important;
}

:is(
  .configurator-column select,
  .hub-filter-row select,
  .hub-form-grid select,
  #communityListingSelect,
  .market-field select,
  .marketplace-editor-form select,
  .marketplace-modal select
):disabled {
  color: rgba(7, 29, 58, .5) !important;
  background-color: #dbe2e7 !important;
  border-color: rgba(7, 29, 58, .1) !important;
}

:is(#wishlistPanel select, .market-filter-select > select):disabled {
  color: rgba(247, 251, 255, .44) !important;
  background-color: #26394c !important;
  border-color: rgba(139, 216, 255, .1) !important;
}

:is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--cc-control-blue);
}

:is(
  .auth-card,
  .configurator-column,
  .hub-form-grid,
  .market-field,
  .marketplace-editor-form
) :is(input, select, textarea)[aria-invalid="true"] {
  border-color: var(--danger) !important;
  box-shadow: 0 0 0 4px rgba(184, 46, 69, .1) !important;
}

/* Planner steps and selectors */

.configurator-nav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0;
  overflow: hidden;
  background: var(--cc-control-navy);
  border: 1px solid rgba(139, 216, 255, .17);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(7, 29, 58, .1);
}

.configurator-nav a {
  position: relative;
  min-height: 48px;
  padding: 12px 16px;
  color: rgba(232, 242, 250, .72);
  background: transparent;
  border-radius: 0;
  text-decoration: none;
}

.configurator-nav a + a {
  border-left: 1px solid rgba(139, 216, 255, .14);
}

.configurator-nav a span {
  color: var(--cc-control-gold);
  font-variant-numeric: tabular-nums;
}

.configurator-nav a::after {
  content: "";
  position: absolute;
  right: 15px;
  bottom: 8px;
  left: 15px;
  height: 2px;
  background: var(--cc-control-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--cc-control-base) var(--cc-control-ease);
}

.configurator-nav a:hover,
.configurator-nav a:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .055);
}

.configurator-nav a:hover::after,
.configurator-nav a:focus-visible::after {
  transform: scaleX(1);
}

.choice-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.choice-fieldset > legend {
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
  color: var(--navy-850);
  font-size: 12px;
  font-weight: 650;
}

.configurator-column .choice {
  position: relative;
  min-height: 54px;
  align-items: center;
  padding: 13px 14px;
  color: var(--navy-900);
  background: #edf2f6;
  border: 1px solid var(--cc-control-border);
  border-radius: var(--cc-control-radius);
  box-shadow: inset 3px 0 0 transparent;
}

.configurator-column .choice:hover {
  background: #e6edf2;
  border-color: var(--cc-control-border-strong);
  transform: none;
}

.configurator-column .choice.sel {
  color: #fff;
  background: var(--cc-control-navy);
  border-color: var(--cc-control-navy);
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
}

.configurator-column .choice.sel :is(.c-txt, .c-txt b, .c-eg) {
  color: #fff;
}

.configurator-column .choice-exact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
}

.configurator-column .choice-exact > :is(.c-txt, .exact-count-field, .choice-hit-area) {
  margin: 0;
}

.choice-hit-area {
  position: absolute;
  z-index: 0;
  inset: 0;
  cursor: pointer;
}

.configurator-column .choice-exact > :not(.choice-hit-area) {
  position: relative;
  z-index: 1;
}

.choice-exact > .c-txt {
  cursor: pointer;
}

.exact-count-field {
  margin: 0;
}

.configurator-column .choice #exactN {
  width: 72px;
  min-height: 36px;
  padding: 5px 7px;
  color: var(--navy-950);
  background: #fff;
  border-color: rgba(7, 29, 58, .2);
  text-align: center;
}

.configurator-column .choice #exactN:disabled {
  cursor: not-allowed;
  opacity: .5;
  pointer-events: none;
}

.exact-count-field:has(#exactN:disabled) {
  pointer-events: none;
}

.configurator-column .choice.sel #exactN {
  border-color: rgba(255, 255, 255, .34);
}

.configurator-column .days {
  display: grid;
  grid-template-columns: repeat(6, minmax(46px, 1fr));
  gap: 6px;
}

.configurator-column #freeDayPicker {
  grid-template-columns: repeat(5, minmax(46px, 1fr));
}

.configurator-column .day-chip,
.hub-topic-chip {
  position: relative;
  min-height: 40px;
  padding: 8px 10px;
  color: var(--navy-850);
  background: transparent;
  border: 1px solid var(--cc-control-border);
  border-radius: 8px;
  box-shadow: none;
  font-size: 12px;
  font-weight: 650;
  text-align: center;
}

.configurator-column .day-chip:hover,
.hub-topic-chip:hover {
  color: var(--navy-950);
  background: var(--cc-control-paper-soft);
  border-color: var(--cc-control-border-strong);
  box-shadow: none;
  filter: none;
  transform: none;
}

.configurator-column .day-chip.on,
.configurator-column .day-chip[aria-pressed="true"],
.hub-topic-chip.active,
.hub-topic-chip[aria-pressed="true"] {
  color: #fff;
  background: var(--cc-control-navy);
  border-color: var(--cc-control-navy);
  box-shadow: inset 0 -2px 0 var(--cc-control-gold);
}

.configurator-column .prefs label.chk {
  position: relative;
  margin: 6px 0;
  padding: 12px 13px;
  color: var(--navy-850);
  background: #eef3f6;
  border: 1px solid transparent;
  border-radius: var(--cc-control-radius);
  box-shadow: inset 3px 0 0 transparent;
}

.configurator-column .prefs label.chk:hover {
  background: #e7edf2;
  border-color: var(--cc-control-border);
}

.configurator-column .prefs label.chk:has(input[type="checkbox"]:checked) {
  background: #e8f0fb;
  border-color: rgba(47, 109, 246, .24);
  box-shadow: inset 3px 0 0 var(--cc-control-blue);
}

.slot-item {
  border-radius: 8px;
  box-shadow: none;
}

.slot-item button.x {
  min-height: 30px !important;
  padding: 4px 9px !important;
  color: var(--danger);
  background: transparent;
  border: 1px solid rgba(184, 46, 69, .16);
  border-radius: 7px;
}

.slot-item button.x:hover {
  background: rgba(184, 46, 69, .08);
  border-color: rgba(184, 46, 69, .34);
}

#wishlistPanel .wishlist-profile select {
  color: #fff !important;
  background-color: var(--navy-800) !important;
  border-color: rgba(139, 216, 255, .28) !important;
}

#wishlistPanel .wishlist-toolbar .btn-ghost {
  border-radius: 8px;
}

#wishlistPanel .course-card .btn-danger {
  min-height: 34px;
  padding: 5px 10px;
}

/* Timetable options */

#schedulePage .alt-list {
  width: max-content;
  max-width: 100%;
  padding: 4px;
  overflow-x: auto;
  background: var(--cc-control-navy);
  border: 1px solid rgba(139, 216, 255, .16);
  border-radius: 10px;
  scrollbar-width: thin;
}

#schedulePage .alt-btn {
  min-height: 38px;
  color: rgba(234, 243, 251, .7);
  background: transparent;
  border: 0;
  border-radius: 7px;
  box-shadow: none;
}

#schedulePage .alt-btn:hover {
  color: #fff;
  background: rgba(255, 255, 255, .07);
}

#schedulePage .alt-btn.active,
#schedulePage .alt-btn[aria-pressed="true"] {
  color: var(--navy-950);
  background: var(--cc-control-gold);
  box-shadow: none;
}

#schedulePage .alt-btn:focus-visible {
  outline: 2px solid var(--cc-control-sky);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(47, 109, 246, .18);
}

.final-timetable-bar .btn-primary {
  color: var(--navy-950);
  background: var(--cc-control-gold);
  border-color: #d3a346;
}

.final-timetable-bar .btn-primary:hover {
  color: var(--navy-950);
  background: #f8d993;
  border-color: var(--cc-control-gold);
}

#schedulePage .color-bar {
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: var(--cc-control-paper-soft);
  border-radius: 10px;
}

#schedulePage .color-bar .cm-label {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 10px 14px;
  color: #fff;
  background: var(--cc-control-navy);
}

#schedulePage .cm-opt {
  min-height: 42px;
  padding: 9px 14px;
  border-right: 1px solid var(--cc-control-border);
}

#schedulePage .cm-opt:has(input:checked) {
  color: var(--navy-950);
  background: #e7edf3;
  box-shadow: inset 0 -2px 0 var(--cc-control-gold);
}

.print-action {
  min-height: 32px;
  margin-left: 5px;
  padding: 3px 8px;
  color: var(--cobalt-600);
  background: transparent;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  box-shadow: none;
  font-size: inherit;
}

.print-action:hover {
  color: var(--navy-950);
  background: rgba(47, 109, 246, .06);
  filter: none;
  transform: none;
}

/* Student Hub: replace the dashboard sidebar with a command deck */

.member-hub .hub-shell {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

.member-hub .hub-sidebar {
  position: sticky;
  top: var(--app-bar-offset);
  z-index: 45;
  height: auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(210px, 290px) minmax(520px, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 10px 12px;
  overflow: visible;
  border: 1px solid rgba(139, 216, 255, .15);
  border-radius: 14px;
  background: #061526;
  background-image: none;
  box-shadow: 0 10px 30px rgba(3, 14, 27, .18);
}

.member-hub .hub-member-card {
  min-width: 0;
  padding: 0 12px 0 0;
  border: 0;
}

.member-hub .hub-avatar,
.member-hub .hub-avatar-button .hub-avatar {
  width: 42px;
  height: 42px;
  border-radius: 9px;
  box-shadow: none;
}

.member-hub .hub-avatar-button {
  border-radius: 10px;
}

.member-hub .hub-member-copy b {
  font-size: 12px;
}

.member-hub .hub-member-copy span,
.member-hub .hub-member-copy small {
  font-size: 9.5px;
}

.member-hub .hub-profile-shortcut {
  width: max-content;
  margin-top: 4px;
  color: var(--cc-control-sky);
  text-decoration: underline;
  text-decoration-color: rgba(139, 216, 255, .38);
  text-underline-offset: 3px;
}

.member-hub .hub-navigation {
  display: grid;
  grid-template-columns: repeat(4, minmax(118px, 1fr));
  gap: 0;
  margin: 0;
  padding: 3px;
  overflow-x: auto;
  background: #04111f;
  border: 1px solid rgba(139, 216, 255, .12);
  border-radius: 10px;
  scrollbar-width: none;
}

.member-hub .hub-navigation::-webkit-scrollbar {
  display: none;
}

.member-hub .hub-nav-button {
  position: relative;
  min-height: 50px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  justify-items: stretch;
  gap: 9px;
  padding: 9px 12px;
  color: rgba(226, 238, 248, .65);
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(139, 216, 255, .1);
  border-radius: 0;
  box-shadow: none;
  text-align: left;
}

.member-hub .hub-nav-button:last-child {
  border-right: 0;
}

.member-hub .hub-nav-button::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 3px;
  left: 10px;
  height: 2px;
  background: var(--cc-control-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--cc-control-base) var(--cc-control-ease);
}

.member-hub .hub-nav-button span {
  color: rgba(139, 216, 255, .45);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.member-hub .hub-nav-button b {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.member-hub .hub-nav-button:hover {
  color: #fff;
  background: rgba(255, 255, 255, .05);
}

.member-hub .hub-nav-button.active,
.member-hub .hub-nav-button[aria-current="page"] {
  color: #fff;
  background: rgba(255, 255, 255, .075);
  border-color: rgba(139, 216, 255, .1);
  box-shadow: none;
}

.member-hub .hub-nav-button.active::after,
.member-hub .hub-nav-button[aria-current="page"]::after {
  transform: scaleX(1);
}

.member-hub .hub-nav-button.active span,
.member-hub .hub-nav-button[aria-current="page"] span {
  color: var(--cc-control-gold);
}

.member-hub .hub-sidebar .hub-back-button {
  position: static;
  inset: auto;
  min-width: max-content;
  margin: 0;
  color: rgba(235, 244, 251, .74);
  background: transparent;
  border-color: rgba(205, 226, 246, .18);
}

.member-hub .hub-sidebar .hub-back-button:hover {
  color: #fff;
  background: rgba(255, 255, 255, .06);
  border-color: rgba(205, 226, 246, .34);
}

/* Community and messages */

.hub-community-search {
  min-height: 48px;
  padding-inline: 14px;
  background: #edf2f6;
  border: 1px solid var(--cc-control-border);
  border-radius: var(--cc-control-radius);
}

.hub-community-search:focus-within {
  background: #fff;
  border-color: var(--cc-control-blue);
  box-shadow: 0 0 0 4px rgba(47, 109, 246, .1);
}

.hub-topic-chips {
  gap: 18px;
  padding: 0 1px;
  overflow-x: auto;
  border-bottom: 1px solid var(--cc-control-border);
  scrollbar-width: none;
}

.hub-topic-chips::-webkit-scrollbar {
  display: none;
}

.hub-topic-chip {
  min-width: max-content;
  min-height: 42px;
  padding: 10px 1px 9px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.hub-topic-chip::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--cc-control-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--cc-control-base) var(--cc-control-ease);
}

.hub-topic-chip:hover {
  color: var(--navy-900);
  background: transparent;
  border: 0;
}

.hub-topic-chip.active,
.hub-topic-chip[aria-pressed="true"] {
  color: var(--navy-950);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.hub-topic-chip.active::after,
.hub-topic-chip[aria-pressed="true"]::after {
  transform: scaleX(1);
}

.hub-tool-button {
  min-height: 38px;
  padding: 7px 11px;
  background: transparent;
}

.hub-tool-button:hover {
  color: var(--navy-950);
  background: #e8edf1;
  border-color: var(--cc-control-border-strong);
}

.hub-post-author-button,
.marketplace-seller-button,
.marketplace-card-title {
  border-radius: 6px;
}

.hub-post-author-button:hover,
.marketplace-seller-button:hover,
.marketplace-card-title:hover {
  color: var(--navy-950);
  background: rgba(47, 109, 246, .055);
  filter: none;
  transform: none;
}

.hub-post-actions {
  gap: 0;
}

.hub-post-actions > button {
  position: relative;
  min-height: 42px;
  color: var(--muted);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  font-size: 11px;
}

.hub-post-actions > button + button {
  border-left: 1px solid rgba(7, 29, 58, .08);
}

.hub-post-actions > button:hover,
.hub-post-actions > button.active {
  color: var(--navy-900);
  background: #eef2f5;
}

.hub-post-actions > button.liked {
  color: var(--danger);
}

.hub-post-actions > button.bookmarked {
  color: var(--navy-900);
  box-shadow: inset 0 -2px 0 var(--cc-control-gold);
}

.hub-post-menu > summary {
  border-radius: 7px;
}

.hub-post-menu > summary:hover {
  color: var(--navy-950);
  background: #eef2f5;
}

.hub-poll-choice {
  border-radius: 8px;
}

.hub-poll-choice.selected {
  border-color: var(--cc-control-blue);
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
}

.hub-rail-link,
.hub-conversation-preview-button {
  border-radius: 8px;
  box-shadow: inset 3px 0 0 transparent;
}

.hub-rail-link:hover,
.hub-conversation-preview-button:hover {
  background: #edf2f6;
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
}

.hub-conversation-button {
  border-radius: 8px;
  box-shadow: inset 3px 0 0 transparent;
}

.hub-conversation-button:hover {
  background: #e8edf1;
}

.hub-conversation-button.active {
  color: #fff;
  background: var(--cc-control-navy);
  border-color: var(--cc-control-navy);
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
}

.hub-avatar-preview,
.hub-avatar-button {
  box-shadow: none;
}

.hub-avatar-preview {
  background: var(--cc-control-gold);
  background-image: none;
  border: 1px solid #d3a346;
  border-radius: 14px;
}

.hub-avatar-preview:hover,
.hub-avatar-button:hover {
  filter: none;
  transform: none;
}

:is(
  #removeCommunityPoll,
  #addCommunityPollOption,
  #removeCommunityListing,
  .hub-poll-add-option,
  .hub-profile-wechat-copy,
  .hub-comment-actions button,
  .hub-post-menu-list button
) {
  min-height: 36px;
  padding: 7px 10px;
  color: var(--navy-850);
  background: transparent;
  border: 1px solid var(--cc-control-border);
  border-radius: 7px;
  box-shadow: none;
  font-size: 11px;
  font-weight: 630;
}

:is(
  #removeCommunityPoll,
  #addCommunityPollOption,
  #removeCommunityListing,
  .hub-poll-add-option,
  .hub-profile-wechat-copy,
  .hub-comment-actions button,
  .hub-post-menu-list button
):hover {
  color: var(--navy-950);
  background: #e9eef2;
  border-color: var(--cc-control-border-strong);
  filter: none;
  transform: none;
}

.hub-toggle-label,
.hub-inline-toggle {
  border-radius: var(--cc-control-radius);
}

.hub-toggle-label:has(input:checked),
.hub-inline-toggle:has(input:checked) {
  border-color: rgba(47, 109, 246, .28);
  background: #e8f0fb;
  box-shadow: inset 3px 0 0 var(--cc-control-blue);
}

.hub-message.mine {
  color: #fff;
  background: var(--cc-control-navy);
  background-image: none;
}

.hub-conversation-button.active span {
  color: rgba(232, 242, 250, .72);
}

.hub-rail-card button.hub-rail-link,
.hub-rail-card .hub-conversation-preview-button {
  border-radius: 8px !important;
}

.hub-rail-card button.hub-rail-link:hover,
.hub-rail-card .hub-conversation-preview-button:hover {
  background: #edf2f6 !important;
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
}

.hub-rail-profile > button {
  background: transparent !important;
  border-radius: 8px !important;
}

.hub-rail-profile > button:hover {
  background: #edf2f6 !important;
}

/* Editorial paper sheets replace the inflated dashboard-card treatment while
   preserving every existing layout and content region. */
:is(
  .configurator-column .panel,
  .hub-card,
  .hub-metric-card,
  .hub-rail-card,
  .hub-post-card,
  .hub-chat-card,
  .hub-connections-shell
) {
  background-color: var(--cc-control-paper);
  background-image: none;
  border-radius: 15px;
  box-shadow: 0 1px 2px rgba(7, 29, 58, .04), 0 10px 28px rgba(7, 29, 58, .055);
}

:is(.configurator-column .panel, .hub-card, .hub-post-card, .hub-rail-card):hover {
  transform: none;
  box-shadow: 0 1px 2px rgba(7, 29, 58, .04), 0 10px 28px rgba(7, 29, 58, .055);
}

.hub-metric-card::after {
  display: none;
}

.market-rail-card {
  border-radius: 15px;
  box-shadow: 0 1px 2px rgba(7, 29, 58, .04), 0 10px 28px rgba(7, 29, 58, .055);
}

:is(
  .marketplace-category-chip,
  .marketplace-status-chip,
  .market-status-badge,
  .market-detail-category,
  .market-card-badge,
  .hub-profile-preview-interests span
) {
  min-height: 23px;
  padding: 4px 7px;
  border-radius: 5px;
  box-shadow: none;
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: .01em;
}

/* Marketplace: controls become one dark transaction console */

.market-discovery-bar {
  padding: 10px;
  background: var(--cc-control-navy);
  border: 1px solid rgba(139, 216, 255, .17);
  border-radius: 14px;
  box-shadow: 0 9px 26px rgba(3, 14, 27, .15);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.market-search {
  min-height: 48px;
  color: #fff;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(139, 216, 255, .15);
  border-radius: 9px;
}

.market-search > span {
  color: var(--cc-control-sky);
}

.market-search input,
input.market-search {
  color: #fff;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.market-search input::placeholder,
input.market-search::placeholder {
  color: rgba(232, 242, 250, .54);
}

.market-search:focus-within {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(139, 216, 255, .5);
  box-shadow: 0 0 0 3px rgba(139, 216, 255, .1);
}

.market-filter-select > select {
  background-color: var(--navy-800) !important;
}

.market-search :is(button, .market-search-button) {
  color: var(--navy-950);
  background: var(--cc-control-gold);
  border: 1px solid #d3a346;
  border-radius: 7px;
  box-shadow: none;
}

.market-search :is(button, .market-search-button):hover {
  color: var(--navy-950);
  background: #f8d993;
  border-color: var(--cc-control-gold);
  filter: none;
  transform: none;
}

.market-mode-tabs {
  scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain;
}

.market-mode-tabs > button {
  scroll-snap-align: start;
}

.marketplace-card {
  border-radius: 15px;
  box-shadow: 0 1px 2px rgba(7, 29, 58, .04), 0 9px 26px rgba(7, 29, 58, .055);
}

.marketplace-card:hover,
.marketplace-card:focus-within {
  border-color: var(--cc-control-border-strong);
  box-shadow: 0 1px 2px rgba(7, 29, 58, .05), 0 13px 32px rgba(7, 29, 58, .085);
  transform: none;
}

.marketplace-card-media-button:hover {
  filter: none;
  transform: none;
}

.marketplace-card-action {
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 7px;
}

.marketplace-card-action.active {
  color: var(--navy-950);
  background: #e8eef5;
  border-color: rgba(47, 109, 246, .2);
  box-shadow: inset 0 -2px 0 var(--cc-control-gold);
}

:is(.market-linked-listing, .market-linked-listing-card, .marketplace-linked-listing) {
  background: var(--cc-control-paper);
  background-image: none;
  border-color: var(--cc-control-border);
  border-radius: 12px;
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
}

:is(.market-linked-listing, .market-linked-listing-card, .marketplace-linked-listing):hover {
  border-color: var(--cc-control-border-strong);
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
  filter: none;
  transform: none;
}

.marketplace-delivery-fieldset label,
.marketplace-check-row {
  border-radius: 8px;
}

.marketplace-delivery-fieldset label:has(input:checked),
.marketplace-check-row:has(input:checked),
.marketplace-rights-check:has(input:checked) {
  color: var(--navy-950);
  background: #e8f0fb;
  border-color: rgba(47, 109, 246, .28);
  box-shadow: inset 3px 0 0 var(--cc-control-gold);
}

.marketplace-media-drop,
.market-media-uploader {
  color: var(--navy-850);
  background: #eaf0f4;
  border: 1px dashed rgba(47, 109, 246, .36);
  border-radius: 10px;
  box-shadow: none;
}

.marketplace-media-drop:hover,
.market-media-uploader:hover {
  color: var(--navy-950);
  background: #e2ebf2;
  border-color: var(--cc-control-blue);
  filter: none;
  transform: none;
}

.marketplace-dialog-footer,
.marketplace-modal-footer,
.hub-action-buttons {
  gap: 8px;
}

/* Keep text hierarchy readable and human-scaled. */

:is(
  .hub-post-author span,
  .hub-conversation-preview-button small,
  .hub-comment-copy time,
  .hub-comment-actions button,
  .marketplace-seller-copy span,
  .marketplace-seller-verified,
  .market-field-hint
) {
  font-size: 11px;
  line-height: 1.4;
}

:is(
  .market-card-price,
  .marketplace-card-price,
  .marketplace-detail-price,
  .market-price,
  .hub-metric-card b
) {
  font-variant-numeric: tabular-nums;
}

/* Responsive command structure */

@media (max-width: 1100px) {
  .member-hub .hub-sidebar {
    grid-template-columns: minmax(190px, 250px) minmax(460px, 1fr) auto;
    gap: 10px;
  }

  .member-hub .hub-nav-button {
    padding-inline: 9px;
  }
}

@media (max-width: 900px) {
  .member-hub .hub-sidebar {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .member-hub .hub-member-card {
    grid-column: 1;
    grid-row: 1;
  }

  .member-hub .hub-sidebar .hub-back-button {
    grid-column: 2;
    grid-row: 1;
  }

  .member-hub .hub-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .market-discovery-bar {
    position: relative;
    top: auto;
  }
}

@media (max-width: 700px) {
  :is(.auth-mode-switch, .market-mode-tabs, .hub-connection-tabs, .hub-topic-chips) {
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
  }

  :is(
    .auth-mode-btn,
    .market-mode-button,
    .market-mode-tabs > button,
    .market-mode-tabs > [role="tab"],
    .hub-connection-tab,
    .hub-topic-chip
  ) {
    min-width: max-content;
    scroll-snap-align: start;
  }

  .configurator-column .days,
  .configurator-column #freeDayPicker {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .configurator-column .days::-webkit-scrollbar {
    display: none;
  }

  .configurator-column .day-chip {
    min-width: 52px;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .member-hub .hub-sidebar {
    padding: 9px;
    border-radius: 12px;
  }

  .member-hub .hub-member-card {
    display: flex;
    padding: 0;
  }

  .member-hub .hub-navigation {
    display: flex;
    grid-template-columns: none;
  }

  .member-hub .hub-nav-button {
    min-width: min(156px, 42vw);
    flex: 0 0 auto;
  }

  .member-hub .hub-sidebar .hub-back-button {
    width: 42px;
    min-width: 42px;
    min-height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    font-size: 0;
  }

  .member-hub .hub-sidebar .hub-back-button::before {
    content: "←";
    font-size: 17px;
    line-height: 1;
  }

  .market-discovery-bar {
    padding: 9px;
    border-radius: 12px;
  }

  :is(.market-filter-select > select, .market-sell-button, .market-primary-button) {
    min-height: 48px;
  }

  #schedulePage .color-bar {
    align-items: stretch;
  }

  #schedulePage .color-bar .cm-label {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .configurator-column .choice-exact {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .choice-exact .exact-count-field {
    grid-column: 2;
  }

  .member-hub .hub-member-copy > span,
  .member-hub .hub-membership-status {
    display: none;
  }

  .member-hub .hub-nav-button span {
    display: inline;
  }
}

@media (pointer: coarse) {
  :is(button, [role="button"], summary, select, .day-chip, .hub-topic-chip) {
    min-height: 44px;
  }

  :is(
    .auth-close,
    .marketplace-dialog-close,
    .hub-profile-preview-close,
    .hub-media-preview-remove,
    .marketplace-editor-media-remove
  ) {
    min-width: 44px;
    min-height: 44px;
  }
}

@media (hover: none) {
  .marketplace-card:hover {
    border-color: rgba(7, 30, 52, .1);
    box-shadow: 0 1px 2px rgba(7, 29, 58, .04), 0 9px 26px rgba(7, 29, 58, .055);
  }
}

@media (max-height: 840px) and (max-width: 1050px) {
  .member-hub .hub-sidebar {
    position: relative;
    top: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    button,
    [role="button"],
    summary,
    a,
    input,
    select,
    textarea,
    .choice,
    .market-card,
    .marketplace-card
  ) {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  :where(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid Highlight !important;
    box-shadow: none !important;
  }

  :is(
    .configurator-column select,
    #wishlistPanel select,
    .hub-filter-row select,
    .hub-form-grid select,
    #communityListingSelect,
    .market-filter-select > select,
    .market-field select,
    .marketplace-editor-form select,
    .marketplace-modal select
  ) {
    appearance: auto;
    color: CanvasText !important;
    background: Canvas !important;
    border-color: CanvasText !important;
  }
}

/* --------------------------------------------------------------------------
   Community identity rail + dependable Hub navigation
   The profile summary belongs to the surrounding night field. It should read
   as editorial information, never as a narrow illuminated card squeezed into
   the side of the feed.
   -------------------------------------------------------------------------- */

.member-hub[data-active-view="community"] .hub-community-layout {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 378px);
}

.member-hub[data-active-view="community"] .hub-community-rail {
  position: sticky;
  top: calc(var(--app-bar-offset) + 24px);
  display: block;
  padding: clamp(18px, 2.4vw, 30px) clamp(8px, 1.8vw, 22px) clamp(28px, 3vw, 40px);
  color: rgba(246, 249, 252, .94);
  background: radial-gradient(ellipse 118% 52% at 0 10%, rgba(84, 171, 226, .15), transparent 72%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
  animation: cc-community-rail-arrive .5s cubic-bezier(.2, .78, .2, 1) both;
}

.member-hub[data-active-view="community"] .hub-community-rail::before {
  content: "";
  position: absolute;
  inset: 10px auto 10px 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(139, 216, 255, .48) 18%, rgba(233, 184, 76, .58) 70%, transparent);
  pointer-events: none;
}

.member-hub[data-active-view="community"] .hub-rail-card,
.member-hub[data-active-view="community"] .hub-community-rail > :not(.hub-rail-links) {
  display: block !important;
  margin: 0;
  padding: clamp(24px, 2.4vw, 34px) clamp(16px, 2vw, 26px);
  color: inherit;
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid rgba(205, 226, 246, .16);
  border-radius: 0 !important;
  box-shadow: none !important;
}

.member-hub[data-active-view="community"] .hub-rail-card:first-child { padding-top: 8px; }
.member-hub[data-active-view="community"] .hub-rail-card:last-child { border-bottom: 0; }

.member-hub[data-active-view="community"] .hub-rail-profile-row {
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 16px;
  margin: 0 0 26px;
}

.member-hub[data-active-view="community"] .hub-rail-profile-row .hub-avatar {
  width: 68px;
  height: 68px;
  color: #061a2f;
  background: linear-gradient(145deg, #f5cf7b, #d99a2e);
  border: 1px solid rgba(255, 234, 180, .7);
  border-radius: 50%;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .22), 0 0 0 6px rgba(139, 216, 255, .06);
  font-size: 13px;
}

.member-hub[data-active-view="community"] .hub-rail-profile-row b {
  color: #fff;
  font-size: clamp(19px, 1.8vw, 25px);
  font-weight: 800;
  letter-spacing: -.035em;
}

.member-hub[data-active-view="community"] .hub-rail-profile-row span {
  margin-top: 6px;
  color: rgba(205, 226, 246, .68);
  font-size: 11px;
  line-height: 1.45;
  white-space: normal;
}

.member-hub[data-active-view="community"] .hub-profile-progress {
  margin: 0 0 22px;
}

.member-hub[data-active-view="community"] .hub-profile-progress > span {
  margin-bottom: 11px;
  color: rgba(205, 226, 246, .68);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.member-hub[data-active-view="community"] .hub-profile-progress strong {
  color: var(--cc-control-gold);
  font-size: 18px;
  letter-spacing: -.03em;
}

.member-hub[data-active-view="community"] .hub-profile-progress > div {
  height: 3px;
  overflow: visible;
  background: rgba(205, 226, 246, .14);
  border-radius: 999px;
}

.member-hub[data-active-view="community"] .hub-profile-progress i {
  min-width: 3px;
  background: linear-gradient(90deg, var(--cc-control-gold), var(--cc-control-sky));
  box-shadow: 0 0 16px rgba(139, 216, 255, .35);
  transition: width .55s cubic-bezier(.2, .78, .2, 1);
}

.member-hub[data-active-view="community"] .hub-rail-profile > .btn-ghost {
  width: fit-content;
  min-height: 36px;
  padding: 7px 0 6px;
  color: var(--cc-control-gold);
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid rgba(233, 184, 76, .52);
  border-radius: 0 !important;
  box-shadow: none;
  font-size: 11px;
  letter-spacing: .02em;
}

.member-hub[data-active-view="community"] .hub-rail-profile > .btn-ghost:hover,
.member-hub[data-active-view="community"] .hub-rail-profile > .btn-ghost:focus-visible {
  color: #ffe4a4;
  border-bottom-color: #ffe4a4;
  transform: translateX(4px);
}

.member-hub[data-active-view="community"] .hub-rail-links {
  display: grid !important;
  gap: 0;
}

.member-hub[data-active-view="community"] .hub-rail-link {
  color: rgba(246, 249, 252, .92);
  border-bottom-color: rgba(205, 226, 246, .14);
}

.member-hub[data-active-view="community"] .hub-rail-link b {
  color: #fff;
  font-size: 13px;
}

.member-hub[data-active-view="community"] .hub-rail-link small {
  margin-top: 5px;
  color: rgba(205, 226, 246, .6);
  font-size: 10px;
}

.member-hub[data-active-view="community"] .hub-rail-link i { color: var(--cc-control-gold); }

.member-hub[data-active-view="community"] .hub-rail-link:hover,
.member-hub[data-active-view="community"] .hub-rail-link.active,
.member-hub[data-active-view="community"] .hub-rail-link[aria-pressed="true"] {
  color: #fff;
  background: linear-gradient(90deg, rgba(139, 216, 255, .12), transparent 80%);
  border-bottom-color: rgba(139, 216, 255, .36);
  box-shadow: inset 3px 0 0 var(--cc-control-sky);
}

.member-hub[data-active-view="community"] .hub-rail-heading { margin: 0 0 14px; }

.member-hub[data-active-view="community"] .hub-rail-heading h3 {
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.035em;
}

.member-hub[data-active-view="community"] .hub-conversation-preview {
  margin: 0 0 18px;
}

.member-hub[data-active-view="community"] .hub-conversation-preview-empty {
  margin: 0;
  padding: 10px 0 18px;
  color: rgba(205, 226, 246, .58);
  font-size: 11px;
  line-height: 1.55;
  text-align: left;
}

.member-hub[data-active-view="community"] .hub-conversation-preview-button {
  padding: 12px 0 !important;
  color: rgba(246, 249, 252, .92) !important;
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid rgba(205, 226, 246, .13);
  border-radius: 0 !important;
}

.member-hub[data-active-view="community"] .hub-conversation-preview-button:hover,
.member-hub[data-active-view="community"] .hub-conversation-preview-button:focus-visible {
  background: linear-gradient(90deg, rgba(139, 216, 255, .1), transparent 82%) !important;
}

.member-hub[data-active-view="community"] .hub-conversation-preview-button b { color: #fff; }
.member-hub[data-active-view="community"] .hub-conversation-preview-button small { color: rgba(205, 226, 246, .58); }
.member-hub[data-active-view="community"] .hub-conversation-preview-button i { color: var(--cc-control-gold); }

.member-hub[data-active-view="community"] .hub-rail-action {
  width: fit-content;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  padding: 8px 0 7px;
  color: var(--cc-control-gold);
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid rgba(233, 184, 76, .52);
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-rail-action::after {
  content: "\2192";
  font-size: 17px;
  transition: transform .22s cubic-bezier(.2, .78, .2, 1);
}

.member-hub[data-active-view="community"] .hub-rail-action:hover,
.member-hub[data-active-view="community"] .hub-rail-action:focus-visible {
  color: #ffe4a4;
  border-bottom-color: #ffe4a4;
  box-shadow: none;
  transform: none;
}

.member-hub[data-active-view="community"] .hub-rail-action:hover::after,
.member-hub[data-active-view="community"] .hub-rail-action:focus-visible::after {
  transform: translateX(6px);
}

.member-hub[data-active-view="profile"] .hub-hero-art,
.member-hub[data-active-view="profile"] .hub-hero-art img,
.member-hub[data-active-view="messages"] .hub-hero-art,
.member-hub[data-active-view="messages"] .hub-hero-art img {
  animation: none;
}

@keyframes cc-community-rail-arrive {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1180px) {
  .member-hub[data-active-view="community"] .hub-community-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .member-hub[data-active-view="community"] .hub-community-rail {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) minmax(0, 1fr);
    gap: 0;
    margin: 24px 0 10px;
    padding: 32px clamp(12px, 3vw, 34px);
    background: radial-gradient(ellipse 62% 150% at 0 40%, rgba(84, 171, 226, .13), transparent 72%) !important;
    border-block: 1px solid rgba(205, 226, 246, .12) !important;
  }

  .member-hub[data-active-view="community"] .hub-rail-card {
    min-width: 0;
    padding: 12px clamp(18px, 2.6vw, 32px);
    border-right: 1px solid rgba(205, 226, 246, .14);
    border-bottom: 0;
  }

  .member-hub[data-active-view="community"] .hub-rail-card:first-child { padding-top: 12px; }
  .member-hub[data-active-view="community"] .hub-rail-card:last-child { border-right: 0; }
}

@media (max-width: 760px) {
  .member-hub[data-active-view="community"] .hub-community-rail {
    display: block;
    margin: 20px 0 0;
    padding: 28px clamp(6px, 4vw, 22px);
    background: radial-gradient(ellipse 90% 40% at 0 6%, rgba(84, 171, 226, .13), transparent 76%) !important;
    border-radius: 0 !important;
  }

  .member-hub[data-active-view="community"] .hub-rail-card {
    padding: 26px clamp(12px, 3vw, 22px);
    border-right: 0;
    border-bottom: 1px solid rgba(205, 226, 246, .15);
  }

  .member-hub[data-active-view="community"] .hub-rail-card:first-child { padding-top: 6px; }
  .member-hub[data-active-view="community"] .hub-rail-card:last-child { border-bottom: 0; }
}

/* All destinations remain visible on narrow screens. The previous nowrap
   carousel hid its scrollbar, which made Campus Market appear to disappear. */
@media (max-width: 700px) {
  .member-hub .hub-navigation {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 clamp(18px, 6vw, 34px);
    overflow: visible !important;
    scroll-snap-type: none;
  }

  .member-hub .hub-nav-button {
    width: 100%;
    min-width: 0 !important;
    min-height: 46px;
    flex: none !important;
    justify-content: flex-start;
    padding: 10px 0 12px !important;
    white-space: normal;
    scroll-snap-align: none;
  }

  .member-hub .hub-nav-button:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - clamp(9px, 3vw, 17px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .member-hub[data-active-view="community"] .hub-community-rail,
  .member-hub[data-active-view="community"] .hub-profile-progress i,
  .member-hub[data-active-view="community"] .hub-rail-profile > .btn-ghost,
  .member-hub[data-active-view="community"] .hub-rail-action::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* --------------------------------------------------------------------------
   Campus Market entry point
   Keep the editorial artwork, but place the first useful choices in the first
   viewport. A final cascade lock below the historical Hub themes preserves
   the compact masthead and high-contrast discovery labels.
   -------------------------------------------------------------------------- */

.member-hub[data-active-view="marketplace"] .hub-page-header {
  min-height: clamp(190px, 22vw, 270px);
  grid-template-columns: minmax(260px, .86fr) minmax(360px, 1.14fr);
  gap: clamp(20px, 3vw, 44px);
  margin-bottom: clamp(16px, 2vw, 26px);
  padding-block: clamp(10px, 1.5vw, 20px);
}

.member-hub[data-active-view="marketplace"] .hub-page-header-copy {
  max-width: 600px;
}

.member-hub[data-active-view="marketplace"] .hub-page-header h1 {
  order: 1;
  max-width: 11ch;
  font-size: clamp(42px, 4.7vw, 66px);
}

.member-hub[data-active-view="marketplace"] .hub-page-header-copy::after {
  order: 2;
}

.member-hub[data-active-view="marketplace"] .hub-marketplace-actions {
  order: 3;
}

.member-hub[data-active-view="marketplace"] .hub-hero-art {
  min-height: 0;
  height: clamp(170px, 20vw, 250px);
  border-radius: 32px 92px 38px 76px !important;
}

.hub-marketplace-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  margin-top: clamp(20px, 2.3vw, 28px);
}

.hub-marketplace-actions[hidden] {
  display: none !important;
}

.hub-marketplace-action {
  position: relative;
  min-height: 48px;
  border: 0;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.015em;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, box-shadow .2s ease,
    transform .2s cubic-bezier(.2, .8, .2, 1);
}

.hub-marketplace-action.primary {
  padding: 13px 50px 13px 20px;
  color: #071d32;
  background: linear-gradient(110deg, #f4c75d, #fff1c1 68%, #f0bd49);
  border-radius: 18px 38px 18px 18px;
  box-shadow: 0 15px 32px rgba(0, 0, 0, .2), inset 0 1px rgba(255, 255, 255, .7);
}

.hub-marketplace-action.primary::after {
  content: "\2192";
  position: absolute;
  top: 50%;
  right: 18px;
  font-size: 20px;
  line-height: 1;
  transform: translateY(-52%);
  transition: transform .2s cubic-bezier(.2, .8, .2, 1);
}

.hub-marketplace-action.secondary {
  min-height: 44px;
  padding: 10px 3px 9px;
  color: rgba(238, 246, 252, .88);
  background: transparent;
  border-bottom: 2px solid rgba(244, 199, 93, .72);
  border-radius: 0;
}

.hub-marketplace-action:hover {
  transform: translateY(-2px);
}

.hub-marketplace-action.primary:hover {
  box-shadow: 0 19px 38px rgba(0, 0, 0, .26), inset 0 1px rgba(255, 255, 255, .8);
}

.hub-marketplace-action.primary:hover::after {
  transform: translate(4px, -52%);
}

.hub-marketplace-action.secondary:hover {
  color: #fff;
  border-bottom-color: #f4c75d;
}

.hub-marketplace-action:active {
  transform: translateY(0) scale(.98);
}

.hub-marketplace-action:focus-visible {
  outline: 3px solid rgba(126, 210, 255, .82);
  outline-offset: 5px;
}

.hub-marketplace-action[disabled],
.hub-marketplace-action[aria-disabled="true"] {
  opacity: .48;
  cursor: not-allowed;
  filter: saturate(.45);
  transform: none;
}

.member-hub[data-active-view="marketplace"] .market-scope-button {
  color: rgba(229, 239, 248, .7);
}

.member-hub[data-active-view="marketplace"] .market-scope-button:hover,
.member-hub[data-active-view="marketplace"] .market-scope-button.active,
.member-hub[data-active-view="marketplace"] .market-scope-button[aria-pressed="true"] {
  color: #fff;
}

.member-hub[data-active-view="marketplace"] .market-scope-description {
  color: rgba(229, 239, 248, .7);
}

.member-hub[data-active-view="marketplace"] .market-catalogue {
  scroll-margin-top: calc(var(--app-bar-offset) + 118px);
}

.member-hub[data-active-view="marketplace"]
  .marketplace-view[data-market-scope="global"]
  .market-layout {
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 761px) and (max-width: 900px) {
  .member-hub[data-active-view="marketplace"] .market-discovery-bar {
    position: static;
    top: auto;
  }
}

@media (max-width: 760px) {
  .member-hub[data-active-view="marketplace"] .hub-page-header {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin-bottom: 18px;
    padding-block: 10px;
  }

  .member-hub[data-active-view="marketplace"] .hub-page-header-copy {
    padding-inline: 4px;
  }

  .member-hub[data-active-view="marketplace"] .hub-page-header h1 {
    max-width: 12ch;
    font-size: clamp(36px, 11vw, 52px);
  }

  .member-hub[data-active-view="marketplace"] .hub-hero-art {
    min-height: 0;
    height: clamp(150px, 42vw, 190px);
    border-radius: 24px 64px 28px 52px !important;
  }

  .hub-marketplace-actions {
    margin-top: 18px;
  }

  .member-hub[data-active-view="marketplace"] .market-catalogue {
    scroll-margin-top: calc(var(--app-bar-offset) + 174px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hub-marketplace-action,
  .hub-marketplace-action::after {
    transition: none !important;
  }
}

@media (forced-colors: active) {
  .hub-marketplace-action.primary,
  .hub-marketplace-action.secondary {
    color: ButtonText;
    background: ButtonFace;
    border: 1px solid ButtonText;
  }
}

@media print {
  .print-action {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   Soft architecture
   A single rounded-island system ties the planner, timetable and Student Hub
   together without turning every control into an oversized capsule.
   -------------------------------------------------------------------------- */

:root {
  --cc-control-radius: 14px;
  --cc-island-radius: 30px;
  --cc-card-radius: 23px;
  --cc-island-border: rgba(139, 216, 255, .14);
  --cc-island-shadow: 0 22px 64px rgba(2, 13, 25, .17);
}

/* Only Timetable and Student Hub are primary destinations. Account and
   language remain quiet utilities on the right. */

.primary-navigation[hidden] {
  display: none !important;
}

body:not(.app-active) .primary-navigation {
  display: none !important;
}

body.app-active #landingScreen .header-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
  align-items: center;
  gap: 16px;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.primary-navigation {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px;
  border: 1px solid rgba(139, 216, 255, .14);
  border-radius: 18px;
  background: #03101e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.primary-navigation-button {
  min-width: 132px;
  min-height: 44px;
  padding: 0 18px;
  color: rgba(229, 239, 248, .67);
  background: transparent;
  border: 0;
  border-radius: 13px;
  box-shadow: none;
  font-size: 12px;
  font-weight: 720;
  letter-spacing: -.01em;
}

.primary-navigation-button:hover:not(:disabled) {
  color: #fff;
  background: rgba(255, 255, 255, .07);
  transform: none;
}

.primary-navigation-button[aria-current="page"] {
  color: var(--navy-950);
  background: var(--cc-control-paper);
  box-shadow: inset 0 -2px 0 var(--cc-control-gold), 0 3px 10px rgba(0, 0, 0, .16);
}

.primary-navigation-button:disabled {
  color: rgba(225, 237, 247, .38);
  opacity: 1;
}

body.app-active #landingScreen .auth-bar {
  min-width: 0;
  justify-self: end;
  flex-wrap: nowrap;
}

body.app-active #landingScreen .auth-identity {
  max-width: min(250px, 20vw);
}

body.app-active #landingScreen #signOutBtn {
  min-height: 40px;
  border-radius: 13px;
}

body.app-active #landingScreen .language-control {
  border-radius: 14px;
}

/* Student Hub subcategories live together in one rounded command island. */

.member-hub .hub-sidebar {
  grid-template-columns: minmax(210px, 290px) minmax(0, 1fr);
  padding: 12px 14px;
  border-radius: var(--cc-island-radius);
}

.member-hub .hub-avatar,
.member-hub .hub-avatar-button,
.member-hub .hub-avatar-button .hub-avatar {
  border-radius: 50%;
}

.member-hub .hub-navigation {
  grid-template-columns: repeat(5, minmax(104px, 1fr));
  gap: 5px;
  padding: 5px;
  border-radius: 20px;
}

.member-hub .hub-nav-button {
  min-height: 52px;
  padding: 9px 11px;
  border: 0;
  border-radius: 14px;
}

.member-hub .hub-nav-button::after {
  right: 14px;
  bottom: 5px;
  left: 14px;
  border-radius: 999px;
}

.member-hub .hub-nav-button.active,
.member-hub .hub-nav-button[aria-current="page"] {
  color: var(--navy-950);
  background: var(--cc-control-paper);
  box-shadow: inset 0 -2px 0 var(--cc-control-gold), 0 4px 12px rgba(0, 0, 0, .15);
}

.member-hub .hub-nav-button.active span,
.member-hub .hub-nav-button[aria-current="page"] span {
  color: #8a641e;
}

.member-hub .hub-sidebar .hub-back-button {
  border-radius: 14px;
}

/* Roomier headings line up with the content islands below them. */

.panel-heading,
.hub-card-heading,
.market-results-heading {
  margin-bottom: 24px;
}

:is(
  .panel-heading h2,
  .hub-card-heading h2,
  .hub-section-heading h2,
  .market-results-heading h2,
  .marketplace-dialog-header h2
) {
  line-height: 1.08;
  letter-spacing: -.028em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.hub-section-heading {
  padding: 18px clamp(20px, 2.5vw, 32px) 28px;
}

.member-hub[data-active-view="community"] .hub-page-header,
.member-hub[data-active-view="marketplace"] .hub-page-header {
  min-height: 154px;
  max-width: 1120px;
  margin: 0 auto 26px;
  padding: clamp(28px, 4vw, 44px);
  overflow: hidden;
  align-items: flex-end;
  border: 1px solid rgba(139, 216, 255, .14);
  border-radius: var(--cc-island-radius);
}

.member-hub[data-active-view="community"] .hub-page-header h1,
.member-hub[data-active-view="marketplace"] .hub-page-header h1 {
  max-width: 18ch;
  margin: 0;
  padding: 0;
  font-size: clamp(36px, 4vw, 56px);
  line-height: .98;
  letter-spacing: -.048em;
}

/* The community is one rounded navy canvas containing softly nested paper
   surfaces. This fixes the square discovery and feed bands visible before. */

.member-hub[data-active-view="community"] .hub-community-layout {
  grid-template-columns: minmax(0, 760px) minmax(260px, 320px);
  gap: 24px;
  max-width: 1120px;
  padding-inline: 0;
}

.member-hub[data-active-view="community"] .hub-community-stream {
  min-width: 0;
  display: grid;
  gap: 15px;
  padding: 14px;
  overflow: hidden;
  border: 1px solid var(--cc-island-border);
  border-radius: 36px;
  background:
    radial-gradient(circle at 8% 0%, rgba(47, 109, 246, .16), transparent 22rem),
    linear-gradient(155deg, rgba(12, 40, 71, .92), rgba(4, 17, 31, .78));
  box-shadow: var(--cc-island-shadow), inset 0 1px 0 rgba(255, 255, 255, .045);
}

.member-hub[data-active-view="community"] .hub-community-discovery {
  min-width: 0;
  padding: 14px;
  overflow: hidden;
  border: 1px solid rgba(7, 30, 52, .09);
  border-radius: 27px;
  background: rgba(252, 253, 254, .98);
  box-shadow: 0 12px 32px rgba(1, 12, 24, .1), inset 0 1px 0 #fff;
}

.member-hub[data-active-view="community"] .hub-community-search {
  min-height: 56px;
  margin: 0;
  padding: 7px 14px;
  border-radius: 19px;
}

.member-hub[data-active-view="community"] .hub-topic-chips {
  gap: 7px;
  margin: 12px 0 0;
  padding: 7px;
  border: 1px solid rgba(7, 29, 58, .09);
  border-radius: 19px;
  background: #e9eef2;
}

.member-hub[data-active-view="community"] .hub-topic-chip {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 13px;
}

.member-hub[data-active-view="community"] .hub-topic-chip::after {
  display: none;
}

.member-hub[data-active-view="community"] .hub-topic-chip:hover {
  color: var(--navy-950);
  background: rgba(255, 255, 255, .72);
  border-color: rgba(7, 29, 58, .08);
}

.member-hub[data-active-view="community"] .hub-topic-chip.active,
.member-hub[data-active-view="community"] .hub-topic-chip[aria-pressed="true"] {
  color: #fff;
  background: var(--navy-900);
  border-color: var(--navy-900);
  box-shadow: inset 0 -2px 0 var(--cc-control-gold);
}

.member-hub[data-active-view="community"] .hub-compose-card {
  position: relative;
  margin: 0;
  padding: clamp(20px, 2.4vw, 28px);
  overflow: hidden;
  border: 1px solid rgba(7, 30, 52, .1);
  border-top: 0;
  border-radius: 28px;
  background: var(--cc-control-paper);
  box-shadow: 0 16px 42px rgba(1, 12, 24, .13), inset 0 1px 0 #fff;
}

.member-hub[data-active-view="community"] .hub-compose-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--cc-control-gold), var(--cc-control-blue));
}

.member-hub[data-active-view="community"] .hub-compose-card textarea {
  min-height: 108px;
  padding: 14px 16px;
  background: #f4f6f7;
  border: 1px solid rgba(7, 29, 58, .12);
  border-radius: 20px;
}

.member-hub[data-active-view="community"] .hub-compose-card textarea:focus {
  background: #fff;
  border-color: rgba(47, 109, 246, .48);
  box-shadow: 0 0 0 4px rgba(47, 109, 246, .08);
}

.member-hub[data-active-view="community"] .hub-compose-meta {
  margin-top: 12px;
  padding: 11px 0 4px;
}

.member-hub[data-active-view="community"] .hub-compose-meta input {
  min-height: 42px;
  padding-inline: 14px;
  border: 1px solid rgba(7, 29, 58, .08);
  border-radius: 14px;
}

.member-hub[data-active-view="community"] :is(
  .hub-tool-button,
  .hub-compose-toolbar .btn-primary,
  .hub-poll-add-option,
  .hub-poll-builder-heading button
) {
  border-radius: 14px;
}

.member-hub[data-active-view="community"] .hub-feed-toolbar {
  min-height: 58px;
  margin: 0;
  padding: 12px 17px 12px 20px;
  border: 1px solid rgba(7, 30, 52, .09);
  border-radius: 20px;
  background: rgba(252, 253, 254, .98);
  box-shadow: 0 10px 28px rgba(1, 12, 24, .1);
}

.member-hub[data-active-view="community"] .hub-feed-toolbar b {
  padding-left: 1px;
  font-size: 17px;
  line-height: 1.2;
}

.member-hub[data-active-view="community"] .hub-feed-toolbar button {
  min-height: 38px;
  padding-inline: 12px;
  border: 1px solid rgba(7, 29, 58, .1);
  border-radius: 12px;
  background: #edf2f6;
}

.member-hub[data-active-view="community"] :is(
  .hub-post-card,
  .hub-feed-empty,
  .hub-rail-card
) {
  border-radius: var(--cc-card-radius);
}

.member-hub[data-active-view="community"] .hub-post-card {
  padding: clamp(18px, 2vw, 24px);
}

/* Apply the same softened geometry to the other product surfaces. */

:is(
  .configurator-column .panel,
  #wishlistPanel,
  #timetablePanel,
  .hub-card,
  .hub-metric-card,
  .hub-rail-card,
  .hub-post-card,
  .hub-chat-card,
  .hub-connections-shell,
  .market-rail-card,
  .marketplace-card,
  .marketplace-dialog,
  .auth-card
) {
  border-radius: var(--cc-card-radius);
}

:is(
  .auth-mode-switch,
  .configurator-nav,
  .hub-connection-tabs,
  .market-mode-tabs,
  .wishlist-profile-controls,
  .market-discovery-bar,
  .market-catalogue-controls,
  .final-timetable-actions
) {
  border-radius: 20px;
}

:is(
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .choice,
  .day-chip,
  .market-search,
  .marketplace-media-drop,
  .market-media-uploader
) {
  border-radius: var(--cc-control-radius);
}

.marketplace-card {
  border-radius: var(--cc-card-radius);
}

.market-discovery-bar {
  padding: 12px;
  border-radius: 26px;
}

.market-search {
  border-radius: 17px;
}

.hub-profile-save-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

@media (max-width: 1180px) {
  .member-hub[data-active-view="community"] .hub-community-layout {
    grid-template-columns: minmax(0, 860px);
    row-gap: 18px;
    max-width: 900px;
  }

  .member-hub[data-active-view="community"] .hub-community-stream {
    display: grid;
  }
}

@media (max-width: 1080px) {
  body.app-active #landingScreen .header-row {
    grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
    gap: 10px;
  }

  body.app-active #landingScreen .auth-identity {
    display: none;
  }

  .primary-navigation-button {
    min-width: 116px;
    padding-inline: 14px;
  }

  .member-hub .hub-sidebar {
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    border-radius: 24px;
  }
}

@media (max-width: 900px) {
  .member-hub .hub-sidebar {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  :root {
    --app-bar-offset: 126px;
    --cc-island-radius: 24px;
    --cc-card-radius: 20px;
  }

  body.app-active #landingScreen .header-row {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 10px;
    padding: 6px 0;
    border-radius: 0;
  }

  body.app-active #landingScreen .brand {
    grid-column: 1;
    grid-row: 1;
  }

  body.app-active #landingScreen .auth-bar {
    grid-column: 2;
    grid-row: 1;
  }

  body.app-active #landingScreen .primary-navigation {
    width: 100%;
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
  }

  .primary-navigation-button {
    min-width: 0;
    flex: 1;
  }

  .member-hub[data-active-view="community"] .hub-page-header,
  .member-hub[data-active-view="marketplace"] .hub-page-header {
    min-height: 132px;
    margin-bottom: 16px;
    padding: 24px 22px;
    border-radius: 24px;
  }

  .member-hub[data-active-view="community"] .hub-page-header h1,
  .member-hub[data-active-view="marketplace"] .hub-page-header h1 {
    font-size: clamp(31px, 9vw, 42px);
  }

  .member-hub[data-active-view="community"] .hub-community-layout {
    row-gap: 14px;
  }

  .member-hub[data-active-view="community"] .hub-community-stream {
    gap: 12px;
    padding: 10px;
    border-radius: 26px;
  }

  .member-hub[data-active-view="community"] .hub-community-discovery,
  .member-hub[data-active-view="community"] .hub-compose-card {
    padding: 14px;
    border-radius: 21px;
  }

  .member-hub[data-active-view="community"] .hub-feed-toolbar {
    min-height: 54px;
    padding: 10px 12px 10px 15px;
    border-radius: 17px;
  }

  .member-hub[data-active-view="community"] .hub-post-card {
    padding: 17px;
    border-radius: 20px;
  }

  .hub-profile-save-actions {
    width: 100%;
    flex-direction: column-reverse;
    align-items: stretch;
  }
}

@media (max-width: 480px) {
  :root { --app-bar-offset: 122px; }

  body.app-active #landingScreen #signOutBtn {
    min-width: 40px;
    padding-inline: 9px;
    font-size: 10px;
  }

  .member-hub[data-active-view="community"] .hub-community-stream {
    padding: 8px;
    border-radius: 22px;
  }

  .member-hub[data-active-view="community"] .hub-community-discovery,
  .member-hub[data-active-view="community"] .hub-compose-card,
  .member-hub[data-active-view="community"] .hub-post-card {
    border-radius: 18px;
  }

  .member-hub[data-active-view="community"] .hub-topic-chip {
    min-height: 40px;
  }

  .member-hub[data-active-view="community"] .hub-community-rail > .hub-rail-links {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   Editorial campus system
   Content, photography and typography carry the hierarchy. Outlines are
   reserved for form controls; related information shares one curved canvas.
   -------------------------------------------------------------------------- */

:root {
  --hub-editorial-paper: #f8f5ed;
  --hub-editorial-paper-bright: #fffdf8;
  --hub-editorial-ink: #071a2e;
  --hub-editorial-muted: #5c6976;
  --hub-editorial-line: rgba(7, 29, 50, .13);
  --hub-editorial-gold: #e9b84c;
}

.member-hub {
  padding: clamp(18px, 2.8vw, 44px);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
}

.member-hub .hub-shell {
  width: min(1440px, 100%);
  max-width: 1440px;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 4vw, 54px);
}

/* One quiet command rail; the section names touch as a single text rhythm. */
.member-hub .hub-sidebar {
  position: sticky;
  top: var(--app-bar-offset);
  z-index: 45;
  height: auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(210px, 270px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 42px);
  align-items: center;
  padding: 12px 22px;
  overflow: visible;
  color: #fff;
  background: rgba(3, 16, 30, .9);
  border: 0;
  border-radius: 34px 34px 58px 34px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
  backdrop-filter: blur(24px) saturate(135%);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
}

.member-hub .hub-member-card {
  min-width: 0;
  padding: 0;
  border: 0;
}

.member-hub .hub-avatar,
.member-hub .hub-avatar-button,
.member-hub .hub-avatar-button .hub-avatar,
.member-hub .hub-avatar-button .hub-avatar-image {
  border-radius: 50%;
}

.member-hub .hub-navigation {
  display: flex;
  grid-template-columns: none;
  gap: 0;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  color: rgba(230, 240, 249, .72);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(139, 216, 255, .17);
  border-radius: 0;
  box-shadow: none;
  scrollbar-width: none;
}

.member-hub .hub-navigation::-webkit-scrollbar { display: none; }

.member-hub .hub-nav-button {
  position: relative;
  width: auto;
  min-width: max-content;
  min-height: 54px;
  flex: 1 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  gap: 0;
  padding: 10px clamp(14px, 2vw, 26px);
  color: rgba(230, 240, 249, .66);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
}

.member-hub .hub-nav-button b {
  overflow: visible;
  font-size: 12px;
  font-weight: 720;
  letter-spacing: -.01em;
  text-overflow: clip;
  white-space: nowrap;
}

.member-hub .hub-nav-button::after {
  content: "";
  position: absolute;
  right: 16%;
  bottom: -1px;
  left: 16%;
  height: 3px;
  background: var(--hub-editorial-gold);
  border-radius: 999px 999px 0 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .22s ease;
}

.member-hub .hub-nav-button:hover {
  color: #fff;
  background: transparent;
}

.member-hub .hub-nav-button.active,
.member-hub .hub-nav-button[aria-current="page"] {
  color: #fff;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-campus-scope {
  display: flex;
  align-items: center;
  gap: clamp(22px, 3vw, 38px);
  margin: 0 2px 18px;
  overflow-x: auto;
  scrollbar-width: none;
}

.member-hub[data-active-view="community"] .hub-campus-scope::-webkit-scrollbar {
  display: none;
}

.member-hub[data-active-view="community"] .hub-campus-scope button {
  position: relative;
  min-width: max-content;
  min-height: 38px;
  padding: 0 0 9px;
  color: #6b7884;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 13px;
  font-weight: 760;
  letter-spacing: -.015em;
}

.member-hub[data-active-view="community"] .hub-campus-scope button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--hub-editorial-gold), #2f6df6);
  border-radius: 999px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}

.member-hub[data-active-view="community"] .hub-campus-scope button:hover,
.member-hub[data-active-view="community"] .hub-campus-scope button.active,
.member-hub[data-active-view="community"] .hub-campus-scope button[aria-pressed="true"] {
  color: var(--hub-editorial-ink);
  background: transparent;
  transform: none;
}

.member-hub[data-active-view="community"] .hub-campus-scope button.active::after,
.member-hub[data-active-view="community"] .hub-campus-scope button[aria-pressed="true"]::after {
  transform: scaleX(1);
}

.member-hub[data-active-view="community"] .hub-campus-scope button:focus-visible {
  outline: 3px solid rgba(47, 109, 246, .18);
  outline-offset: 4px;
}

.member-hub .hub-nav-button.active::after,
.member-hub .hub-nav-button[aria-current="page"]::after {
  transform: scaleX(1);
}

/* Each Hub destination gets its own generated artwork and one direct title. */
.member-hub .hub-page-header,
.member-hub[data-active-view="community"] .hub-page-header,
.member-hub[data-active-view="marketplace"] .hub-page-header {
  position: relative;
  width: min(1320px, 100%);
  min-height: clamp(300px, 33vw, 430px);
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(420px, 1.18fr);
  gap: clamp(28px, 5vw, 78px);
  align-items: center;
  margin: 0 auto clamp(34px, 5vw, 62px);
  padding: clamp(22px, 3.5vw, 48px) 0;
  overflow: visible;
  color: #fff;
  background: transparent;
  background-image: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.member-hub .hub-page-header::before {
  content: "";
  position: absolute;
  top: 4%;
  left: 43%;
  width: clamp(80px, 10vw, 150px);
  aspect-ratio: 1;
  background: rgba(233, 184, 76, .16);
  border-radius: 50%;
  filter: blur(.2px);
  pointer-events: none;
}

.member-hub .hub-page-header::after { content: none; }

.member-hub .hub-page-header-copy {
  position: relative;
  z-index: 2;
  max-width: 570px;
  padding-left: clamp(4px, 2vw, 28px);
}

.member-hub .hub-page-header .hub-kicker,
.member-hub[data-active-view="community"] .hub-page-header .hub-kicker,
.member-hub[data-active-view="marketplace"] .hub-page-header .hub-kicker {
  display: block !important;
  margin: 0 0 14px;
  color: var(--sky-300);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.member-hub .hub-page-header h1,
.member-hub[data-active-view="community"] .hub-page-header h1,
.member-hub[data-active-view="marketplace"] .hub-page-header h1 {
  max-width: 12ch;
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: clamp(44px, 5.7vw, 82px);
  font-weight: 720;
  line-height: .92;
  letter-spacing: -.058em;
  text-wrap: balance;
}

.member-hub .hub-page-header .hub-page-header-copy > p:not(.hub-kicker),
.member-hub[data-active-view="community"] .hub-page-header .hub-page-header-copy > p:not(.hub-kicker),
.member-hub[data-active-view="marketplace"] .hub-page-header .hub-page-header-copy > p:not(.hub-kicker) {
  display: block !important;
  max-width: 47ch;
  margin: 22px 0 0;
  color: rgba(229, 239, 248, .68);
  font-size: clamp(13px, 1.25vw, 16px);
  line-height: 1.65;
}

.member-hub .hub-live-badge,
.member-hub[data-active-view="community"] .hub-live-badge,
.member-hub[data-active-view="marketplace"] .hub-live-badge {
  display: none !important;
}

.hub-hero-art {
  position: relative;
  z-index: 1;
  width: 100%;
  height: clamp(270px, 31vw, 410px);
  margin: 0;
  overflow: hidden;
  background: #d9e1e6;
  border-radius: 42px 150px 54px 120px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .24);
  isolation: isolate;
}

.hub-hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, rgba(255, 255, 255, .08), transparent 45%, rgba(2, 15, 28, .18));
  pointer-events: none;
}

.hub-hero-art img {
  width: 100%;
  height: 100%;
  display: none;
  object-fit: cover;
  object-position: center;
}

.member-hub[data-active-view="community"] .hub-hero-art img[data-hub-hero="community"],
.member-hub[data-active-view="marketplace"] .hub-hero-art img[data-hub-hero="marketplace"],
.member-hub[data-active-view="messages"] .hub-hero-art img[data-hub-hero="messages"],
.member-hub[data-active-view="overview"] .hub-hero-art img[data-hub-hero="overview"],
.member-hub[data-active-view="profile"] .hub-hero-art img[data-hub-hero="profile"] {
  display: block;
}

.member-hub[data-active-view="marketplace"] .hub-hero-art img { object-position: center 58%; }
.member-hub[data-active-view="overview"] .hub-hero-art img,
.member-hub[data-active-view="profile"] .hub-hero-art img { object-position: center 48%; }

.member-hub .hub-view {
  width: min(1320px, 100%);
  margin-inline: auto;
}

.member-hub .hub-section-heading {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
}

.member-hub[data-active-view="messages"] .hub-section-heading,
.member-hub[data-active-view="profile"] .hub-section-heading {
  display: none;
}

/* Community: a single paper canvas with borderless sections and image-led feed. */
.member-hub[data-active-view="community"] .hub-community-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 310px);
  gap: clamp(22px, 3vw, 38px);
  align-items: start;
  width: 100%;
  max-width: none;
  padding: 0;
}

.member-hub[data-active-view="community"] .hub-community-stream {
  min-width: 0;
  display: grid;
  gap: 0;
  padding: clamp(22px, 3.2vw, 40px);
  overflow: hidden;
  color: var(--hub-editorial-ink);
  background: var(--hub-editorial-paper);
  border: 0;
  border-radius: 48px 48px 118px 48px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .18);
}

.member-hub[data-active-view="community"] .hub-community-discovery {
  min-width: 0;
  margin: 0;
  padding: 0 0 24px;
  overflow: visible;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hub-editorial-line);
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-community-search {
  min-height: 58px;
  margin: 0;
  padding: 7px 18px;
  color: var(--hub-editorial-ink);
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(7, 29, 50, .12);
  border-radius: 30px 30px 52px 30px;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-community-search svg { color: #557089; }
.member-hub[data-active-view="community"] .hub-community-search input { color: var(--hub-editorial-ink); }
#communitySearch::placeholder { color: #526273; opacity: 1; }

.member-hub[data-active-view="community"] .hub-community-search:focus-within {
  background: #fff;
  border-color: rgba(47, 109, 246, .5);
  box-shadow: 0 0 0 4px rgba(47, 109, 246, .09);
}

.member-hub[data-active-view="community"] .hub-topic-chips {
  display: flex;
  gap: 0;
  margin: 18px 0 0;
  padding: 0;
  overflow-x: auto;
  color: var(--hub-editorial-muted);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hub-editorial-line);
  border-radius: 0;
  scrollbar-width: none;
}

.member-hub[data-active-view="community"] .hub-topic-chips::-webkit-scrollbar { display: none; }

.member-hub[data-active-view="community"] .hub-topic-chip {
  position: relative;
  min-width: max-content;
  min-height: 44px;
  flex: 0 0 auto;
  padding: 8px clamp(11px, 1.7vw, 18px);
  color: #65727e;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-topic-chip::after {
  content: "";
  position: absolute;
  right: 18%;
  bottom: -1px;
  left: 18%;
  height: 3px;
  display: block;
  background: var(--hub-editorial-gold);
  border-radius: 999px 999px 0 0;
  transform: scaleX(0);
}

.member-hub[data-active-view="community"] .hub-topic-chip:hover {
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
}

.member-hub[data-active-view="community"] .hub-topic-chip.active,
.member-hub[data-active-view="community"] .hub-topic-chip[aria-pressed="true"] {
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-topic-chip.active::after,
.member-hub[data-active-view="community"] .hub-topic-chip[aria-pressed="true"]::after {
  transform: scaleX(1);
}

.member-hub[data-active-view="community"] .hub-compose-card {
  position: relative;
  margin: 0;
  padding: clamp(28px, 3vw, 42px) 0;
  overflow: visible;
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hub-editorial-line);
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-compose-card[hidden] {
  display: none !important;
}

.member-hub[data-active-view="community"] .hub-compose-card::before { content: none; }

.member-hub[data-active-view="community"] .hub-compose-card textarea {
  min-height: 112px;
  padding: 18px 20px;
  color: var(--hub-editorial-ink);
  background: rgba(255, 255, 255, .74);
  border: 1px solid rgba(7, 29, 50, .12);
  border-radius: 26px 26px 54px 26px;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-compose-card textarea::placeholder {
  color: #71808c;
  opacity: 1;
}

.member-hub[data-active-view="community"] .hub-compose-meta input {
  color: var(--hub-editorial-ink);
  background: rgba(255, 255, 255, .64);
  border: 0;
  border-bottom: 1px solid var(--hub-editorial-line);
  border-radius: 0;
}

.member-hub[data-active-view="community"] .hub-cross-campus-toggle {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: fit-content;
  margin-top: 14px;
  color: #536777;
  font-size: 11px;
  font-weight: 680;
  line-height: 1.45;
  cursor: pointer;
}

.member-hub[data-active-view="community"] .hub-cross-campus-toggle input {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  margin: 0;
  accent-color: var(--cc-control-blue);
}

.member-hub[data-active-view="community"] .hub-feed-toolbar {
  min-height: 74px;
  margin: 0;
  padding: 28px 0 12px;
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-feed-toolbar b {
  padding: 0;
  color: var(--hub-editorial-ink);
  font-size: clamp(25px, 2.8vw, 38px);
  font-weight: 760;
  letter-spacing: -.045em;
}

.member-hub[data-active-view="community"] .hub-feed-toolbar button {
  min-height: 40px;
  padding: 0;
  color: #355c7d;
  background: transparent;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
}

.member-hub[data-active-view="community"] .hub-feed-status {
  min-height: 0;
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 680;
}

.member-hub[data-active-view="community"] .hub-feed-status:empty {
  display: none;
}

.member-hub[data-active-view="community"] .hub-post-author-button.cross-campus {
  cursor: default;
}

.member-hub[data-active-view="community"] .hub-community-stream .hub-feed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(24px, 3vw, 42px);
}

.member-hub[data-active-view="community"] .hub-post-card {
  position: relative;
  min-width: 0;
  display: block;
  margin: 0;
  padding: 26px 0 30px;
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
  border-top: 1px solid var(--hub-editorial-line);
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-post-card:hover {
  transform: none;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-post-card--text {
  grid-column: 1 / -1;
}

.member-hub[data-active-view="community"] .hub-post-card--featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr);
  grid-template-rows: auto auto minmax(0, auto) auto auto auto;
  gap: 12px clamp(24px, 3vw, 42px);
  padding-block: 30px 38px;
}

.member-hub[data-active-view="community"] .hub-post-card--featured .hub-post-popular-label {
  grid-column: 2;
  grid-row: 1;
}

.hub-post-popular-label {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 2px;
  color: #865d0d;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hub-post-popular-label::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--hub-editorial-gold);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(233, 184, 76, .16);
}

.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-author { grid-column: 2; grid-row: 2; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-media { grid-column: 1; grid-row: 1 / span 6; margin: 0; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-body { grid-column: 2; grid-row: 3; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-tags { grid-column: 2; grid-row: 4; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-poll,
.member-hub[data-active-view="community"] .hub-post-card--featured > .community-linked-listing { grid-column: 2; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-actions { grid-column: 2; align-self: end; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-comments { grid-column: 1 / -1; }

.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) 40px;
}

.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-actions > button:nth-child(1) { grid-column: 1; grid-row: 1; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-actions > button:nth-child(2) { grid-column: 2; grid-row: 1; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-actions > button:nth-child(3) { grid-column: 1; grid-row: 2; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-actions > button:nth-child(4) { grid-column: 2; grid-row: 2; }
.member-hub[data-active-view="community"] .hub-post-card--featured > .hub-post-actions > .hub-post-menu { grid-column: 3; grid-row: 1 / span 2; }

.member-hub[data-active-view="community"] .hub-post-author b,
.member-hub[data-active-view="community"] .hub-post-body,
.member-hub[data-active-view="community"] .hub-comment-copy b { color: var(--hub-editorial-ink); }

.member-hub[data-active-view="community"] .hub-post-media {
  margin: 16px 0 14px;
  overflow: hidden;
  border-radius: 28px 54px 28px 54px;
}

.member-hub[data-active-view="community"] .hub-post-card--featured .hub-post-media {
  min-height: 390px;
  border-radius: 38px 92px 42px 70px;
}

.member-hub[data-active-view="community"] .hub-post-media-item {
  background: #dfe5e7;
  border: 0;
  border-radius: 0;
}

.member-hub[data-active-view="community"] .hub-post-actions {
  border-top-color: var(--hub-editorial-line);
}

.member-hub[data-active-view="community"] .hub-comments {
  padding-top: 12px;
  border-top: 1px solid var(--hub-editorial-line);
}

.member-hub[data-active-view="community"] .hub-comment {
  color: var(--hub-editorial-ink);
  background: rgba(255, 255, 255, .56);
  border-radius: 18px 18px 30px 18px;
}

.hub-comment-form {
  align-items: start;
}

.hub-comment-form input {
  color: var(--hub-editorial-ink);
  background: #fff;
  border-color: rgba(7, 29, 50, .14);
}

.hub-comment-status {
  grid-column: 1 / -1;
  min-height: 0;
  margin: 0;
  color: var(--hub-editorial-muted);
  font-size: 10px;
  line-height: 1.45;
}

.hub-comment-status.error { color: #a52b3c; }
.hub-comment-status.success { color: #087151; }

.member-hub[data-active-view="community"] .hub-community-rail {
  position: sticky;
  top: calc(var(--app-bar-offset) + 92px);
  display: block;
  padding: 26px;
  color: var(--hub-editorial-ink);
  background: var(--hub-editorial-paper-bright);
  border: 0;
  border-radius: 38px 38px 86px 38px;
  box-shadow: 0 24px 72px rgba(0, 0, 0, .15);
}

.member-hub[data-active-view="community"] .hub-rail-card {
  margin: 0;
  padding: 22px 0;
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hub-editorial-line);
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-rail-card:first-child { padding-top: 0; }
.member-hub[data-active-view="community"] .hub-rail-card:last-child { padding-bottom: 0; border-bottom: 0; }

/* Marketplace: visible search, one catalogue canvas and image-first listings. */
.member-hub[data-active-view="marketplace"] .marketplace-view,
.member-hub[data-active-view="marketplace"] .market-view {
  width: 100%;
  max-width: none;
}

.member-hub[data-active-view="marketplace"] .market-discovery-bar {
  top: calc(var(--app-bar-offset) + 88px);
  margin: 0 0 22px;
  padding: 14px;
  color: var(--hub-editorial-ink);
  background: rgba(248, 245, 237, .96);
  border: 0;
  border-radius: 34px 34px 64px 34px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .16);
  backdrop-filter: blur(20px) saturate(130%);
  -webkit-backdrop-filter: blur(20px) saturate(130%);
}

.member-hub[data-active-view="marketplace"] .market-search {
  min-height: 54px;
  color: var(--hub-editorial-ink);
  background: #fff;
  border: 1px solid rgba(7, 29, 50, .12);
  border-radius: 27px 27px 46px 27px;
}

.member-hub[data-active-view="marketplace"] .market-search > span { color: #557089; }

#marketplaceSearch {
  color: var(--hub-editorial-ink) !important;
  background: transparent !important;
}

#marketplaceSearch::placeholder {
  color: #586a79 !important;
  opacity: 1;
}

.member-hub[data-active-view="marketplace"] .market-filter-select > select {
  color: var(--hub-editorial-ink) !important;
  background-color: #fff !important;
  border: 1px solid rgba(7, 29, 50, .1);
  border-radius: 24px;
}

.member-hub[data-active-view="marketplace"] .market-sell-button {
  color: #fff;
  background: var(--navy-900);
  border: 0;
  border-radius: 24px 24px 36px 24px;
}

.member-hub[data-active-view="marketplace"] .market-mode-tabs {
  display: flex;
  gap: 0;
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  overflow-x: auto;
  color: rgba(230, 240, 249, .72);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(139, 216, 255, .18);
  border-radius: 0;
}

.member-hub[data-active-view="marketplace"] .market-mode-tabs > button {
  position: relative;
  min-width: max-content;
  flex: 1 0 auto;
  padding: 12px 22px;
  color: rgba(230, 240, 249, .68);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="marketplace"] .market-mode-tabs > button::after {
  content: "";
  position: absolute;
  right: 22%;
  bottom: -1px;
  left: 22%;
  height: 3px;
  background: var(--hub-editorial-gold);
  border-radius: 999px 999px 0 0;
  transform: scaleX(0);
}

.member-hub[data-active-view="marketplace"] .market-mode-tabs > button.active,
.member-hub[data-active-view="marketplace"] .market-mode-tabs > button[aria-selected="true"] {
  color: #fff;
  background: transparent;
  box-shadow: none;
}

.member-hub[data-active-view="marketplace"] .market-mode-tabs > button.active::after,
.member-hub[data-active-view="marketplace"] .market-mode-tabs > button[aria-selected="true"]::after {
  transform: scaleX(1);
}

.member-hub[data-active-view="marketplace"] .market-trust-strip {
  margin: 0 0 26px;
  padding: 0 4px;
  color: rgba(230, 240, 249, .66);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="marketplace"] .market-trust-strip b { color: var(--sky-300); }

.member-hub[data-active-view="marketplace"] .market-layout {
  grid-template-columns: minmax(0, 1fr) minmax(236px, 278px);
  gap: clamp(22px, 3vw, 38px);
}

.member-hub[data-active-view="marketplace"] .market-catalogue {
  min-width: 0;
  padding: clamp(24px, 3vw, 40px);
  color: var(--hub-editorial-ink);
  background: var(--hub-editorial-paper);
  border-radius: 44px 44px 108px 44px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .17);
}

.member-hub[data-active-view="marketplace"] .market-results-heading {
  margin: 0 0 24px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--hub-editorial-line);
}

.member-hub[data-active-view="marketplace"] .market-results-heading h2 {
  margin: 0;
  color: var(--hub-editorial-ink) !important;
  font-size: clamp(25px, 2.8vw, 38px);
  font-weight: 760;
  letter-spacing: -.045em;
}

.member-hub[data-active-view="marketplace"] .market-results-heading span {
  color: var(--hub-editorial-muted);
}

.member-hub[data-active-view="marketplace"] .marketplace-card {
  overflow: visible;
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="marketplace"] .marketplace-card:hover,
.member-hub[data-active-view="marketplace"] .marketplace-card:focus-within {
  border: 0;
  box-shadow: none;
  transform: translateY(-2px);
}

.member-hub[data-active-view="marketplace"] .marketplace-card-media,
.member-hub[data-active-view="marketplace"] .marketplace-card-media-button,
.member-hub[data-active-view="marketplace"] .marketplace-card-media-empty {
  overflow: hidden;
  border-radius: 26px 48px 26px 48px;
}

.member-hub[data-active-view="marketplace"] .marketplace-card-title,
.member-hub[data-active-view="marketplace"] .marketplace-card-price { color: var(--hub-editorial-ink); }

.member-hub[data-active-view="marketplace"] .market-rail {
  padding: 24px;
  color: var(--hub-editorial-ink);
  background: var(--hub-editorial-paper-bright);
  border-radius: 36px 36px 82px 36px;
  box-shadow: 0 24px 72px rgba(0, 0, 0, .14);
}

.member-hub[data-active-view="marketplace"] .market-rail-card {
  margin: 0;
  padding: 22px 0;
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hub-editorial-line);
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="marketplace"] .market-rail-card:first-child { padding-top: 0; }
.member-hub[data-active-view="marketplace"] .market-rail-card:last-child { padding-bottom: 0; border-bottom: 0; }

.member-hub[data-active-view="marketplace"] .market-rail-card:first-child :where(h2, h3, b) {
  color: var(--hub-editorial-ink);
}

.member-hub[data-active-view="marketplace"] .market-rail-card:first-child .market-rail-eyebrow {
  color: #8a641e;
}

.member-hub[data-active-view="marketplace"] .market-rail-card:first-child :where(p, span, li) {
  color: var(--hub-editorial-muted);
}

/* The remaining Hub destinations share one paper canvas, not nested tiles. */
.member-hub .hub-view[data-hub-view="overview"],
.member-hub .hub-view[data-hub-view="messages"],
.member-hub .hub-view[data-hub-view="profile"] {
  padding: clamp(24px, 3.5vw, 46px);
  color: var(--hub-editorial-ink);
  background: var(--hub-editorial-paper);
  border-radius: 46px 46px 112px 46px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .17);
}

.member-hub .hub-view[data-hub-view="overview"] :is(.hub-metric-card, .hub-card),
.member-hub .hub-view[data-hub-view="profile"] .hub-card,
.member-hub .hub-view[data-hub-view="messages"] .hub-chat-card {
  color: var(--hub-editorial-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card {
  min-height: 0;
  padding: 6px clamp(18px, 2.4vw, 30px) 24px;
  border-right: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card:last-child { border-right: 0; }

.member-hub .hub-view[data-hub-view="overview"] .hub-card,
.member-hub .hub-view[data-hub-view="profile"] .hub-card {
  padding: 34px 0;
  border-top: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-view[data-hub-view="profile"] .hub-profile-grid { gap: 0 clamp(28px, 4vw, 54px); }
.member-hub .hub-view[data-hub-view="profile"] .hub-connections-shell { background: transparent; border: 0; box-shadow: none; }

.member-hub .hub-card-heading h2,
.member-hub .hub-section-heading h2 {
  color: var(--hub-editorial-ink);
  font-size: clamp(25px, 2.8vw, 38px);
  font-weight: 760;
  letter-spacing: -.045em;
}

.member-hub .hub-card-index { display: none; }

/* Wishlist courses become readable rows instead of stacks of pale rectangles. */
#wishlistPanel .course-card,
#wishlistPanel .course-card.req {
  position: relative;
  margin: 0;
  padding: 22px 4px;
  color: #fff;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(205, 226, 246, .16);
  border-radius: 0;
  box-shadow: none;
}

#wishlistPanel .course-card:hover {
  background: rgba(255, 255, 255, .035);
  border-color: rgba(205, 226, 246, .26);
  box-shadow: none;
  transform: none;
}

#wishlistPanel .course-title { color: #fff; }
#wishlistPanel .course-meta,
#wishlistPanel .sec-line { color: rgba(224, 237, 249, .65); }

@media (max-width: 1180px) {
  .member-hub .hub-sidebar {
    grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
    padding-inline: 18px;
  }

  .member-hub[data-active-view="community"] .hub-community-layout,
  .member-hub[data-active-view="marketplace"] .market-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .member-hub[data-active-view="community"] .hub-community-rail,
  .member-hub[data-active-view="marketplace"] .market-rail {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 clamp(18px, 3vw, 30px);
  }

  .member-hub[data-active-view="community"] .hub-rail-card,
  .member-hub[data-active-view="marketplace"] .market-rail-card {
    padding: 0;
    border-right: 1px solid var(--hub-editorial-line);
    border-bottom: 0;
  }

  .member-hub[data-active-view="community"] .hub-rail-card:last-child,
  .member-hub[data-active-view="marketplace"] .market-rail-card:last-child {
    border-right: 0;
  }
}

@media (max-width: 900px) {
  .member-hub .hub-sidebar {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .member-hub .hub-member-card { padding-inline: 4px; }

  .member-hub .hub-page-header,
  .member-hub[data-active-view="community"] .hub-page-header,
  .member-hub[data-active-view="marketplace"] .hub-page-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .member-hub .hub-page-header-copy { max-width: 680px; padding-inline: 8px; }
  .member-hub .hub-page-header h1,
  .member-hub[data-active-view="community"] .hub-page-header h1,
  .member-hub[data-active-view="marketplace"] .hub-page-header h1 { max-width: 14ch; }

  .hub-hero-art { height: clamp(280px, 55vw, 430px); }

  .member-hub[data-active-view="community"] .hub-post-card--featured {
    display: block;
  }

  .member-hub[data-active-view="community"] .hub-post-card--featured .hub-post-popular-label { margin-bottom: 14px; }
  .member-hub[data-active-view="community"] .hub-post-card--featured .hub-post-media { min-height: 300px; margin: 16px 0; }

  .member-hub[data-active-view="marketplace"] .market-discovery-bar {
    top: calc(var(--app-bar-offset) + 142px);
  }
}

@media (max-width: 760px) {
  .member-hub { padding: 12px; }

  .member-hub .hub-sidebar {
    top: var(--app-bar-offset);
    padding: 12px;
    border-radius: 24px 24px 38px 24px;
  }

  .member-hub .hub-navigation {
    scroll-snap-type: x proximity;
  }

  .member-hub .hub-nav-button {
    min-width: max-content;
    min-height: 48px;
    flex: 0 0 auto;
    padding-inline: 16px;
    scroll-snap-align: start;
  }

  .member-hub .hub-page-header,
  .member-hub[data-active-view="community"] .hub-page-header,
  .member-hub[data-active-view="marketplace"] .hub-page-header {
    min-height: 0;
    margin-bottom: 28px;
    padding: 20px 2px 0;
  }

  .member-hub .hub-page-header h1,
  .member-hub[data-active-view="community"] .hub-page-header h1,
  .member-hub[data-active-view="marketplace"] .hub-page-header h1 {
    font-size: clamp(39px, 12vw, 58px);
  }

  .hub-hero-art {
    height: 72vw;
    min-height: 260px;
    max-height: 390px;
    border-radius: 28px 78px 34px 64px;
  }

  .member-hub[data-active-view="community"] .hub-community-stream,
  .member-hub[data-active-view="marketplace"] .market-catalogue,
  .member-hub .hub-view[data-hub-view="overview"],
  .member-hub .hub-view[data-hub-view="messages"],
  .member-hub .hub-view[data-hub-view="profile"] {
    padding: 20px;
    border-radius: 28px 28px 58px 28px;
  }

  .member-hub[data-active-view="community"] .hub-community-stream .hub-feed {
    grid-template-columns: minmax(0, 1fr);
  }

  .member-hub[data-active-view="community"] .hub-post-card,
  .member-hub[data-active-view="community"] .hub-post-card--text,
  .member-hub[data-active-view="community"] .hub-post-card--featured {
    grid-column: 1;
  }

  .member-hub[data-active-view="community"] .hub-post-card--featured .hub-post-media { min-height: 230px; }

  .member-hub[data-active-view="community"] .hub-community-rail,
  .member-hub[data-active-view="marketplace"] .market-rail {
    display: block;
    padding: 20px;
    border-radius: 26px 26px 54px 26px;
  }

  .member-hub[data-active-view="community"] .hub-rail-card,
  .member-hub[data-active-view="marketplace"] .market-rail-card {
    padding: 20px 0;
    border-right: 0;
    border-bottom: 1px solid var(--hub-editorial-line);
  }

  .member-hub[data-active-view="community"] .hub-rail-card:first-child,
  .member-hub[data-active-view="marketplace"] .market-rail-card:first-child { padding-top: 0; }

  .member-hub[data-active-view="community"] .hub-rail-card:last-child,
  .member-hub[data-active-view="marketplace"] .market-rail-card:last-child { padding-bottom: 0; border-bottom: 0; }

  .member-hub[data-active-view="marketplace"] .market-discovery-bar {
    position: relative;
    top: auto;
    grid-template-columns: minmax(0, 1fr);
    border-radius: 26px 26px 48px 26px;
  }

  .member-hub[data-active-view="marketplace"] .market-search,
  .member-hub[data-active-view="marketplace"] .market-filter-select,
  .member-hub[data-active-view="marketplace"] .market-filter-select > select,
  .member-hub[data-active-view="marketplace"] .market-sell-button {
    width: 100%;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card:nth-child(2) { border-right: 0; }
}

@media (max-width: 480px) {
  .member-hub .hub-member-copy > span,
  .member-hub .hub-membership-status { display: block; }

  .member-hub .hub-nav-button b { font-size: 11px; }

  .member-hub[data-active-view="community"] .hub-community-search {
    min-height: 52px;
    padding-inline: 14px;
  }

  .member-hub[data-active-view="community"] .hub-compose-card { padding-block: 24px; }
  .member-hub[data-active-view="community"] .hub-compose-shell { grid-template-columns: 34px minmax(0, 1fr); }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-grid { grid-template-columns: minmax(0, 1fr); }
  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card { border-right: 0; border-bottom: 1px solid var(--hub-editorial-line); }
  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card:last-child { border-bottom: 0; }
}

/* --------------------------------------------------------------------------
   Spacious academic insights and profile settings
   The older dashboard rules remain as compatibility defaults; this final
   component layer owns the current editorial layout at every breakpoint.
   -------------------------------------------------------------------------- */

.member-hub .hub-view[data-hub-view="overview"] {
  padding: clamp(30px, 4vw, 56px);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 clamp(48px, 6vw, 76px);
  padding: 0;
  border-block: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card {
  min-height: 148px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px clamp(20px, 2.8vw, 36px);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hub-editorial-line);
  border-radius: 0;
  box-shadow: none;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card:last-child {
  border-right: 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card::after {
  display: none;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > b {
  order: 1;
  margin: 0 0 12px;
  color: var(--hub-editorial-ink);
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 740;
  line-height: .92;
  letter-spacing: -.06em;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > span {
  order: 2;
  color: #50657a;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > small {
  order: 3;
  max-width: 24ch;
  margin-top: 8px;
  color: var(--hub-editorial-muted);
  font-size: 11px;
  line-height: 1.45;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-overview-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(48px, 6vw, 78px);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card {
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card + .hub-card {
  padding-top: clamp(46px, 5vw, 70px);
  border-top: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 390px);
  align-items: end;
  gap: clamp(24px, 4vw, 64px);
  margin: 0 0 clamp(30px, 4vw, 48px);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card-heading h2 {
  max-width: 16ch;
  font-size: clamp(32px, 4.6vw, 62px);
  line-height: .98;
  letter-spacing: -.055em;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card-heading p {
  max-width: 48ch;
  margin: 0;
  color: var(--hub-editorial-muted);
  font-size: 13px;
  line-height: 1.65;
  text-align: left;
}

.hub-insight-layout {
  display: grid;
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: stretch;
}

.hub-insight-controls {
  align-self: start;
  padding: clamp(24px, 3vw, 34px);
  color: #fff;
  background:
    radial-gradient(circle at 88% 8%, rgba(139, 216, 255, .18), transparent 34%),
    linear-gradient(150deg, #0b2944, #06192b 72%);
  border-radius: 30px 30px 76px 30px;
  box-shadow: 0 24px 60px rgba(5, 25, 43, .2);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row {
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row label > span {
  margin: 0 0 9px 2px;
  color: rgba(230, 241, 250, .66);
  font-size: 10px;
  font-weight: 780;
  letter-spacing: .1em;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select {
  width: 100%;
  min-height: 52px;
  padding-inline: 14px 42px;
  color: var(--hub-editorial-ink) !important;
  background-color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 15px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
  font-size: 13px;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select:disabled {
  color: rgba(7, 29, 50, .5) !important;
  background-color: #dce4e9 !important;
}

.member-hub .hub-view[data-hub-view="overview"] #loadCourseInsights {
  width: 100%;
  min-height: 52px;
  margin-top: 2px;
  color: #071d32;
  background: var(--hub-editorial-gold);
  border: 0;
  border-radius: 15px 15px 28px 15px;
  box-shadow: none;
}

.hub-insight-result {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4px 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart {
  min-height: 330px;
  align-content: center;
  gap: 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-row {
  grid-template-columns: minmax(150px, .9fr) minmax(150px, 1.55fr) 52px;
  gap: clamp(16px, 2.4vw, 30px);
  min-height: 74px;
  padding: 15px 0;
  border-bottom: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-row:first-child {
  border-top: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-label b {
  font-size: 14px;
  line-height: 1.35;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-label span {
  margin-top: 5px;
  font-size: 11px;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-track {
  height: 9px;
  background: #dfe5e8;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-fill {
  background: linear-gradient(90deg, #0d375b, #3475c8 72%, #77bfe9);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-value {
  color: var(--hub-editorial-ink);
  font-size: 14px;
}

.member-hub .hub-view[data-hub-view="overview"] #courseInsightStatus {
  margin-top: 18px;
  color: var(--hub-editorial-muted);
  font-size: 11px;
}

.hub-final-layout {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: clamp(36px, 5vw, 76px);
  align-items: start;
}

.hub-final-overview {
  padding: clamp(24px, 3vw, 34px);
  color: #fff;
  background:
    radial-gradient(circle at 12% 94%, rgba(233, 184, 76, .15), transparent 36%),
    linear-gradient(150deg, #0b2944, #06192b 72%);
  border-radius: 30px 30px 78px 30px;
  box-shadow: 0 24px 60px rgba(5, 25, 43, .2);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-block: 1px solid rgba(213, 232, 247, .17);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-stat {
  min-width: 0;
  min-height: 108px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 14px;
  color: #fff;
  background: transparent !important;
  border: 0;
  border-radius: 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-stat:nth-child(odd) {
  border-right: 1px solid rgba(213, 232, 247, .17);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-stat:nth-child(-n+2) {
  border-bottom: 1px solid rgba(213, 232, 247, .17);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-stat b {
  color: #fff;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1;
  letter-spacing: -.04em;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-stat span {
  margin-top: 9px;
  color: rgba(226, 239, 249, .64);
  font-size: 9px;
  line-height: 1.35;
  letter-spacing: .1em;
}

.member-hub .hub-view[data-hub-view="overview"] #overviewOpenTimetable {
  width: 100%;
  min-height: 48px;
  margin-top: 24px;
  color: #071d32;
  background: var(--hub-editorial-gold);
  border: 0;
  border-radius: 15px 15px 28px 15px;
}

.hub-final-course-panel {
  min-width: 0;
}

.hub-final-course-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.hub-final-course-heading h3 {
  margin: 0;
  color: var(--hub-editorial-ink);
  font-size: clamp(20px, 2.4vw, 30px);
  line-height: 1;
  letter-spacing: -.035em;
}

.hub-final-course-heading span {
  color: var(--hub-editorial-muted);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-courses {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(24px, 3vw, 44px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-course {
  min-width: 0;
  min-height: 102px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 20px 2px;
  background: transparent !important;
  border: 0;
  border-top: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-course > div {
  min-width: 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-course b {
  color: var(--hub-editorial-ink);
  font-size: 15px;
  line-height: 1.35;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-course small {
  margin-top: 7px;
  color: var(--hub-editorial-muted);
  font-size: 11.5px;
  line-height: 1.4;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-course > span {
  color: #2868c8;
  font-size: 11px;
  white-space: nowrap;
}

.hub-final-empty {
  grid-column: 1 / -1;
  padding: 36px 0;
  color: var(--hub-editorial-muted);
  border-top: 1px solid var(--hub-editorial-line);
  list-style: none;
}

/* Profile preferences are settings rows, not full-width alert banners. */
.member-hub .hub-profile-controls-card .hub-form-grid {
  grid-template-columns: minmax(240px, .72fr) minmax(340px, 1.28fr);
  grid-template-rows: auto auto;
  gap: 0 clamp(36px, 5vw, 68px);
  align-items: start;
}

.member-hub .hub-profile-controls-card label:has(#profileVisibility) {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.member-hub .hub-profile-controls-card label:has(#profileAllowMessages) {
  grid-column: 2;
  grid-row: 1;
}

.member-hub .hub-profile-controls-card label:has(#profileAnalyticsConsent) {
  grid-column: 2;
  grid-row: 2;
}

.member-hub .hub-profile-controls-card .hub-toggle-label {
  min-height: 76px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin: 0 !important;
  padding: 17px 0;
  color: var(--hub-editorial-ink);
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid var(--hub-editorial-line);
  border-radius: 0 !important;
  box-shadow: none !important;
}

.member-hub .hub-profile-controls-card label:has(#profileAllowMessages) {
  border-top: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-profile-controls-card .hub-toggle-label span {
  grid-column: 1;
  grid-row: 1;
  margin: 0 !important;
  color: var(--hub-editorial-ink) !important;
  font-size: 13px !important;
  font-weight: 680;
  line-height: 1.5;
}

.member-hub .hub-profile-controls-card .hub-toggle-label > input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  grid-column: 2;
  grid-row: 1;
  position: relative;
  width: 48px !important;
  min-width: 48px;
  height: 28px !important;
  min-height: 28px !important;
  flex: 0 0 48px;
  margin: 0;
  padding: 3px;
  cursor: pointer;
  background: #cbd4dc;
  border: 0;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(7, 29, 50, .08);
}

.member-hub .hub-profile-controls-card .hub-toggle-label > input[type="checkbox"]::after {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 7px rgba(7, 29, 50, .24);
  transition: transform 180ms ease;
}

.member-hub .hub-profile-controls-card .hub-toggle-label > input[type="checkbox"]:checked {
  background: #2868c8;
}

.member-hub .hub-profile-controls-card .hub-toggle-label > input[type="checkbox"]:checked::after {
  transform: translateX(20px);
}

.member-hub .hub-profile-controls-card .hub-toggle-label > input[type="checkbox"]:focus-visible {
  outline: 3px solid rgba(40, 104, 200, .28);
  outline-offset: 4px;
  box-shadow: inset 0 0 0 1px rgba(7, 29, 50, .08);
}

@media (max-width: 1080px) {
  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card {
    border-right: 1px solid var(--hub-editorial-line);
    border-bottom: 1px solid var(--hub-editorial-line);
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card:nth-child(even) {
    border-right: 0;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .hub-insight-layout,
  .hub-final-layout {
    grid-template-columns: minmax(235px, 280px) minmax(0, 1fr);
    gap: 34px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-courses {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 860px) {
  .member-hub .hub-view[data-hub-view="overview"] .hub-card-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .hub-insight-layout,
  .hub-final-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-filter-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
  }

  .member-hub .hub-view[data-hub-view="overview"] #loadCourseInsights {
    grid-column: 1 / -1;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat {
    min-height: 92px;
    border-right: 1px solid rgba(213, 232, 247, .17) !important;
    border-bottom: 0 !important;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat:last-child {
    border-right: 0 !important;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-courses {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .member-hub .hub-profile-controls-card .hub-form-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 22px;
  }

  .member-hub .hub-profile-controls-card .hub-form-grid > label {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

@media (max-width: 760px) {
  .member-hub .hub-view[data-hub-view="overview"] {
    padding: 24px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card {
    min-height: 132px;
    border-right: 1px solid var(--hub-editorial-line);
    border-bottom: 1px solid var(--hub-editorial-line);
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card:nth-child(even) {
    border-right: 0;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-card + .hub-card {
    padding-top: 44px;
  }
}

@media (max-width: 620px) {
  .member-hub .hub-view[data-hub-view="overview"] .hub-card-heading h2 {
    font-size: clamp(31px, 10vw, 46px);
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-filter-row,
  .member-hub .hub-view[data-hub-view="overview"] .hub-final-summary,
  .member-hub .hub-view[data-hub-view="overview"] .hub-final-courses {
    grid-template-columns: minmax(0, 1fr);
  }

  .member-hub .hub-view[data-hub-view="overview"] #loadCourseInsights {
    grid-column: 1;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-chart-row {
    grid-template-columns: minmax(0, 1fr) 48px;
    gap: 8px 14px;
    padding: 18px 0;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-chart-label {
    grid-column: 1 / -1;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat {
    min-height: 100px;
    border-right: 1px solid rgba(213, 232, 247, .17) !important;
    border-bottom: 1px solid rgba(213, 232, 247, .17) !important;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat:nth-child(even) {
    border-right: 0 !important;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-final-stat:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }

  .hub-final-course-heading {
    display: block;
  }

  .hub-final-course-heading span {
    display: block;
    margin-top: 8px;
  }
}

@media (max-width: 430px) {
  .member-hub .hub-view[data-hub-view="overview"] {
    padding: 20px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card {
    min-height: 122px;
    padding-inline: 14px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > b {
    font-size: 32px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > small {
    display: none;
  }

  .hub-insight-controls,
  .hub-final-overview {
    padding: 22px;
    border-radius: 24px 24px 54px 24px;
  }

  .member-hub .hub-profile-controls-card .hub-toggle-label {
    min-height: 84px;
    gap: 16px;
  }
}

/* Keep typed and loaded conversation text legible across browser themes. */
.member-hub #chatMessageInput,
.member-hub .hub-comment-form input {
  color: var(--hub-editorial-ink) !important;
  -webkit-text-fill-color: var(--hub-editorial-ink) !important;
  caret-color: var(--cc-control-blue);
  opacity: 1;
  font-family: inherit;
  font-size: 13.5px;
}

.member-hub #chatMessageInput::placeholder,
.member-hub .hub-comment-form input::placeholder {
  color: #66788a !important;
  -webkit-text-fill-color: #66788a !important;
  opacity: 1;
}

.member-hub #chatMessageInput:disabled {
  color: #71808f !important;
  -webkit-text-fill-color: #71808f !important;
  background: #e7edf2 !important;
  border-color: rgba(7, 29, 50, .1) !important;
  cursor: not-allowed;
}

.member-hub .hub-comment-form input:disabled {
  opacity: .72;
  cursor: progress;
}

.member-hub .hub-comment-copy > span,
.member-hub .hub-message:not(.mine) {
  color: var(--hub-editorial-ink);
  -webkit-text-fill-color: currentColor;
  opacity: 1;
  visibility: visible;
}

.member-hub .hub-comment-school {
  display: block;
  margin-top: 2px;
  color: #5e7182;
  font-size: 9.5px;
  font-weight: 680;
}

.member-hub .hub-message.mine {
  color: #fff;
  -webkit-text-fill-color: #fff;
}

.member-hub .hub-comment-empty {
  padding: 4px 2px;
  font-weight: 650;
}

/* Cross-Hub density corrections found during the full component audit. */
.member-hub:is(
  [data-active-view="overview"],
  [data-active-view="messages"],
  [data-active-view="profile"]
) .hub-page-header {
  min-height: 240px;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, .82fr);
  gap: clamp(28px, 4vw, 56px);
  margin-bottom: clamp(28px, 3.5vw, 42px);
  padding-block: 22px;
}

.member-hub:is(
  [data-active-view="overview"],
  [data-active-view="messages"],
  [data-active-view="profile"]
) .hub-page-header h1 {
  font-size: clamp(40px, 4.8vw, 66px);
}

.member-hub:is(
  [data-active-view="overview"],
  [data-active-view="messages"],
  [data-active-view="profile"]
) .hub-hero-art {
  height: clamp(190px, 22vw, 260px);
  border-radius: 32px 92px 38px 74px;
}

.member-hub .hub-view[data-hub-view="profile"] .hub-form-grid,
.member-hub .hub-view[data-hub-view="profile"] .hub-social-list {
  gap: 22px clamp(20px, 3vw, 34px);
}

.member-hub .hub-view[data-hub-view="profile"] .hub-provider-connection {
  padding: 20px;
}

@media (max-width: 1180px) {
  .member-hub[data-active-view="marketplace"] .market-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .member-hub[data-active-view="community"] .hub-community-stream .hub-feed {
    grid-template-columns: minmax(0, 1fr);
  }

  .member-hub[data-active-view="marketplace"] .market-discovery-bar {
    position: static;
    top: auto;
  }

  .member-hub:is(
    [data-active-view="overview"],
    [data-active-view="messages"],
    [data-active-view="profile"]
  ) .hub-page-header {
    grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr);
  }
}

@media (max-width: 700px) {
  .member-hub:is(
    [data-active-view="overview"],
    [data-active-view="messages"],
    [data-active-view="profile"]
  ) .hub-page-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .member-hub:is(
    [data-active-view="overview"],
    [data-active-view="messages"],
    [data-active-view="profile"]
  ) .hub-hero-art {
    height: clamp(190px, 56vw, 245px);
    min-height: 0;
  }

  .member-hub .hub-card-heading p {
    margin-left: 0;
  }

  .member-hub .hub-chat-layout {
    height: clamp(500px, 72svh, 640px);
    min-height: 0;
  }
}

@media (max-width: 760px) {
  .member-hub[data-active-view="marketplace"] .market-rail {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Keep every Student Hub destination focused on one page title. The translated
   eyebrow and explanatory caption remain available to the application state,
   but no longer occupy visual space in any language. */
.member-hub .hub-page-header .hub-kicker,
.member-hub .hub-page-header .hub-page-header-copy > p:not(.hub-kicker) {
  display: none !important;
}

.member-hub .hub-page-header-copy {
  display: flex;
  align-items: center;
}

/* Remove the small editorial captions highlighted by the user while keeping
   actionable control values and safety disclosures intact. Filter captions
   remain available to screen readers as accessible field names. */
.member-hub .hub-card-heading > p,
.member-hub .hub-section-heading > p,
.member-hub .hub-section-heading .hub-kicker,
.member-hub .hub-final-course-heading > span,
.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > small,
.member-hub .hub-view[data-hub-view="overview"] .hub-chart-empty > span {
  display: none !important;
}

.member-hub .hub-insight-controls .hub-filter-row label > span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card-heading {
  grid-template-columns: minmax(0, 1fr);
}

/* --------------------------------------------------------------------------
   Post-caption hierarchy and rhythm
   Removing the editorial captions should make the Hub calmer, not leave the
   space they used to occupy behind. This layer closes those gaps and lets the
   remaining titles, selected values, results and schedule facts carry the UI.
   -------------------------------------------------------------------------- */

.member-hub .hub-page-header-copy {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 0;
}

.member-hub .hub-page-header-copy::after {
  content: "";
  width: clamp(58px, 7vw, 104px);
  height: 5px;
  margin-top: clamp(16px, 2vw, 24px);
  background: linear-gradient(90deg, var(--hub-editorial-gold), #74c8f3);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(116, 200, 243, .18);
}

.member-hub .hub-page-header h1,
.member-hub[data-active-view="community"] .hub-page-header h1,
.member-hub[data-active-view="marketplace"] .hub-page-header h1 {
  font-weight: 820;
  line-height: .94;
  text-shadow: 0 14px 34px rgba(0, 0, 0, .2);
}

.member-hub .hub-card-heading {
  min-height: 0;
  align-items: flex-end;
  gap: 0;
  margin-bottom: clamp(20px, 2.5vw, 32px);
}

.member-hub .hub-card-heading > div {
  min-width: 0;
  display: block;
}

.member-hub :is(
  .hub-card-heading h2,
  .hub-section-heading h2,
  .market-results-heading h2
) {
  color: var(--hub-editorial-ink);
  font-weight: 820;
  line-height: 1;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.member-hub .hub-section-heading {
  min-height: 0;
  margin-bottom: 20px;
  padding: 8px clamp(6px, 1vw, 14px) 18px;
}

.member-hub :is(
  .hub-feed-toolbar > b,
  .hub-rail-card-heading > b,
  .hub-message-heading b,
  .hub-final-course-heading h3
) {
  color: var(--hub-editorial-ink);
  font-weight: 800;
}

/* Academic overview: compact the summary strip after its captions were
   removed, and keep every surviving label strong enough to explain its value. */
.member-hub .hub-view[data-hub-view="overview"] .hub-metric-grid {
  margin-bottom: clamp(38px, 4.5vw, 56px);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card {
  min-height: 116px;
  padding-block: 20px;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > b {
  margin-bottom: 10px;
  font-weight: 830;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > span {
  color: #38536c;
  font-size: 11px;
  font-weight: 820;
  letter-spacing: .09em;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-overview-grid {
  gap: 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card + .hub-card {
  padding-top: clamp(42px, 5vw, 64px);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card-heading {
  margin-bottom: clamp(24px, 3vw, 36px);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-card-heading h2 {
  max-width: 22ch;
  font-size: clamp(30px, 4vw, 54px);
  font-weight: 830;
  line-height: .98;
}

/* The filters and their outcome read as a single configurator. The labels stay
   available to assistive technology; the selected values become the visible
   hierarchy requested for the caption-free design. */
.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row {
  gap: 14px;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row label {
  min-width: 0;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select {
  min-height: 56px !important;
  color: #f7fbff !important;
  background-color: rgba(255, 255, 255, .075) !important;
  border-color: rgba(139, 216, 255, .3);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  font-size: 14px !important;
  font-weight: 760 !important;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select:focus {
  border-color: rgba(139, 216, 255, .78);
  box-shadow: 0 0 0 4px rgba(139, 216, 255, .13);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-filter-row select option {
  color: var(--hub-editorial-ink);
  background: #fff;
}

.member-hub .hub-view[data-hub-view="overview"] #loadCourseInsights {
  min-height: 56px;
  font-size: 14px;
  font-weight: 820;
}

.hub-insight-result {
  min-height: 286px;
  justify-content: center;
  padding: 18px 0 18px clamp(30px, 4vw, 54px);
  border-left: 1px solid var(--hub-editorial-line);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart {
  min-height: 250px;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-empty {
  max-width: 580px;
  padding: clamp(24px, 4vw, 48px);
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-empty > b {
  max-width: 25ch;
  margin: 0 auto;
  color: var(--hub-editorial-ink);
  font-size: clamp(22px, 2.6vw, 32px);
  font-weight: 820;
  line-height: 1.18;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-chart-label b,
.member-hub .hub-view[data-hub-view="overview"] .hub-chart-value {
  font-weight: 800;
}

.member-hub .hub-view[data-hub-view="overview"] #courseInsightStatus:not(:empty) {
  width: fit-content;
  max-width: 100%;
  margin-top: 18px;
  padding: 8px 12px;
  color: #38536c;
  background: #eaf0f4;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.4;
}

.member-hub .hub-view[data-hub-view="overview"] #courseInsightStatus.error:not(:empty) {
  color: #922331;
  background: #fbe9ec;
}

.member-hub .hub-view[data-hub-view="overview"] #courseInsightStatus.success:not(:empty) {
  color: #08684d;
  background: #e5f5ef;
}

/* Final record: facts lead, supporting rows stay quiet, and the heading no
   longer keeps space for the deleted semester caption. */
.hub-final-course-heading {
  justify-content: flex-start;
  margin-bottom: 20px;
}

.hub-final-course-heading h3 {
  font-size: clamp(23px, 2.5vw, 32px);
  font-weight: 820;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-stat b {
  font-weight: 830;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-stat span {
  color: rgba(235, 245, 252, .76);
  font-size: 10.5px;
  font-weight: 780;
  letter-spacing: .065em;
}

.member-hub .hub-view[data-hub-view="overview"] #overviewOpenTimetable {
  font-size: 13px;
  font-weight: 820;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-course b {
  font-size: 16px;
  font-weight: 780;
}

.member-hub .hub-view[data-hub-view="overview"] .hub-final-course > span {
  font-size: 12px;
  font-weight: 820;
}

.member-hub :is(.hub-feed-empty, .hub-message-empty, .hub-final-empty) {
  color: var(--hub-editorial-ink);
  font-size: 13.5px;
  font-weight: 720;
  line-height: 1.55;
}

.member-hub .hub-final-empty {
  font-size: 15px;
}

@media (max-width: 860px) {
  .hub-insight-result {
    min-height: 240px;
    padding: 30px 0 0;
    border-top: 1px solid var(--hub-editorial-line);
    border-left: 0;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-chart {
    min-height: 220px;
  }
}

@media (max-width: 700px) {
  .member-hub:is(
    [data-active-view="overview"],
    [data-active-view="messages"],
    [data-active-view="profile"]
  ) .hub-page-header {
    margin-bottom: 24px;
  }

  .member-hub .hub-page-header-copy::after {
    height: 4px;
    margin-top: 14px;
  }
}

@media (max-width: 620px) {
  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-grid {
    margin-bottom: 36px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-card-heading {
    margin-bottom: 24px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-card-heading h2 {
    max-width: 18ch;
    font-size: clamp(30px, 9vw, 42px);
  }

  .hub-insight-result {
    min-height: 210px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-chart-empty {
    padding-inline: 6px;
  }
}

@media (max-width: 430px) {
  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card {
    min-height: 104px;
    padding-block: 17px;
  }

  .member-hub .hub-view[data-hub-view="overview"] .hub-metric-card > span {
    font-size: 10.5px;
  }
}

/* --------------------------------------------------------------------------
   Frameless masthead
   The account utilities and primary destinations sit directly on the navy
   field. These final rules intentionally close the cascade so legacy glass-
   card declarations cannot restore an enclosing header box.
   -------------------------------------------------------------------------- */

#landingScreen .header-row,
body.app-active #landingScreen .header-row {
  padding-inline: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.app-active #landingScreen {
  padding-top: 10px;
  padding-bottom: 16px;
  border: 0;
  background: linear-gradient(180deg, rgba(4, 17, 31, .97) 0%, rgba(4, 17, 31, .9) 72%, rgba(4, 17, 31, .72) 100%);
  box-shadow: none;
}

body.app-active #landingScreen .brand {
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  transition: opacity .2s ease, transform .2s ease;
}

body.app-active #landingScreen .brand:hover {
  border: 0;
  background: transparent;
  opacity: .84;
  transform: translateY(-1px);
}

body.app-active #landingScreen .primary-navigation {
  gap: clamp(22px, 3vw, 42px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.app-active #landingScreen .primary-navigation-button {
  position: relative;
  min-height: 42px;
  min-width: 0;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  color: rgba(229, 239, 248, .62);
  background: transparent;
  box-shadow: none;
}

body.app-active #landingScreen .primary-navigation-button::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 3px;
  left: 50%;
  height: 2px;
  border-radius: 999px;
  background: var(--cc-control-sky);
  opacity: 0;
  transition: right .24s ease, left .24s ease, opacity .2s ease;
}

body.app-active #landingScreen .primary-navigation-button:hover:not(:disabled) {
  color: #fff;
  background: transparent;
}

body.app-active #landingScreen .primary-navigation-button:hover:not(:disabled)::after,
body.app-active #landingScreen .primary-navigation-button[aria-current="page"]::after {
  right: 0;
  left: 0;
  opacity: 1;
}

body.app-active #landingScreen .primary-navigation-button[aria-current="page"] {
  color: #fff;
  background: transparent;
  box-shadow: none;
}

#landingScreen .auth-bar :is(.btn-primary, .btn-ghost),
body.app-active #landingScreen #signOutBtn {
  min-height: 40px;
  padding-inline: 10px;
  border: 0;
  border-radius: 0;
  color: rgba(241, 247, 252, .76);
  background: transparent;
  box-shadow: none;
}

#landingScreen .auth-bar .btn-primary {
  color: var(--gold-300);
  background: transparent;
  border: 0;
}

#landingScreen .auth-bar :is(.btn-primary, .btn-ghost):hover {
  color: #fff;
  background: transparent;
  border: 0;
  box-shadow: inset 0 -2px 0 rgba(139, 216, 255, .7);
}

#landingScreen .language-control,
body.app-active #landingScreen .language-control {
  min-width: 132px;
  min-height: 40px;
  height: 40px;
  padding: 0 2px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  color: rgba(240, 247, 252, .84);
  background: transparent;
  box-shadow: none;
}

#landingScreen .language-control::before {
  display: none;
}

#landingScreen .language-control::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1px;
  left: 0;
  height: 1px;
  background: rgba(139, 216, 255, .3);
  transform: scaleX(.34);
  transform-origin: left;
  transition: background-color .22s ease, transform .22s ease;
}

#landingScreen .language-control:hover,
#landingScreen .language-control:focus-within {
  border: 0;
  color: #fff;
  background: transparent;
  box-shadow: none;
}

#landingScreen .language-control:hover::after,
#landingScreen .language-control:focus-within::after {
  background: var(--cc-control-sky);
  transform: scaleX(1);
}

#landingScreen .language-icon {
  width: 29px;
  height: 29px;
  flex-basis: 29px;
  color: var(--sky-300);
  background: transparent;
  box-shadow: none;
}

#landingScreen .language-select {
  color: rgba(244, 249, 252, .9);
}

body.app-active #landingScreen :is(
  .primary-navigation-button,
  #signOutBtn,
  .brand
):focus-visible,
#landingScreen .auth-bar :is(.btn-primary, .btn-ghost):focus-visible,
#landingScreen .language-control:focus-within {
  outline: 2px solid rgba(139, 216, 255, .86);
  outline-offset: 4px;
}

@media (max-width: 760px) {
  body.app-active #landingScreen {
    padding-bottom: 12px;
  }

  body.app-active #landingScreen .primary-navigation {
    justify-content: center;
    gap: clamp(24px, 12vw, 68px);
    padding-top: 2px;
  }
}

@media (max-width: 480px) {
  #landingScreen .language-control,
  body.app-active #landingScreen .language-control {
    width: 38px;
    min-width: 38px;
    padding: 0 4px;
    overflow: hidden;
  }

  #landingScreen .language-control::after {
    right: 4px;
    left: 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.app-active #landingScreen .brand,
  body.app-active #landingScreen .primary-navigation-button::after,
  #landingScreen .language-control::after {
    transition: none !important;
  }
}

/* --------------------------------------------------------------------------
   Edge-free cinematic product language
   Final cascade: large areas dissolve into their surrounding scene.  Explicit
   boundaries are reserved for editable fields, decisive actions, the calendar
   grid, message bubbles and modal dialogs.
   -------------------------------------------------------------------------- */

/* Planner: chapters separated by rhythm and light instead of stacked cards. */
body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav {
  z-index: 70;
  padding: 0;
  overflow: visible;
  isolation: isolate;
  background:
    linear-gradient(90deg,
      rgba(235, 243, 249, .985) 0%,
      rgba(250, 252, 252, .995) 16%,
      rgba(255, 253, 248, .995) 84%,
      rgba(241, 246, 248, .985) 100%);
  border: 0;
  border-bottom: 1px solid rgba(7, 29, 50, .15);
  border-radius: 0;
  box-shadow: 0 18px 30px -28px rgba(7, 29, 50, .62);
  backdrop-filter: blur(18px) saturate(118%);
  -webkit-backdrop-filter: blur(18px) saturate(118%);
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a {
  min-height: 52px;
  padding: 12px 2px 14px;
  color: #52677a;
  background: transparent;
  border: 0;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a + a {
  margin-left: clamp(24px, 5vw, 70px);
  border-left: 0;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a span {
  display: none;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a:hover,
body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a:focus-visible {
  color: var(--navy-950);
  background: transparent;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .panel {
  margin: 0 !important;
  padding: clamp(42px, 5vw, 70px) clamp(22px, 3.4vw, 42px);
  scroll-margin-top: 84px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .panel:hover {
  box-shadow: none;
}

/* Planner chapters are atmospheric light fields rather than outlined cards.
   The distinct temperatures keep long scrolling forms easy to locate while
   every edge still dissolves into the surrounding workspace. */
body.app-active:not(.schedule-active):not(.hub-active) #courseBuilderPanel {
  background:
    radial-gradient(ellipse 118% 104% at 34% 47%,
      rgba(235, 247, 255, .99) 0 52%,
      rgba(217, 237, 252, .9) 72%,
      rgba(197, 225, 248, .28) 91%,
      transparent 100%);
}

body.app-active:not(.schedule-active):not(.hub-active) #semesterPanel {
  background:
    radial-gradient(ellipse 118% 104% at 66% 46%,
      rgba(255, 252, 238, .995) 0 50%,
      rgba(251, 239, 202, .9) 72%,
      rgba(239, 204, 126, .25) 91%,
      transparent 100%);
}

body.app-active:not(.schedule-active):not(.hub-active) :is(#courseBuilderPanel, #semesterPanel) .panel-heading h2::after {
  content: "";
  width: clamp(54px, 6vw, 86px);
  height: 4px;
  display: block;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2f6df6, #83d4f5);
  box-shadow: 0 7px 18px rgba(47, 109, 246, .16);
}

body.app-active:not(.schedule-active):not(.hub-active) #semesterPanel .panel-heading h2::after {
  background: linear-gradient(90deg, #bd811c, var(--cc-control-gold));
  box-shadow: 0 7px 18px rgba(189, 129, 28, .14);
}

.configurator-column .panel-index,
#wishlistPanel .panel-index,
#timetablePanel .panel-index {
  display: none !important;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .panel-heading {
  margin-bottom: clamp(30px, 4vw, 46px);
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .panel-heading h2 {
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 820;
  line-height: .98;
  letter-spacing: -.045em;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .choice {
  min-height: 58px;
  padding: 15px 12px;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(7, 29, 50, .14);
  border-radius: 0;
  box-shadow: none;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .choice:hover {
  background: linear-gradient(90deg, rgba(47, 109, 246, .06), transparent 72%);
  border-color: rgba(47, 109, 246, .34);
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .choice.sel {
  color: var(--navy-950);
  background: linear-gradient(90deg, rgba(47, 109, 246, .13), transparent 78%);
  border-color: rgba(47, 109, 246, .42);
  box-shadow: inset 4px 0 0 var(--cc-control-blue);
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .choice.sel :is(.c-txt, .c-txt b, .c-eg) {
  color: var(--navy-950);
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .prefs label.chk {
  margin: 0;
  padding: 15px 4px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(7, 29, 50, .13);
  border-radius: 0;
  box-shadow: none;
}

body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .prefs label.chk:hover,
body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .prefs label.chk:has(input:checked) {
  background: linear-gradient(90deg, rgba(47, 109, 246, .08), transparent 72%);
  border-color: rgba(47, 109, 246, .3);
  box-shadow: inset 4px 0 0 var(--cc-control-blue);
}

/* The saved outcome is a navy pool of light, not a floating rectangle. */
body.app-active:not(.schedule-active):not(.hub-active) #wishlistPanel {
  padding: clamp(34px, 4.5vw, 58px);
  overflow: visible;
  background: radial-gradient(ellipse 104% 96% at 48% 46%,
    rgba(9, 35, 60, .995) 0 58%,
    rgba(4, 22, 39, .96) 74%,
    rgba(4, 22, 39, .32) 92%,
    transparent 100%);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.app-active:not(.schedule-active):not(.hub-active) #wishlistPanel:hover {
  box-shadow: none;
}

#wishlistPanel .wishlist-profile {
  padding-inline: 0;
  background: transparent;
  border: 0;
  border-block: 1px solid rgba(139, 216, 255, .17);
  border-radius: 0;
  box-shadow: none;
}

/* Full timetable: keep the calendar legible, dissolve only its outer sheet. */
body.schedule-active #schedulePage #timetablePanel {
  padding: clamp(28px, 4vw, 58px) clamp(24px, 4.5vw, 64px);
  background: linear-gradient(90deg,
    transparent 0,
    rgba(249, 251, 253, .86) 3%,
    rgba(255, 255, 255, .99) 9%,
    rgba(255, 255, 255, .99) 91%,
    rgba(249, 251, 253, .84) 97%,
    transparent 100%);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.schedule-active #schedulePage #timetablePanel::before { display: none; }

body.schedule-active #schedulePage .stat-row {
  gap: 0;
  border-block: 1px solid rgba(7, 29, 50, .12);
}

body.schedule-active #schedulePage .stat {
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(7, 29, 50, .12);
  border-radius: 0;
  box-shadow: none;
}

body.schedule-active #schedulePage .stat:last-child { border-right: 0; }

body.schedule-active #schedulePage .alt-list {
  gap: clamp(18px, 3vw, 34px);
  padding: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(7, 29, 50, .14);
  border-radius: 0;
}

body.schedule-active #schedulePage .alt-btn {
  position: relative;
  padding-inline: 0;
  color: #52677a;
  background: transparent;
  border-radius: 0;
}

body.schedule-active #schedulePage .alt-btn:hover,
body.schedule-active #schedulePage .alt-btn.active,
body.schedule-active #schedulePage .alt-btn[aria-pressed="true"] {
  color: var(--navy-950);
  background: transparent;
  box-shadow: inset 0 -3px 0 var(--cc-control-gold);
}

body.schedule-active #schedulePage .color-bar {
  gap: clamp(16px, 2.5vw, 30px);
  padding: 12px 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-block: 1px solid rgba(7, 29, 50, .13);
  border-radius: 0;
  box-shadow: none;
}

body.schedule-active #schedulePage .color-bar .cm-label {
  align-self: center;
  padding: 0;
  color: #52677a;
  background: transparent;
}

body.schedule-active #schedulePage .color-bar .cm-opt {
  min-height: 38px;
  padding: 8px 0;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
}

body.schedule-active #schedulePage .color-bar .cm-opt:has(input:checked) {
  color: var(--navy-950);
  background: transparent;
  border-bottom-color: var(--cc-control-gold);
  box-shadow: none;
}

body.schedule-active .final-timetable-bar {
  padding: clamp(32px, 4vw, 48px) clamp(28px, 4vw, 50px);
  background: radial-gradient(ellipse 96% 92% at center,
    rgba(9, 35, 60, .99) 0 58%,
    rgba(4, 22, 39, .94) 76%,
    rgba(4, 22, 39, .24) 94%,
    transparent 100%);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Close the later cascade around every Hub destination. */
.member-hub .hub-sidebar {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: inset 0 -1px 0 rgba(139, 216, 255, .18) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.member-hub .hub-hero-art {
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.member-hub .hub-view[data-hub-view="overview"],
.member-hub .hub-view[data-hub-view="messages"],
.member-hub .hub-view[data-hub-view="profile"] {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.member-hub[data-active-view="community"] :is(
  .hub-community-stream,
  .hub-community-discovery,
  .hub-compose-card,
  .hub-feed-toolbar,
  .hub-post-card,
  .hub-community-rail
),
.member-hub[data-active-view="marketplace"] :is(
  .market-discovery-bar,
  .market-catalogue,
  .market-rail,
  .marketplace-card
) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.member-hub[data-active-view="community"] .hub-community-stream,
.member-hub[data-active-view="marketplace"] .market-catalogue {
  border: 0 !important;
}

.member-hub[data-active-view="community"] .hub-community-discovery,
.member-hub[data-active-view="community"] .hub-compose-card,
.member-hub[data-active-view="community"] .hub-feed-toolbar,
.member-hub[data-active-view="community"] .hub-post-card,
.member-hub[data-active-view="marketplace"] .market-discovery-bar,
.member-hub[data-active-view="marketplace"] .marketplace-card {
  background-color: transparent !important;
  box-shadow: none !important;
}

.member-hub[data-active-view="marketplace"] .market-catalogue {
  background: linear-gradient(90deg,
    transparent 0,
    rgba(248, 245, 237, .76) 3%,
    rgba(255, 253, 248, .985) 10% 90%,
    rgba(248, 245, 237, .74) 97%,
    transparent 100%) !important;
}

.member-hub[data-active-view="marketplace"] .market-rail,
.member-hub[data-active-view="community"] .hub-community-rail {
  background: linear-gradient(90deg,
    transparent,
    rgba(255, 253, 248, .94) 12%,
    rgba(255, 253, 248, .98) 86%,
    transparent) !important;
  border: 0 !important;
}

.member-hub[data-active-view="community"] .hub-rail-link {
  padding: 16px 2px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(7, 29, 50, .13);
  border-radius: 0;
  box-shadow: none;
}

.member-hub[data-active-view="community"] .hub-rail-link:hover,
.member-hub[data-active-view="community"] .hub-rail-link.active,
.member-hub[data-active-view="community"] .hub-rail-link[aria-pressed="true"] {
  background: linear-gradient(90deg, rgba(47, 109, 246, .07), transparent 76%);
  border-bottom-color: rgba(47, 109, 246, .32);
  box-shadow: inset 3px 0 0 var(--cc-control-blue);
}

.member-hub[data-active-view="community"] .hub-rail-link i {
  transition: color .2s ease, transform .22s cubic-bezier(.2, .8, .2, 1);
}

.member-hub[data-active-view="community"] .hub-rail-link:hover i,
.member-hub[data-active-view="community"] .hub-rail-link:focus-visible i {
  color: var(--cc-control-blue);
  transform: translateX(5px);
}

/* Global marketplace message context: secondary, but unmistakably distinct
   from both the username and the latest message. */
.member-hub .hub-conversation-context {
  min-width: 0;
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: #3979a6 !important;
  font-size: 9px !important;
  font-weight: 760;
  letter-spacing: .015em;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.member-hub .hub-conversation-context::before {
  content: "";
  width: 5px;
  height: 5px;
  display: inline-block;
  margin-right: 6px;
  vertical-align: 1px;
  background: var(--hub-editorial-gold, #e9b84c);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(233, 184, 76, .12);
}

.member-hub .hub-conversation-button.active .hub-conversation-context {
  color: #bfe6ff !important;
}

.member-hub .hub-poll-readonly-note {
  display: block;
  max-width: 52ch;
  margin-top: 12px;
  color: rgba(8, 34, 58, .66);
  font-size: 11px;
  font-weight: 690;
  letter-spacing: .012em;
  line-height: 1.55;
}

.member-hub .hub-poll-readonly-note::before {
  content: "";
  width: 16px;
  height: 1px;
  display: inline-block;
  margin: 0 8px 3px 0;
  background: var(--hub-editorial-gold, #e9b84c);
}

/* Selection motion is a short light trace, never a bounce. */
#landingScreen .language-icon {
  position: relative;
  transform-origin: center;
  transition: color .2s ease, filter .24s ease, transform .24s cubic-bezier(.2, .8, .2, 1);
}

#landingScreen .language-icon::after {
  content: "";
  position: absolute;
  inset: -3px;
  border: 1px solid rgba(139, 216, 255, .45);
  border-top-color: var(--cc-control-gold);
  border-radius: 50%;
  opacity: 0;
  transform: rotate(-48deg) scale(.72);
  pointer-events: none;
}

#landingScreen .language-control:focus-within .language-icon::after {
  animation: cc-language-orbit .62s cubic-bezier(.2, .75, .2, 1) both;
}

#landingScreen .language-control:active .language-icon {
  color: #fff;
  filter: drop-shadow(0 0 10px rgba(139, 216, 255, .42));
  transform: scale(.9) rotate(-10deg);
}

.member-hub .hub-avatar-button .hub-avatar-edit-badge {
  transform-origin: 50% 50%;
  transition: filter .2s ease, transform .24s cubic-bezier(.2, .8, .2, 1);
}

.member-hub .hub-avatar-button:hover .hub-avatar-edit-badge,
.member-hub .hub-avatar-button:focus-visible .hub-avatar-edit-badge {
  filter: drop-shadow(0 0 8px rgba(233, 184, 76, .55));
  transform: rotate(-8deg) scale(1.08);
}

.member-hub .hub-avatar-button:active .hub-avatar-edit-badge {
  transform: rotate(10deg) scale(.86);
}

.member-hub .hub-nav-button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 34px;
  margin: -17px;
  background: radial-gradient(circle, rgba(139, 216, 255, .22), transparent 70%);
  border-radius: 50%;
  opacity: 0;
  transform: scale(.35);
  pointer-events: none;
}

.member-hub .hub-nav-button:active::before,
.member-hub .hub-nav-button.active::before,
.member-hub .hub-nav-button[aria-current="page"]::before {
  animation: cc-control-glint .42s ease-out both;
}

:is(
  .member-hub .hub-nav-button,
  .member-hub .hub-campus-scope button,
  .member-hub .hub-topic-chip,
  .member-hub .market-scope-button,
  .member-hub .market-mode-tabs > button,
  body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a,
  body.schedule-active #schedulePage .alt-btn
) {
  transition: color .18s ease, opacity .18s ease, transform .18s ease, border-color .18s ease;
}

:is(
  .member-hub .hub-nav-button,
  .member-hub .hub-campus-scope button,
  .member-hub .hub-topic-chip,
  .member-hub .market-scope-button,
  .member-hub .market-mode-tabs > button,
  body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a,
  body.schedule-active #schedulePage .alt-btn
):active {
  opacity: .82;
  transform: translateY(1px) scale(.985);
}

:is(
  .member-hub .hub-campus-scope button.active,
  .member-hub .hub-campus-scope button[aria-pressed="true"],
  .member-hub .hub-topic-chip.active,
  .member-hub .hub-topic-chip[aria-pressed="true"],
  .member-hub .market-scope-button.active,
  .member-hub .market-scope-button[aria-pressed="true"],
  .member-hub .market-mode-tabs > button.active,
  .member-hub .market-mode-tabs > button[aria-selected="true"],
  body.schedule-active #schedulePage .alt-btn.active,
  body.schedule-active #schedulePage .alt-btn[aria-pressed="true"]
)::after {
  animation: cc-selection-trace .38s cubic-bezier(.2, .8, .2, 1) both;
  transform-origin: left;
}

@keyframes cc-control-glint {
  0% { opacity: 0; transform: scale(.35); }
  42% { opacity: .95; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.55); }
}

@keyframes cc-language-orbit {
  0% { opacity: 0; transform: rotate(-48deg) scale(.72); }
  38% { opacity: .9; }
  100% { opacity: 0; transform: rotate(312deg) scale(1.12); }
}

@keyframes cc-selection-trace {
  from { opacity: .15; transform: scaleX(.08); }
  to { opacity: 1; transform: scaleX(1); }
}

/* On the single-column planner the app bar and chapter rail are both sticky.
   Reserve their full combined height for anchor jumps and make the rail field
   opaque enough that labels never read through it while the form scrolls. */
@media (max-width: 1050px) {
  body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav {
    top: var(--app-bar-offset);
    margin-bottom: clamp(18px, 3vw, 28px);
    padding-inline: clamp(12px, 3vw, 24px);
    background:
      linear-gradient(90deg,
        rgba(232, 242, 249, .995),
        rgba(252, 253, 251, 1) 15% 85%,
        rgba(240, 246, 248, .995));
    box-shadow:
      0 1px 0 rgba(7, 29, 50, .1),
      0 18px 30px -25px rgba(7, 29, 50, .56);
  }

  body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .panel {
    scroll-margin-top: calc(var(--app-bar-offset) + 84px);
  }
}

@media (max-width: 700px) {
  body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav {
    column-gap: clamp(18px, 7vw, 34px);
    padding-inline: clamp(14px, 5vw, 24px);
  }

  body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a {
    min-width: 0;
    padding-inline: 4px;
  }

  body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a + a {
    margin-left: 0;
  }

  body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .panel {
    padding: 38px clamp(17px, 5vw, 25px);
  }

  body.app-active:not(.schedule-active):not(.hub-active) #wishlistPanel,
  body.schedule-active #schedulePage #timetablePanel {
    padding-inline: 18px;
  }

  .member-hub[data-active-view="marketplace"] .market-catalogue {
    background: linear-gradient(90deg,
      rgba(248, 245, 237, .78),
      rgba(255, 253, 248, .99) 5% 95%,
      rgba(248, 245, 237, .78)) !important;
  }
}

@media (max-height: 840px) and (max-width: 1050px) {
  body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav {
    position: relative;
    top: auto;
  }

  body.app-active:not(.schedule-active):not(.hub-active) .configurator-column .panel {
    scroll-margin-top: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .member-hub .hub-nav-button,
    .member-hub .hub-campus-scope button,
    .member-hub .hub-topic-chip,
    .member-hub .market-scope-button,
    .member-hub .market-mode-tabs > button,
    .member-hub .hub-rail-link i,
    body.app-active:not(.schedule-active):not(.hub-active) .configurator-nav a,
    body.schedule-active #schedulePage .alt-btn
  ),
  :is(
    .member-hub .hub-nav-button,
    .member-hub .hub-campus-scope button,
    .member-hub .hub-topic-chip,
    .member-hub .market-scope-button,
    .member-hub .market-mode-tabs > button,
    body.schedule-active #schedulePage .alt-btn
  )::after,
  .member-hub .hub-nav-button::before,
  #landingScreen .language-icon,
  #landingScreen .language-icon::after,
  .member-hub .hub-avatar-button .hub-avatar-edit-badge {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@media (forced-colors: active) {
  body.app-active:not(.schedule-active):not(.hub-active) #wishlistPanel,
  body.schedule-active #schedulePage #timetablePanel,
  .member-hub .hub-view,
  .member-hub .hub-community-stream,
  .member-hub .market-catalogue {
    background: Canvas !important;
    border: 1px solid CanvasText !important;
  }
}

/* Final component lock: these rules intentionally follow every historical
   Hub skin so the responsive identity rail and destination map cannot be
   reverted by an older, more card-like cascade. */
.member-hub[data-active-view="community"] .hub-community-layout {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 378px);
}

.member-hub[data-active-view="community"] .hub-community-rail {
  position: sticky;
  top: calc(var(--app-bar-offset) + 24px);
  display: block;
  padding: clamp(18px, 2.4vw, 30px) clamp(8px, 1.8vw, 22px) clamp(28px, 3vw, 40px);
  color: rgba(246, 249, 252, .94);
  background: radial-gradient(ellipse 118% 52% at 0 10%, rgba(84, 171, 226, .15), transparent 72%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.member-hub[data-active-view="community"] .hub-rail-card,
.member-hub[data-active-view="community"] .hub-community-rail > :not(.hub-rail-links) {
  display: block !important;
  color: inherit;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.member-hub[data-active-view="community"] .hub-rail-link {
  color: rgba(246, 249, 252, .92);
  background: transparent;
  border-bottom-color: rgba(205, 226, 246, .14);
}

.member-hub[data-active-view="community"] .hub-rail-link:hover,
.member-hub[data-active-view="community"] .hub-rail-link.active,
.member-hub[data-active-view="community"] .hub-rail-link[aria-pressed="true"] {
  color: #fff;
  background: linear-gradient(90deg, rgba(139, 216, 255, .12), transparent 80%);
  border-bottom-color: rgba(139, 216, 255, .36);
  box-shadow: inset 3px 0 0 var(--cc-control-sky);
}

.member-hub[data-active-view="community"] .hub-rail-link i { color: var(--cc-control-gold); }

@media (max-width: 1180px) {
  .member-hub[data-active-view="community"] .hub-community-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .member-hub[data-active-view="community"] .hub-community-rail {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) minmax(0, 1fr);
    gap: 0;
    margin: 24px 0 10px;
    padding: 32px clamp(12px, 3vw, 34px);
    background: radial-gradient(ellipse 62% 150% at 0 40%, rgba(84, 171, 226, .13), transparent 72%) !important;
    border-block: 1px solid rgba(205, 226, 246, .12) !important;
  }

  .member-hub[data-active-view="community"] .hub-rail-card {
    min-width: 0;
    padding: 12px clamp(18px, 2.6vw, 32px);
    border-right: 1px solid rgba(205, 226, 246, .14);
    border-bottom: 0;
  }

  .member-hub[data-active-view="community"] .hub-rail-card:last-child { border-right: 0; }
}

@media (max-width: 760px) {
  .member-hub[data-active-view="community"] .hub-community-rail {
    display: block;
    margin: 20px 0 0;
    padding: 28px clamp(6px, 4vw, 22px);
    background: radial-gradient(ellipse 90% 40% at 0 6%, rgba(84, 171, 226, .13), transparent 76%) !important;
    border-radius: 0 !important;
  }

  .member-hub[data-active-view="community"] .hub-rail-card {
    padding: 26px clamp(12px, 3vw, 22px);
    border-right: 0;
    border-bottom: 1px solid rgba(205, 226, 246, .15);
  }

  .member-hub[data-active-view="community"] .hub-rail-card:last-child { border-bottom: 0; }
}

@media (max-width: 700px) {
  .member-hub .hub-navigation {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 clamp(18px, 6vw, 34px);
    overflow: visible !important;
    scroll-snap-type: none;
  }

  .member-hub .hub-nav-button {
    width: 100%;
    min-width: 0 !important;
    min-height: 46px;
    flex: none !important;
    justify-content: flex-start;
    padding: 10px 0 12px !important;
    white-space: normal;
    scroll-snap-align: none;
  }

  .member-hub .hub-nav-button:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - clamp(9px, 3vw, 17px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .member-hub[data-active-view="community"] .hub-community-rail,
  .member-hub[data-active-view="community"] .hub-profile-progress i,
  .member-hub[data-active-view="community"] .hub-rail-profile > .btn-ghost,
  .member-hub[data-active-view="community"] .hub-rail-action::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Final Market cascade lock: keep actions and discovery controls above the fold
   after every historical Hub theme and responsive override. */
.member-hub[data-active-view="marketplace"] .hub-page-header {
  min-height: clamp(190px, 22vw, 270px);
  grid-template-columns: minmax(260px, .86fr) minmax(360px, 1.14fr);
  gap: clamp(20px, 3vw, 44px);
  margin-bottom: clamp(16px, 2vw, 26px);
  padding-block: clamp(10px, 1.5vw, 20px);
}

.member-hub[data-active-view="marketplace"] .hub-page-header-copy {
  max-width: 600px;
}

.member-hub[data-active-view="marketplace"] .hub-page-header-copy .hub-kicker {
  order: 1;
}

.member-hub[data-active-view="marketplace"] .hub-page-header h1 {
  order: 2;
  max-width: 11ch;
  font-size: clamp(42px, 4.7vw, 66px);
}

.member-hub[data-active-view="marketplace"]
  .hub-page-header-copy > p:not(.hub-kicker) {
  order: 3;
}

.member-hub[data-active-view="marketplace"] .hub-page-header-copy::after {
  order: 4;
}

.member-hub[data-active-view="marketplace"] .hub-marketplace-actions {
  order: 5;
}

.member-hub[data-active-view="marketplace"] .hub-hero-art {
  min-height: 0;
  height: clamp(170px, 20vw, 250px);
  border-radius: 32px 92px 38px 76px !important;
}

.member-hub[data-active-view="marketplace"] .market-scope-button {
  color: rgba(229, 239, 248, .7);
}

.member-hub[data-active-view="marketplace"] .market-scope-button:hover,
.member-hub[data-active-view="marketplace"] .market-scope-button.active,
.member-hub[data-active-view="marketplace"] .market-scope-button[aria-pressed="true"] {
  color: #fff;
}

.member-hub[data-active-view="marketplace"] .market-scope-description {
  color: rgba(229, 239, 248, .7);
}

.member-hub[data-active-view="marketplace"] .market-catalogue {
  scroll-margin-top: calc(var(--app-bar-offset) + 118px);
}

.member-hub[data-active-view="marketplace"]
  .marketplace-view[data-market-scope="global"]
  .market-layout {
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 761px) and (max-width: 900px) {
  .member-hub[data-active-view="marketplace"] .market-discovery-bar {
    position: static;
    top: auto;
  }
}

@media (max-width: 760px) {
  .member-hub[data-active-view="marketplace"] .hub-page-header {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin-bottom: 18px;
    padding-block: 10px;
  }

  .member-hub[data-active-view="marketplace"] .hub-page-header-copy {
    padding-inline: 4px;
  }

  .member-hub[data-active-view="marketplace"] .hub-page-header h1 {
    max-width: 12ch;
    font-size: clamp(36px, 11vw, 52px);
  }

  .member-hub[data-active-view="marketplace"] .hub-hero-art {
    min-height: 0;
    height: clamp(150px, 42vw, 190px);
    border-radius: 24px 64px 28px 52px !important;
  }

  .hub-marketplace-actions {
    margin-top: 18px;
  }

  .member-hub[data-active-view="marketplace"] .market-catalogue {
    scroll-margin-top: calc(var(--app-bar-offset) + 174px);
  }
}
