/*
 * Studerria core shell
 *
 * This file is intentionally loaded last on application screens. It replaces
 * the accumulated glass, glow and animated-background layers with one stable
 * daily-use surface without forcing every legacy feature to be rewritten at
 * once.
 */

:root {
  --st-core-bg: #0d1422;
  --st-core-surface: #141e2f;
  --st-core-surface-raised: #1a2639;
  --st-core-border: rgba(203, 213, 225, 0.14);
  --st-core-text: #f1f5f9;
  --st-core-muted: #9aa9bd;
  --st-core-accent: #6684e8;
  --st-core-accent-strong: #4d6fd8;
  --st-core-danger: #dc6b72;
  --st-core-success: #55a886;
  --st-core-radius: 18px;
  --st-core-radius-sm: 12px;
  --st-core-shadow: 0 18px 44px rgba(3, 8, 18, 0.2);
  --st-core-font: "Segoe UI Variable Text", "Avenir Next", "Segoe UI", sans-serif;
}

body.theme-light,
body[data-theme="light"] {
  --st-core-bg: #f3f6fa;
  --st-core-surface: #ffffff;
  --st-core-surface-raised: #f8fafc;
  --st-core-border: rgba(30, 41, 59, 0.12);
  --st-core-text: #172033;
  --st-core-muted: #64748b;
  --st-core-accent: #4f6fd8;
  --st-core-accent-strong: #3f5fc6;
  --st-core-danger: #c84f5d;
  --st-core-success: #37866a;
  --st-core-shadow: 0 16px 40px rgba(42, 55, 78, 0.08);
}

body.page-local-topbar,
body.page-authenticated,
body.page-app-shell,
body.page-admin,
body.page-admin-academic-v2 {
  min-height: 100dvh;
  color: var(--st-core-text) !important;
  font-family: var(--st-core-font) !important;
  background: var(--st-core-bg) !important;
  background-image: none !important;
}

body.page-local-topbar::before,
body.page-local-topbar::after,
body.page-authenticated::before,
body.page-authenticated::after,
body.page-app-shell::before,
body.page-app-shell::after {
  display: none !important;
  content: none !important;
}

body.page-local-topbar .studerria-bg,
body.page-authenticated .studerria-bg,
body.page-app-shell .studerria-bg,
body.page-local-topbar .dynamic-bg,
body.page-authenticated .dynamic-bg,
body.page-app-shell .dynamic-bg,
body.page-local-topbar .ambient-orb,
body.page-authenticated .ambient-orb,
body.page-app-shell .ambient-orb,
body.page-local-topbar .noise-overlay,
body.page-authenticated .noise-overlay,
body.page-app-shell .noise-overlay {
  display: none !important;
}

body.page-local-topbar *,
body.page-authenticated *,
body.page-app-shell * {
  scrollbar-color: color-mix(in srgb, var(--st-core-muted) 42%, transparent) transparent;
}

body.page-local-topbar a,
body.page-authenticated a,
body.page-app-shell a {
  text-underline-offset: 0.18em;
}

body.page-local-topbar .container,
body.page-authenticated .container,
body.page-app-shell .container,
.page-container {
  width: min(100% - 32px, 1240px) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

/* One navigation system, one visual layer. */
body.page-local-topbar .studerria-nav-shell,
body.page-authenticated .studerria-nav-shell,
body.page-app-shell .studerria-nav-shell {
  position: sticky !important;
  top: 0;
  z-index: 30;
  min-height: 64px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--st-core-border) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb, var(--st-core-bg) 94%, var(--st-core-surface)) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.page-local-topbar .studerria-nav-shell > .container,
body.page-authenticated .studerria-nav-shell > .container,
body.page-app-shell .studerria-nav-shell > .container {
  min-height: 64px;
  padding-block: 8px !important;
}

.studerria-nav-shell .snav-main {
  min-width: 0;
  gap: 22px !important;
}

.studerria-nav-shell .snav-brand-stack {
  flex: 0 0 auto;
}

.studerria-nav-shell .navbar-brand {
  color: var(--st-core-text) !important;
  font-family: var(--st-core-font) !important;
  font-size: 1.05rem !important;
  font-weight: 720 !important;
  letter-spacing: -0.025em !important;
  text-shadow: none !important;
}

