/*
 LMS Main/Submenu + Dashboard accessibility/theme patch
 Rollback: remove this file and its single <link> from app/Views/layouts/main.php.
 Does not alter legacy theme packages or application permissions.
*/
.classic-lms-ui {
  --lms-bg: #f7f9fc;
  --lms-surface: #ffffff;
  --lms-text: #17212b;
  --lms-muted: #475569;
  --lms-nav-bg: #163d5c;
  --lms-nav-bg-hover: #245b82;
  --lms-nav-bg-active: #0d2f49;
  --lms-nav-text: #ffffff;
  --lms-border: #64748b;
  --lms-focus: #ffbf47;
  --lms-link: #075985;
  --lms-link-hover: #0c4a6e;
  --lms-danger: #991b1b;
  --lms-success: #166534;
  --lms-space-1: .25rem;
  --lms-space-2: .5rem;
  --lms-space-3: .75rem;
  --lms-space-4: 1rem;
  --lms-radius: .3rem;
  --lms-font-sm: clamp(.875rem, .84rem + .12vw, .95rem);
  --lms-font-base: clamp(1rem, .96rem + .14vw, 1.075rem);
  --lms-font-lg: clamp(1.125rem, 1.04rem + .25vw, 1.35rem);
  background: var(--lms-bg);
  color: var(--lms-text);
  font-size: var(--lms-font-base);
  line-height: 1.5;
}
.classic-lms-ui .ef-left,
.classic-lms-ui .lms-sidebar {
  background: var(--lms-nav-bg);
  color: var(--lms-nav-text);
}
.classic-lms-ui .ef-menu-title {
  color: var(--lms-nav-text);
  font-size: var(--lms-font-lg);
  font-weight: 700;
  line-height: 1.3;
  padding: var(--lms-space-3) var(--lms-space-4);
}
.classic-lms-ui .ef-nav,
.classic-lms-ui .lms-main-nav {
  font-size: var(--lms-font-base);
}
.classic-lms-ui .ef-nav a,
.classic-lms-ui .ef-nav button,
.classic-lms-ui .ef-nav [role="button"],
.classic-lms-ui .ef-nav summary {
  box-sizing: border-box;
  color: var(--lms-nav-text) !important;
  background: transparent;
  border: 2px solid transparent;
  border-radius: var(--lms-radius);
  min-height: 2.75rem;
  padding: .55rem .75rem;
  line-height: 1.3;
  text-decoration: none !important;
  text-shadow: none;
  font: inherit;
}
@media (hover:hover) and (pointer:fine) {
  .classic-lms-ui .ef-nav a:hover,
  .classic-lms-ui .ef-nav button:hover,
  .classic-lms-ui .ef-nav [role="button"]:hover,
  .classic-lms-ui .ef-nav summary:hover {
    background: var(--lms-nav-bg-hover);
    border-color: #ffffff;
    color: #ffffff !important;
  }
}
.classic-lms-ui .ef-nav a:active,
.classic-lms-ui .ef-nav button:active,
.classic-lms-ui .ef-nav [role="button"]:active,
.classic-lms-ui .ef-nav summary:active,
.classic-lms-ui .ef-nav .active > a,
.classic-lms-ui .ef-nav a.active,
.classic-lms-ui .ef-nav [aria-current="page"] {
  background: var(--lms-nav-bg-active);
  border-color: #ffffff;
  color: #ffffff !important;
  font-weight: 700;
}
.classic-lms-ui a:focus,
.classic-lms-ui button:focus,
.classic-lms-ui input:focus,
.classic-lms-ui select:focus,
.classic-lms-ui textarea:focus,
.classic-lms-ui summary:focus,
.classic-lms-ui [tabindex]:focus {
  outline: 3px solid var(--lms-focus);
  outline-offset: 3px;
}
.classic-lms-ui a:focus:not(:focus-visible),
.classic-lms-ui button:focus:not(:focus-visible),
.classic-lms-ui input:focus:not(:focus-visible),
.classic-lms-ui select:focus:not(:focus-visible),
.classic-lms-ui textarea:focus:not(:focus-visible),
.classic-lms-ui summary:focus:not(:focus-visible) { outline: none; }
.classic-lms-ui a:focus-visible,
.classic-lms-ui button:focus-visible,
.classic-lms-ui input:focus-visible,
.classic-lms-ui select:focus-visible,
.classic-lms-ui textarea:focus-visible,
.classic-lms-ui summary:focus-visible,
.classic-lms-ui [tabindex]:focus-visible {
  outline: 3px solid var(--lms-focus);
  outline-offset: 3px;
}
.classic-lms-ui .ef-main,
.classic-lms-ui .lms-main-content,
.classic-lms-ui .ef-card,
.classic-lms-ui .card,
.classic-lms-ui table {
  color: var(--lms-text);
}
.classic-lms-ui .ef-main a,
.classic-lms-ui .lms-main-content a {
  color: var(--lms-link);
  text-decoration-thickness: .1em;
  text-underline-offset: .15em;
}
@media (hover:hover) and (pointer:fine) {
  .classic-lms-ui .ef-main a:hover,
  .classic-lms-ui .lms-main-content a:hover {
    color: var(--lms-link-hover);
    text-decoration: underline;
  }
}
.classic-lms-ui input,
.classic-lms-ui select,
.classic-lms-ui textarea {
  max-width: 100%;
  min-height: 2.5rem;
  color: var(--lms-text);
  background: var(--lms-surface);
  border: 1px solid var(--lms-border);
  font: inherit;
}
.classic-lms-ui button,
.classic-lms-ui .btn {
  min-height: 2.5rem;
  font-size: var(--lms-font-base);
}
.classic-lms-ui table {
  width: 100%;
  max-width: 100%;
}
.classic-lms-ui th {
  font-weight: 700;
}
.classic-lms-ui .muted,
.classic-lms-ui small {
  color: var(--lms-muted);
}
.classic-lms-ui .success { color: var(--lms-success); }
.classic-lms-ui .danger,
.classic-lms-ui .error { color: var(--lms-danger); }
/* Never depend on colour alone for focus/current state. */
.classic-lms-ui [aria-current="page"] { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 900px) {
  .classic-lms-ui .ef-left,
  .classic-lms-ui .lms-sidebar {
    max-width: min(88vw, 22rem);
  }
  .classic-lms-ui .ef-main,
  .classic-lms-ui .lms-main-content {
    min-width: 0;
    padding: var(--lms-space-3);
  }
}
@media (max-width: 600px) {
  .classic-lms-ui { font-size: 1rem; }
  .classic-lms-ui .ef-menu-title { padding: .65rem .75rem; }
  .classic-lms-ui .ef-nav a,
  .classic-lms-ui .ef-nav button,
  .classic-lms-ui .ef-nav [role="button"],
  .classic-lms-ui .ef-nav summary {
    min-height: 2.75rem;
    padding: .65rem .75rem;
  }
  .classic-lms-ui .ef-main,
  .classic-lms-ui .lms-main-content { padding: .6rem; }
  .classic-lms-ui table { font-size: var(--lms-font-sm); }
}
@media (forced-colors: active) {
  .classic-lms-ui .ef-nav a,
  .classic-lms-ui .ef-nav button,
  .classic-lms-ui .ef-nav [role="button"],
  .classic-lms-ui .ef-nav summary {
    border: 1px solid ButtonText;
    forced-color-adjust: auto;
  }
  .classic-lms-ui :focus-visible { outline: 3px solid Highlight; }
}
@media (prefers-reduced-motion: reduce) {
  .classic-lms-ui *, .classic-lms-ui *::before, .classic-lms-ui *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
