/* Shared layout primitives extracted from the dashboard visual SSOT.
 * Route sheets own composition; this file owns reusable widget and alert chrome. */

.lux-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lux-accent-2, var(--lux-accent));
}

.lux-pill-row,
.lux-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.lux-pill.lux-soft-chrome {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.lux-check-row-wrap {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.lux-check-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  cursor: pointer;
}

.lux-check-row input {
  flex: 0 0 auto;
}

.lux-stat-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
  overflow: visible;
}

.lux-strip-grid--adaptive {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.lux-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  min-height: 0;
  overflow: visible;
  font-family: 'Noto Sans Georgian', sans-serif;
}

.lux-stat strong {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--lux-text);
}

.lux-stat span {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lux-text-muted);
}

.lux-stat em {
  display: block;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.35;
  color: var(--lux-text-muted);
}

.lux-stat.lux-soft-chrome {
  padding: 12px 14px 14px;
  border-radius: 16px;
  overflow: visible;
}

/* Curriculum library — shared text (programs + admin-tools). */
.lux-section-kicker,
.lux-page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lux-accent-2, var(--lux-accent));
}

.lux-section-title {
  margin: 0;
  font-family: "Noto Sans Georgian", system-ui, sans-serif;
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--lux-text);
}

/* Bare portal hero + section heads (programs, LMS, registration, timetable). */
.lux-page-title {
  margin: 0;
  font-family: "Noto Sans Georgian", system-ui, sans-serif;
  font-size: clamp(24px, 2.8vw, 32px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--lux-text);
}

.lux-page-copy {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--lux-text-muted);
}

.lux-card-title {
  margin: 0;
  font-family: "Noto Sans Georgian", system-ui, sans-serif;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--lux-text);
}

.lux-card-copy {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--lux-text-muted);
}

.lux-card-meta {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--lux-text-muted);
}

.lux-module-option__title {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--lux-text);
}

.lux-module-option__meta {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--lux-text-muted);
}

.lux-subject-row__code {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--lux-accent-2, var(--lux-accent));
  overflow-wrap: anywhere;
}

.lux-subject-row__title {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--lux-text);
}

.lux-subject-row__meta {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--lux-text-muted);
}

.lux-subject-row__detail {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--lux-text-muted);
}

.lux-subject-row__detail strong {
  color: var(--lux-text);
  font-weight: 800;
}

.lux-subject-row__detail.is-soft {
  opacity: 0.88;
}

.lux-subject-row__stats strong {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--lux-text);
}

.lux-empty-state__title,
.lms-route-empty-title,
.schedule-empty-title {
  display: block;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--lux-text);
}

.lux-empty-state__copy,
.lms-route-empty-copy,
.schedule-empty-copy {
  display: block;
  max-width: 42ch;
  margin: 0 auto;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--lux-text-muted);
}

.lux-program-detail-columns {
  color: var(--lux-text-muted);
}

/* Schedule toolbar chips (timetable + admin-scheduler shared text). */
.schedule-chip,
.lux-status-pill.lux-timetable-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--lux-text);
}

.schedule-chip i,
.lux-timetable-chip i {
  opacity: 0.85;
  font-size: 11px;
}

.schedule-chip-soft,
.lux-status-pill.lux-timetable-chip.schedule-chip-soft {
  color: var(--lux-accent, var(--lux-text));
}

/* Hero meta pills (matte paint in lux-fouc-ht per route). */
.page-hero-badge.lux-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: var(--lux-text);
  white-space: nowrap;
}

.page-hero-badge.lux-pill i {
  flex: 0 0 auto;
  font-size: 11px;
  opacity: 0.85;
}

/* Registration route typography (layout in lux-page-bare-lite; matte in lux-fouc-ht). */
.registration-insight-label,
.registration-summary-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.registration-insight-value,
.registration-summary-value {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--lux-accent-2, var(--lux-accent));
}

.registration-insight-copy,
.registration-summary-copy {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
}

.registration-workspace-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lux-accent-2, var(--lux-accent));
}

.registration-workspace-title {
  margin-top: 8px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(24px, 2.3vw, 30px);
  line-height: 1.08;
  font-weight: 600;
}

.registration-workspace-note {
  max-width: 360px;
  text-align: right;
  font-size: 12px;
  line-height: 1.55;
}

