:root {
  --v2-neutral-bg: #f3f1ec;
  --v2-neutral-surface: #fbfaf7;
  --v2-neutral-border: rgba(33, 35, 38, 0.18);
  --v2-neutral-border-strong: rgba(33, 35, 38, 0.32);
  --v2-neutral-text: #16181b;
  --v2-neutral-muted: #6b6f75;
  --v2-neutral-accent: #8c8578;
  --v2-neutral-max: min(1220px, calc(100% - 32px));
  --v2-login-background: var(--rfa-bg);
}

:root[data-theme='dark'] {
  --v2-neutral-bg: #1a1b1d;
  --v2-neutral-surface: #202225;
  --v2-neutral-border: rgba(255, 255, 255, 0.12);
  --v2-neutral-border-strong: rgba(255, 255, 255, 0.2);
  --v2-neutral-text: #f0eee9;
  --v2-neutral-muted: #a4a098;
  --v2-neutral-accent: #c7beb0;
}

html,
body {
  background: var(--v2-login-background) !important;
  color: var(--v2-neutral-text) !important;
}

body::before {
  content: '' !important;
  display: block !important;
  position: fixed;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(176, 188, 205, 0.03) calc(100% - 1px)),
    linear-gradient(180deg, transparent 0, transparent calc(100% - 1px), rgba(176, 188, 205, 0.03) calc(100% - 1px)),
    linear-gradient(180deg, transparent 0, rgba(255, 255, 255, 0.018) 100%);
  background-size: 56px 56px, 56px 56px, 100% 100%;
  pointer-events: none;
  z-index: -1;
}

body,
body.page-teacher-courses,
body.page-jugadores,
body.page-european-test,
body.page-classes,
body.rfa-project-page,
body.entry-page,
body.internal-body,
body.page-certificate-verify {
  font-family: 'Manrope', 'Segoe UI', sans-serif !important;
  line-height: 1.6;
}

body::after,
html[data-v2-context='true'] .page-teacher-courses .teacher-courses-shell::before,
html[data-v2-context='true'] .page-teacher-courses .teacher-courses-shell::after,
html[data-v2-context='true'] .page-teacher-courses .hero-panel::before,
html[data-v2-context='true'] .page-teacher-courses .hero-panel::after,
html[data-v2-context='true'] .page-teacher-courses .teacher-courses-header::before,
html[data-v2-context='true'] .page-teacher-courses .teacher-courses-header::after,
html[data-v2-context='true'] .page-teacher-courses .stats-grid::before,
html[data-v2-context='true'] .page-teacher-courses .content-grid > .panel::before,
html[data-v2-context='true'] .page-teacher-courses .content-grid > .panel::after,
html[data-v2-context='true'] .page-teacher-courses .content-grid > .certificates-panel::before,
html[data-v2-context='true'] .page-teacher-courses .content-grid > .certificates-panel::after,
html[data-v2-context='true'] .page-teacher-courses .teacher-course-create-panel::before,
html[data-v2-context='true'] .page-teacher-courses .teacher-course-create-panel::after,
html[data-v2-context='true'] .page-teacher-courses .panel-head::before,
html[data-v2-context='true'] .page-teacher-courses .hero-copy::before,
html[data-v2-context='true'] .page-teacher-courses .hero-status-media::before,
html[data-v2-context='true'] .page-teacher-courses .hero-status-media::after,
html[data-v2-context='true'] .page-teacher-courses .course-card::after,
html[data-v2-context='true'] .page-teacher-courses .certificate-card::after,
html[data-v2-context='true'] .page-teacher-courses .progress-shell::before,
html[data-v2-context='true'] .page-teacher-courses .detail-progress-card::before,
html[data-v2-context='true'] .page-teacher-courses .detail-metric-card::before,
html[data-v2-context='true'] .page-teacher-courses .topic-meta::before,
html[data-v2-context='true'] .page-teacher-courses .topic-video-card::before,
html[data-v2-context='true'] .page-teacher-courses .quiz-option::before,
html[data-v2-context='true'] .page-teacher-courses .result-answer::before,
html[data-v2-context='true'] .page-teacher-courses .admin-response-topic-card::before,
html[data-v2-context='true'] .page-teacher-courses .admin-response-attempt-card::before,
.topbar::before,
.panel::after,
.feature-card::after,
.stat-card::after,
.cta-shell::after,
.footer-shell::after,
.entry-form-head::before,
.entry-hero::before,
.rfa-project-page .hero-copy::before,
.rfa-project-page .hero-panel::before,
.rfa-project-page .outline-list li::before,
.rfa-project-page .stack-list li::before,
.home-v2-page .summary-card::before,
.teacher-home-v2-page .teacher-summary-card::before,
.player-home-v2-page .hero-highlight-card::before,
.player-home-v2-page .hero-board::before {
  content: none !important;
  display: none !important;
}

