/* TCLMS PATCH-01 — unified institute theme layer */
:root{
  --p01-brand-blue:#1492c7;
  --p01-brand-teal:#23afac;
  --p01-brand-green:#55be70;
  --p01-brand-slate:#467081;
  --lms-focus-ring:0 0 0 3px color-mix(in srgb,var(--lms-primary) 28%,transparent);
  --lms-brand-wash:linear-gradient(135deg,color-mix(in srgb,var(--lms-primary) 10%,transparent),color-mix(in srgb,var(--lms-accent) 7%,transparent));
}

html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme-scope] body{accent-color:var(--lms-primary);text-rendering:optimizeLegibility}
html[data-theme-scope] ::selection{background:color-mix(in srgb,var(--lms-primary) 32%,transparent);color:var(--lms-text)}
html[data-theme-scope] :where(a,button,input,select,textarea,[role="button"],[tabindex]):focus-visible{
  outline:2px solid var(--lms-primary)!important;
  outline-offset:2px!important;
  box-shadow:var(--lms-focus-ring)!important;
}
html[data-theme-scope] :where(button,input,select,textarea):disabled{
  cursor:not-allowed!important;opacity:.58!important;filter:saturate(.7)
}

/* Shared brand treatment. */
html[data-theme-scope] :where(.edu_admin_btn,.edu_btn,.btn-primary,.lms-btn-primary){
  background:var(--lms-primary-gradient)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 9px 22px color-mix(in srgb,var(--lms-primary) 24%,transparent)!important;
}
html[data-theme-scope] :where(.edu_admin_btn,.edu_btn,.btn,.lms-btn):not(:disabled){
  transition:transform var(--lms-motion-speed) ease,box-shadow var(--lms-motion-speed) ease,background-color var(--lms-motion-speed) ease,border-color var(--lms-motion-speed) ease
}
html[data-theme-scope][data-animations="1"] :where(.edu_admin_btn,.edu_btn,.btn,.lms-btn):not(:disabled):hover{
  transform:translateY(calc(var(--lms-hover-lift) * -1))
}
html[data-theme-scope] :where(.alert,.edu_alert,.swal-modal){border-radius:min(var(--lms-radius),16px)!important}
html[data-theme-scope] .alert-success{background:color-mix(in srgb,var(--lms-success) 13%,var(--lms-surface))!important;color:var(--lms-text)!important;border-color:color-mix(in srgb,var(--lms-success) 35%,var(--lms-border))!important}
html[data-theme-scope] .alert-warning{background:color-mix(in srgb,var(--lms-warning) 13%,var(--lms-surface))!important;color:var(--lms-text)!important;border-color:color-mix(in srgb,var(--lms-warning) 35%,var(--lms-border))!important}
html[data-theme-scope] .alert-danger{background:color-mix(in srgb,var(--lms-danger) 12%,var(--lms-surface))!important;color:var(--lms-text)!important;border-color:color-mix(in srgb,var(--lms-danger) 35%,var(--lms-border))!important}

/* Internal workspaces: one visual system for admin, trainer and learner. */
html[data-theme-scope="admin"] .edu_left_header{
  border-inline-end:1px solid color-mix(in srgb,var(--lms-primary) 24%,var(--lms-border))!important;
}
html[data-theme-scope="admin"][data-sidebar-style="gradient"] .edu_left_header{
  background:linear-gradient(165deg,color-mix(in srgb,var(--lms-primary-dark) 92%,#07141c),color-mix(in srgb,var(--lms-accent) 68%,#07141c))!important;
}
html[data-theme-scope="admin"][data-sidebar-style="gradient"] .edu_admin_logo{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(255,255,255,.2)!important;
}
html[data-theme-scope="admin"][data-sidebar-style="gradient"] .edu_admin_menu a{
  color:rgba(255,255,255,.84)!important;
}
html[data-theme-scope="admin"][data-sidebar-style="gradient"] .edu_admin_menu a:hover,
html[data-theme-scope="admin"][data-sidebar-style="gradient"] .edu_admin_menu li.active>a,
html[data-theme-scope="admin"][data-sidebar-style="gradient"] .edu_admin_menu li.v65-current>a{
  color:#fff!important;background:rgba(255,255,255,.12)!important
}
html[data-theme-scope="admin"] .edu_top_header{
  border-bottom:1px solid var(--lms-border)!important;
  box-shadow:0 8px 28px color-mix(in srgb,var(--lms-text) 6%,transparent)!important;
}
html[data-theme-scope="admin"] :where(.edu_admin_informationdiv,.edu_main_wrapper,.tableFullWrapper,.card,.modal-content){
  border-color:var(--lms-border)!important;
}
html[data-theme-scope="admin"] :where(.edu_admin_informationdiv,.edu_main_wrapper,.tableFullWrapper,.card):not(.v66-page-shell){
  background-image:linear-gradient(145deg,color-mix(in srgb,var(--lms-primary) 2.5%,var(--lms-surface)),var(--lms-surface))
}
html[data-theme-scope="admin"] table :where(th,td){vertical-align:middle}
html[data-theme-scope="admin"] table thead th{
  background:color-mix(in srgb,var(--lms-primary) 7%,var(--lms-surface-2))!important;
  color:var(--lms-text)!important;border-bottom-color:color-mix(in srgb,var(--lms-primary) 22%,var(--lms-border))!important
}
html[data-theme-scope="admin"] table tbody tr:hover td{
  background:color-mix(in srgb,var(--lms-primary) 4%,var(--lms-surface))!important
}
html[data-theme-scope="admin"] :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  transition:border-color var(--lms-motion-speed) ease,box-shadow var(--lms-motion-speed) ease,background-color var(--lms-motion-speed) ease
}
html[data-theme-scope="admin"] :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:var(--lms-primary)!important;box-shadow:var(--lms-focus-ring)!important
}
html[data-theme-scope="admin"] .dataTables_wrapper .dataTables_paginate .paginate_button.current,
html[data-theme-scope="admin"] .pagination .active .page-link{
  background:var(--lms-primary-gradient)!important;color:#fff!important;border-color:transparent!important
}