.registration-state-summary,
.registration-history-meta {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--lux-text-muted);
}

.registration-footer-bar-label,
.registration-progress-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.registration-focus-value {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: clamp(24px, 2.2vw, 30px);
  letter-spacing: -0.02em;
  color: var(--lux-accent-2, var(--lux-accent));
}

.registration-module-list-title,
.registration-module-pane-title {
  font-family: "Noto Sans Georgian", system-ui, sans-serif;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 800;
  line-height: 1.2;
  color: var(--lux-text);
}

.registration-module-pane-copy,
.registration-module-list-count {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--lux-text-muted);
}

.registration-module-choice-title {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--lux-text);
}

.registration-module-choice-ects,
.registration-module-pane-chip {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

/* Personal data route typography (layout in lux-page-bare-lite; matte in lux-fouc-ht). */
.personal-data-card-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lux-accent-2, var(--lux-accent));
}

.personal-data-hero-title,
.personal-data-name,
.personal-data-level-heading {
  color: var(--lux-text);
}

.personal-data-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.personal-data-level-heading {
  margin-top: 8px;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 700;
  line-height: 1.15;
}

.personal-data-kpi-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.personal-data-kpi-value {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.pd-contact-row span {
  font-size: 11px;
  font-weight: 600;
  color: var(--lux-text-muted);
}

.pd-contact-row strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--lux-text);
}

/* Chancellery route typography (layout in lux-page-bare-lite; matte in lux-fouc-ht). */
.lux-chancellery-card-title.lux-page-title,
.lux-chancellery-section-title.lux-section-kicker {
  color: var(--lux-text);
}

.lux-chancellery-card-copy .lux-chancellery-inline-meta.lux-panel-copy,
.lux-chancellery-inline-meta .lux-panel-copy,
.lux-chancellery-subcard-copy.lux-panel-copy,
.lux-chancellery-card-copy.lux-panel-copy,
.lux-thread-meta.lux-panel-copy,
.lux-thread-time.lux-panel-copy,
.lux-thread-message.lux-panel-copy,
.lux-chancellery-thread-status.lux-panel-copy {
  color: var(--lux-text-muted);
}

.lux-thread-author.lux-card-copy {
  color: var(--lux-text);
  font-weight: 800;
}

.lux-chancellery-subcard-kicker.lux-section-kicker {
  color: var(--lux-text-muted);
}

.lux-chancellery-card-title,
.lux-chancellery-section-title {
  color: var(--lux-text);
}

.lux-chancellery-stat-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lux-chancellery-stat-value {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.lux-chancellery-queue-id,
.lux-chancellery-inline-meta,
.lux-chancellery-queue-meta {
  font-size: 11px;
  font-weight: 600;
  color: var(--lux-text-muted);
}

.lux-chancellery-queue-subject {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--lux-text);
}

.lux-chancellery-finance-note {
  font-size: 13px;
  line-height: 1.5;
  color: var(--lux-text-muted);
}

/* Admin library modal typography (layout → lux-modals.css; matte → lux-fouc-ht). */
.admin-library-modal-title.lux-glass-dialog-title,
.admin-library-modal-title.lux-page-title {
  color: var(--lux-text);
}

.admin-library-modal-copy.lux-panel-copy,
.admin-library-sections-panel-kicker.lux-section-kicker,
.admin-library-section-row-count.lux-panel-copy,
.admin-library-section-remove-confirm-copy.lux-panel-copy {
  color: var(--lux-text-muted);
}

.admin-library-section-row-title.lux-card-copy {
  color: var(--lux-text);
  font-weight: 800;
}

.admin-library-sections-empty.lux-empty-state {
  color: var(--lux-text-muted);
}

/* Admin orders workspace typography (layout in lux-page-bare-lite; matte in lux-fouc-ht). */
.orders-admin-section-title.lux-card-title {
  color: var(--lux-text);
}

.orders-admin-section-copy.lux-panel-copy,
.orders-admin-command-draft.lux-panel-copy,
.orders-admin-sent-item__meta.lux-panel-copy,
.orders-admin-sent-empty.lux-empty-state {
  color: var(--lux-text-muted);
}

.orders-admin-sent-item__title.lux-card-copy {
  color: var(--lux-text);
  font-weight: 800;
}