.studerria-nav-shell .navbar-brand::before,
.studerria-nav-shell .navbar-brand::after,
.studerria-nav-shell .topbar-title-spotlight::before,
.studerria-nav-shell .topbar-title-spotlight::after {
  display: none !important;
  content: none !important;
}

.studerria-nav-shell .snav-list {
  gap: 2px !important;
  min-width: 0;
}

.studerria-nav-shell .snav-link {
  min-height: 38px !important;
  padding: 0 11px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  color: var(--st-core-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.88rem !important;
  font-weight: 620 !important;
  transition: color 160ms ease, background-color 160ms ease, transform 120ms ease !important;
}

.studerria-nav-shell .snav-link:hover,
.studerria-nav-shell .snav-link:focus-visible {
  color: var(--st-core-text) !important;
  background: var(--st-core-surface) !important;
}

.studerria-nav-shell .snav-link.is-current,
.studerria-nav-shell .snav-item.is-current > .snav-link {
  color: var(--st-core-text) !important;
  border-color: var(--st-core-border) !important;
  background: var(--st-core-surface-raised) !important;
}

.studerria-nav-shell .snav-link:active,
.studerria-nav-shell .snav-menu-link:active,
.studerria-nav-shell button:active {
  transform: translateY(1px) scale(0.99) !important;
}

.studerria-nav-shell .snav-icon,
.studerria-nav-shell .nav-icon {
  display: none !important;
}

.studerria-nav-shell .snav-menu {
  padding: 7px !important;
  border: 1px solid var(--st-core-border) !important;
  border-radius: 14px !important;
  color: var(--st-core-text) !important;
  background: var(--st-core-surface) !important;
  box-shadow: var(--st-core-shadow) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.studerria-nav-shell .snav-menu-link {
  min-height: 38px !important;
  border-radius: 9px !important;
  color: var(--st-core-muted) !important;
  background: transparent !important;
}

.studerria-nav-shell .snav-menu-link:hover,
.studerria-nav-shell .snav-menu-link:focus-visible,
.studerria-nav-shell .snav-menu-link.is-current {
  color: var(--st-core-text) !important;
  background: var(--st-core-surface-raised) !important;
}

.studerria-nav-shell .snav-account-card {
  min-height: 38px !important;
  padding: 4px 8px 4px 5px !important;
  border: 1px solid var(--st-core-border) !important;
  border-radius: 11px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.studerria-nav-shell .snav-account-avatar {
  width: 28px !important;
  height: 28px !important;
  color: #f8fafc !important;
  background: var(--st-core-accent) !important;
  box-shadow: none !important;
}

.studerria-nav-shell .snav-account-name {
  color: var(--st-core-text) !important;
}

.studerria-nav-shell .snav-user-meta,
.studerria-nav-shell .snav-mobile-meta {
  color: var(--st-core-muted) !important;
}

.studerria-nav-shell .snav-logout-btn,
.studerria-nav-shell .snav-mobile-trigger {
  min-width: 38px !important;
  height: 38px !important;
  border: 1px solid var(--st-core-border) !important;
  border-radius: 10px !important;
  color: var(--st-core-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.studerria-nav-shell .snav-mobile-panel {
  color: var(--st-core-text) !important;
  background: var(--st-core-bg) !important;
  border-left: 1px solid var(--st-core-border) !important;
  box-shadow: -20px 0 48px rgba(3, 8, 18, 0.22) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.studerria-nav-shell .snav-mobile-link,
.studerria-nav-shell .snav-mobile-account {
  border-color: var(--st-core-border) !important;
  color: var(--st-core-text) !important;
  background: var(--st-core-surface) !important;
  box-shadow: none !important;
}

.studerria-nav-shell .snav-mobile-link.is-current {
  border-color: color-mix(in srgb, var(--st-core-accent) 54%, var(--st-core-border)) !important;
  background: color-mix(in srgb, var(--st-core-accent) 12%, var(--st-core-surface)) !important;
}

.studerria-nav-shell .snav-mobile-link-glyph {
  color: var(--st-core-accent) !important;
  background: transparent !important;
}

/* Shared daily-use surfaces. */
body.page-local-topbar :is(.glass, .liquid-card, .cockpit-card, .td-surface-card, .td-dashboard-card, .card),
body.page-authenticated :is(.glass, .liquid-card, .cockpit-card, .td-surface-card, .td-dashboard-card, .card),
body.page-app-shell :is(.glass, .liquid-card, .cockpit-card, .td-surface-card, .td-dashboard-card, .card) {
  border-color: var(--st-core-border) !important;
  color: var(--st-core-text);
  background: var(--st-core-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.page-local-topbar :is(.glass, .liquid-card, .cockpit-card, .td-surface-card, .td-dashboard-card)::before,
body.page-local-topbar :is(.glass, .liquid-card, .cockpit-card, .td-surface-card, .td-dashboard-card)::after,
body.page-authenticated :is(.glass, .liquid-card, .cockpit-card, .td-surface-card, .td-dashboard-card)::before,
body.page-authenticated :is(.glass, .liquid-card, .cockpit-card, .td-surface-card, .td-dashboard-card)::after {
  display: none !important;
  content: none !important;
}

body.page-local-topbar :is(h1, h2, h3),
body.page-authenticated :is(h1, h2, h3),
body.page-app-shell :is(h1, h2, h3) {
  color: var(--st-core-text) !important;
  font-family: var(--st-core-font) !important;
  letter-spacing: -0.025em;
}

body.page-local-topbar :is(.text-muted, .muted, small),
body.page-authenticated :is(.text-muted, .muted, small),
body.page-app-shell :is(.text-muted, .muted, small) {
  color: var(--st-core-muted) !important;
}

body.page-local-topbar :is(input, select, textarea, .form-control, .form-select),
body.page-authenticated :is(input, select, textarea, .form-control, .form-select),
body.page-app-shell :is(input, select, textarea, .form-control, .form-select) {
  border: 1px solid var(--st-core-border) !important;
  border-radius: 11px !important;
  color: var(--st-core-text) !important;
  background: var(--st-core-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.page-local-topbar :is(input, select, textarea, .form-control, .form-select):focus,
body.page-authenticated :is(input, select, textarea, .form-control, .form-select):focus,
body.page-app-shell :is(input, select, textarea, .form-control, .form-select):focus {
  border-color: var(--st-core-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--st-core-accent) 18%, transparent) !important;
}

body.page-local-topbar :is(.btn-primary, .td-primary-button, .btn-accent),
body.page-authenticated :is(.btn-primary, .td-primary-button, .btn-accent),
body.page-app-shell :is(.btn-primary, .td-primary-button, .btn-accent) {
  border-color: var(--st-core-accent-strong) !important;
  color: #f8fafc !important;
  background: var(--st-core-accent-strong) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.page-local-topbar :is(.btn, button, .td-small-button, .td-primary-button),
body.page-authenticated :is(.btn, button, .td-small-button, .td-primary-button),
body.page-app-shell :is(.btn, button, .td-small-button, .td-primary-button) {
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 120ms ease !important;
}

body.page-local-topbar :is(.btn, button, .td-small-button, .td-primary-button):active,
body.page-authenticated :is(.btn, button, .td-small-button, .td-primary-button):active,
body.page-app-shell :is(.btn, button, .td-small-button, .td-primary-button):active {
  transform: translateY(1px) scale(0.99);
}

/* Home is a brief, not a second admin dashboard. */
.page-my-day .cockpit-page {
  padding-top: 34px !important;
  padding-bottom: 56px !important;
}

.page-my-day .studerria-home-vision {
  display: grid;
  gap: 26px;
}

.page-my-day .studerria-home-head {
  align-items: end !important;
  padding: 0 0 24px !important;
  border-bottom: 1px solid var(--st-core-border);
}

.page-my-day .studerria-home-head h1 {
  margin: 5px 0 7px !important;
  font-size: clamp(2rem, 4vw, 3.25rem) !important;
  font-weight: 720 !important;
  line-height: 1.02 !important;
}

.page-my-day .td-page-kicker {
  color: var(--st-core-accent) !important;
  font-size: 0.75rem !important;
  font-weight: 720 !important;
  letter-spacing: 0.12em !important;
}

.page-my-day .studerria-home-stats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-block: 1px solid var(--st-core-border);
}

.page-my-day .studerria-home-stats .td-stat-card {
  min-height: 108px;
  padding: 20px 22px !important;
  border: 0 !important;
  border-right: 1px solid var(--st-core-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.page-my-day .studerria-home-stats .td-stat-card:last-child {
  border-right: 0 !important;
}

.page-my-day .studerria-home-stats strong {
  color: var(--st-core-text) !important;
  font-variant-numeric: tabular-nums;
}

.page-my-day .studerria-home-preview {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.85fr) !important;
  gap: 18px !important;
}

.page-my-day .studerria-home-preview > article {
  padding: 24px !important;
  border: 1px solid var(--st-core-border) !important;
  border-radius: var(--st-core-radius) !important;
}

.page-my-day :is(.td-schedule-row, .td-task-row) {
  border-color: var(--st-core-border) !important;
}

.page-my-day .td-small-button {
  border: 1px solid var(--st-core-border) !important;
  border-radius: 10px !important;
  color: var(--st-core-text) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-my-day .td-small-button:hover {
  border-color: var(--st-core-accent) !important;
  color: var(--st-core-accent) !important;
}

.page-my-day .td-empty-inline,
.page-subjects .subjects-empty,
.page-teamwork .teamwork-empty-state,
.page-schedule .empty-state {
  min-height: 92px;
  display: grid;
  place-items: center;
  padding: 20px !important;
  border: 1px dashed var(--st-core-border) !important;
  border-radius: var(--st-core-radius-sm) !important;
  color: var(--st-core-muted) !important;
  background: transparent !important;
}

/* Schedule prioritizes the selected day and keeps controls compact. */
.page-schedule .schedule-content {
  padding-top: 28px !important;
  padding-bottom: 56px !important;
}

.page-schedule .schedule-hero-shell {
  padding: 0 0 24px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--st-core-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.page-schedule .schedule-page-header h1 {
  font-size: clamp(2rem, 4vw, 3.15rem) !important;
  font-weight: 720 !important;
  line-height: 1.04 !important;
}

.page-schedule .schedule-week-strip,
.page-schedule .week-pager-shell,
.page-schedule .schedule-week-strip-head {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.page-schedule .schedule-day-switcher {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(72px, 1fr)) !important;
  gap: 6px !important;
  overflow-x: auto;
  padding: 10px 0 0 !important;
}

.page-schedule .schedule-day-pill {
  min-width: 72px;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  color: var(--st-core-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-schedule .schedule-day-pill.is-today,
.page-schedule .schedule-day-pill.is-active,
.page-schedule .schedule-day-pill[aria-current="true"] {
  border-color: var(--st-core-border) !important;
  color: var(--st-core-text) !important;
  background: var(--st-core-surface) !important;
}

.page-schedule .schedule-selected-layout {
  margin-top: 20px !important;
}

.page-schedule .day-card {
  overflow: hidden;
  border: 1px solid var(--st-core-border) !important;
  border-radius: var(--st-core-radius) !important;
}

.page-schedule .day-card.is-today {
  border-color: color-mix(in srgb, var(--st-core-accent) 55%, var(--st-core-border)) !important;
}

.page-schedule :is(.day-header, .list-group-item, .class-row, .schedule-item) {
  border-color: var(--st-core-border) !important;
  color: var(--st-core-text) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.page-schedule :is(.badge, .chip, .day-chip) {
  border: 1px solid var(--st-core-border) !important;
  color: var(--st-core-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Subjects, teamwork, journal and profile share the same reading rhythm. */
.page-subjects main.container,
.page-teamwork main.container,
.page-journal main.container,
.page-profile main.container,
.page-help main,
.page-about main {
  padding-top: 32px !important;
  padding-bottom: 56px !important;
}

.page-subjects .subjects-shell,
.page-teamwork .teamwork-shell,
.page-journal .journal-shell,
.page-profile .profile-shell {
  gap: 18px !important;
}

.page-subjects :is(.subject-card, .subject-list-item),
.page-teamwork :is(.teamwork-task-card, .team-card),
.page-profile :is(.profile-card, .profile-section),
.page-journal :is(.journal-card, .journal-control-bar) {
  border-color: var(--st-core-border) !important;
  border-radius: var(--st-core-radius) !important;
  background: var(--st-core-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Modal layers may be elevated, but do not blur the whole viewport. */
body.page-local-topbar :is(.modal-content, .td-lite-sheet),
body.page-authenticated :is(.modal-content, .td-lite-sheet),
body.page-app-shell :is(.modal-content, .td-lite-sheet) {
  border: 1px solid var(--st-core-border) !important;
  border-radius: var(--st-core-radius) !important;
  color: var(--st-core-text) !important;
  background: var(--st-core-surface) !important;
  background-image: none !important;
  box-shadow: var(--st-core-shadow) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.page-local-topbar :is(.modal-backdrop, .snav-mobile-backdrop),
body.page-authenticated :is(.modal-backdrop, .snav-mobile-backdrop),
body.page-app-shell :is(.modal-backdrop, .snav-mobile-backdrop) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Disable only decorative automatic motion. Functional transitions remain. */
body.page-local-topbar :is(.ambient-orb, .footer-release-dot, .topbar-title-spotlight, .studerria-bg-gradient),
body.page-authenticated :is(.ambient-orb, .footer-release-dot, .topbar-title-spotlight, .studerria-bg-gradient),
body.page-app-shell :is(.ambient-orb, .footer-release-dot, .topbar-title-spotlight, .studerria-bg-gradient) {
  animation: none !important;
}

/* Registration and sign-in use the same calm, low-cost material system. */
body.td-page--login,
body.page-register,
body.page-register-course,
body.page-register-subjects,
body.page-register-closed {
  min-height: 100dvh;
  color: var(--st-core-text) !important;
  font-family: var(--st-core-font) !important;
  background: var(--st-core-bg) !important;
  background-image: none !important;
}

body.td-page--login::before,
body.td-page--login::after,
body.page-register::before,
body.page-register::after,
body.page-register-course::before,
body.page-register-course::after,
body.page-register-subjects::before,
body.page-register-subjects::after {
  display: none !important;
  content: none !important;
}

body.page-register-course :is(.dynamic-bg, .dynamic-bg-layer, .dynamic-bg-grid),
body.page-register-subjects :is(.dynamic-bg, .dynamic-bg-layer, .dynamic-bg-grid) {
  display: none !important;
}

body.page-register-course .theme-toggle-floating .theme-toggle-min,
body.page-register-subjects .theme-toggle-floating .theme-toggle-min {
  width: auto !important;
  min-width: 66px;
  padding-inline: 12px !important;
  border: 1px solid var(--st-core-border) !important;
  border-radius: 10px !important;
  color: var(--st-core-muted) !important;
  background: var(--st-core-surface) !important;
  box-shadow: none !important;
}

body.td-page--login :is(.td-login-main, .register-shell),
body.page-register :is(.td-login-main, .register-shell),
body.page-register-course :is(.registration-shell, .register-shell),
body.page-register-subjects :is(.registration-shell, .register-shell) {
  min-height: calc(100dvh - 80px) !important;
}

body.td-page--login :is(.td-login-card, .td-glass-panel),
body.page-register :is(.td-login-card, .td-glass-panel),
body.page-register-course :is(.registration-panel, .glass, .card),
body.page-register-subjects :is(.registration-panel, .glass, .card) {
  border: 1px solid var(--st-core-border) !important;
  border-radius: 22px !important;
  color: var(--st-core-text) !important;
  background: var(--st-core-surface) !important;
  background-image: none !important;
  box-shadow: var(--st-core-shadow) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.td-page--login :is(.td-login-card, .td-glass-panel)::before,
body.td-page--login :is(.td-login-card, .td-glass-panel)::after,
body.page-register :is(.td-login-card, .td-glass-panel)::before,
body.page-register :is(.td-login-card, .td-glass-panel)::after {
  display: none !important;
  content: none !important;
}

body.td-page--login :is(h1, h2, h3),
body.page-register :is(h1, h2, h3),
body.page-register-course :is(h1, h2, h3),
body.page-register-subjects :is(h1, h2, h3) {
  color: var(--st-core-text) !important;
  font-family: var(--st-core-font) !important;
  letter-spacing: -0.03em !important;
}

body.td-page--login :is(p, .td-field > span, .td-checkbox),
body.page-register :is(p, .td-field > span, .td-checkbox),
body.page-register-course :is(p, small, .text-muted),
body.page-register-subjects :is(p, small, .text-muted) {
  color: var(--st-core-muted) !important;
}

body.td-page--login :is(input, select, textarea),
body.page-register :is(input, select, textarea),
body.page-register-course :is(input, select, textarea, .form-control, .form-select),
body.page-register-subjects :is(input, select, textarea, .form-control, .form-select) {
  border: 1px solid var(--st-core-border) !important;
  border-radius: 11px !important;
  color: var(--st-core-text) !important;
  background: var(--st-core-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.td-page--login :is(input, select, textarea):focus,
body.page-register :is(input, select, textarea):focus,
body.page-register-course :is(input, select, textarea, .form-control, .form-select):focus,
body.page-register-subjects :is(input, select, textarea, .form-control, .form-select):focus {
  border-color: var(--st-core-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--st-core-accent) 18%, transparent) !important;
}

body.td-page--login :is(.td-primary-button, .btn-primary),
body.page-register :is(.td-primary-button, .btn-primary),
body.page-register-course :is(.td-primary-button, .btn-primary),
body.page-register-subjects :is(.td-primary-button, .btn-primary) {
  border: 1px solid var(--st-core-accent-strong) !important;
  border-radius: 11px !important;
  color: #f8fafc !important;
  background: var(--st-core-accent-strong) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.td-page--login :is(.td-secondary-button, .btn-outline-secondary),
body.page-register :is(.td-secondary-button, .btn-outline-secondary),
body.page-register-course :is(.td-secondary-button, .btn-outline-secondary),
body.page-register-subjects :is(.td-secondary-button, .btn-outline-secondary) {
  border: 1px solid var(--st-core-border) !important;
  border-radius: 11px !important;
  color: var(--st-core-text) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.td-page--login :is(button, a),
body.page-register :is(button, a),
body.page-register-course :is(button, a),
body.page-register-subjects :is(button, a) {
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 120ms ease !important;
}

body.page-register-course .registration-step.is-collapsed {
  display: none !important;
}

body.td-page--login button:active,
body.page-register button:active,
body.page-register-course button:active,
body.page-register-subjects button:active {
  transform: translateY(1px) scale(0.99);
}

@media (max-width: 1100px) {
  .studerria-nav-shell .snav-account-copy,
  .studerria-nav-shell .snav-logout-text {
    display: none !important;
  }

  .studerria-nav-shell .snav-link {
    padding-inline: 8px !important;
    font-size: 0.82rem !important;
  }
}

@media (max-width: 991px) {
  body.page-local-topbar .container,
  body.page-authenticated .container,
  body.page-app-shell .container,
  .page-container {
    width: min(100% - 24px, 1240px) !important;
  }

  .studerria-nav-shell .snav-list,
  .studerria-nav-shell .snav-account-card,
  .studerria-nav-shell .snav-logout-form {
    display: none !important;
  }

  .page-my-day .studerria-home-preview {
    grid-template-columns: 1fr !important;
  }

  .page-schedule .schedule-day-switcher {
    grid-template-columns: repeat(7, minmax(76px, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .page-my-day .cockpit-page,
  .page-schedule .schedule-content,
  .page-subjects main.container,
  .page-teamwork main.container,
  .page-journal main.container,
  .page-profile main.container {
    padding-top: 22px !important;
    padding-bottom: 42px !important;
  }

  .page-my-day .studerria-home-head,
  .page-schedule .schedule-page-header {
    align-items: stretch !important;
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .page-my-day .studerria-home-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-my-day .studerria-home-stats .td-stat-card:nth-child(2) {
    border-right: 0 !important;
  }

  .page-my-day .studerria-home-stats .td-stat-card:nth-child(-n + 2) {
    border-bottom: 1px solid var(--st-core-border) !important;
  }

  .page-my-day .studerria-home-preview > article {
    padding: 18px !important;
  }

  .page-schedule .schedule-day-switcher {
    margin-inline: -12px;
    padding-inline: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-local-topbar *,
  body.page-authenticated *,
  body.page-app-shell * {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
