:root {
  --sigav-sidebar: 204px;
  --sigav-sidebar-width: 204px;
  --sice-sidebar-expanded-width: 204px;
  --sigav-primary: #3b60a1;
  --sigav-primary-dark: #29436f;
  --sigav-bg: #f4f7f9;
  --sigav-card-border: #edf0f4;
  --sigav-page-x: 2.5rem;
  --sigav-page-top: 1.75rem;
  --sigav-title-gap: .45rem;
  --sigav-title-bottom: 2rem;
  --sigav-title-color: #172033;
  --sigav-muted: #9aa3b2;
  --sigav-module-title-color: #111827;
  --sigav-module-muted-color: #9ca3af;
  --sigav-chart-text: #475569;
  --sigav-chart-muted: #64748b;
  --sigav-chart-grid: rgba(148, 163, 184, .35);
  --sigav-chart-axis: rgba(100, 116, 139, .48);
}

html[data-kt-theme-mode="dark"],
html.dark,
body.dark {
  --sigav-title-color: #f8fafc;
  --sigav-muted: #a7b0c0;
  --sigav-module-title-color: #f8fafc;
  --sigav-module-muted-color: #a7b0c0;
  --sigav-chart-text: #d7dde8;
  --sigav-chart-muted: #8d98aa;
  --sigav-chart-grid: rgba(148, 163, 184, .22);
  --sigav-chart-axis: rgba(226, 232, 240, .42);
}

html {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--sidebar-bg, #071A33);
  overscroll-behavior: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  background: var(--sigav-bg);
  overscroll-behavior: none;
}

body:has(#sidebar) {
  overflow: hidden;
}

.kt-btn,
.btn {
  min-height: 42px !important;
  border-radius: .75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
}

.kt-btn-icon,
.btn-icon {
  width: 42px !important;
  min-width: 42px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.kt-btn-primary,
.sigav-btn-primary,
.btn-modal-register,
.btn-primary {
  background: var(--sigav-primary) !important;
  border-color: var(--sigav-primary) !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: .7rem !important;
  box-shadow: 0 8px 18px rgba(59, 96, 161, .18);
}

.kt-btn-primary:hover,
.sigav-btn-primary:hover,
.btn-modal-register:hover {
  background: var(--sigav-primary-dark) !important;
  border-color: var(--sigav-primary-dark) !important;
}

.kt-btn-light,
.kt-btn-outline,
.kt-btn-secondary,
.sigav-btn-soft,
.btn-modal-cancel,
.btn-light,
.btn-secondary {
  border-radius: .7rem !important;
  font-weight: 700 !important;
  background: #fff !important;
  border-color: #dce3ef !important;
  color: #475569 !important;
}

.btn-modal-cancel {
  border: 1px solid #dce3ef !important;
  background: #fff !important;
  color: #475569 !important;
}

.kt-card,
.program-card,
.hero-card,
.entidad-card,
.kt-accordion {
  border: 1px solid var(--sigav-card-border) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .04) !important;
}

.sigav-page-title,
main h1 {
  letter-spacing: 0 !important;
}

.sigav-footer,
footer.footer {
  min-height: 56px;
  color: #9ca3af !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  border-top: 1px solid #eef2f7;
}

.modal-custom,
.modal-overlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(15, 23, 42, .48);
  backdrop-filter: blur(6px);
  z-index: 2000;
}

.modal-custom.active,
.modal-overlay.active {
  display: flex !important;
}

.modal-large,
.modal-card,
.modal-slim,
.sigav-modal-card,
.kt-modal-content {
  border-radius: 1.25rem !important;
  border: 1px solid #eef2f7 !important;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .28) !important;
  overflow: hidden;
}

.sigav-modal-card {
  width: min(1180px, calc(100vw - 5rem)) !important;
  max-width: none !important;
  height: min(88vh, 920px) !important;
  max-height: calc(100vh - 4rem) !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
}

#sigav_docente_modal .sigav-modal-card,
#sigav_url_modal .sigav-modal-card {
  width: min(1280px, calc(100vw - 5rem)) !important;
  height: min(90vh, 940px) !important;
}

.sigav-modal-card iframe {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  border: 0 !important;
}

.sigav-modal-header {
  flex: 0 0 auto;
  min-height: 64px;
}

.modal-header-premium,
.modal-slim-header,
.sigav-modal-header {
  background: linear-gradient(180deg, #fff, #f8fafc) !important;
  border-bottom: 1px solid #eef2f7 !important;
}

.kt-input,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="date"],
select,
textarea {
  border-radius: .75rem !important;
}

#sidebar {
  background: var(--sidebar-bg, #071A33) !important;
  height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(156, 163, 175, .45) transparent;
}

#sidebar::before {
  /* Capa decorativa duplicada detrás de #sidebar -- #sidebar ya trae su
     propio background (línea 197) que sí sigue el ancho real al colapsar.
     Este ::before tenía su propio background fijo, atado a --sigav-sidebar
     (var legacy separada de --sidebar-width, nunca se movía con el toggle
     de colapso) -- por eso antes se veía una barra azul fija detrás
     del sidebar angosto. Sin background queda inerte, no hace falta borrar
     el resto de la regla. */
  content: "";
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sigav-sidebar);
  z-index: -1;
}

#sidebar::-webkit-scrollbar {
  width: 7px;
}