/* Social Research panel typography */
.social-neo-research-title.lux-card-title,
.social-neo-research-reader-title.lux-page-title,
.social-neo-research-card-title.lux-card-copy {
  color: var(--lux-text);
}

.social-neo-research-copy.lux-panel-copy,
.social-neo-research-card-meta.lux-panel-copy,
.social-neo-research-card-abstract.lux-panel-copy,
.social-neo-research-card-foot.lux-panel-copy,
.social-neo-research-card-file.lux-panel-copy,
.social-neo-research-article-p.lux-panel-copy {
  color: var(--lux-text-muted);
}

body.lux-route-social .social-pin-section-title.lux-section-kicker {
  color: var(--lux-text);
}

/* Hub form builder typography (staff + students; layout in lux-page-bare-lite; matte in lux-fouc-ht). */
.staff-hub-overline.lux-section-kicker,
.students-hub-overline.lux-section-kicker,
.staff-hub-studio-quick-label.lux-section-kicker,
.students-hub-studio-quick-label.lux-section-kicker {
  color: rgba(var(--lux-accent-rgb), 0.88);
}

.staff-hub-section-title.lux-card-title,
.students-hub-section-title.lux-card-title,
.staff-hub-workspace-head-context.lux-card-copy,
.students-hub-workspace-head-context.lux-card-copy,
.staff-hub-builder-type-label.lux-card-copy,
.students-hub-builder-type-label.lux-card-copy {
  color: var(--lux-text);
}

.staff-hub-section-copy.lux-panel-copy,
.students-hub-section-copy.lux-panel-copy,
.staff-hub-builder-type-status.lux-panel-copy,
.students-hub-builder-type-status.lux-panel-copy,
.staff-hub-copy-bar-helper.lux-panel-copy,
.students-hub-copy-bar-helper.lux-panel-copy,
.staff-hub-studio-step-nav-add-hint.lux-panel-copy,
.students-hub-studio-step-nav-add-hint.lux-panel-copy,
.staff-hub-studio-preview-meta.lux-panel-copy,
.students-hub-studio-preview-meta.lux-panel-copy,
.staff-hub-studio-save-status.lux-panel-copy,
.students-hub-studio-save-status.lux-panel-copy,
.staff-hub-builder-empty.lux-panel-copy,
.students-hub-builder-empty.lux-panel-copy {
  color: var(--lux-text-muted);
}

.staff-hub-workspace-head-context.lux-card-copy,
.students-hub-workspace-head-context.lux-card-copy {
  font-weight: 700;
}

/* Student Service route typography (layout in lux-page-bare-lite; matte in lux-fouc-ht). */
.student-service-command-bar-title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--lux-text);
}

.student-service-command-bar-metrics,
.student-service-lane-choice-copy {
  font-size: 14px;
  line-height: 1.6;
  color: var(--lux-text-muted);
}

.student-service-lane-choice-title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  color: var(--lux-text);
}

.student-service-lane-choice-cta {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: rgba(var(--lux-accent-rgb), 0.98);
}

.lux-panel-title {
  margin: 0;
  font-family: "Noto Sans Georgian", system-ui, sans-serif;
  font-size: clamp(24px, 2.8vw, 32px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--lux-text);
}

.lux-panel-copy {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--lux-text-muted);
}

.student-service-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lux-accent-2, var(--lux-accent));
}

.student-service-attachment-hint,
.student-service-student-hub-track-compact-count {
  font-size: 12px;
  line-height: 1.5;
  color: var(--lux-text-muted);
}

.student-service-command-bar-stat {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--lux-text-muted);
}

.student-service-command-bar-stat strong {
  color: var(--lux-text);
  font-weight: 800;
}

.student-service-panel-chip {
  font-size: 11px;
  font-weight: 700;
  color: var(--lux-text);
}

.student-service-empty-state {
  font-size: 13px;
  line-height: 1.6;
  color: var(--lux-text-muted);
}

.student-service-find-search i {
  color: rgba(var(--lux-accent-rgb), 0.9);
}

.student-service-qa-card-title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--lux-text);
}

.student-service-qa-card-preview,
.student-service-qa-detail-body,
.student-service-qa-answer-copy {
  font-size: 13px;
  line-height: 1.7;
  color: var(--lux-text-muted);
}

.student-service-qa-card-author-date,
.student-service-qa-answer-time {
  font-size: 12px;
  color: var(--lux-text-muted);
}

