/* ==========================================================================
   TA-DA Academy - Premium Modern Design System
   Rich aesthetics, smooth animations, crisp typography & elegant card layouts
   ========================================================================== */

/* 1. Font Definitions */
@font-face {
  font-family: "Recht";
  src: url("/tada-assets/fonts/recht/Recht-Black.woff2") format("woff2"),
       url("/tada-assets/fonts/recht/Recht-Black.otf") format("opentype");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

@font-face {
  font-family: "Cake Mono";
  src: url("/tada-assets/fonts/cake-mono/CakeMono-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("/tada-assets/fonts/geologica/Geologica-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("/tada-assets/fonts/geologica/Geologica-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

/* Page Shell & Background */
.content-wrapper,
body.student-ui-shell,
.tada-ref-exact-page {
  background-color: #f8fafc !important;
  font-family: "Geologica", Arial, sans-serif !important;
  color: #0f172a !important;
  -webkit-font-smoothing: antialiased !important;
}

.tada-ref-exact-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 28px 24px 64px 24px;
}

/* Header Navbar List Reset */
.main-header ul,
.main-header ol,
.main-header li,
.student-ui-shell .main-header ul,
.student-ui-shell .main-header ol,
.student-ui-shell .main-header li {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}

.main-header .navbar-nav,
.student-ui-shell .navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.main-header .navbar-nav .nav-item,
.student-ui-shell .navbar-nav .nav-item {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* SECTION 1: HERO HEADER */
.tada-ref-hero-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 28px !important;
}

.tada-ref-kicker-green {
  font-family: "Cake Mono", Consolas, monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #047857 !important;
  background-color: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  padding: 3px 10px !important;
  border-radius: 99px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  display: inline-block !important;
  margin-bottom: 8px !important;
}

.tada-ref-hero-title {
  font-family: "Recht", "Arial Black", sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

.tada-ref-hero-subtitle {
  font-family: "Geologica", Arial, sans-serif !important;
  font-size: 0.975rem !important;
  color: #475569 !important;
  margin: 0 !important;
}

.btn-tada-ref-outline {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
  font-family: "Geologica", sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  padding: 10px 20px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  display: inline-block !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
}

.btn-tada-ref-outline:hover {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
}

.btn-tada-ref-outline:active {
  transform: translateY(0) !important;
}

/* SECTION 2: 3-STEP PROCESS RIBBON */
.tada-ref-process-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 20px 32px !important;
  margin-bottom: 32px !important;
  box-shadow: 0 4px 20px -2px rgba(0,0,0,0.03) !important;
}

.tada-ref-process-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.tada-ref-process-step {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.tada-ref-step-num {
  width: 32px !important;
  height: 32px !important;
  background: linear-gradient(135deg, #ffd42f 0%, #f5c400 100%) !important;
  color: #18181b !important;
  font-family: "Geologica", sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.95rem !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 6px rgba(255, 212, 47, 0.4) !important;
}

.tada-ref-step-label {
  font-family: "Geologica", sans-serif !important;
  font-size: 0.9rem !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
}

.tada-ref-step-label strong {
  font-weight: 700 !important;
  display: inline !important;
}

.tada-ref-step-label small {
  color: #64748b !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
}

.tada-ref-dashed-arrow {
  flex-grow: 1 !important;
  border-top: 2px dashed #cbd5e1 !important;
  position: relative !important;
  margin: 0 20px !important;
}

.tada-ref-dashed-arrow::after {
  content: '>' !important;
  position: absolute !important;
  right: -5px !important;
  top: -10px !important;
  font-family: monospace !important;
  font-size: 0.85rem !important;
  color: #94a3b8 !important;
}

/* SECTION 3: 2-COLUMN MAIN CARDS */
.tada-ref-grid-2col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  margin-bottom: 36px !important;
}

/* LEFT CARD: YELLOW BACKGROUND + PEEKING DINO */
.tada-ref-yellow-card {
  background: linear-gradient(145deg, #fffdf0 0%, #fef9c3 100%) !important;
  border: 1px solid #fde68a !important;
  border-radius: 20px !important;
  padding: 32px 32px 28px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 460px !important;
  position: relative !important;
  box-shadow: 0 4px 24px -4px rgba(245, 158, 11, 0.12) !important;
}

.tada-ref-yellow-title {
  font-family: "Recht", "Arial Black", sans-serif !important;
  font-size: 1.95rem !important;
  font-weight: 900 !important;
  color: #18181b !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.15 !important;
}

.tada-ref-yellow-desc {
  font-family: "Geologica", sans-serif !important;
  font-size: 0.975rem !important;
  color: #475569 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* PEKING GREEN DINO + DASHED YELLOW BUTTON */
.tada-ref-mascot-btn-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  position: relative !important;
  margin-top: 28px !important;
}

.tada-ref-dino-head-svg,
.tada-ref-dino-peeking-img {
  width: 200px !important;
  height: auto !important;
  margin-bottom: -15px !important;
  position: relative !important;
  z-index: 5 !important;
  display: block !important;
  pointer-events: none !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tada-ref-mascot-btn-wrapper:hover .tada-ref-dino-head-svg,
.tada-ref-mascot-btn-wrapper:hover .tada-ref-dino-peeking-img {
  transform: translateY(-4px) !important;
}

.btn-tada-big-dashed-yellow {
  background-color: #ffd42f !important;
  border: 2.5px dashed #18181b !important;
  border-radius: 14px !important;
  padding: 18px 24px !important;
  font-family: "Recht", "Arial Black", sans-serif !important;
  font-weight: 900 !important;
  font-size: 1.35rem !important;
  color: #18181b !important;
  width: 100% !important;
  text-align: center !important;
  text-decoration: none !important;
  display: block !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.06) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  z-index: 2 !important;
}

.btn-tada-big-dashed-yellow:hover {
  background-color: #f5c400 !important;
  color: #18181b !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 24px rgba(245, 196, 0, 0.35) !important;
}

.btn-tada-big-dashed-yellow:active {
  transform: translateY(0) !important;
}

/* RIGHT CARD: CERTIFICATES */
.tada-ref-white-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 32px !important;
  box-shadow: 0 4px 20px -2px rgba(0,0,0,0.03) !important;
}

.tada-ref-cert-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
}

.tada-ref-cert-heading {
  font-family: "Recht", "Arial Black", sans-serif !important;
  font-size: 1.75rem !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  margin: 0 0 4px 0 !important;
}

.tada-ref-cert-sub {
  font-family: "Geologica", sans-serif !important;
  font-size: 0.875rem !important;
  color: #64748b !important;
  margin: 0 !important;
}

.tada-ref-cert-divider {
  border-top: 1px solid #f1f5f9 !important;
  margin: 20px 0 !important;
}

.tada-ref-cert-item {
  padding: 16px !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  border: 1px solid #f1f5f9 !important;
  margin-bottom: 12px !important;
  transition: all 0.2s ease !important;
}

.tada-ref-cert-item:hover {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04) !important;
  transform: translateY(-1px) !important;
}

.tada-ref-cert-name {
  font-family: "Geologica", sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.975rem !important;
  color: #0f172a !important;
  margin-bottom: 4px !important;
}

.tada-ref-cert-meta {
  font-family: "Cake Mono", Consolas, monospace !important;
  font-size: 0.8rem !important;
  color: #64748b !important;
  margin-bottom: 12px !important;
}

.tada-ref-cert-meta strong {
  color: #0f172a !important;
  font-weight: 700 !important;
}

.tada-ref-cert-action-flex {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.tada-ref-badge-green {
  background-color: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  color: #047857 !important;
  font-family: "Geologica", sans-serif !important;
  font-size: 0.725rem !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 99px !important;
  letter-spacing: 0.04em !important;
}

.tada-ref-badge-yellow {
  background-color: #fffbeb !important;
  border: 1px solid #fde68a !important;
  color: #b45309 !important;
  font-family: "Geologica", sans-serif !important;
  font-size: 0.725rem !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 99px !important;
  letter-spacing: 0.04em !important;
}

.btn-tada-ref-view {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  font-family: "Geologica", sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.825rem !important;
  padding: 6px 16px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.15s ease !important;
}

.btn-tada-ref-view:hover {
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(15, 23, 42, 0.15) !important;
}

.btn-tada-ref-view:active {
  transform: translateY(0) !important;
}

.tada-ref-notice-warning {
  background-color: #fffdf0 !important;
  border: 1px solid #fde68a !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: "Geologica", sans-serif !important;
  font-size: 0.825rem !important;
  color: #b45309 !important;
  margin-top: 10px !important;
}

/* SECTION 4: BOTTOM PROGRESS RIBBON */
.tada-ref-progress-header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  margin-bottom: 20px !important;
}

.tada-ref-progress-heading {
  font-family: "Recht", "Arial Black", sans-serif !important;
  font-size: 1.85rem !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.tada-ref-progress-link {
  font-family: "Geologica", sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  color: #02ae6e !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.tada-ref-progress-link:hover {
  color: #047857 !important;
  text-decoration: underline !important;
}

.tada-ref-progress-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.tada-ref-progress-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 22px 24px !important;
  box-shadow: 0 2px 10px -2px rgba(0,0,0,0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 130px !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tada-ref-progress-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 24px -4px rgba(0,0,0,0.06) !important;
  border-color: #cbd5e1 !important;
}

.tada-ref-progress-label {
  font-family: "Geologica", sans-serif !important;
  font-size: 0.8rem !important;
  color: #64748b !important;
  margin-bottom: 6px !important;
}

.tada-ref-progress-val {
  font-family: "Recht", "Arial Black", sans-serif !important;
  font-size: 1.85rem !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  line-height: 1.1 !important;
  margin-bottom: 6px !important;
}

.tada-ref-progress-total {
  font-size: 1.15rem;
  font-weight: 400;
  color: #64748b;
}

.tada-ref-progress-val-sm {
  font-family: "Geologica", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.25 !important;
  margin-bottom: 6px !important;
}

.tada-ref-progress-sub {
  font-family: "Geologica", sans-serif !important;
  font-size: 0.825rem !important;
  color: #64748b !important;
}

.tada-ref-progress-track {
  height: 8px !important;
  background: #f1f5f9 !important;
  border-radius: 99px !important;
  margin-top: 12px !important;
  overflow: hidden !important;
}

.tada-ref-progress-fill {
  height: 100% !important;
  background: linear-gradient(90deg, #10b981 0%, #059669 100%) !important;
  border-radius: 99px !important;
  transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Responsive queries */
@media (max-width: 991px) {
  .tada-ref-grid-2col {
    grid-template-columns: 1fr !important;
  }
  .tada-ref-progress-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .tada-ref-process-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .tada-ref-process-step {
    padding-left: 14px !important;
    border-left: 3.5px solid #ffd42f !important;
    width: 100% !important;
  }
  .tada-ref-dashed-arrow {
    display: none !important;
  }
}

@media (max-width: 575px) {
  .tada-ref-progress-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final visual contract for the student platform. */
:root { --tada-page:#f6f8f7; --tada-surface:#fff; --tada-line:#e3eae6; --tada-line-strong:#cbd9d1; --tada-ink:#17231e; --tada-accent:#00a86b; --tada-accent-dark:#08784f; --tada-radius-sm:10px; --tada-radius-md:16px; --tada-shadow-sm:0 2px 8px rgba(23,35,30,.05); --tada-shadow-md:0 14px 34px rgba(23,35,30,.08); }
body.tada-ui-shell, body.student-ui-shell, .student-ui-shell .content-wrapper { background:var(--tada-page) !important; color:var(--tada-ink) !important; }
.student-ui-shell .content > .container-fluid, .student-ui > .container-fluid { max-width:1440px; }
.student-page-header__title, .student-page-title, .student-ui .tada-heading { letter-spacing:-.035em !important; text-wrap:balance; }
.student-panel, .student-test-card, .student-help-panel, .student-next-step, .student-resource-item, .student-certificate-item, .student-learning-row, .student-result-item { border:1px solid var(--tada-line) !important; border-radius:var(--tada-radius-md) !important; background:var(--tada-surface) !important; box-shadow:var(--tada-shadow-sm) !important; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease !important; }
.student-panel:hover, .student-resource-item:hover, .student-certificate-item:hover, .student-learning-row:hover, .student-result-item:hover { border-color:var(--tada-line-strong) !important; box-shadow:var(--tada-shadow-md) !important; transform:translateY(-2px); }
.student-panel__header, .student-section-heading { border-bottom:1px solid var(--tada-line) !important; padding-bottom:14px !important; margin-bottom:16px !important; }
.student-button, .student-button--primary, .student-button--secondary, .btn-tada-ref-outline { min-height:42px; border-radius:var(--tada-radius-sm) !important; font-weight:700 !important; transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease !important; }
.student-button--primary, .student-button-primary { background:var(--tada-accent) !important; border-color:var(--tada-accent) !important; box-shadow:0 6px 14px rgba(0,168,107,.18) !important; }
.student-button--primary:hover, .student-button-primary:hover, .student-button--primary:focus-visible, .student-button-primary:focus-visible { background:var(--tada-accent-dark) !important; border-color:var(--tada-accent-dark) !important; transform:translateY(-1px); }
.status-chip, .student-status-chip { border-radius:999px !important; font-weight:700 !important; }
.student-search__field, .student-ui input:not([type="checkbox"]):not([type="radio"]), .student-ui select, .student-ui textarea { min-height:44px; border:1px solid var(--tada-line-strong) !important; border-radius:var(--tada-radius-sm) !important; background:var(--tada-surface) !important; color:var(--tada-ink) !important; }
.student-search__field:focus, .student-ui input:focus, .student-ui select:focus, .student-ui textarea:focus { border-color:var(--tada-accent) !important; box-shadow:0 0 0 3px rgba(0,168,107,.14) !important; outline:0 !important; }
.student-ui a:focus-visible, .student-ui button:focus-visible, .tada-ui-shell a:focus-visible, .tada-ui-shell button:focus-visible { outline:3px solid rgba(0,168,107,.38) !important; outline-offset:3px; }
@media (max-width:767.98px) { .tada-ref-exact-container{padding:20px 16px 40px;} .tada-ref-hero-header{flex-direction:column;align-items:stretch !important;gap:16px !important;} .tada-ref-hero-title{font-size:clamp(1.8rem,9vw,2.35rem) !important;} .tada-ref-process-card{padding:16px !important;} .tada-ref-process-row{align-items:stretch !important;flex-direction:column !important;gap:13px !important;} .tada-ref-dashed-arrow{display:none !important;} .student-page-header__title,.student-page-title{font-size:clamp(1.7rem,8vw,2.35rem) !important;} .student-panel,.student-test-card{border-radius:var(--tada-radius-sm) !important;} }
@media (prefers-reduced-motion:reduce) { .student-panel,.student-resource-item,.student-certificate-item,.student-learning-row,.student-result-item,.student-button{transition:none !important;} }

/* The mascot is anchored to the button edge: its claws sit above the border,
   while the body stays visually behind the button instead of floating. */
.tada-ref-mascot-btn-wrapper { position: relative !important; isolation: isolate; }
.tada-ref-dino-peeking-img, .tada-ref-dino-head-svg {
  position: relative !important;
  z-index: 3 !important;
  margin-bottom: -34px !important;
  transform: translateY(0) !important;
}
.btn-tada-big-dashed-yellow { position: relative !important; z-index: 2 !important; }
.tada-ref-mascot-btn-wrapper:hover .tada-ref-dino-peeking-img,
.tada-ref-mascot-btn-wrapper:hover .tada-ref-dino-head-svg { transform: none !important; }
.tada-ref-mascot-btn-wrapper { transition: transform .2s cubic-bezier(.16,1,.3,1) !important; }
.tada-ref-mascot-btn-wrapper:hover { transform: translateY(-3px) !important; }
.tada-ref-mascot-btn-wrapper:hover .btn-tada-big-dashed-yellow { transform: none !important; }

.student-password-field { position: relative; }
.student-password-field input { padding-right: 48px !important; }
.student-password-toggle {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border: 0; border-radius: 8px;
  background: transparent; color: #64756d; cursor: pointer; z-index: 2;
}
.student-password-toggle:hover, .student-password-toggle:focus-visible {
  color: #08784f; background: #e7f7ef;
}

/* The operating roles use the same TA-DA visual language as the student cabinet.
   This is presentation-only: role-specific navigation and routes stay intact. */
.tada-backoffice-shell,
.tada-backoffice-shell button,
.tada-backoffice-shell input,
.tada-backoffice-shell textarea,
.tada-backoffice-shell select { font-family:"Geologica", Arial, sans-serif !important; }
.tada-backoffice-shell .content-wrapper { background:#f8fafc !important; color:#0f172a !important; }
.tada-backoffice-shell .content-header { padding:12px 0 0 !important; }
.tada-backoffice-shell .content { padding:0 0 32px !important; }
.tada-backoffice-shell .main-header { min-height:64px !important; padding:0 18px !important; border-bottom:1px solid #e2e8f0 !important; box-shadow:none !important; }
.tada-backoffice-shell .main-header .nav-link { min-height:44px !important; padding:10px 12px !important; border-radius:9px !important; color:#17231e !important; font-weight:600 !important; }
.tada-backoffice-shell .main-header .nav-link:hover,
.tada-backoffice-shell .main-header .nav-link:focus-visible { background:#fff8d8 !important; }
.tada-backoffice-shell .main-sidebar { background:#1f2421 !important; box-shadow:none !important; }
.tada-backoffice-shell .brand-link { min-height:58px !important; height:58px !important; padding:10px 18px !important; border-bottom:1px solid #3c443f !important; display:flex !important; align-items:center !important; }
.tada-backoffice-shell .student-brand-logo { width:110px !important; height:24px !important; object-fit:contain !important; filter:none !important; }
.tada-backoffice-shell .student-brand-logo--compact { display:none !important; }
.tada-backoffice-shell .sidebar { padding:10px 10px 24px !important; }
.tada-backoffice-shell .nav-sidebar .nav-item > .nav-link { min-height:48px !important; margin-bottom:4px !important; padding:11px 12px !important; border:1px solid transparent !important; border-radius:9px !important; color:#f5f3ec !important; font-weight:600 !important; }
.tada-backoffice-shell .nav-sidebar .nav-link p { width:calc(100% - 32px) !important; margin:0 !important; white-space:normal !important; }
.tada-backoffice-shell .nav-sidebar .nav-icon { width:24px !important; margin-right:10px !important; color:#c7c4bb !important; font-size:16px !important; }
.tada-backoffice-shell .nav-sidebar .nav-item > .nav-link:hover,
.tada-backoffice-shell .nav-sidebar .nav-item > .nav-link:focus-visible,
.tada-backoffice-shell .nav-sidebar .nav-item.menu-open > .nav-link { background:#323833 !important; color:#fff !important; }
.tada-backoffice-shell .nav-sidebar .nav-item > .nav-link.active { background:#ffd42f !important; border-color:#e2b800 !important; color:#18181b !important; box-shadow:none !important; }
.tada-backoffice-shell .nav-sidebar .nav-link.active .nav-icon { color:#18181b !important; }
.tada-backoffice-shell .nav-treeview > .nav-item > .nav-link { color:#d8d6cf !important; }
.tada-backoffice-shell .main-footer { color:#64748b !important; background:#fff !important; border-top:1px solid #e2e8f0 !important; }
.tada-backoffice-home .tada-ref-grid-2col { align-items:stretch !important; }
.tada-backoffice-home__feature { min-height:390px !important; }
.tada-backoffice-action { display:grid !important; grid-template-columns:38px minmax(0, 1fr) auto !important; align-items:center !important; gap:12px !important; padding:13px 0 !important; border-bottom:1px solid #f1f5f9 !important; color:#0f172a !important; text-decoration:none !important; }
.tada-backoffice-action:last-child { border-bottom:0 !important; }
.tada-backoffice-action:hover { color:#047857 !important; }
.tada-backoffice-action__icon { width:38px !important; height:38px !important; display:grid !important; place-items:center !important; border-radius:10px !important; color:#17231e !important; background:#fff8d8 !important; }
.tada-backoffice-action strong,
.tada-backoffice-action small { display:block !important; }
.tada-backoffice-action strong { font-size:.925rem !important; font-weight:700 !important; }
.tada-backoffice-action small { margin-top:2px !important; color:#64748b !important; font-size:.78rem !important; }
.tada-backoffice-action > .fas { color:#94a3b8 !important; font-size:.8rem !important; }
.tada-backoffice-links { grid-template-columns:repeat(auto-fit, minmax(205px, 1fr)) !important; }
.tada-backoffice-link-card { color:#0f172a !important; text-decoration:none !important; }
.tada-backoffice-link-card:hover { color:#0f172a !important; }

/* Production operating UI — applies the archive's serious TA-DA system to
   every legacy back-office template without altering its routes or form data. */
body.tada-backoffice-shell { --tada-ink:#1a1919; --tada-page:#f5f3ed; --tada-surface:#fff; --tada-border:#dedbd2; --tada-border-strong:#c9c5ba; --tada-green:#02ae6e; --tada-green-soft:#e8f8f2; --tada-yellow:#ffd42f; --tada-yellow-soft:#fff8dc; --tada-muted:#625f57; background:var(--tada-page) !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .content-wrapper { background:var(--tada-page) !important; }
.tada-backoffice-shell .content > .container-fluid,
.tada-backoffice-shell .content-header > .container-fluid { width:100% !important; max-width:1260px !important; margin:0 auto !important; padding-right:20px !important; padding-left:20px !important; }
.tada-backoffice-shell .content-header { padding:18px 0 0 !important; }
.tada-backoffice-shell .content { padding:0 0 42px !important; }
.tada-backoffice-shell .content h1,
.tada-backoffice-shell .content-header h1,
.tada-backoffice-shell .content h2,
.tada-backoffice-shell .content-header h2 { color:var(--tada-ink) !important; font-family:"Recht", "Arial Black", sans-serif !important; font-weight:900 !important; letter-spacing:-.025em !important; line-height:1.06 !important; }
.tada-backoffice-shell .content h3,
.tada-backoffice-shell .content-header h3,
.tada-backoffice-shell .card-title { color:var(--tada-ink) !important; font-family:"Geologica", Arial, sans-serif !important; font-weight:700 !important; }
.tada-backoffice-shell .main-header { min-height:58px !important; height:58px !important; background:#fff !important; border-bottom:1px solid var(--tada-border) !important; }
.tada-backoffice-shell .main-sidebar { background:var(--tada-ink) !important; }
.tada-backoffice-shell .brand-link { background:#fff !important; border-bottom:1px solid var(--tada-border) !important; }
.tada-backoffice-shell .nav-sidebar .nav-item > .nav-link { border-radius:6px !important; }
.tada-backoffice-shell .nav-sidebar .nav-item > .nav-link.active { background:var(--tada-yellow) !important; border-color:var(--tada-yellow-dark, #caa500) !important; }
.tada-backoffice-shell .card,
.tada-backoffice-shell .tada-report-nav-card { border:1px solid var(--tada-border) !important; border-radius:8px !important; background:var(--tada-surface) !important; box-shadow:0 4px 14px rgba(26,25,25,.045) !important; overflow:hidden; }
.tada-backoffice-shell .card-header,
.tada-backoffice-shell .card-header[class*="bg-"],
.tada-backoffice-shell .card.card-warning > .card-header { padding:18px 20px !important; border-bottom:1px solid var(--tada-border) !important; background:#fff !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .card-body { padding:20px !important; }
.tada-backoffice-shell .card-footer { padding:16px 20px !important; border-top:1px solid var(--tada-border) !important; background:#fff !important; }
.tada-backoffice-shell .section-label,
.tada-backoffice-shell .tada-ref-kicker-green { font-family:"Cake Mono", Consolas, monospace !important; font-size:.7rem !important; font-weight:700 !important; letter-spacing:.055em !important; text-transform:uppercase !important; color:#007c4f !important; }
.tada-backoffice-shell .form-group label,
.tada-backoffice-shell .form-label { color:var(--tada-ink) !important; font-family:"Geologica", Arial, sans-serif !important; font-size:.875rem !important; font-weight:700 !important; }
.tada-backoffice-shell .form-control,
.tada-backoffice-shell .custom-select,
.tada-backoffice-shell textarea,
.tada-backoffice-shell .select2-selection { min-height:42px !important; border:1px solid var(--tada-border-strong) !important; border-radius:6px !important; background:#fff !important; color:var(--tada-ink) !important; box-shadow:none !important; font-family:"Geologica", Arial, sans-serif !important; }
.tada-backoffice-shell .select2-selection { display:flex !important; align-items:center !important; }
.tada-backoffice-shell .form-control:focus,
.tada-backoffice-shell .custom-select:focus,
.tada-backoffice-shell .select2-container--default.select2-container--focus .select2-selection { border-color:var(--tada-green) !important; box-shadow:0 0 0 3px rgba(2,174,110,.16) !important; }
.tada-backoffice-shell .btn { min-height:40px !important; border-radius:6px !important; box-shadow:none !important; font-family:"Geologica", Arial, sans-serif !important; font-weight:700 !important; transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease !important; }
.tada-backoffice-shell .btn-warning,
.tada-backoffice-shell .btn-outline-warning:hover { border-color:var(--tada-yellow) !important; background:var(--tada-yellow) !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .btn-warning:hover,
.tada-backoffice-shell .btn-warning:focus-visible { border-color:#e0b600 !important; background:#f4c62c !important; color:var(--tada-ink) !important; box-shadow:0 0 0 3px rgba(255,212,47,.32) !important; transform:none !important; }
.tada-backoffice-shell .btn-outline-warning { border-color:#d5aa00 !important; color:var(--tada-ink) !important; background:#fff !important; }
.tada-backoffice-shell .btn-secondary,
.tada-backoffice-shell .btn-outline-secondary,
.tada-backoffice-shell .btn-light { border-color:var(--tada-border-strong) !important; background:#fff !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .btn-danger { border-color:#b42318 !important; background:#b42318 !important; }
.tada-backoffice-shell .nav-tabs { gap:4px !important; border-bottom:0 !important; }
.tada-backoffice-shell .nav-tabs .nav-link { min-height:40px !important; border:1px solid transparent !important; border-radius:6px !important; color:var(--tada-muted) !important; font-family:"Geologica", Arial, sans-serif !important; font-weight:700 !important; }
.tada-backoffice-shell .nav-tabs .nav-link:hover { background:#fff8dc !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .nav-tabs .nav-link.active { border-color:#e0b600 !important; background:var(--tada-yellow) !important; color:var(--tada-ink) !important; box-shadow:none !important; }
.tada-backoffice-shell .tada-report-tabs { padding:0 !important; background:transparent !important; }
.tada-backoffice-shell .tada-report-nav-card { padding:12px !important; margin-bottom:16px !important; }
.tada-backoffice-shell .table { margin:0 !important; color:var(--tada-ink) !important; font-family:"Geologica", Arial, sans-serif !important; }
.tada-backoffice-shell .table th { border-color:var(--tada-border) !important; background:#fff8dc !important; color:var(--tada-ink) !important; font-family:"Cake Mono", Consolas, monospace !important; font-size:.72rem !important; font-weight:700 !important; letter-spacing:.025em !important; text-transform:uppercase !important; }
.tada-backoffice-shell .table td { border-color:var(--tada-border) !important; background:#fff !important; vertical-align:middle !important; }
.tada-backoffice-shell .table-striped tbody tr:nth-of-type(odd) td { background:#fbfaf6 !important; }
.tada-backoffice-shell .tada-report-table th.bg-danger,
.tada-backoffice-shell .tada-report-table th.bg-gradient-warning { background:var(--tada-ink) !important; color:#fff !important; }
.tada-backoffice-shell .tada-report-table .main-column { background:#fff8dc !important; }
.tada-backoffice-shell .dataTables_wrapper .dataTables_filter input,
.tada-backoffice-shell .dataTables_wrapper .dataTables_length select { min-height:38px !important; margin-left:8px !important; border:1px solid var(--tada-border-strong) !important; border-radius:6px !important; background:#fff !important; }
.tada-backoffice-shell .dataTables_wrapper .paginate_button { border:1px solid var(--tada-border) !important; border-radius:5px !important; background:#fff !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .dataTables_wrapper .paginate_button.current { border-color:#e0b600 !important; background:var(--tada-yellow) !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .alert { border:1px solid var(--tada-border) !important; border-radius:6px !important; box-shadow:none !important; }
.tada-backoffice-shell .alert-warning,
.tada-backoffice-shell .tada-empty-state { background:#fff8dc !important; border-color:#ead78b !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .alert-success { background:var(--tada-green-soft) !important; border-color:#a7e5c9 !important; color:#075c3f !important; }
.tada-backoffice-shell .modal-content { border:1px solid var(--tada-border) !important; border-radius:8px !important; box-shadow:0 18px 45px rgba(26,25,25,.16) !important; }
.tada-backoffice-shell .modal-header,
.tada-backoffice-shell .modal-footer { border-color:var(--tada-border) !important; background:#fff !important; }
.tada-backoffice-shell .modal-title { font-family:"Recht", "Arial Black", sans-serif !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .dropdown-menu { border:1px solid var(--tada-border) !important; border-radius:6px !important; box-shadow:0 12px 28px rgba(26,25,25,.12) !important; }
.tada-backoffice-shell .dropdown-item:hover,
.tada-backoffice-shell .dropdown-item:focus { background:#fff8dc !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .schedule-calendar-page .calendar-weekdays { color:var(--tada-muted) !important; font-family:"Cake Mono", Consolas, monospace !important; }
.tada-backoffice-shell .schedule-calendar-page .calendar-day { min-height:108px !important; border:1px solid var(--tada-border) !important; border-radius:6px !important; background:#fff !important; color:var(--tada-ink) !important; box-shadow:none !important; }
.tada-backoffice-shell .schedule-calendar-page .calendar-day:hover { border-color:#e0b600 !important; background:#fffdf4 !important; box-shadow:0 3px 10px rgba(26,25,25,.06) !important; transform:none !important; }
.tada-backoffice-shell .schedule-calendar-page .calendar-day.is-today { border-color:var(--tada-green) !important; background:var(--tada-green-soft) !important; }
.tada-backoffice-shell .schedule-calendar-page .calendar-day-number { font-family:"TA-DA Numbers", "Recht", sans-serif !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .schedule-calendar-page .calendar-day-note { font-family:"Cake Mono", Consolas, monospace !important; color:var(--tada-muted) !important; }
.tada-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:8px 0 18px; }
.tada-page-heading__kicker { margin:0 0 6px; color:#007c4f; font-family:"Cake Mono", Consolas, monospace; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.tada-page-heading__title { margin:0; font-family:"Recht", "Arial Black", sans-serif; font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-.03em; line-height:1; }
.tada-page-heading__description { max-width:680px; margin:8px 0 0; color:var(--tada-muted); font-size:.95rem; }
.tada-backoffice-shell .tada-report-control-row { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
.tada-backoffice-shell .tada-report-control-group,
.tada-backoffice-shell .tada-report-groups { min-width:0; }
.tada-backoffice-shell .tada-report-groups { margin-top:14px; padding-top:14px; border-top:1px solid var(--tada-border); }
.tada-backoffice-shell .tada-report-control-label { margin:0 0 8px; color:var(--tada-muted); font-family:"Cake Mono", Consolas, monospace; font-size:.68rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.tada-backoffice-shell .tada-report-tabs-row { margin:0 !important; }
.tada-backoffice-shell .tada-report-tabs-row > div { padding:0 !important; }
.tada-backoffice-shell .tada-report-tabs .nav-item { flex:1 1 0 !important; min-width:0 !important; }
@media (max-width:767.98px) { .tada-backoffice-shell .content > .container-fluid,.tada-backoffice-shell .content-header > .container-fluid { padding-right:14px !important; padding-left:14px !important; } .tada-backoffice-shell .card-body,.tada-backoffice-shell .card-header { padding:16px !important; } .tada-page-heading { align-items:flex-start; flex-direction:column; } .tada-backoffice-shell .schedule-calendar-page .calendar-day { min-height:82px !important; padding:8px !important; } .tada-backoffice-shell .table-responsive { border:1px solid var(--tada-border); border-radius:6px; } }

/* Reusable workspaces.  Legacy forms still keep their routes and JavaScript,
   while their hierarchy follows the TA-DA reference: marker, clear title,
   brief explanation, then one calm operational surface. */
.tada-backoffice-shell .tada-data-workspace { overflow:visible !important; }
.tada-backoffice-shell .tada-data-workspace__header,
.tada-backoffice-shell .tada-editor-card__header { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:20px !important; padding:24px !important; border-bottom:1px solid var(--tada-border) !important; background:linear-gradient(118deg, #fff 0%, #fffdf3 100%) !important; }
.tada-backoffice-shell .tada-data-workspace__eyebrow,
.tada-backoffice-shell .tada-editor-card__eyebrow { margin:0 0 8px !important; color:#007c4f !important; font-family:"Cake Mono", Consolas, monospace !important; font-size:.7rem !important; font-weight:700 !important; letter-spacing:.07em !important; text-transform:uppercase !important; }
.tada-backoffice-shell .tada-data-workspace__title,
.tada-backoffice-shell .tada-editor-card .card-title { margin:0 !important; color:var(--tada-ink) !important; font-family:"Recht", "Arial Black", sans-serif !important; font-size:clamp(1.55rem, 2.8vw, 2.15rem) !important; font-weight:900 !important; letter-spacing:-.025em !important; line-height:1 !important; }
.tada-backoffice-shell .tada-data-workspace__header .card-title,
.tada-backoffice-shell .tada-editor-card__header .card-title { float:none !important; display:block !important; }
.tada-backoffice-shell .tada-data-workspace__description { max-width:650px !important; margin:9px 0 0 !important; color:var(--tada-muted) !important; font-size:.92rem !important; line-height:1.55 !important; }
.tada-backoffice-shell .tada-data-workspace__primary-action { flex:0 0 auto !important; align-self:center !important; padding:10px 15px !important; text-decoration:none !important; }
.tada-backoffice-shell .tada-data-workspace__primary-action i { margin-right:6px !important; }
.tada-backoffice-shell .tada-data-workspace__note { display:inline-flex !important; align-items:center !important; gap:7px !important; align-self:center !important; padding:9px 11px !important; border:1px solid #9bdcc0 !important; border-radius:6px !important; background:var(--tada-green-soft) !important; color:#075c3f !important; font-family:"Cake Mono", Consolas, monospace !important; font-size:.7rem !important; font-weight:700 !important; }
.tada-backoffice-shell .tada-workspace-tabs { margin:0 !important; padding:14px 20px 0 !important; border-bottom:1px solid var(--tada-border) !important; background:#fff !important; }
.tada-backoffice-shell .tada-workspace-tabs .nav-tabs { gap:8px !important; }
.tada-backoffice-shell .tada-workspace-tabs .nav-link { min-height:44px !important; padding:11px 15px !important; }
.tada-backoffice-shell .tada-data-workspace .card-body { padding:20px !important; }
.tada-backoffice-shell .tada-table-frame { overflow-x:auto !important; border:1px solid var(--tada-border) !important; border-radius:6px !important; background:#fff !important; }
.tada-backoffice-shell .tada-table-frame .table { min-width:720px !important; }
.tada-backoffice-shell .tada-table-primary-link { color:var(--tada-ink) !important; font-weight:700 !important; text-decoration:none !important; }
.tada-backoffice-shell .tada-table-primary-link:hover { color:#007c4f !important; text-decoration:underline !important; text-underline-offset:3px !important; }
.tada-backoffice-shell .tada-status { display:inline-flex !important; align-items:center !important; gap:6px !important; padding:5px 8px !important; border:1px solid transparent !important; border-radius:999px !important; font-family:"Cake Mono", Consolas, monospace !important; font-size:.67rem !important; font-weight:700 !important; white-space:nowrap !important; }
.tada-backoffice-shell .tada-status--success { border-color:#9bdcc0 !important; background:var(--tada-green-soft) !important; color:#075c3f !important; }
.tada-backoffice-shell .tada-status--pending { border-color:#ead78b !important; background:var(--tada-yellow-soft) !important; color:#695500 !important; }
.tada-backoffice-shell .tada-editor-card { max-width:760px !important; margin:0 auto !important; }
.tada-backoffice-shell .tada-exam-builder { max-width:1180px !important; }
.tada-backoffice-shell .tada-editor-card .card-body { padding:12px 0 26px !important; }
.tada-backoffice-shell .tada-editor-card .form-group,
.tada-backoffice-shell .tada-editor-card .form-label { margin-top:12px !important; }
.tada-backoffice-shell .tada-editor-card__footer { background:#fffdf3 !important; }
.tada-backoffice-shell .tada-editor-card .note-editor.note-frame { border:1px solid var(--tada-border-strong) !important; border-radius:6px !important; overflow:hidden !important; }
.tada-backoffice-shell .tada-editor-card .note-toolbar { border-bottom:1px solid var(--tada-border) !important; background:#f5f3ed !important; }
.tada-backoffice-shell .tada-editor-card .note-editable { background:#fff !important; color:var(--tada-ink) !important; }
.tada-backoffice-shell .tada-exam-builder .card-body { padding:22px 24px !important; }
.tada-backoffice-shell .tada-exam-builder .form-group > label,
.tada-backoffice-shell .tada-exam-builder label { display:block !important; margin:0 0 7px !important; color:var(--tada-muted) !important; font-family:"Cake Mono", Consolas, monospace !important; font-size:.68rem !important; font-weight:700 !important; letter-spacing:.045em !important; text-transform:uppercase !important; }
.tada-backoffice-shell .tada-exam-builder__questions { background:#fbfaf6 !important; border-top:1px solid var(--tada-border) !important; }
.tada-backoffice-shell .tada-question-builder-anchor { height:0 !important; overflow:hidden !important; }
.tada-backoffice-shell .tada-exam-builder #questions .card[data-question-id] { margin:0 0 16px !important; border:1px solid var(--tada-border-strong) !important; border-radius:8px !important; background:#fff !important; box-shadow:none !important; }
.tada-backoffice-shell .tada-exam-builder #questions .card[data-question-id] > .card-header { padding:16px !important; background:#fff8dc !important; }
.tada-backoffice-shell .tada-exam-builder #questions .card[data-question-id] > .card-body { padding:14px 16px 0 !important; background:#fff !important; }
.tada-backoffice-shell .tada-exam-builder #questions .card[data-question-id] > .card-footer { padding:8px 16px !important; background:#fff !important; }
.tada-backoffice-shell .tada-exam-builder .answer-box { min-height:48px !important; padding:7px 10px !important; border:1px solid #e5c442 !important; border-radius:6px !important; background:#fff8dc !important; }
.tada-backoffice-shell .tada-exam-builder .answer-box textarea { min-height:34px !important; border:0 !important; background:transparent !important; }
.tada-backoffice-shell .tada-exam-builder .answer-correct-checkbox { width:17px !important; height:17px !important; flex:0 0 auto !important; margin:auto 10px auto 0 !important; accent-color:#02ae6e !important; }
.tada-backoffice-shell .tada-exam-builder .remove-btn { min-height:auto !important; padding:2px 6px !important; border:0 !important; background:transparent !important; }
.tada-backoffice-shell .tada-certificate-editor .card-body { padding:28px 24px !important; }
.tada-backoffice-shell .tada-certificate-approval { max-width:1180px !important; margin:0 auto !important; }
.tada-backoffice-shell .tada-certificate-approval .card-body { padding:24px !important; }
.tada-backoffice-shell .tada-certificate-approval .img-thumbnail { padding:5px !important; border:1px solid var(--tada-border) !important; border-radius:8px !important; background:#fff !important; box-shadow:0 3px 12px rgba(26,25,25,.06) !important; }
.tada-backoffice-shell .tada-certificate-approval .custom-control-input:checked ~ .custom-control-label::before { border-color:#02ae6e !important; background:#02ae6e !important; }
@media (max-width:767.98px) { .tada-backoffice-shell .tada-data-workspace__header,.tada-backoffice-shell .tada-editor-card__header { flex-direction:column !important; padding:18px !important; } .tada-backoffice-shell .tada-data-workspace__primary-action,.tada-backoffice-shell .tada-data-workspace__note { align-self:flex-start !important; } .tada-backoffice-shell .tada-workspace-tabs { padding:12px 14px 0 !important; overflow-x:auto !important; } .tada-backoffice-shell .tada-workspace-tabs .nav-tabs { min-width:max-content !important; } .tada-backoffice-shell .tada-data-workspace .card-body { padding:14px !important; } }

/* Final release layer — serious-projects-design.md is the source of truth.
   It comes after legacy AdminLTE/DataTables rules and deliberately wins the cascade. */
body.tada-backoffice-shell,
body.student-ui-shell,
body.tada-ui-public {
  --tada-page:#f5f3ed;
  --tada-surface:#fff;
  --tada-border:#dedbd2;
  --tada-border-strong:#c9c5ba;
  --tada-ink:#1a1919;
  --tada-muted:#625f57;
  --tada-green:#02ae6e;
  --tada-yellow:#ffd42f;
  --tada-radius-sm:6px;
  --tada-radius-md:8px;
  background:var(--tada-page) !important;
  color:var(--tada-ink) !important;
  font-family:"Geologica", Arial, sans-serif !important;
}

/* Operational admin and lecturer home: compact workspace, no promo hero or mascot. */
.tada-operating-home { max-width:1120px; margin:0 auto; padding:26px 24px 56px; }
.tada-operating-home__hero { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.tada-operating-home__eyebrow,
.tada-operating-home__panel-kicker,
.tada-operating-home__access-label { margin:0 0 7px; color:#007c4f; font-family:"Cake Mono", Consolas, monospace; font-size:.7rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.tada-operating-home__title,
.tada-operating-home__panel-title,
.tada-operating-home__section-title { margin:0; color:var(--tada-ink); font-family:"Recht", "Arial Black", sans-serif; font-weight:900; letter-spacing:-.027em; line-height:1.04; }
.tada-operating-home__title { font-size:clamp(2rem,4vw,2.9rem); }
.tada-operating-home__panel-title { font-size:clamp(1.45rem,2.4vw,1.9rem); }
.tada-operating-home__section-title { font-size:1.55rem; }
.tada-operating-home__description,
.tada-operating-home__panel-description { max-width:700px; margin:9px 0 0; color:var(--tada-muted); font-size:.95rem; line-height:1.55; }
.tada-operating-home__primary-action { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.tada-operating-home__journey { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 22px; border-top:1px solid var(--tada-border); border-bottom:1px solid var(--tada-border); background:transparent; }
.tada-operating-home__journey-step { display:flex; align-items:center; gap:11px; min-height:76px; padding:14px 18px; border-right:1px solid var(--tada-border); }
.tada-operating-home__journey-step:last-child { border-right:0; }
.tada-operating-home__journey-number { display:grid; flex:0 0 auto; place-items:center; width:28px; height:28px; border:1px solid #d8b62b; border-radius:4px; background:var(--tada-yellow); color:var(--tada-ink); font-size:1rem; }
.tada-operating-home__journey-step strong { color:var(--tada-ink); font-size:.88rem; }
.tada-operating-home__journey-step small { color:var(--tada-muted); font-size:.77rem; }
.tada-operating-home__grid { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(330px,.94fr); gap:16px; }
.tada-operating-home__panel { display:flex; flex-direction:column; justify-content:space-between; min-height:270px; padding:22px; border:1px solid var(--tada-border); border-radius:8px; background:var(--tada-surface); box-shadow:0 3px 12px rgba(26,25,25,.045); }
.tada-operating-home__panel-action { margin-top:28px; }
.tada-operating-home__panel--actions { min-height:0; }
.tada-operating-home__panel--actions .tada-ref-cert-top { display:block !important; }
.tada-operating-home__access { margin-top:32px; }
.tada-operating-home__access-header { margin-bottom:12px; }
.tada-operating-home__access-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.tada-operating-home__access-link { display:flex; flex-direction:column; min-height:128px; padding:16px; border:1px solid var(--tada-border); border-radius:8px; background:#fff; color:var(--tada-ink); text-decoration:none; box-shadow:none; }
.tada-operating-home__access-link:hover,
.tada-operating-home__access-link:focus-visible { border-color:#d6b52c; color:var(--tada-ink); background:#fffdf4; text-decoration:none; }
.tada-operating-home__access-link strong { font-family:"Geologica", Arial, sans-serif; font-size:1.05rem; }
.tada-operating-home__access-link small { margin-top:7px; color:var(--tada-muted); line-height:1.4; }

/* Tables and legacy admin widgets: remove old cartoon/drop-shadow treatment. */
.tada-backoffice-shell .dataTables_wrapper > .row:first-child,
.tada-backoffice-shell .dataTables_wrapper > .row:last-child { margin-right:0 !important; margin-left:0 !important; }
.tada-backoffice-shell .dataTables_wrapper > .row:first-child { margin-bottom:14px !important; padding:12px !important; border:1px solid var(--tada-border) !important; border-radius:6px !important; background:#fff !important; box-shadow:none !important; }
.tada-backoffice-shell .dataTables_wrapper .dataTables_paginate .paginate_button,
.tada-backoffice-shell .dataTables_wrapper .pagination .page-link,
.tada-backoffice-shell .dataTables_wrapper .dt-button,
.tada-backoffice-shell .dataTables_wrapper .buttons-html5,
.tada-backoffice-shell .dataTables_wrapper #delete-btn,
.tada-backoffice-shell .dataTables_wrapper .tada-dt-delete-btn { border:1px solid var(--tada-border-strong) !important; border-radius:6px !important; box-shadow:none !important; transform:none !important; }
.tada-backoffice-shell .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.tada-backoffice-shell .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { border-color:#d6b52c !important; background:var(--tada-yellow) !important; color:var(--tada-ink) !important; box-shadow:none !important; }
.tada-backoffice-shell .dataTables_wrapper #delete-btn,
.tada-backoffice-shell .dataTables_wrapper .tada-dt-delete-btn { background:#fff !important; color:#a1261e !important; }
.tada-backoffice-shell .dataTables_wrapper #delete-btn:hover,
.tada-backoffice-shell .dataTables_wrapper .tada-dt-delete-btn:hover { border-color:#a1261e !important; background:#fff4f2 !important; box-shadow:none !important; transform:none !important; }
.tada-backoffice-shell .small-box,
.tada-backoffice-shell .info-box { border:1px solid var(--tada-border) !important; border-radius:8px !important; background:#fff !important; box-shadow:0 3px 12px rgba(26,25,25,.045) !important; }
.tada-backoffice-shell .small-box .icon,
.tada-backoffice-shell .info-box .icon { color:var(--tada-green) !important; opacity:.82; }

/* Some legacy templates create action buttons after page load.  Their old
   selectors carried a black offset shadow, so this intentionally has higher
   specificity than those rules and covers both static and DataTables buttons. */
body.tada-backoffice-shell .content-wrapper .btn,
body.tada-backoffice-shell .content-wrapper .btn-warning,
body.tada-backoffice-shell .content-wrapper .btn-primary,
body.tada-backoffice-shell .content-wrapper .btn-outline-warning,
body.tada-backoffice-shell .content-wrapper .btn-outline-secondary,
body.tada-backoffice-shell .content-wrapper .btn-danger,
body.tada-backoffice-shell .tada-page-shell .btn,
body.tada-backoffice-shell .tada-main-container .btn,
body.tada-backoffice-shell .schedule-calendar-page .btn {
  border-width:1px !important;
  border-radius:6px !important;
  box-shadow:none !important;
  font-family:"Geologica", Arial, sans-serif !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  transform:none !important;
}
body.tada-backoffice-shell .content-wrapper .btn:hover,
body.tada-backoffice-shell .content-wrapper .btn:focus-visible,
body.tada-backoffice-shell .content-wrapper .btn-warning:hover,
body.tada-backoffice-shell .content-wrapper .btn-primary:hover,
body.tada-backoffice-shell .content-wrapper .btn-outline-warning:hover,
body.tada-backoffice-shell .content-wrapper .btn-outline-secondary:hover,
body.tada-backoffice-shell .content-wrapper .btn-danger:hover,
body.tada-backoffice-shell .tada-page-shell .btn:hover,
body.tada-backoffice-shell .tada-main-container .btn:hover,
body.tada-backoffice-shell .schedule-calendar-page .btn:hover {
  box-shadow:none !important;
  transform:none !important;
}

/* The welcome screen is a single, non-critical onboarding exception.
   Every student task screen uses compact operational components. */
.student-ui-shell .student-panel,
.student-ui-shell .student-test-card,
.student-ui-shell .student-help-panel,
.student-ui-shell .student-next-step,
.student-ui-shell .student-resource-item,
.student-ui-shell .student-certificate-item,
.student-ui-shell .student-learning-row,
.student-ui-shell .student-result-item { border:1px solid var(--tada-border) !important; border-radius:8px !important; background:#fff !important; box-shadow:0 3px 12px rgba(26,25,25,.045) !important; transition:border-color .16s ease,background-color .16s ease !important; }
.student-ui-shell .student-panel:hover,
.student-ui-shell .student-resource-item:hover,
.student-ui-shell .student-certificate-item:hover,
.student-ui-shell .student-learning-row:hover,
.student-ui-shell .student-result-item:hover { border-color:var(--tada-border-strong) !important; background:#fff !important; box-shadow:0 3px 12px rgba(26,25,25,.045) !important; transform:none !important; }
.student-ui-shell .student-button,
.student-ui-shell .student-button--primary,
.student-ui-shell .student-button--secondary,
.student-ui-shell .btn-tada-ref-outline { border-radius:6px !important; box-shadow:none !important; transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease !important; }
.student-ui-shell .student-button--primary,
.student-ui-shell .student-button-primary { background:var(--tada-yellow) !important; border-color:#d6b52c !important; color:var(--tada-ink) !important; }
.student-ui-shell .student-button--primary:hover,
.student-ui-shell .student-button-primary:hover,
.student-ui-shell .student-button--primary:focus-visible,
.student-ui-shell .student-button-primary:focus-visible { background:#f4c62c !important; border-color:#c99f00 !important; color:var(--tada-ink) !important; box-shadow:0 0 0 3px rgba(255,212,47,.3) !important; transform:none !important; }
.student-ui-shell .student-search__field,
.student-ui-shell .student-ui input:not([type="checkbox"]):not([type="radio"]),
.student-ui-shell .student-ui select,
.student-ui-shell .student-ui textarea { border-color:var(--tada-border-strong) !important; border-radius:6px !important; }
.student-ui-shell .tada-ref-mascot-btn-wrapper,
.student-ui-shell .tada-ref-mascot-btn-wrapper:hover,
.student-ui-shell .tada-ref-cert-item:hover,
.student-ui-shell .tada-ref-progress-card:hover,
.student-ui-shell .btn-tada-ref-outline:hover,
.student-ui-shell .btn-tada-ref-view:hover { transform:none !important; }
.student-ui-shell .tada-ref-mascot-btn-wrapper { transition:none !important; }

/* Certificate verification is a public utility, not a marketing page. */
.tada-ui-public .content-wrapper { background:var(--tada-page) !important; color:var(--tada-ink) !important; }
.tada-ui-public .main-header,
.tada-ui-public .main-footer { border-color:var(--tada-border) !important; background:#fff !important; box-shadow:none !important; }
.tada-ui-public .card,
.tada-ui-public .student-panel { border:1px solid var(--tada-border) !important; border-radius:8px !important; box-shadow:0 3px 12px rgba(26,25,25,.045) !important; }
.tada-ui-public h1,
.tada-ui-public h2,
.tada-ui-public h3 { font-family:"Recht", "Arial Black", sans-serif !important; color:var(--tada-ink) !important; }

@media (max-width:767.98px) {
  .tada-operating-home { padding:20px 14px 42px; }
  .tada-operating-home__hero { flex-direction:column; gap:16px; }
  .tada-operating-home__journey { grid-template-columns:1fr; }
  .tada-operating-home__journey-step { min-height:60px; padding:12px 0; border-right:0; border-bottom:1px solid var(--tada-border); }
  .tada-operating-home__journey-step:last-child { border-bottom:0; }
  .tada-operating-home__grid,
  .tada-operating-home__access-grid { grid-template-columns:1fr; }
  .tada-operating-home__panel { min-height:0; padding:18px; }
  .tada-operating-home__access { margin-top:24px; }
  .tada-operating-home__access-link { min-height:0; }
  body.tada-backoffice-shell .content,
  body.tada-backoffice-shell .content > .container-fluid,
  body.tada-backoffice-shell .tada-page-shell,
  body.tada-backoffice-shell .tada-page-heading,
  body.tada-backoffice-shell .tada-page-heading > * { min-width:0 !important; max-width:100% !important; }
  body.tada-backoffice-shell .tada-page-heading__description,
  body.tada-backoffice-shell .tada-data-workspace__description { overflow-wrap:anywhere; }
}

/* Phone controls: preserve every action, keep a 44px target, and prevent the
   three student filters from becoming a tall, ambiguous column. */
@media (max-width:575.98px) {
  .tada-backoffice-shell .main-header,
  .student-ui-shell .main-header { min-height:58px !important; padding:6px 10px !important; }
  .tada-backoffice-shell .main-header .navbar-nav,
  .student-ui-shell .main-header .navbar-nav { gap:6px !important; min-width:0 !important; }
  .tada-backoffice-shell .main-header .nav-link,
  .student-ui-shell .main-header .nav-link { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:44px !important; padding:10px 11px !important; }
  .tada-backoffice-shell .main-header .nav-link > i,
  .student-ui-shell .main-header .nav-link > i { display:inline-block !important; font-size:17px !important; line-height:1 !important; }
  .tada-backoffice-shell .student-menu-trigger,
  .tada-backoffice-shell .student-account-trigger { width:44px !important; padding-right:0 !important; padding-left:0 !important; }
  .tada-backoffice-shell .main-header [data-widget="fullscreen"] { display:none !important; }
  .student-ui-shell .student-menu-trigger { width:auto !important; gap:8px !important; }
  .student-ui-shell .student-segmented { grid-template-columns:repeat(3, minmax(0, 1fr)) !important; gap:4px !important; padding:4px !important; }
  .student-ui-shell .student-segmented__item { justify-content:center !important; min-height:56px !important; padding:8px 6px !important; font-size:.78rem !important; line-height:1.15 !important; text-align:center !important; }
  .student-ui-shell .student-panel,
  .student-ui-shell .student-test-card,
  .student-ui-shell .student-learning-row { padding:14px !important; }
}


/* ==========================================================================
   TA-DA! BRANDBOOK TYPOGRAPHY GLOBAL ENFORCEMENT
   ========================================================================== */

/* 1. Body, Navigation, Inputs, Controls & Tables: Geologica */
html, body, p, span, div, a, button, input, select, textarea, label, td, th, li, .nav-link, .btn, .form-control, .table, .dropdown-item, .modal-body {
  font-family: "Geologica", Arial, sans-serif !important;
}

/* 2. Headings, Titles, Brand Logos & Hero Banners: Recht */
h1, h2, h3, h4, h5, h6,
.tada-heading,
.content-header h1,
.content-header h2,
.tada-ref-hero-title,
.tada-operating-home__title,
.brand-link,
.student-section-title,
.tada-panel-title,
.card-title {
  font-family: "Recht", "Arial Black", sans-serif !important;
}

/* 3. Badges, Kickers, Numbers, Codes & Status Pills: Cake Mono */
.badge,
.tada-subheading,
.tada-number,
.tada-ref-kicker-green,
.tada-operating-home__eyebrow,
.tada-operating-home__panel-kicker,
.kpi-card strong,
.score-ring,
.status-pill,
code, pre, .font-mono {
  font-family: "Cake Mono", Consolas, monospace !important;
}