#sidebar::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, .38);
  border-radius: 999px;
}

@media (max-width: 767px) {
  body:has(#sidebar) {
    overflow: auto;
  }

  #sidebar {
    display: flex !important;
    width: min(86vw, var(--sice-sidebar-expanded-width, 204px)) !important;
    max-width: var(--sice-sidebar-expanded-width, 204px);
    transform: translateX(-105%);
    z-index: 60 !important;
    box-shadow: 30px 0 70px rgba(2, 8, 23, .42);
    transition: transform .24s cubic-bezier(.22, .9, .32, 1);
  }

  body.sidebar-mobile-open {
    overflow: hidden;
  }

  body.sidebar-mobile-open #sidebar {
    transform: translateX(0);
  }

  body.sidebar-mobile-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 55;
    background: rgba(2, 8, 23, .58);
    backdrop-filter: blur(2px);
  }

  #sidebar_header {
    min-height: 64px;
  }

  #sidebar_header .sidebar-logo-link {
    opacity: 1;
    width: auto;
  }
}

@media (min-width: 768px) {
  body:has(#sidebar) {
    overflow: hidden;
  }

  #sidebar {
    display: flex !important;
    width: var(--sidebar-width, var(--sice-sidebar-expanded-width, 204px)) !important;
    max-width: none;
    transform: none !important;
    z-index: 20 !important;
  }

  #header {
    padding-inline-start: var(--sidebar-width, var(--sice-sidebar-expanded-width, 204px)) !important;
  }

  #header_start_widgets {
    display: flex !important;
    inset-inline-start: var(--sidebar-width, var(--sice-sidebar-expanded-width, 204px)) !important;
  }

  #sigav_content_shell {
    margin-inline-start: var(--sidebar-width, var(--sice-sidebar-expanded-width, 204px)) !important;
    width: calc(100vw - var(--sidebar-width, var(--sice-sidebar-expanded-width, 204px))) !important;
    max-width: calc(100vw - var(--sidebar-width, var(--sice-sidebar-expanded-width, 204px))) !important;
    border-top-left-radius: .75rem;
    border-bottom-left-radius: .75rem;
  }

  .sigav-mobile-header-start {
    display: none !important;
  }
}

#sidebar_header {
  flex: 0 0 auto;
}

#sidebar_menu {
  flex: 0 0 auto !important;
  margin-top: .55rem !important;
  margin-bottom: .75rem !important;
}

#sidebar_menu .kt-scrollable-y-auto {
  overflow: visible !important;
}

#sidebar_footer {
  flex: 0 0 auto;
  margin-top: .75rem;
}

.sigav-user-footer {
  position: relative;
  border-top: 0 !important;
  background: var(--sidebar-bg, #071A33);
  padding-top: .75rem !important;
}

#sidebar .sigav-footer,
#sidebar footer.footer {
  display: none !important;
}

.sigav-user-card {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  border-radius: .85rem;
  color: #e5e7eb;
  cursor: pointer;
  transition: background .2s ease;
}

.sigav-user-card:hover {
  background: rgba(255, 255, 255, .08);
}

.sigav-user-avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, .18);
  background: #22242a;
}

.sigav-user-name {
  display: block;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .83rem;
  font-weight: 800;
  line-height: 1.15;
}

.sigav-user-role {
  color: #9ca3af;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
}

.sigav-user-dropdown {
  position: absolute;
  left: .85rem;
  right: .85rem;
  bottom: calc(100% + .5rem);
  display: none;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: .9rem;
  box-shadow: 0 20px 45px rgba(15, 23, 42, .22);
  padding: .45rem;
  z-index: 60;
}

.sigav-user-dropdown.is-open {
  display: block;
}

.sigav-user-dropdown a {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .68rem .75rem;
  border-radius: .65rem;
  color: #374151;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}

.sigav-user-dropdown a:hover {
  background: #f3f6fb;
  color: var(--sigav-primary);
}

.sigav-user-dropdown .danger:hover {
  background: #fef2f2;
  color: #dc2626;
}

/* Tarjeta de usuario reubicada al topbar (fondo claro, dropdown hacia abajo) --
   .sigav-user-card / .sigav-user-dropdown base siguen igual para cualquier
   otro uso futuro sobre fondo oscuro; estas son variantes con clase extra. */
.sigav-user-card--topbar {
  color: var(--foreground, #111827);
  width: auto;
  padding: .42rem .7rem .42rem .45rem;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, .95);
  box-shadow: 0 10px 26px rgba(2, 8, 23, .16);
}
.sigav-user-card--topbar:hover {
  background: #fff;
  border-color: rgba(203, 213, 225, .95);
  box-shadow: 0 12px 30px rgba(2, 8, 23, .22);
}
.sigav-user-card--topbar .sigav-user-name {
  color: #111827;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
}
.sigav-user-card--topbar .ki-filled {
  color: #475569 !important;
}
.sigav-user-card--topbar .sigav-user-role {
  color: #64748b;
}

.sigav-user-dropdown--topbar {
  left: auto;
  right: 0;
  bottom: auto;
  top: calc(100% + .5rem);
  width: 220px;
}

.sigav-topbar,
#header {
  background: var(--sidebar-bg, #071A33) !important;
  border-bottom-color: rgba(255, 255, 255, .14) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 16px 34px rgba(2, 8, 23, .16);
}

.sigav-topbar-icon,
#header_widgets > .kt-btn,
#header_start_widgets > .kt-btn {
  color: rgba(255, 255, 255, .82) !important;
}