.container,
.topbar-inner,
.footer-inner,
.entry-header,
.entry-grid,
.app-shell-2,
.teacher-courses-shell,
.page-jugadores .app-container,
.classes-v2-page .app-container,
.page-european-test .page-shell,
.verify-shell {
  width: var(--v2-neutral-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.topbar,
.internal-topbar,
.teacher-courses-header,
.page-jugadores .header,
.classes-v2-page .header,
.page-european-test .header,
.entry-header {
  border: 0 !important;
  border-bottom: 1px solid var(--v2-neutral-border) !important;
  background: var(--v2-neutral-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.brand-mark,
.sidebar-brand-icon,
.mobile-sidebar-brand-icon,
.classes-v2-page .sidebar-brand-icon,
.page-jugadores .sidebar-brand-icon,
.page-european-test .mobile-sidebar-brand-icon {
  clip-path: none !important;
  border-radius: 0 !important;
  border: 1px solid var(--v2-neutral-border) !important;
  background: transparent !important;
  color: var(--v2-neutral-text) !important;
  box-shadow: none !important;
}

.brand-kicker,
.brand-title,
.brand-title-compact,
.section-kicker,
.eyebrow,
.hero-kicker,
.panel-kicker,
.field span,
.metric-line,
.detail-metric-label,
.course-meta,
.certificate-meta,
.detail-meta,
.topic-meta,
.classes-v2-page .user-role,
.page-jugadores .user-role,
.page-european-test .muted,
.page-european-test label {
  color: var(--v2-neutral-muted) !important;
}

.display-title,
.section-title,
.hero-title,
.entry-title,
.entry-form-title,
.page-teacher-courses h2,
.page-teacher-courses h3,
.page-teacher-courses h4,
.page-teacher-courses h5,
.page-jugadores h1,
.page-jugadores h2,
.page-european-test h1,
.page-european-test h2,
.classes-v2-page h1,
.classes-v2-page h2 {
  color: var(--v2-neutral-text) !important;
}

.btn,
.btn-primary,
.btn-secondary,
.theme-toggle,
.chip,
.status-pill,
.nav-item,
.mobile-nav-toggle,
.mobile-close-btn,
.mobile-menu-close-btn,
.btn-dashboard,
.btn-logout,
.back-link,
.header-chip,
.hero-link,
.scale-option label,
.page-jugadores .btn-primary,
.page-jugadores .btn-secondary,
.page-european-test .btn-primary,
.page-european-test .btn-secondary,
.classes-v2-page .btn-primary,
.classes-v2-page .btn-secondary {
  clip-path: none !important;
  border-radius: 0 !important;
  border: 1px solid var(--v2-neutral-border) !important;
  background: transparent !important;
  color: var(--v2-neutral-text) !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

.btn-primary,
.page-jugadores .btn-primary,
.page-european-test .btn-primary,
.classes-v2-page .btn-primary {
  border-color: var(--v2-neutral-border-strong) !important;
  font-weight: 700 !important;
}

.nav-links a,
.ghost-link,
.page-teacher-courses .nav-item,
.page-jugadores .nav-item,
.classes-v2-page .nav-item,
.page-european-test .nav-item {
  color: var(--v2-neutral-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

.page-teacher-courses .nav-item.active,
.page-jugadores .nav-item.active,
.classes-v2-page .nav-item.active,
.page-european-test .nav-item.active {
  padding-left: inherit !important;
  box-shadow: none !important;
  background: rgba(0, 0, 0, 0.03) !important;
}

.hero,
.hero-board,
.hero-panel,
.hero-primary,
.hero-secondary,
.entry-panel,
.entry-form-panel,
.entry-form-card,
.panel,
.panel-shell,
.content-section,
.footer-shell,
.teacher-courses-header,
.course-modal-dialog,
.certificate-modal-shell,
.verify-panel,
.page-jugadores .sidebar,
.classes-v2-page .sidebar,
.page-european-test .mobile-sidebar,
.page-teacher-courses .teacher-courses-sidebar,
.classes-v2-page .class-card,
.page-jugadores .category,
.page-jugadores .notes,
.page-jugadores .history-chart-card,
.page-jugadores .history-plan-card,
.page-jugadores .history-list-card,
.page-jugadores .compare-table-card,
.page-european-test .summary-card,
.page-european-test .hero-metric-card,
.page-european-test .test-card,
.page-european-test .selector-card,
.page-european-test .status-box,
.page-european-test .history-card,
.page-european-test .question-card,
.classes-v2-page .summary-card,
.classes-v2-page .alerts-panel,
.classes-v2-page .calendar-events,
.classes-v2-page .filters,
.classes-v2-page .content-controls,
.classes-v2-page .report-card {
  border-radius: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--v2-neutral-border) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.section,
.hero,
.content-section,
.panel-shell,
.panel,
.entry-panel,
.entry-form-panel,
.entry-form-card,
.verify-panel,
.page-teacher-courses .hero-panel,
.page-teacher-courses .content-grid > .panel,
.page-teacher-courses .content-grid > .certificates-panel,
.page-teacher-courses .teacher-course-create-panel {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.page-teacher-courses .stats-grid,
.page-teacher-courses .program-metrics,
.stat-grid,
.summary-grid,
.page-european-test .summary-grid,
.classes-v2-page .summary-grid {
  gap: 12px !important;
  border: 0 !important;
  background: transparent !important;
}

.stat-card,
.page-teacher-courses .stat-card,
.page-teacher-courses .program-card,
.page-teacher-courses .detail-progress-card,
.page-teacher-courses .detail-metric-card,
.page-teacher-courses .progress-shell,
.page-teacher-courses .result-card,
.page-teacher-courses .admin-responses-panel,
.page-teacher-courses .admin-response-topic-card,
.page-teacher-courses .admin-response-attempt-card,
.page-teacher-courses .topic-card,
.page-teacher-courses .topic-section-block,
.page-teacher-courses .topic-video-card,
.page-teacher-courses .topic-quiz,
.page-teacher-courses .course-outline-panel,
.page-teacher-courses .course-outline-summary,
.page-teacher-courses .certificate-sheet,
.page-teacher-courses .certificate-sheet-frame,
.page-teacher-courses .certificate-detail-card,
.page-teacher-courses .certificate-badge,
.page-teacher-courses .certificate-signature,
.page-teacher-courses .certificate-verification,
.page-jugadores .summary-grid > *,
.page-jugadores .compare-overview > *,
.page-jugadores .history-metrics > * {
  border: 0 !important;
  border-top: 1px solid var(--v2-neutral-border) !important;
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-shadow: none !important;
}

.page-teacher-courses .course-card,
.page-teacher-courses .certificate-card,
.classes-v2-page .class-card,
.page-jugadores .history-list .item,
.page-european-test .history-card,
.page-european-test .test-card,
.page-european-test .question-card {
  border-bottom: 1px solid var(--v2-neutral-border) !important;
  background: transparent !important;
}

.page-teacher-courses .course-card::before,
.page-teacher-courses .certificate-card::before {
  color: var(--v2-neutral-muted) !important;
}

input,
select,
textarea,
.page-jugadores input,
.page-jugadores select,
.page-jugadores textarea,
.page-european-test .input-group input,
.page-european-test .input-group select,
.page-european-test .input-group textarea,
.classes-v2-page .filters input,
.classes-v2-page .filters select,
.classes-v2-page .form-group input,
.classes-v2-page .form-group select,
.classes-v2-page .form-group textarea {
  border-radius: 0 !important;
  border: 1px solid var(--v2-neutral-border) !important;
  background: var(--v2-neutral-surface) !important;
  color: var(--v2-neutral-text) !important;
  box-shadow: none !important;
}

.catalog-toolbar,
.page-teacher-courses .catalog-toolbar,
.classes-v2-page .content-controls,
.classes-v2-page .filters {
  border: 0 !important;
  border-top: 1px solid var(--v2-neutral-border) !important;
  border-bottom: 1px solid var(--v2-neutral-border) !important;
  background: transparent !important;
}

.loading-box,
.empty-state,
.entry-alert,
.evaluations-status,
.page-european-test .status-box,
.page-jugadores .empty,
.classes-v2-page .mobile-skeleton-card {
  border-radius: 0 !important;
  border: 1px dashed var(--v2-neutral-border) !important;
  background: transparent !important;
  color: var(--v2-neutral-muted) !important;
}

.mobile-drawer,
.home-mobile-menu,
.teacher-mobile-menu,
.page-european-test .mobile-sidebar,
.classes-v2-page .sidebar,
.page-jugadores .sidebar,
.page-teacher-courses .teacher-courses-sidebar {
  background: var(--v2-neutral-surface) !important;
  border-right: 1px solid var(--v2-neutral-border) !important;
  box-shadow: none !important;
}

.mobile-overlay,
.home-mobile-overlay,
.teacher-mobile-overlay,
.sidebar-overlay {
  background: rgba(0, 0, 0, 0.2) !important;
}

.page-teacher-courses .teacher-courses-layout,
.page-jugadores .main-content,
.classes-v2-page .main-content,
.page-european-test .layout-grid,
.entry-grid,
.hero-board,
.hero-grid,
.content-grid,
.split,
.panel-grid {
  gap: 24px !important;
}

.page-teacher-courses .teacher-courses-main,
.page-teacher-courses .content-area.teacher-courses-main,
.page-jugadores .content-area,
.classes-v2-page .content-area,
.page-european-test .content {
  padding-top: 12px !important;
}

.page-teacher-courses .teacher-courses-shell,
.app-shell-2,
.page-jugadores .app-container,
.classes-v2-page .app-container,
.page-european-test .page-shell {
  padding-top: 16px !important;
  padding-bottom: 40px !important;
}

@media (max-width: 980px) {
  .container,
  .topbar-inner,
  .footer-inner,
  .entry-header,
  .entry-grid,
  .app-shell-2,
  .teacher-courses-shell,
  .page-jugadores .app-container,
  .classes-v2-page .app-container,
  .page-european-test .page-shell,
  .verify-shell {
    width: min(100% - 20px, 100%) !important;
  }

  .page-teacher-courses .teacher-courses-layout,
  .page-jugadores .main-content,
  .classes-v2-page .main-content,
  .page-european-test .layout-grid,
  .entry-grid,
  .hero-board,
  .hero-grid,
  .content-grid,
  .split,
  .panel-grid,
  .stat-grid,
  .summary-grid,
  .page-teacher-courses .stats-grid,
  .page-european-test .summary-grid {
    grid-template-columns: 1fr !important;
  }
}