/* Public site and authentication pages. */
html[data-theme-scope="front"] .lms-front-navbar{
  border-bottom:1px solid color-mix(in srgb,var(--lms-primary) 16%,var(--lms-border))!important;
}
html[data-theme-scope="front"][data-glass="1"] .lms-front-navbar{
  background:color-mix(in srgb,var(--lms-surface) var(--lms-glass-opacity),transparent)!important;
  backdrop-filter:blur(var(--lms-blur));-webkit-backdrop-filter:blur(var(--lms-blur))
}
html[data-theme-scope="front"] :where(.lms-front-hero,.edu_banner_wrapper,.edu_bread_wrapper){
  background-image:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--lms-accent) 18%,transparent),transparent 32%),radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--lms-primary) 16%,transparent),transparent 34%)!important
}
html[data-theme-scope="front"] :where(.lms-course-card,.lms-service-card,.edu_courses_container,.edu_blog_box,.edu_form_container){
  border:1px solid var(--lms-border)!important;overflow:hidden
}
html[data-theme-scope="front"][data-animations="1"] :where(.lms-course-card,.lms-service-card,.edu_courses_container,.edu_blog_box):hover{
  border-color:color-mix(in srgb,var(--lms-primary) 36%,var(--lms-border))!important;
  box-shadow:0 18px 40px color-mix(in srgb,var(--lms-primary) 13%,transparent)!important
}
html[data-theme-scope="front"] .lms-section-kicker{color:var(--lms-primary)!important}
html[data-theme-scope="front"] .edu_footer_wrapper{
  border-top:3px solid transparent!important;border-image:linear-gradient(90deg,var(--lms-primary),var(--lms-accent),var(--lms-success)) 1!important
}

/* Theme Studio PATCH-01 tools. */
.p01-theme-presets{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;
  margin:0 0 18px;padding:18px;border:1px solid color-mix(in srgb,var(--lms-primary) 24%,var(--lms-border));
  border-radius:18px;background:var(--lms-brand-wash),var(--lms-surface);box-shadow:var(--lms-shadow-sm)
}
.p01-theme-presets h2{margin:3px 0 4px!important;color:var(--lms-text)!important;font-size:18px!important}
.p01-theme-presets p{margin:0!important;color:var(--lms-muted)!important;font-size:11px!important;line-height:1.7!important}
.p01-preset-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--lms-primary);font-size:10px;font-weight:800}
.p01-preset-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.p01-preset-actions button,.p01-preset-actions label{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;margin:0;padding:7px 10px;
  border:1px solid var(--lms-border);border-radius:10px;background:var(--lms-surface);color:var(--lms-text);font-size:10px;font-weight:800;cursor:pointer
}
.p01-preset-actions button:hover,.p01-preset-actions label:hover{border-color:var(--lms-primary);color:var(--lms-primary)}
.p01-preset-actions input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.p01-dirty-state{position:absolute;inset-inline-end:18px;bottom:-10px;padding:3px 9px;border:1px solid var(--lms-border);border-radius:99px;background:var(--lms-surface);color:var(--lms-muted);font-size:9px;font-weight:800}
.p01-dirty-state.is-dirty{color:var(--lms-warning);border-color:color-mix(in srgb,var(--lms-warning) 40%,var(--lms-border))}
.p01-dirty-state.is-imported{color:var(--lms-info)}

@media(max-width:1199.98px){.p01-theme-presets{grid-template-columns:1fr}.p01-preset-actions{justify-content:flex-start}}
@media(max-width:575.98px){.p01-theme-presets{padding:14px}.p01-preset-actions button,.p01-preset-actions label{flex:1 1 130px}.p01-dirty-state{position:static;grid-column:1/-1;justify-self:start}}

html[data-reduce-motion="1"] *,html[data-animations="0"] *{scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html[data-theme-scope] *,html[data-theme-scope] *:before,html[data-theme-scope] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media print{
  .p01-theme-presets{display:none!important}
  html[data-theme-scope] :where(a,button,input,select,textarea):focus-visible{outline:0!important;box-shadow:none!important}
}