.sigav-topbar-icon:hover,
#header_widgets > .kt-btn:hover,
#header_start_widgets > .kt-btn:hover {
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
}

.sigav-topbar-icon .ki-filled,
#header_widgets > .kt-btn .ki-filled,
#header_start_widgets > .kt-btn .ki-filled {
  color: currentColor !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
  -webkit-text-stroke: .45px currentColor;
  text-shadow: 0 0 0 currentColor;
}

.sigav-module {
  background: var(--sigav-bg);
}

.sigav-admin-page {
  margin: 0;
  min-height: 100vh;
  overflow: hidden;
  background: var(--sigav-bg);
  color: var(--sigav-title-color);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sigav-admin-page #sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sigav-sidebar-width);
  height: 100vh;
  z-index: 100;
}

.sigav-main-shell {
  margin-left: var(--sigav-sidebar-width) !important;
  width: calc(100% - var(--sigav-sidebar-width)) !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: var(--sigav-bg) !important;
  border-left: 1px solid #e5e7eb;
  box-sizing: border-box;
  padding: 0 !important;
}

.sigav-page {
  width: 100%;
  max-width: none;
  padding: var(--sigav-page-top) var(--sigav-page-x) 2.5rem !important;
  box-sizing: border-box;
}

.sigav-page-header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.25rem;
  margin: 0 0 1.6rem;
}

.sigav-page-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
}

.sigav-page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  flex-wrap: wrap;
  margin-left: auto;
}

.sigav-title-cluster {
  display: flex;
  align-items: center;
  gap: .9rem;
  min-width: 0;
}

.sigav-page-title-icon {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: .8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sigav-primary);
  background: color-mix(in srgb, var(--sigav-primary) 8%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--sigav-primary) 14%, transparent);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05), inset 0 0 0 1px rgba(255, 255, 255, .55);
}

.sigav-page-title-icon i {
  font-size: 1.35rem;
  font-weight: 900;
  -webkit-text-stroke: .35px currentColor;
}

html.dark .sigav-page-title-icon,
html[data-kt-theme-mode="dark"] .sigav-page-title-icon,
body.dark .sigav-page-title-icon {
  background: color-mix(in srgb, var(--sigav-primary) 14%, transparent);
  border-color: rgba(148, 163, 184, .24);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}

.sigav-page-title {
  margin: 0 !important;
  color: var(--sigav-title-color) !important;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

.sigav-page-subtitle {
  display: block;
  margin: var(--sigav-title-gap) 0 0 !important;
  color: var(--sigav-muted) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}

.sigav-module-shell,
.main-wrapper,
.main-content {
  padding: var(--sigav-page-top) var(--sigav-page-x) 0;
}

.sigav-module-header,
.main-wrapper > header,
.main-content .sigav-module-header {
  padding: 0 0 var(--sigav-title-bottom) !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: relative;
  text-align: left;
}

.sigav-module-title:not(.sigav-page-title),
.sigav-module-header h1:not(.sigav-page-title),
.main-wrapper > header h1:not(.sigav-page-title),
main h1:not(.sigav-page-title) {
  color: var(--sigav-module-title-color) !important;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
  text-align: left !important;
  width: auto;
}

.sigav-module-subtitle:not(.sigav-page-subtitle),
.sigav-module-header h1 + *:not(.sigav-page-subtitle),
main h1 + span:not(.sigav-page-subtitle),
main h1 + div:not(.sigav-page-subtitle),
main h1 + p:not(.sigav-page-subtitle) {
  color: var(--sigav-module-muted-color) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-top: var(--sigav-title-gap) !important;
}

.sigav-module-header > .flex:last-child:not(:first-child),
.sigav-module-header > a.kt-btn,
.main-wrapper > header > a.kt-btn {
  margin-left: auto;
}

main > .pb-5 .kt-container-fixed:has(h1) {
  position: relative;
  justify-content: space-between !important;
  text-align: left;
}

main > .pb-5:has(h1) {
  padding-top: 0 !important;
  padding-bottom: var(--sigav-title-bottom) !important;
}

#scrollable_content {
  padding-top: var(--sigav-page-top) !important;
}

.main-wrapper > div:not(.tab-content) {
  width: 100%;
}

.sigav-main-shell > .sigav-page,
.sigav-main-shell > main {
  min-width: 0;
}

main > .pb-5 .kt-container-fixed:has(h1) > .flex:first-child {
  align-items: flex-start;
  text-align: left;
  width: auto;
}

main > .pb-5 .kt-container-fixed:has(h1) > .flex:last-child:not(:first-child) {
  margin-left: auto;
}

.sigav-tabs {
  display: flex;
  gap: 1.25rem;
  border-bottom: 1px solid #111827;
  margin-bottom: 1.75rem;
  overflow-x: auto;
}