.student-service-qa-card-author-name,
.student-service-qa-answer-author-name {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  color: var(--lux-text);
}

.student-service-qa-answer-author-role {
  font-size: 11px;
  font-weight: 700;
  color: var(--lux-text-muted);
}

.student-service-qa-card-stat {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--lux-text-muted);
}

.student-service-qa-thread-modal-title-wrap strong,
#student-service-question-thread-modal-title,
#student-service-guidance-modal-title,
.student-service-guidance-modal-title .lux-page-title {
  color: var(--lux-text);
}

.student-service-find-guidance-count {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--lux-text-muted);
}

.student-service-article-preview-copy,
.student-service-article-preview-body,
.student-service-ticket-detail-copy {
  font-size: 13px;
  line-height: 1.7;
  color: var(--lux-text-muted);
}

.student-service-track-compact-inline-counts,
.student-service-student-hub-track-compact-count strong {
  font-size: 12px;
  color: var(--lux-text-muted);
}

.student-service-track-compact-inline-counts strong,
.student-service-student-hub-track-compact-count strong {
  color: var(--lux-text);
  font-weight: 800;
}

.student-service-ticket-inbox-title,
.student-service-ticket-card-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--lux-text);
}

.student-service-ticket-card-copy,
.student-service-ticket-card-meta,
.student-service-ticket-card-meta-item {
  font-size: 12px;
  line-height: 1.6;
  color: var(--lux-text-muted);
}

.student-service-status {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.student-service-mini-action {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: var(--lux-text);
}

.student-service-ticket-inbox-preview,
.student-service-ticket-inbox-time,
.student-service-ticket-msg-meta {
  font-size: 12px;
  line-height: 1.5;
  color: var(--lux-text-muted);
}

.student-service-ticket-msg-text {
  font-size: 13px;
  line-height: 1.55;
  color: var(--lux-text);
  white-space: pre-wrap;
}

.student-service-pill {
  font-size: 11px;
  font-weight: 700;
  color: var(--lux-text);
}

/* Orders inbox typography (layout in lux-page-bare-lite). */
.orders-inbox-hero .lux-page-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(var(--lux-accent-rgb), 0.92);
}

.orders-hero-title,
.orders-inbox-hero .page-hero-title {
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--lux-text);
}

.orders-inbox-hero .lux-card-copy {
  font-size: 14px;
  line-height: 1.55;
  color: var(--lux-text-muted);
}

.orders-item__title {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--lux-text);
}

.orders-item__meta {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--lux-text-muted);
}

.orders-item__state {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.orders-list-empty,
.orders-detail-empty {
  font-size: 13px;
  line-height: 1.6;
  color: var(--lux-text-muted);
}

.orders-detail-empty__icon {
  color: rgba(var(--lux-accent-rgb), 0.55);
}

.orders-detail-title--hero {
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--lux-text);
}

.orders-detail-submeta {
  font-size: 13px;
  color: var(--lux-text-muted);
}

.orders-detail-section-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(var(--lux-accent-rgb), 0.82);
}

.orders-metric-label,
.orders-inbox-hero .lux-hero-signal > span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(var(--lux-accent-rgb), 0.88);
}

.orders-metric-value,
.orders-inbox-hero .lux-hero-signal > strong {
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--lux-text);
}

.orders-metric-value--context {
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.2;
}

.orders-attachment-title,
.orders-recipient-title {
  font-weight: 800;
  color: var(--lux-text);
}

.orders-attachment-meta,
.orders-recipient-meta {
  font-size: 12px;
  color: var(--lux-text-muted);
}

.orders-recipient-submeta {
  font-size: 11px;
  color: var(--lux-text-soft);
}

.orders-status-filter {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: var(--lux-text-muted);
}

/* LMS / exam-portal shared route typography (layout in lux-page-bare-lite). */
.lux-section-kicker,
.lms-clean-kicker,
.lms-route-eyebrow,
.lms-clean-card-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lux-accent-2, var(--lux-accent));
}

.lms-route-title {
  margin: 0;
  font-family: "Noto Sans Georgian", system-ui, sans-serif;
  font-size: clamp(24px, 2.8vw, 32px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--lux-text);
}

.lms-route-title-26 {
  font-size: clamp(22px, 2.4vw, 26px);
}

.lms-route-copy {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--lux-text-muted);
}