.tab-trigger,
.tab-btn,
.kt-tab-toggle {
  padding: .85rem 1.45rem !important;
  min-height: 48px;
  color: #9ca3af !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  background: transparent !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.tab-trigger.active,
.tab-btn.active,
.kt-tab-toggle.active {
  color: var(--sigav-primary) !important;
  border-bottom-color: var(--sigav-primary) !important;
}

.sigav-program-list {
  display: grid;
  gap: 1.5rem;
  padding-bottom: 5rem;
}

.program-card,
.kt-accordion.sigav-program-card {
  border-radius: .95rem !important;
  padding: 1.75rem 2rem !important;
  min-height: 0 !important;
  background: #fff !important;
  border: 1px solid #e7ecf3 !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .035) !important;
}

@media (max-width: 920px) {
  .sigav-main-shell {
    margin-left: 0 !important;
    width: 100% !important;
  }

  .sigav-page {
    padding: 1.25rem !important;
  }

  .sigav-page-title-row {
    flex-direction: column;
  }

  .sigav-page-actions {
    justify-content: flex-start;
    width: 100%;
  }
}

body.sigav-admin-page .sigav-main-shell {
  margin-left: var(--sigav-sidebar-width) !important;
  width: calc(100vw - var(--sigav-sidebar-width)) !important;
  padding: 0 !important;
}

body.sigav-admin-page .sigav-main-shell > .sigav-page,
body.sigav-admin-page .sigav-main-shell > main.sigav-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: var(--sigav-page-top) var(--sigav-page-x) 2.5rem !important;
}

body.sigav-admin-page .sigav-main-shell > .sigav-page.sigav-content-aligned,
body.sigav-admin-page .sigav-main-shell > main.sigav-page.sigav-content-aligned {
  padding-left: clamp(4.75rem, 5vw, 5.75rem) !important;
  padding-right: clamp(4.75rem, 5vw, 5.75rem) !important;
}

body.sigav-admin-page .sigav-page-header,
body.sigav-admin-page .sigav-page-title-row {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.sigav-admin-page .sigav-page-header {
  margin-top: 0 !important;
  margin-bottom: 1.6rem !important;
}

body.sigav-admin-page #scrollable_content {
  padding-top: 0 !important;
}

.program-card h3,
.sigav-program-title {
  color: #374151 !important;
  font-size: .95rem !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  margin-bottom: 1rem !important;
}

.btn-sem,
.btn-grupo-modern,
.group-chip-premium {
  min-height: 44px;
  padding: .65rem 1rem !important;
  border-radius: .75rem !important;
  border: 1px solid #dce3ef !important;
  background: #f3f6fb !important;
  color: #4b5563 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.btn-sem:hover,
.btn-sem.active-sem,
.btn-grupo-modern:hover,
.group-chip-premium:hover {
  background: var(--sigav-primary) !important;
  color: #fff !important;
  border-color: var(--sigav-primary) !important;
  transform: translateY(-1px);
}

.sigav-chip-row,
.program-card .flex-wrap,
.group-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.sigav-muted-pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  height: 34px;
  padding: 0 .9rem;
  border-radius: 999px;
  border: 1px solid #dcecff;
  background: #f1faff;
  color: #1887f2;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.sigav-search {
  height: 42px !important;
  border: 1px solid #dce3ef !important;
  background: #fff !important;
  border-radius: .75rem !important;
  padding: 0 1rem !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  color: #334155 !important;
  min-width: 260px;
}

.sigav-embedded-form #sidebar {
  display: none !important;
}

.sigav-embedded-form [class*="ms-(--sidebar-width)"],
.sigav-embedded-form [class*="lg:ms"] {
  margin-left: 0 !important;
}

.sigav-embedded-form .flex.grow > .flex.flex-col.grow,
.sigav-embedded-form #scrollable_content {
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
}

.sigav-embedded-form .sigav-footer,
.sigav-embedded-form footer.footer {
  display: none !important;
}

.sigav-embedded-form main > .pb-5 {
  padding-top: 1rem !important;
}

@media (max-width: 900px) {
  .modal-custom,
  .modal-overlay {
    padding: .75rem;
  }

  .sigav-modal-card,
  #sigav_docente_modal .sigav-modal-card,
  #sigav_url_modal .sigav-modal-card {
    width: calc(100vw - 1.5rem) !important;
    height: calc(100vh - 1.5rem) !important;
    max-height: calc(100vh - 1.5rem) !important;
  }
}

/* Alumnos: resumen tipo Metronic public profile */
.alumnos-summary-card {
  width: 100% !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 1rem !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .06) !important;
}

.alumnos-summary-card > .kt-card-content,
.alumnos-summary-card .kt-card-content {
  padding: 1.25rem 2rem !important;
}

.alumnos-summary-grid {
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 0 !important;
  width: 100% !important;
}

.alumnos-summary-grid > .alumno-stat-card {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  min-height: 86px !important;
  padding: .5rem 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .28rem !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

.alumnos-summary-grid > .alumno-stat-card strong {
  display: block !important;
  order: 1 !important;
  margin: 0 !important;
  color: #05070b !important;
  font-size: clamp(1.7rem, 2.2vw, 2.35rem) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.alumnos-summary-grid > .alumno-stat-card span {
  display: block !important;
  order: 2 !important;
  margin: 0 !important;
  color: #4b5563 !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.alumnos-summary-grid > .alumno-stat-divider {
  display: block !important;
  align-self: center !important;
  flex: 0 0 1px !important;
  width: 1px !important;
  min-width: 1px !important;
  height: 56px !important;
  margin: 0 .5rem !important;
  background: #e5e7eb !important;
}

@media (max-width: 900px) {
  .alumnos-summary-card > .kt-card-content,
  .alumnos-summary-card .kt-card-content {
    padding: 1rem !important;
  }

  .alumnos-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
  }

  .alumnos-summary-grid > .alumno-stat-divider {
    display: none !important;
  }
}

@media (max-width: 520px) {
  .alumnos-summary-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Layout unificado para pantallas administrativas modernas.
   Se deja al final para ganar sobre estilos locales heredados. */
body.sigav-admin-page .sigav-main-shell {
  margin-left: var(--sigav-sidebar-width) !important;
  width: calc(100vw - var(--sigav-sidebar-width)) !important;
  max-width: calc(100vw - var(--sigav-sidebar-width)) !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 !important;
  background: var(--sigav-bg) !important;
}

body.sigav-admin-page .sigav-main-shell > .sigav-page,
body.sigav-admin-page .sigav-main-shell > main.sigav-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: var(--sigav-page-top) var(--sigav-page-x) 2.5rem !important;
}

body.sigav-admin-page .sigav-page-header,
body.sigav-admin-page .sigav-page-title-row {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.sigav-admin-page .sigav-page-title-row {
  align-items: flex-start !important;
}

body.sigav-admin-page .sigav-page-header {
  margin-top: 0 !important;
  margin-bottom: 1.6rem !important;
}

body.sigav-admin-page #scrollable_content {
  padding-top: 0 !important;
}

@media (max-width: 920px) {
  body.sigav-admin-page .sigav-main-shell {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.sigav-admin-page .sigav-main-shell > .sigav-page,
  body.sigav-admin-page .sigav-main-shell > main.sigav-page {
    padding: 1.25rem !important;
  }

  body.sigav-admin-page .sigav-main-shell > .sigav-page.sigav-content-aligned,
  body.sigav-admin-page .sigav-main-shell > main.sigav-page.sigav-content-aligned {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  body.sigav-admin-page .sigav-page-title-row {
    flex-direction: column !important;
  }

  body.sigav-admin-page .sigav-page-actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* Alta/configuración: patrón administrativo compacto inspirado en las capturas. */
body:is(
  .route-plantel-crear-sede,
  .route-periodo-crear,
  .route-docentes-crear,
  .route-asignaturas-crear,
  .route-interesados-crear,
  .route-preinscritos-crear,
  .route-alumnos-crear,
  .route-avisos-crear,
  .route-administrador-crear,
  .route-criterios-index,
  .route-calendario-index,
  .route-documentos-index,
  .route-faq-index
) {
  --sice-work-card: #ffffff;
  --sice-work-soft: #f8fbff;
  --sice-work-line: #dfe7f2;
  --sice-work-text: #10192e;
  --sice-work-muted: #718096;
}

html.dark body:is(
  .route-plantel-crear-sede,
  .route-periodo-crear,
  .route-docentes-crear,
  .route-asignaturas-crear,
  .route-interesados-crear,
  .route-preinscritos-crear,
  .route-alumnos-crear,
  .route-avisos-crear,
  .route-administrador-crear,
  .route-criterios-index,
  .route-calendario-index,
  .route-documentos-index,
  .route-faq-index
) {
  --sice-work-card: #171a22;
  --sice-work-soft: #111722;
  --sice-work-line: #2a3040;
  --sice-work-text: #f3f6ff;
  --sice-work-muted: #a7afbd;
}

body:is(
  .route-plantel-crear-sede,
  .route-periodo-crear,
  .route-docentes-crear,
  .route-asignaturas-crear,
  .route-interesados-crear,
  .route-preinscritos-crear,
  .route-alumnos-crear,
  .route-avisos-crear,
  .route-administrador-crear,
  .route-criterios-index,
  .route-documentos-index,
  .route-faq-index
) main .kt-container-fixed {
  max-width: min(1500px, calc(100vw - 2.25rem)) !important;
}

body:is(
  .route-plantel-crear-sede,
  .route-periodo-crear,
  .route-docentes-crear,
  .route-asignaturas-crear,
  .route-interesados-crear,
  .route-preinscritos-crear,
  .route-alumnos-crear,
  .route-avisos-crear,
  .route-administrador-crear,
  .route-criterios-index
) main .kt-container-fixed > .kt-card[style],
body:is(
  .route-asignaturas-crear,
  .route-avisos-crear,
  .route-criterios-index
) main .kt-container-fixed > .grid[style] {
  max-width: none !important;
}

.sice-form-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 24rem);
  gap: 1.25rem;
  align-items: start;
  padding-bottom: 5.75rem;
}

.sice-form-main,
.sice-form-aside {
  min-width: 0;
}

.sice-form-stack,
.sice-form-aside {
  display: grid;
  gap: 1rem;
}

.sice-form-card,
.sice-side-card,
body:is(
  .route-plantel-crear-sede,
  .route-periodo-crear,
  .route-docentes-crear,
  .route-asignaturas-crear,
  .route-interesados-crear,
  .route-preinscritos-crear,
  .route-alumnos-crear,
  .route-avisos-crear,
  .route-administrador-crear,
  .route-criterios-index
) main .kt-card {
  border: 1px solid var(--sice-work-line) !important;
  border-radius: 8px !important;
  background: var(--sice-work-card) !important;
  box-shadow: 0 16px 42px rgba(16, 25, 46, .06) !important;
}

body:is(
  .route-plantel-crear-sede,
  .route-periodo-crear,
  .route-docentes-crear,
  .route-asignaturas-crear,
  .route-interesados-crear,
  .route-preinscritos-crear,
  .route-alumnos-crear,
  .route-avisos-crear,
  .route-administrador-crear,
  .route-criterios-index
) .kt-form-label {
  color: var(--sice-work-text) !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
}

body:is(
  .route-plantel-crear-sede,
  .route-periodo-crear,
  .route-docentes-crear,
  .route-asignaturas-crear,
  .route-interesados-crear,
  .route-preinscritos-crear,
  .route-alumnos-crear,
  .route-avisos-crear,
  .route-administrador-crear,
  .route-criterios-index
) .kt-input {
  min-height: 2.45rem !important;
  border-color: var(--sice-work-line) !important;
  border-radius: 7px !important;
  background: var(--sice-work-card) !important;
  color: var(--sice-work-text) !important;
  box-shadow: 0 8px 18px rgba(16, 25, 46, .035) !important;
}

body:is(
  .route-plantel-crear-sede,
  .route-periodo-crear,
  .route-docentes-crear,
  .route-asignaturas-crear,
  .route-interesados-crear,
  .route-preinscritos-crear,
  .route-alumnos-crear,
  .route-avisos-crear,
  .route-administrador-crear,
  .route-criterios-index
) textarea.kt-input {
  min-height: 5.25rem !important;
  padding-top: .7rem !important;
}

.sice-section-title,
body:is(.route-plantel-crear-sede, .route-alumnos-crear) .section-title {
  display: flex !important;
  align-items: center !important;
  gap: .65rem !important;
  margin: .35rem 0 .2rem !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--sice-work-text) !important;
  font-size: .95rem !important;
  font-weight: 900 !important;
}

.sice-section-title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 7px;
  background: color-mix(in srgb, var(--primary, #2563eb) 13%, transparent);
  color: var(--primary, #2563eb);
}

.sice-side-card {
  padding: 1rem 1.1rem;
}

.sice-side-card h3 {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .8rem;
  color: var(--sice-work-text);
  font-size: .92rem;
  font-weight: 900;
}

.sice-side-card p,
.sice-side-card li,
.sice-side-card span {
  color: var(--sice-work-muted);
  font-size: .78rem;
  line-height: 1.45;
}

.sice-progress {
  height: .45rem;
  border-radius: 999px;
  overflow: hidden;
  background: var(--sice-work-soft);
}

.sice-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--primary, #2563eb), #1d4ed8);
}

.sice-side-list {
  display: grid;
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sice-side-list li {
  display: flex;
  gap: .55rem;
}

.sice-side-list i {
  margin-top: .1rem;
  color: var(--primary, #2563eb);
}

.sice-bottom-actions {
  position: sticky;
  bottom: 0;
  z-index: 12;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  margin: 1.25rem -1.5rem -1.5rem;
  padding: .85rem 1.5rem;
  border-top: 1px solid var(--sice-work-line);
  background: color-mix(in srgb, var(--sice-work-card) 94%, transparent);
  backdrop-filter: blur(12px);
}

body.route-documentos-index .sigav-page-subtitle {
  display: none !important;
}

body.route-documentos-index .doc-tabs {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

body.route-documentos-index .doc-tab {
  min-height: 8.1rem;
  border-radius: 8px !important;
}

body.route-documentos-index .doc-tab .desc {
  display: none;
}

.sice-confirm-panel {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 5000;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(2, 8, 23, .58);
  backdrop-filter: blur(5px);
}

.sice-confirm-panel.active {
  display: flex;
}

.sice-confirm-card {
  width: min(100%, 460px);
  border: 1px solid var(--border, #dfe7f2);
  border-radius: 14px;
  background: var(--card, #fff);
  color: var(--foreground, #111827);
  box-shadow: 0 30px 80px rgba(2, 8, 23, .28);
  padding: 1.25rem;
  transform-origin: center;
  animation: siceConfirmIn .18s cubic-bezier(.22, .9, .32, 1) both;
}

.sice-confirm-head {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: start;
}

.sice-confirm-icon {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #dc2626;
  background: #fef2f2;
  border: 1px solid #fecaca;
  font-size: 1.05rem;
}

.sice-confirm-title {
  margin: .05rem 0 .2rem;
  color: var(--foreground, #111827);
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: 0;
}

.sice-confirm-subject {
  display: inline-flex;
  align-items: center;
  margin-top: .25rem;
  padding: .22rem .55rem;
  border-radius: 999px;
  background: color-mix(in srgb, #ef4444 9%, transparent);
  color: #b91c1c;
  font-size: .78rem;
  font-weight: 850;
}

.sice-confirm-text {
  margin: .9rem 0 0;
  color: var(--muted-foreground, #667085);
  font-size: .86rem;
  line-height: 1.55;
}

.sice-confirm-close {
  width: 2rem !important;
  min-width: 2rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  border-radius: 999px !important;
  color: var(--muted-foreground, #667085) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sice-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  margin-top: 1.25rem;
}

.sice-confirm-cancel,
.sice-confirm-submit {
  min-height: 2.65rem !important;
  border-radius: 10px !important;
  padding: 0 1rem !important;
}

.sice-confirm-submit {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(220, 38, 38, .22) !important;
}

.sice-confirm-submit:hover {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
}

html.dark .sice-confirm-card,
html[data-kt-theme-mode="dark"] .sice-confirm-card {
  background: #15181f;
  border-color: rgba(148, 163, 184, .22);
  color: #f3f6fb;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .58);
}

html.dark .sice-confirm-icon,
html[data-kt-theme-mode="dark"] .sice-confirm-icon {
  color: #fca5a5;
  background: rgba(239, 68, 68, .12);
  border-color: rgba(248, 113, 113, .24);
}

html.dark .sice-confirm-subject,
html[data-kt-theme-mode="dark"] .sice-confirm-subject {
  color: #fecaca;
  background: rgba(239, 68, 68, .13);
}

@keyframes siceConfirmIn {
  from { opacity: 0; transform: translateY(10px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .sice-confirm-card { animation: none; }
}

@media (max-width: 560px) {
  .sice-confirm-actions { flex-direction: column-reverse; }
  .sice-confirm-actions .kt-btn { width: 100%; }
}

body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) {
  --sice-list-card: var(--card, #ffffff);
  --sice-list-soft: var(--muted, #f7f9fd);
  --sice-list-line: var(--border, #dfe7f2);
  --sice-list-text: var(--foreground, #111827);
  --sice-list-muted: var(--muted-foreground, #667085);
}

html.dark body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index),
html[data-kt-theme-mode="dark"] body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index),
body.dark:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) {
  --card: #15181f;
  --background: #0e1015;
  --border: rgba(148, 163, 184, .22);
  --muted: #111722;
  --muted-foreground: #a7b0c0;
  --foreground: #f3f6fb;
  --sice-list-card: #15181f;
  --sice-list-soft: #111722;
  --sice-list-line: rgba(148, 163, 184, .22);
  --sice-list-text: #f3f6fb;
  --sice-list-muted: #a7b0c0;
}

html.dark body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) :is(
  .program-card,
  .detail-card,
  .modal-card,
  .level-chip:not(.active),
  .level-tab:not(.active),
  .btn-grupo,
  .action-btn,
  .chip-icon-btn,
  .empty-box,
  .empty-groups
),
html[data-kt-theme-mode="dark"] body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) :is(
  .program-card,
  .detail-card,
  .modal-card,
  .level-chip:not(.active),
  .level-tab:not(.active),
  .btn-grupo,
  .action-btn,
  .chip-icon-btn,
  .empty-box,
  .empty-groups
) {
  background-color: var(--sice-list-card) !important;
  border-color: var(--sice-list-line) !important;
  color: var(--sice-list-text) !important;
}

html.dark body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) :is(
  .program-head,
  .detail-header,
  .kt-table th,
  .kt-table td
),
html[data-kt-theme-mode="dark"] body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) :is(
  .program-head,
  .detail-header,
  .kt-table th,
  .kt-table td
) {
  border-color: var(--sice-list-line) !important;
}

html.dark body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) :is(.kt-table, .kt-table thead, .kt-table tbody, .kt-table tr),
html[data-kt-theme-mode="dark"] body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) :is(.kt-table, .kt-table thead, .kt-table tbody, .kt-table tr) {
  background: var(--sice-list-card) !important;
  color: var(--sice-list-text) !important;
}

html.dark body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) :is(.program-meta, .btn-sem-count, .kt-table th span, .mono-cell),
html[data-kt-theme-mode="dark"] body:is(.route-oferta-index, .route-asignaturas-index, .route-grupos-index) :is(.program-meta, .btn-sem-count, .kt-table th span, .mono-cell) {
  color: var(--sice-list-muted) !important;
}

/* Iconografía oficial del sidebar: la caja sigue siendo la misma y sólo
   cambia el glifo. DuoIcons aporta dos capas discretas; Phosphor entra como
   fallback con el mismo color, tamaño óptico y alineación. */
.kt-menu-icon [data-vue-component="SICEMenuIcon"] {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
}

.kt-menu-icon .sice-menu-glyph {
  display: block;
  width: 20px;
  height: 20px;
  color: currentColor;
  overflow: visible;
  transition: opacity .2s ease, transform .2s ease;
}

.kt-menu-icon .sice-menu-glyph .duo-icons-secondary-layer {
  fill: #8FB4FF;
  opacity: .25;
}

.kt-menu-icon .sice-menu-glyph .duo-icons-primary-layer {
  fill: #EAF2FF;
  opacity: .92;
}

.kt-menu-link:hover .kt-menu-icon .sice-menu-glyph .duo-icons-secondary-layer,
.kt-menu-item.active .kt-menu-icon .sice-menu-glyph .duo-icons-secondary-layer {
  opacity: .42;
}

.kt-menu-item.active .kt-menu-icon .sice-menu-glyph,
.kt-menu-link:hover .kt-menu-icon .sice-menu-glyph {
  color: currentColor;
}

@media (prefers-reduced-motion: reduce) {
  .kt-menu-icon .sice-menu-glyph { transition: none; }
}

.sice-date-popover {
  position: fixed;
  z-index: 4000;
  width: min(276px, calc(100vw - 24px));
  padding: .42rem .58rem;
  border: 1px solid #d7e2f0;
  border-radius: 14px;
  background: #ffffff;
  color: #101827;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .14);
  opacity: 0;
  transform: translateY(6px) scale(.985);
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
}

.sice-date-popover.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

html.dark .sice-date-popover,
html[data-kt-theme-mode="dark"] .sice-date-popover {
  border-color: rgba(148, 163, 184, .28);
  background: #ffffff;
  color: #101827;
  box-shadow: 0 20px 56px rgba(0, 0, 0, .32);
}

.sice-date-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .46rem;
  margin: -.02rem -.04rem .26rem;
  padding: .28rem .42rem;
  border-radius: 11px;
  background: #f4f7fb;
}

.sice-date-title {
  display: flex;
  align-items: baseline;
  gap: .32rem;
  min-width: 0;
  color: #101827;
}

.sice-date-month {
  color: inherit;
  font-size: .84rem;
  font-weight: 900;
  line-height: 1.1;
  text-transform: capitalize;
}

.sice-date-year {
  color: #667085;
  font-size: .84rem;
  font-weight: 900;
  line-height: 1.1;
  border: none;
  background: transparent;
  padding: .04rem .18rem;
  border-radius: 6px;
  cursor: pointer;
}

.sice-date-year:hover {
  background: rgba(37, 99, 235, .1);
}

.sice-date-year:focus {
  outline: none;
  background: rgba(37, 99, 235, .12);
}

.sice-date-nav {
  display: flex;
  align-items: center;
  gap: .22rem;
  margin-left: auto;
}

.sice-date-nav button,
.sice-date-footer button {
  border: 1px solid #e3eaf4;
  background: rgba(255, 255, 255, .64);
  color: #64748b;
  border-radius: 9px;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.sice-date-nav button {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
}

.sice-date-nav button i {
  font-size: .72rem;
}

.sice-date-nav button:hover,
.sice-date-footer button:hover {
  transform: translateY(-1px);
  background: #ffffff;
  border-color: color-mix(in srgb, var(--primary, #2563eb) 24%, #dce5f2);
  color: var(--primary, #2563eb);
}

.sice-date-week,
.sice-date-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .04rem;
}

.sice-date-week {
  margin: 0 -.02rem .06rem;
  padding: .1rem .14rem;
  border-radius: 10px;
  background: #f8fafd;
}

.sice-date-week span {
  color: #667085;
  font-size: .56rem;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}

.sice-date-day {
  width: 100%;
  aspect-ratio: 1;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #101827;
  font-size: .68rem;
  font-weight: 800;
  cursor: pointer;
  transition: background .14s ease, color .14s ease, transform .14s ease, box-shadow .14s ease;
}

.sice-date-day:hover {
  transform: translateY(-1px);
  background: color-mix(in srgb, var(--primary, #2563eb) 6%, transparent);
  color: var(--primary, #2563eb);
}

.sice-date-day.is-muted {
  color: #b7bfcc;
}

.sice-date-day.is-weekend:not(.is-selected):not(.is-today) {
  color: color-mix(in srgb, #101827 88%, #667085);
}

.sice-date-day.is-today:not(.is-selected) {
  color: var(--primary, #2563eb);
  background: color-mix(in srgb, var(--primary, #2563eb) 4%, #ffffff);
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--primary, #2563eb) 48%, transparent);
}

.sice-date-day.is-selected {
  background: var(--primary, #2563eb);
  color: #fff;
  box-shadow: 0 10px 20px color-mix(in srgb, var(--primary, #2563eb) 22%, transparent);
}

.sice-date-footer {
  display: flex;
  justify-content: flex-end;
  gap: .38rem;
  margin: .26rem -.04rem -.02rem;
  padding: .24rem .08rem .02rem;
  border-top: 1px solid #e7edf6;
  background: linear-gradient(180deg, rgba(248, 250, 253, .54), rgba(255, 255, 255, 0));
}

.sice-date-footer button {
  min-height: 24px;
  padding: 0 .54rem;
  font-size: .64rem;
  font-weight: 850;
}

.criterios-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 1rem;
}

.criterios-tabs button {
  min-height: 3.15rem;
  border: 1px solid var(--sice-work-line);
  border-radius: 8px;
  background: var(--sice-work-card);
  color: var(--sice-work-muted);
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.criterios-tabs button.is-active {
  border-color: var(--primary, #2563eb);
  color: var(--primary, #2563eb);
  background: color-mix(in srgb, var(--primary, #2563eb) 6%, var(--sice-work-card));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary, #2563eb) 35%, transparent);
}

.criterios-panel {
  display: none;
}

.criterios-panel.is-active {
  display: block;
}

.criterios-panel .kt-input {
  min-height: 2.2rem;
}

@media (max-width: 1100px) {
  .sice-form-page {
    grid-template-columns: 1fr;
  }

  body.route-documentos-index .doc-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .criterios-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .sice-bottom-actions {
    position: static;
    flex-direction: column-reverse;
    align-items: stretch;
    margin: 1rem 0 0;
    padding: 1rem 0 0;
  }

  body.route-documentos-index .doc-tabs {
    grid-template-columns: 1fr !important;
  }

  .criterios-tabs {
    grid-template-columns: 1fr;
  }
}