.lms-route-meta-12 {
  font-size: 12px;
}

#study-card-assessment-window .study-card-assessment-window__title {
  color: var(--lux-text);
}

.study-card-assessment-window__meta,
.study-card-assessment-panel-copy,
.study-card-assessment-hint,
.study-card-activity-item-meta {
  font-size: 13px;
  line-height: 1.6;
  color: var(--lux-text-muted);
}

.study-card-assessment-window__chip,
.study-card-activity-item-meta.lms-route-meta-12 {
  font-size: 12px;
}

.lms-quiz-studio-title.lux-page-title,
.lms-quiz-studio-main-title.lux-page-title {
  color: var(--lux-text);
}

.lms-quiz-studio-copy.lux-panel-copy,
.lms-quiz-studio-main-copy.lux-panel-copy,
.lms-quiz-studio-stat-copy {
  margin-top: 6px;
}

.lms-quiz-studio-stat-value {
  color: var(--lux-text);
}

#lms-personal-dashboard-overlay #lms-personal-dashboard-share-title.lux-page-title,
#lms-personal-dashboard-overlay #lms-personal-dashboard-history-title.lux-page-title,
#lms-personal-dashboard-overlay #lms-personal-dashboard-save-name-title.lux-page-title {
  color: var(--lux-text);
}

.lms-personal-dashboard-share-panel-copy.lux-panel-copy,
.lms-personal-dashboard-share-section-copy.lux-panel-copy,
.lms-personal-dashboard-share-callout.lux-panel-copy,
.lms-personal-dashboard-history-panel-copy.lux-panel-copy,
.lms-personal-dashboard-history-copy,
.lms-personal-dashboard-history-badge,
.lms-personal-dashboard-autosave-status.lux-panel-copy {
  color: var(--lux-text-muted);
}

.lms-personal-dashboard-history-copy strong {
  color: var(--lux-text);
}

#dynamic-gb-title.lux-page-title,
.gb-modern-hero h2.lux-page-title,
.gb-modern-card-head .lux-page-title.lms-route-card-title {
  color: var(--lux-text);
}

.gb-modern-hero .lux-panel-copy,
.gb-modern-card-head .lux-panel-copy.lms-route-copy,
.gb-student-context-bar .lux-panel-copy,
.gb-weight-row-meta,
.gb-weight-row-meta.lux-panel-copy,
.gb-weight-stat.lux-panel-copy,
.gb-student-context-copy-line.lux-panel-copy,
.gb-composition-legend-stat.lux-panel-copy,
.gb-modern-study-card-pointer.lux-panel-copy {
  color: var(--lux-text-muted);
}

.gb-weight-row-title.lux-card-copy {
  color: var(--lux-text);
  font-weight: 800;
}

.gb-student-context-title.lux-card-copy {
  color: var(--lux-text);
  font-weight: 800;
}

.gb-weight-row-history-hint.lux-panel-copy {
  color: rgb(var(--lux-accent-rgb));
}

.gb-weight-stat.is-earned.lux-panel-copy,
.gb-composition-legend-stat.is-earned.lux-panel-copy {
  color: rgb(var(--lux-accent-rgb));
}

.gb-category-history-title.lux-card-copy,
.gb-category-history-score-value.lux-page-title {
  color: var(--lux-text);
}

.gb-category-history-kind.lux-panel-copy,
.gb-category-history-meta.lux-panel-copy,
.gb-category-history-comment .lux-panel-copy,
.gb-category-history-comment-kicker.lux-section-kicker {
  color: var(--lux-text-muted);
}

.gb-weight-stat.is-pending.lux-panel-copy,
.gb-composition-legend-stat.is-pending.lux-panel-copy {
  color: color-mix(in srgb, rgb(245, 158, 11) 82%, var(--lux-text));
}

:is(html.lux-light-mode, body.lux-light-mode) .gb-weight-stat.is-pending.lux-panel-copy,
:is(html.lux-light-mode, body.lux-light-mode) .gb-composition-legend-stat.is-pending.lux-panel-copy,
:is(html.lux-light-mode, body.lux-light-mode) .gb-weight-row-history-hint.lux-panel-copy {
  color: color-mix(in srgb, rgb(180, 83, 9) 88%, var(--lux-text));
}

.gb-modern-study-card-pointer.lux-panel-copy a {
  color: rgb(var(--lux-accent-rgb));
}

.lms-route-field-label,
.lms-student-semester-label {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lux-text-muted);
}

.lms-next-session-date {
  margin-top: 2px;
}

.lms-next-session-detail,
.lms-next-session-instructor,
.lms-next-session-empty {
  margin: 0;
}

.lux-subject-row__title,
.lms-clean-card-title {
  margin-top: 6px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--lux-text);
}

.lms-clean-card-meta,
.lms-clean-subject-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.lms-role-context {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--lux-text-muted);
}

.lux-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.lux-list-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.lux-list-row > div {
  display: grid;
  flex: 1 1 auto;
  gap: 3px;
  min-width: 0;
}

.lux-list-row strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--lux-text);
}

.lux-list-row span {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--lux-text-muted);
}

.lux-list-row.lux-soft-chrome {
  padding: 12px 14px;
  margin-bottom: 8px;
  border-radius: 16px;
}

.lux-list-row.lux-soft-chrome:last-child { margin-bottom: 0; }

.lux-list-row.is-active {
  outline: 2px solid rgba(var(--lux-accent-rgb), 0.45);
  outline-offset: 1px;
}

.lux-list-row.lux-soft-chrome i {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--lux-accent) 28%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--lux-accent) 16%, transparent);
  color: var(--lux-accent);
}

.lux-quick-grid { display: grid; gap: 12px; }

.lux-quick-btn {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  text-align: left;
  cursor: pointer;
}

.lux-quick-btn.lux-soft-chrome { border-radius: 20px; }

.lux-quick-top,
.lux-quick-bottom {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lux-quick-top { justify-content: space-between; }
.lux-quick-bottom { margin-top: auto; }

.lux-quick-btn .icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--lux-accent) 28%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--lux-accent) 16%, transparent);
  color: var(--lux-accent);
}

.lux-quick-meter {
  flex: 1 1 auto;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.lux-quick-meter > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--lux-accent);
}

.lux-quick-meta-badge {
  color: var(--lux-text-muted);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.lux-alert {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-radius: var(--lux-radius, 18px);
  color: var(--lux-text);
}

.lux-alert:is(.is-green, .is-royal, .is-support, .is-warm) {
  border-color: var(--lux-soft-chrome-border, var(--lux-panel-border-soft));
  background: var(--lux-soft-chrome-surface, var(--lux-panel-surface-soft));
  background-image: none;
  box-shadow: var(--lux-soft-chrome-shadow, var(--lux-panel-shadow-soft)), inset 3px 0 0 var(--_rail);
}

.lux-alert.is-green { --_rail: color-mix(in srgb, var(--lux-green) 70%, transparent); --_icon: var(--lux-green); --_icon-mix: 35%; }
.lux-alert.is-warm { --_rail: color-mix(in srgb, var(--lux-accent) 65%, transparent); --_icon: var(--lux-accent); --_icon-mix: 35%; }
.lux-alert.is-royal { --_rail: color-mix(in srgb, var(--lux-accent) 60%, transparent); --_icon: var(--lux-accent-2, var(--lux-accent)); --_icon-mix: 35%; }
.lux-alert.is-support { --_rail: color-mix(in srgb, var(--lux-green) 55%, transparent); --_icon: var(--lux-green); --_icon-mix: 30%; }

.lux-alert-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid var(--lux-soft-chrome-border, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--lux-soft-chrome-surface, transparent) 70%, transparent);
}

.lux-alert:is(.is-green, .is-warm, .is-royal, .is-support) .lux-alert-icon {
  border-color: color-mix(in srgb, var(--_icon) var(--_icon-mix), var(--lux-soft-chrome-border, transparent));
  background: color-mix(in srgb, var(--_icon) 12%, transparent);
  color: var(--_icon);
}

.lux-alert-copy { min-width: 0; flex: 1 1 auto; }
.lux-alert-copy strong { display: block; font-size: 14px; font-weight: 700; }
.lux-alert-copy span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.45; color: var(--lux-text-muted); }
.lux-alert .lux-primary-btn { flex: 0 0 auto; margin-left: auto; }

@media (max-width: 980px) {
  .lux-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .lux-stat-row { grid-template-columns: 1fr; }
  .lux-alert { flex-wrap: wrap; }
  .lux-alert .lux-primary-btn { width: 100%; margin-left: 0; }
}
