:root {
  color-scheme: light;
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-soft: #eef4fb;
  --line: #d9e3f0;
  --line-strong: #b9c9dd;
  --text: #071832;
  --muted: #72839c;
  --muted-2: #9aa8ba;
  --navy: #21113b;
  --red: #c3172d;
  --red-dark: #9d1025;
  --green: #008f61;
  --green-soft: #e8f8f1;
  --blue-soft: #eaf2ff;
  --shadow: 0 12px 30px rgba(31, 55, 91, 0.12);
}

/* Usuarios y roles · jerarquía visual compacta */
.access-app #accessWorkspace { gap: 14px; }
.access-app .access-overview,
.access-app .access-section,
.access-app .access-create-panel,
.access-app .access-hero { width: min(1440px, calc(100% - 48px)); }
.access-app .access-overview { grid-template-columns: repeat(3, minmax(210px, 1fr)); gap: 14px; }
.access-app .access-overview > .access-stat {
  position: relative;
  min-height: 104px;
  grid-template-columns: 50px 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 14px;
  padding: 18px 20px;
  overflow: hidden;
}
.access-app .access-overview > .access-stat::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, #671634, #c31d3c);
}
.access-app .access-overview > .access-stat:nth-child(2)::after { background: linear-gradient(90deg, #244a72, #6291bf); }
.access-app .access-overview > .access-stat:nth-child(3)::after { background: linear-gradient(90deg, #28735f, #58aa8d); }
.access-stat i {
  grid-row: 1 / 3;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  background: #f8edf1;
  color: #a71935;
  font-size: 20px;
  font-style: normal;
}
.access-stat:nth-child(2) i { background: #edf4fb; color: #315f91; }
.access-stat:nth-child(3) i { background: #edf8f4; color: #28735f; }
.access-app .access-overview .access-stat span { align-self: end; font-size: 11px; }
.access-app .access-overview .access-stat strong { grid-column: 3; grid-row: 1 / 3; font-size: 34px; }
.access-app .access-overview .access-stat small { grid-column: 2; align-self: start; font-size: 12px; }
.access-app .access-quick-nav {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  min-height: auto;
  gap: 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.access-app .access-quick-nav a {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(31, 48, 77, .045);
  text-align: center;
}
.access-app .access-quick-nav a:hover { border-color: #e8bdc7; }
.access-app .access-users-section { padding: 22px; }
.access-app .access-users-section .access-section-title { margin-bottom: 18px; }
.access-app .access-users-section .access-section-title h2 { font-size: 24px; }
.access-app .access-search {
  padding: 6px 6px 6px 14px;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  background: #f8fafc;
}
.access-app .access-search input { height: 38px; border: 0; background: transparent; outline: 0; }
.access-app .access-table-wrap { border-radius: 14px; box-shadow: inset 0 1px rgba(255,255,255,.6); }
.access-app .access-users-table th { height: 48px; color: #61738f; font-size: 11px; letter-spacing: .045em; text-transform: uppercase; }
.access-app .access-users-table td { height: 62px; border-bottom-color: #e7ecf2; }
.access-app .access-users-table tbody tr { transition: background-color .16s ease; }
.access-app .access-users-table tbody tr:hover { background: #f3f7fb; }

@media (max-width: 1050px) {
  .access-app .access-overview { grid-template-columns: 1fr; }
  .access-app .access-quick-nav { grid-column: 1; grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .access-app .access-overview,
  .access-app .access-section,
  .access-app .access-create-panel,
  .access-app .access-hero { width: calc(100% - 24px); }
  .access-app .access-overview > .access-stat { grid-template-columns: 44px 1fr auto; padding: 15px; }
  .access-app .access-search { align-items: stretch; padding: 8px 10px; }
}
:root[data-theme="dark"] .access-stat i { background: #351727; color: #f08ca2; }
:root[data-theme="dark"] .access-stat:nth-child(2) i { background: #142a43; color: #82b2df; }
:root[data-theme="dark"] .access-stat:nth-child(3) i { background: #15342d; color: #79c4aa; }
:root[data-theme="dark"] .access-app .access-search { border-color: var(--line); background: var(--surface-2); }
:root[data-theme="dark"] .access-app .access-quick-nav { background: transparent; border: 0; box-shadow: none; }
:root[data-theme="dark"] .access-app .access-quick-nav a { border-color: var(--line); background: var(--surface); }
:root[data-theme="dark"] .access-app .access-users-table tbody tr:hover { background: #182840; }

/* Cuenta de la sesión */
.session-account { position: relative; flex: 0 0 auto; }
.session-account-trigger {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  align-items: center;
  min-height: 44px;
  max-width: 290px;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface);
  padding: 5px 9px 5px 6px;
  box-shadow: 0 7px 18px rgba(31,55,91,.08);
  text-align: left;
}
.session-account-trigger:hover,
.session-account.open .session-account-trigger { border-color: #c89aa6; box-shadow: 0 9px 22px rgba(87,31,57,.12); }
.session-account-avatar {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #28143f, #bd1c3a);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
}
.session-account-avatar.large { width: 42px; height: 42px; border-radius: 12px; font-size: 13px; }
.session-account-identity { display: grid; min-width: 0; gap: 2px; }
.session-account-identity strong,
.session-account-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.session-account-identity strong { color: var(--text); font-size: 12px; }
.session-account-identity small { color: var(--muted); font-size: 10px; font-weight: 600; }
.session-account-chevron { width: 17px; height: 17px; fill: none; stroke: var(--muted); stroke-width: 1.8; transition: transform .18s ease; }
.session-account.open .session-account-chevron { transform: rotate(180deg); }
.session-account-menu {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 10px);
  right: 0;
  width: min(330px, calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 20px 48px rgba(18,35,60,.2);
}
.session-account-menu[hidden] { display: none; }
.session-account-summary { display: flex; align-items: center; gap: 12px; padding: 16px; }
.session-account-summary > div { display: grid; min-width: 0; gap: 3px; }
.session-account-summary strong { overflow: hidden; color: var(--text); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.session-account-summary span:not(.session-account-avatar) { color: var(--muted); font-size: 11px; }
.session-account-email { display: grid; gap: 4px; margin: 0 12px 12px; border-radius: 11px; background: var(--surface-soft); padding: 11px 12px; }
.session-account-email span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.session-account-email strong { overflow-wrap: anywhere; color: var(--text); font-size: 12px; }
.session-account-logout { display: flex; width: calc(100% - 24px); min-height: 42px; align-items: center; justify-content: center; gap: 9px; margin: 0 12px 12px; border-color: #edc6cf; background: #fff5f7; color: #a71935; }
.session-account-logout:hover { border-color: #d78a9b; background: #fcecef; }
.session-account-logout .nav-svg { width: 17px; height: 17px; }
:root[data-theme="dark"] .session-account-trigger,
:root[data-theme="dark"] .session-account-menu { border-color: var(--line); background: var(--surface); }
:root[data-theme="dark"] .session-account-email { background: var(--surface-2); }
:root[data-theme="dark"] .session-account-logout { border-color: #693044; background: #351725; color: #ff9fb2; }
@media (max-width: 720px) {
  .session-account-trigger { display: flex; width: 44px; padding: 4px; justify-content: center; }
  .session-account-identity, .session-account-chevron { display: none; }
  .session-account-menu { position: fixed; top: 70px; right: 14px; }
}
.single-report-session .topbar-actions > .search,
.single-report-session .home-top-actions > .home-search { display: none; }

/* Evita que el panel de filtros cubra la cuenta de la sesión */
.topbar:has(.session-account),
.home-topbar:has(.session-account) { z-index: 200; overflow: visible; }
.topbar .session-account,
.home-topbar .session-account { z-index: 210; }
.report-has-filter-drawer .report-filter-drawer { z-index: 80; }

/* Cabecera principal · acciones agrupadas y sin avatar duplicado */
.home-topbar:has(.session-account) {
  display: flex;
  min-height: 82px;
  gap: clamp(20px, 4vw, 56px);
  padding: 12px 26px;
}
.home-topbar:has(.session-account) > div:first-child { flex: 0 0 auto; min-width: 205px; }
.home-topbar:has(.session-account) .home-top-actions {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.home-top-actions:has(.session-account) > .home-avatar { display: none !important; }
.home-topbar:has(.session-account) .home-search {
  width: auto;
  min-width: 210px;
  max-width: 430px;
  height: 44px;
  flex: 1 1 300px;
  border-radius: 13px;
}
.home-topbar:has(.session-account) .home-admin-link,
.home-topbar:has(.session-account) .theme-toggle,
.home-topbar:has(.session-account) .session-account-trigger { min-height: 44px; }
.home-topbar:has(.session-account) .home-admin-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0 16px;
  border-radius: 12px;
  white-space: nowrap;
}
.home-topbar:has(.session-account) .theme-toggle { flex: 0 0 auto; box-shadow: none; }
.home-topbar:has(.session-account) .session-account-trigger { width: min(285px, 24vw); box-shadow: none; }
@media (max-width: 1100px) {
  .home-topbar:has(.session-account) { align-items: flex-start; flex-direction: column; gap: 10px; }
  .home-topbar:has(.session-account) .home-top-actions { width: 100%; }
  .home-topbar:has(.session-account) .session-account-trigger { width: min(285px, 32vw); }
}

/* Usuarios y roles · alineación final del espacio de trabajo */
.access-app .access-overview { margin: 0 auto; }
.access-app .access-hero {
  position: relative;
  isolation: isolate;
  min-height: 142px;
  overflow: hidden;
  padding: 24px 30px;
  background: linear-gradient(120deg, #fff 0%, #fbf7fa 62%, #f8e9ee 100%);
}
.access-app .access-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -115px;
  right: -75px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(170,25,54,.15), rgba(72,27,77,.06) 48%, transparent 69%);
}
.access-app .access-hero > div { max-width: 720px; }
.access-app .access-hero h2 { margin: 6px 0 8px; color: #14233c; font-size: clamp(25px, 2.4vw, 34px); line-height: 1.05; }
.access-app .access-hero p { max-width: 670px; color: #65758d; font-size: 13px; line-height: 1.5; }
.access-app .access-hero .section-kicker { color: #a71935; }
.access-app .access-hero .sync-button { position: relative; min-width: 150px; min-height: 44px; border-radius: 12px; box-shadow: 0 10px 22px rgba(167,25,53,.18); }
:root[data-theme="dark"] .access-app .access-hero { background: linear-gradient(120deg, #121c2d 0%, #171c31 62%, #301827 100%); }
:root[data-theme="dark"] .access-app .access-hero h2 { color: var(--text); }
:root[data-theme="dark"] .access-app .access-hero p { color: var(--muted); }
@media (max-width: 900px) {
  .access-app .access-hero { min-height: 0; padding: 22px; }
  .access-app .access-hero .sync-button { width: 100%; }
}
@media (max-width: 720px) {
  .home-topbar:has(.session-account) { padding: 12px 14px; }
  .home-topbar:has(.session-account) .home-top-actions { flex-wrap: wrap; }
  .home-topbar:has(.session-account) .home-search { max-width: none; flex-basis: 100%; }
  .home-topbar:has(.session-account) .home-admin-link { flex: 1 1 auto; }
  .home-topbar:has(.session-account) .session-account-trigger { width: 44px; }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
}

button,
input {
  font: inherit;
}

button {
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: #263955;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

button:hover {
  border-color: var(--line-strong);
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 270px;
  overflow-y: auto;
  border-right: 1px solid var(--line);
  background: var(--surface);
  transition: width .22s ease, box-shadow .22s ease;
}

.brand {
  display: grid;
  grid-template-columns: 116px 1fr 34px;
  align-items: center;
  gap: 8px;
  min-height: 68px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}

.avatar {
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.brand-logo {
  display: block;
  width: 106px;
  height: auto;
}

.brand span {
  color: #243752;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.icon-button {
  display: grid;
  width: 34px;
  min-height: 34px;
  place-items: center;
  padding: 0;
}

.menu {
  display: grid;
  gap: 4px;
  padding: 10px 12px 22px;
}

.menu p {
  margin: 14px 8px 6px;
  color: #8292ab;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.menu a {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  min-height: 42px;
  border-radius: 10px;
  color: #293b55;
  padding: 0 11px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
}

.menu a:hover,
.menu a.active {
  background: #e8eef7;
  color: #06295a;
}

.menu span {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 7px;
  background: #f3f6fb;
  color: #52657f;
  font-size: 11px;
}

.app {
  margin-left: 270px;
  min-height: 100vh;
  transition: margin-left .22s ease;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 69px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
  padding: 0 24px;
}

.topbar h1 {
  margin: 0;
  font-size: 16px;
}

.topbar-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
}

.sidebar-toggle {
  width: 36px;
  min-width: 36px;
  min-height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border-color: #dce5ef;
  background: #f7f9fc;
  color: #253752;
}

.sidebar-toggle span,
.sidebar-toggle span::before,
.sidebar-toggle span::after {
  display: block;
  width: 15px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.sidebar-toggle span {
  position: relative;
}

.sidebar-toggle span::before,
.sidebar-toggle span::after {
  content: "";
  position: absolute;
  left: 0;
}

.sidebar-toggle span::before { top: -5px; }
.sidebar-toggle span::after { top: 5px; }

.sidebar-collapsed .sidebar {
  width: 76px;
  overflow-x: hidden;
}

.sidebar-collapsed .app {
  margin-left: 76px;
}

.sidebar-collapsed .brand {
  grid-template-columns: 1fr;
  justify-items: center;
  padding-inline: 10px;
}

.sidebar-collapsed .brand-logo {
  width: 34px;
}

.sidebar-collapsed .brand div,
.sidebar-collapsed .brand .icon-button,
.sidebar-collapsed .menu p,
.sidebar-collapsed .menu a {
  overflow: hidden;
}

.sidebar-collapsed .brand div,
.sidebar-collapsed .brand .icon-button {
  display: none;
}

.sidebar-collapsed .menu p,
.sidebar-collapsed .menu a:not(.active) {
  white-space: nowrap;
}

.sidebar-collapsed .menu {
  padding-inline: 9px;
}

.sidebar-collapsed .menu p,
.sidebar-collapsed .menu a {
  color: transparent;
}

.sidebar-collapsed .menu p {
  min-height: 1px;
  margin: 14px 15px 8px;
  padding: 0;
  border-top: 1px solid #e3e9f2;
}

.sidebar-collapsed .menu p:first-child {
  margin-top: 8px;
}

.sidebar-collapsed .menu a {
  grid-template-columns: 1fr;
  justify-items: center;
  padding-inline: 0;
}

.sidebar-collapsed .menu a span {
  color: #52657f;
}

.sidebar-collapsed .menu a.active span,
.sidebar-collapsed .menu a:hover span {
  color: #06295a;
}

.sidebar-collapsed .sidebar-logout {
  justify-content: center;
  padding-inline: 0;
  color: transparent;
}

.sidebar-collapsed .sidebar-logout span,
.sidebar-collapsed .sidebar-logout svg {
  color: #8f1733;
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.connection-pill {
  border: 1px solid #b7e6ce;
  border-radius: 999px;
  background: var(--green-soft);
  color: #087345;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.search {
  display: flex;
  align-items: center;
  gap: 8px;
  width: min(360px, 34vw);
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 19px;
  background: #fff;
  padding: 0 13px;
}

.search span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--text);
}

.sync-button,
.apply,
.download {
  border-color: transparent;
  background: linear-gradient(135deg, var(--navy), var(--red));
  color: #fff;
  box-shadow: 0 8px 18px rgba(197, 22, 46, 0.22);
}

.sync-button:hover,
.apply:hover,
.download:hover {
  background: linear-gradient(135deg, #170c2d, var(--red-dark));
}

.sync-button:disabled,
.sync-button:disabled:hover {
  border-color: var(--line);
  background: #d8e0eb;
  color: #72839c;
  box-shadow: none;
}

.profile {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 148px;
  border-radius: 22px;
  background: #edf3fe;
}

.profile span:nth-child(2) {
  display: grid;
  line-height: 1.1;
  text-align: left;
}

.profile small {
  color: var(--muted);
  font-size: 11px;
}

.avatar {
  width: 28px;
  height: 28px;
  border: 2px solid var(--text);
  background: #fff;
  font-weight: 900;
}

.hero,
.filters,
.notice,
.cards,
.table-panel,
.tabs {
  width: min(1516px, calc(100% - 64px));
  margin-inline: auto;
}

.hero {
  display: grid;
  grid-template-columns: 1fr 242px;
  gap: 24px;
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--shadow);
  padding: 28px 24px;
}

.section-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.hero h2 {
  margin: 0 0 10px;
  font-size: 28px;
}

.hero p {
  max-width: 900px;
  margin: 0;
  color: #30425d;
  line-height: 1.45;
}

.hero aside {
  border-left: 1px solid var(--line);
  padding-left: 20px;
}

.hero aside span,
.card-label {
  color: #7c8dac;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.hero aside strong {
  display: block;
  margin-top: 5px;
  font-size: 38px;
}

.hero aside p {
  margin: 4px 0 9px;
  font-size: 13px;
  font-weight: 800;
}

.hero aside em,
.kpi-detail,
.status-badge {
  display: inline-block;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f5f8fc;
  color: #647692;
  padding: 5px 10px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.tabs {
  display: flex;
  gap: 8px;
  margin-top: 20px;
  overflow-x: auto;
}

.tabs button {
  flex: 0 0 auto;
  border-radius: 20px;
  background: var(--surface);
}

.tabs .selected {
  border-color: transparent;
  background: linear-gradient(135deg, var(--navy), var(--red));
  color: #fff;
  box-shadow: 0 8px 18px rgba(197, 22, 46, 0.22);
}

.filters {
  display: grid;
  grid-template-columns: 220px repeat(4, minmax(120px, 1fr)) auto auto auto 230px;
  align-items: end;
  gap: 12px;
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #edf4fd;
  padding: 14px;
}

.filter-title {
  align-self: center;
  color: #7d8fae;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.filters label {
  display: grid;
  gap: 5px;
  color: #7d8fae;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.filters input {
  width: 100%;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 0 12px;
  color: var(--text);
}

.filters b {
  margin-left: 5px;
  border-radius: 999px;
  background: #dce8f7;
  padding: 3px 8px;
  font-size: 11px;
}

.filter-actions {
  display: grid;
  gap: 6px;
}

.filter-actions small {
  color: #7d8fae;
  font-size: 12px;
}

.notice {
  margin-top: 16px;
  border: 1px solid #b9cbe2;
  border-radius: 9px;
  background: #e8f1fb;
  color: #405370;
  padding: 11px 13px;
  font-size: 13px;
}

.cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.compact-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
}

.compact-cards .kpi {
  min-height: 112px;
}

.kpi {
  display: grid;
  min-height: 142px;
  align-content: center;
  justify-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(31, 55, 91, 0.08);
  padding: 16px;
  text-align: center;
}

.kpi.success {
  border-color: #a6d8c9;
  background: linear-gradient(180deg, #fff, #f5fffb);
}

.kpi-value {
  color: var(--text);
  font-size: 23px;
  font-weight: 900;
}

.kpi.success .kpi-value {
  color: var(--green);
}

.kpi-note {
  max-width: 230px;
  color: #273a55;
  font-size: 13px;
  font-weight: 800;
}

.table-panel {
  margin-top: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(31, 55, 91, 0.08);
  overflow: hidden;
}

.panel-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 16px;
}

.panel-title h2 {
  margin: 0;
  font-size: 17px;
}

.panel-subtitle {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.report-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 16px 14px;
}

.report-tabs button {
  flex: 0 0 auto;
  border-radius: 999px;
}

.report-tabs button.selected {
  border-color: transparent;
  background: linear-gradient(135deg, var(--navy), var(--red));
  color: #fff;
}

.report-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 0 16px 16px;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: min(1516px, calc(100% - 64px));
  margin: 18px auto 0;
}

.dashboard-card {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--text);
  padding: 14px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(31, 55, 91, 0.08);
}

.dashboard-card:hover {
  border-color: var(--line-strong);
  transform: translateY(-1px);
}

.catalog-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: min(1516px, calc(100% - 64px)); margin: 18px auto 40px; align-items: start; }
.catalog-area-card { position: relative; overflow: hidden; border: 1px solid #dfe5ee; border-radius: 19px; background: #fff; padding: 20px; box-shadow: 0 12px 32px rgba(31,55,91,.08); }
.catalog-area-card::after { content: ""; position: absolute; right: -80px; top: -100px; width: 190px; height: 190px; border-radius: 50%; opacity: .12; filter: blur(6px); }
.catalog-area-card.violet::after { background: #844cdc; }.catalog-area-card.blue::after { background: #2879e6; }.catalog-area-card.red::after { background: #be2949; }
.catalog-area-card header { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; }
.catalog-area-card header > span { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid #dbe3ee; border-radius: 12px; background: #f1f5fa; color: #3f5f89; font-size: 20px; }
.catalog-area-card header div { display: grid; gap: 2px; }.catalog-area-card header small { color: #8b96a7; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.catalog-area-card h3 { margin: 0; color: #17263b; font-size: 20px; }.catalog-area-card header em { margin-left: auto; border-radius: 999px; background: #f2f5f9; color: #718097; padding: 6px 8px; font-size: 9px; font-style: normal; font-weight: 900; }
.catalog-area-card > p { min-height: 42px; margin: 15px 0; color: #66758a; font-size: 12px; line-height: 1.55; }
.catalog-report-links { display: grid; gap: 8px; }
.catalog-report-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #e1e6ee; border-radius: 12px; background: #f9fbfd; padding: 12px; text-decoration: none; transition: .18s ease; }
.catalog-report-links a:hover { transform: translateY(-2px); border-color: #c9d3e1; background: #f3f7fb; }
.catalog-report-links div { display: grid; gap: 3px; }.catalog-report-links span { color: #8b2940; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.catalog-report-links strong { color: #233a59; font-size: 13px; }.catalog-report-links small { color: #6f7e92; font-size: 10px; line-height: 1.35; }.catalog-report-links b { color: #9e1d38; }
.catalog-empty { grid-column: 1 / -1; display: grid; min-height: 180px; place-content: center; gap: 7px; border: 1px dashed #ccd5e2; border-radius: 18px; color: #253c59; text-align: center; }.catalog-empty span { color: #758399; }

@media (max-width: 1150px) { .catalog-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) { .catalog-area-grid { width: calc(100% - 28px); grid-template-columns: 1fr; } }

.dashboard-preview {
  display: grid;
  gap: 10px;
  min-height: 154px;
  border-radius: 10px;
  background: #eef4fb;
  padding: 14px;
}

.preview-topline {
  width: 64%;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--navy), var(--red));
}

.preview-bars {
  display: flex;
  align-items: end;
  gap: 10px;
  height: 74px;
}

.preview-bars span {
  width: 24px;
  border-radius: 7px 7px 0 0;
  background: #8aa0bd;
}

.preview-table {
  display: grid;
  gap: 5px;
}

.preview-table span {
  height: 7px;
  border-radius: 999px;
  background: #d4dfed;
}

.dashboard-body {
  display: flex;
  gap: 12px;
}

.dashboard-icon {
  font-size: 26px;
}

.dashboard-body strong {
  font-size: 20px;
}

.dashboard-body p {
  margin: 8px 0 0;
  color: #405370;
  line-height: 1.4;
}

.dashboard-metrics,
.dashboard-footer {
  grid-column: 2;
  display: flex;
  gap: 10px;
  align-items: center;
}

.dashboard-metrics span {
  display: grid;
  min-width: 80px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fbff;
  padding: 8px 10px;
  color: var(--muted);
  font-size: 12px;
}

.dashboard-metrics b {
  color: var(--text);
  font-size: 18px;
}

.dashboard-footer {
  justify-content: space-between;
}

.dashboard-footer small,
.dashboard-footer em {
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
}

.dashboard-layout {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 16px;
  width: min(1516px, calc(100% - 64px));
  margin: 16px auto 0;
}

.visual-panel {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(31, 55, 91, 0.08);
}

.stage-bars,
.owner-list {
  display: grid;
  gap: 10px;
  padding: 0 16px 16px;
}

.stage-row {
  display: grid;
  grid-template-columns: 180px 1fr 42px;
  align-items: center;
  gap: 10px;
  color: #344761;
  font-size: 13px;
}

.stage-row div {
  height: 12px;
  border-radius: 999px;
  background: #eef4fb;
  overflow: hidden;
}

.stage-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, var(--navy), var(--red));
}

.owner-row {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  padding: 8px 0;
  color: #344761;
  font-size: 13px;
}

.button-link {
  display: inline-grid;
  place-items: center;
  min-height: 36px;
  border-radius: 10px;
  padding: 0 14px;
  text-decoration: none;
}

.sync-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 0 16px 16px;
}

.database-inventory-total {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  color: var(--muted);
}

.database-inventory-total strong {
  color: var(--text);
  font-size: 1.55rem;
}

.pipeline-stage-detail td {
  background: #f8fafc;
  padding: 0;
}

.pipeline-stage-detail details {
  padding: 12px 18px 16px;
}

.pipeline-stage-detail summary {
  color: var(--navy);
  cursor: pointer;
  font-weight: 700;
}

.stage-inventory-table {
  margin-top: 12px;
  width: 100%;
}

.stage-inventory-table th,
.stage-inventory-table td {
  background: transparent;
  padding: 8px 10px;
}

.stage-unmapped {
  color: #b45309;
  font-weight: 700;
}

.sync-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.4fr) auto;
  align-items: end;
  gap: 12px;
  padding: 0 16px 16px;
}

.sync-form label {
  display: grid;
  gap: 6px;
  color: #7d8fae;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.sync-form select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 0 12px;
}

.sync-form button {
  min-width: 170px;
}

.sync-page .hero {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
  align-items: stretch;
}

.sync-page .hero aside {
  display: grid;
  align-content: center;
  gap: 5px;
}

.sync-page .table-panel {
  border-radius: 10px;
}

.sync-page .panel-title {
  align-items: flex-start;
  gap: 16px;
  padding: 18px 18px 14px;
}

.sync-page .panel-title h2 {
  color: #1d2d45;
  font-size: 16px;
}

.sync-page .panel-subtitle {
  max-width: 760px;
  line-height: 1.45;
}

.sync-page .sync-actions,
.sync-page .sync-form,
.sync-page .table-wrap {
  padding-inline: 18px;
  padding-bottom: 18px;
}

.sync-page .database-inventory-total {
  min-width: 150px;
  align-items: center;
  justify-content: flex-end;
  padding: 9px 12px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #f8fbff;
}

.sync-page .database-inventory-total span {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.sync-page .database-inventory-total strong {
  font-size: 22px;
  line-height: 1;
}

.sync-page .table-wrap {
  max-height: 62vh;
  overflow: auto;
}

.sync-page table {
  min-width: 860px;
  table-layout: fixed;
}

.sync-page th {
  top: 0;
  z-index: 2;
  background: #eef3f8;
  color: #4f6179;
  box-shadow: inset 0 -1px 0 #d9e2ec;
}

.sync-page th,
.sync-page td {
  padding: 10px 12px;
  vertical-align: middle;
}

.sync-page td {
  white-space: normal;
}

.sync-page td:nth-child(2),
.sync-page td:nth-child(3),
.sync-page td:nth-child(4),
.sync-page th:nth-child(2),
.sync-page th:nth-child(3),
.sync-page th:nth-child(4) {
  width: 130px;
  text-align: right;
}

.sync-page td:nth-child(5),
.sync-page th:nth-child(5) {
  width: 220px;
}

.sync-page td code {
  display: inline-grid;
  min-width: 42px;
  place-items: center;
  border: 1px solid #dce4ed;
  border-radius: 6px;
  background: #f7fafc;
  color: #3d5069;
  padding: 3px 6px;
  font-size: 11px;
}

.pipeline-row-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.pipeline-row-actions button,
.sync-page .pipeline-stage-detail summary {
  border: 1px solid #d7e1eb;
  border-radius: 8px;
  background: #fff;
  color: #263b57;
  padding: 7px 9px;
  font-size: 11px;
  font-weight: 800;
}

.pipeline-row-actions button:hover,
.sync-page .pipeline-stage-detail summary:hover {
  border-color: #b9c7d8;
  background: #f6f9fc;
}

.sync-page .pipeline-stage-detail td {
  background: #f8fafc;
  padding: 0;
}

.sync-page .pipeline-stage-detail details {
  padding: 12px 16px 16px;
}

.sync-page .pipeline-stage-detail summary {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  list-style-position: inside;
}

.stage-inventory-wrap {
  max-height: 360px;
  overflow: auto;
  margin-top: 12px;
  border: 1px solid #dfe7ef;
  border-radius: 8px;
  background: #fff;
}

.sync-page .stage-inventory-table {
  min-width: 640px;
  margin: 0;
}

.sync-page .stage-inventory-table th {
  top: 0;
  background: #f1f5f9;
}

.sync-page .stage-inventory-table th,
.sync-page .stage-inventory-table td {
  padding: 8px 10px;
}

.sync-page .stage-inventory-table td:nth-child(2),
.sync-page .stage-inventory-table th:nth-child(2) {
  width: 150px;
  text-align: left;
}

.sync-page .stage-inventory-table td:nth-child(3),
.sync-page .stage-inventory-table th:nth-child(3) {
  width: 170px;
  text-align: right;
}

.sync-page #syncHistoryRows td:nth-child(3),
.sync-page #syncHistoryRows td:nth-child(4) {
  text-align: right;
}

@media (max-width: 900px) {
  .sync-page .hero,
  .sync-form {
    grid-template-columns: 1fr;
  }

  .sync-page .panel-title {
    display: grid;
  }

  .sync-page .database-inventory-total {
    justify-content: space-between;
  }
}

.report-card {
  display: grid;
  gap: 10px;
  min-height: 176px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--text);
  padding: 16px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(31, 55, 91, 0.06);
}

.report-card:hover {
  border-color: var(--line-strong);
  transform: translateY(-1px);
}

.report-card strong {
  font-size: 17px;
}

.report-card p {
  margin: 0;
  color: #405370;
  font-size: 13px;
  line-height: 1.4;
}

.report-card small {
  align-self: end;
  color: var(--muted);
  font-weight: 800;
}

.table-wrap {
  overflow-x: auto;
  padding: 0 16px 16px;
}

table {
  width: 100%;
  min-width: 980px;
  border-collapse: separate;
  border-spacing: 0;
}

th {
  position: sticky;
  top: 69px;
  background: #e8eef8;
  color: #7889a7;
  font-size: 11px;
  text-transform: uppercase;
  z-index: 1;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 12px 10px;
  text-align: left;
  white-space: nowrap;
}

td {
  color: #344761;
  font-size: 13px;
}

tbody tr:hover {
  background: #f8fbff;
}

[hidden] { display: none !important; }

.diego-dashboard {
  width: min(1516px, calc(100% - 64px));
  margin: 18px auto 36px;
}

.diego-overview {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  overflow: hidden;
  min-height: 150px;
  margin-bottom: 14px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 88% 18%, rgba(255, 255, 255, .18), transparent 24%),
    linear-gradient(125deg, #17102f 0%, #2d1749 54%, #a91632 100%);
  color: #fff;
  padding: 28px 32px;
  box-shadow: 0 16px 36px rgba(31, 20, 54, .2);
}

.diego-overview::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -105px;
  width: 250px;
  height: 250px;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(255, 255, 255, .04), 0 0 0 70px rgba(255, 255, 255, .025);
}

.diego-overview > * { position: relative; z-index: 1; }
.diego-overview-kicker { font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; opacity: .76; }
.diego-overview h2 { max-width: 670px; margin: 8px 0 6px; font-size: clamp(24px, 3vw, 36px); line-height: 1.08; }
.diego-overview p { max-width: 690px; margin: 0; color: rgba(255, 255, 255, .76); font-size: 14px; }
.diego-overview-sync { display: grid; justify-items: center; gap: 8px; min-width: max-content; }
.diego-overview-status { display: flex; align-items: center; gap: 9px; min-width: max-content; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: rgba(255, 255, 255, .1); padding: 10px 14px; font-size: 12px; font-weight: 800; backdrop-filter: blur(8px); }
.diego-overview-status i { width: 8px; height: 8px; border-radius: 50%; background: #68dda3; box-shadow: 0 0 0 5px rgba(104, 221, 163, .14); }
.diego-overview-sync-time { color: rgba(255, 255, 255, .78); font-size: 10px; font-weight: 700; letter-spacing: .015em; text-align: center; }

.diego-filters {
  display: grid;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  padding: 18px;
  box-shadow: 0 8px 24px rgba(31, 55, 91, 0.07);
}

.filter-panel-content { display: grid; gap: 18px; min-width: 0; }
.filter-panel-toggle { display: none; }

.report-has-filter-drawer .diego-overview,
.report-has-filter-drawer #diegoSections,
.report-has-filter-drawer .compact-hero,
.report-has-filter-drawer #standardSummary,
.report-has-filter-drawer #standardVisuals,
.report-has-filter-drawer #detalle {
  margin-right: 350px;
  transition: margin-right .22s ease;
}

.report-has-filter-drawer .report-filter-drawer {
  position: fixed;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  top: 69px;
  right: 0;
  bottom: 0;
  z-index: 80;
  width: 320px;
  max-height: none;
  overflow: auto;
  gap: 12px;
  padding: 18px 14px;
  border-width: 0 0 0 1px;
  border-radius: 0;
  border-color: #d8e2ee;
  background: rgba(255, 255, 255, .96);
  box-shadow: -10px 0 28px rgba(31, 55, 91, .07);
  scrollbar-width: thin;
}

.report-has-filter-drawer .report-filter-drawer[hidden] {
  display: none !important;
}

main.app .table-total-summary,
main.app .radicated-total {
  display: none !important;
}

.table-total-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0 10px;
  padding: 13px 18px;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  background: linear-gradient(90deg, #f1f5fa 0%, #f7f9fc 100%);
  color: #61738e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.table-total-summary strong {
  color: #bd1935;
  font-size: clamp(17px, 1.4vw, 23px);
  letter-spacing: 0;
  text-align: right;
}

.general-commercial-report .table-total-summary {
  min-height: 42px;
  margin: 9px 0 8px;
  padding: 9px 13px;
  border-radius: 10px;
  background: #f6f8fb;
  font-size: 11px;
  letter-spacing: .02em;
}

.general-commercial-report .table-total-summary strong {
  color: #9f1832;
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 850;
}

.radicated-table tfoot[data-auto-totals] th,
.radicated-table tfoot[data-auto-totals] td {
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding: 11px 14px;
  border-top: 2px solid #cbd7e5;
  background: #eef3f8;
  color: #17253a;
  font-weight: 800;
}

.radicated-table tfoot[data-auto-totals] td {
  text-align: right;
}

@media (max-width: 720px) {
  .table-total-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .table-total-summary strong {
    text-align: left;
  }
}

/* Gerencia: composición ejecutiva y filtro lateral adaptable */
.report-has-filter-drawer .gerencia-dashboard {
  width: auto;
  max-width: none;
  margin: 22px 370px 42px 28px;
  transition: margin-right .22s ease;
}

.report-has-filter-drawer.filter-panel-collapsed .gerencia-dashboard {
  margin-right: 92px;
}

.gerencia-dashboard .gerencia-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 34px 0 16px;
  color: #14233a;
  font-size: clamp(21px, 2vw, 28px);
}

.gerencia-dashboard .gerencia-section-title::before {
  content: "";
  width: 5px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: linear-gradient(180deg, #50113f, #c51d38);
}

.gerencia-dashboard .gerencia-panel-grid,
.gerencia-dashboard .gerencia-chart-grid,
.gerencia-dashboard .gerencia-detail-grid,
.gerencia-dashboard .operativa-rch-grid {
  gap: 18px;
}

.gerencia-dashboard .gerencia-kpi-card,
.gerencia-dashboard .gerencia-table-card,
.gerencia-dashboard .gerencia-chart-card,
.gerencia-dashboard .gerencia-wide-card,
.gerencia-dashboard .gerencia-detail-table-card,
.gerencia-dashboard .gerencia-rch-average-card,
.gerencia-dashboard .operativa-rch-panel {
  overflow: hidden;
  border: 1px solid #dce5f0;
  border-radius: 18px;
  background: #fff;
  padding: 20px;
  box-shadow: 0 10px 28px rgba(31, 55, 91, .07);
}

.gerencia-dashboard .gerencia-kpi-card {
  min-height: 310px;
  background:
    radial-gradient(circle at 92% 8%, rgba(197, 29, 56, .1), transparent 34%),
    linear-gradient(145deg, #fff, #f8fafc);
}

.gerencia-dashboard .gerencia-kpi-card strong {
  margin-top: 70px;
  color: #17253a;
  font-size: clamp(54px, 6vw, 92px);
  font-weight: 750;
}

.gerencia-dashboard .gerencia-table-card {
  padding: 20px;
}

.gerencia-dashboard .gerencia-table-card h3 {
  padding: 0 0 14px;
}

.gerencia-dashboard .gerencia-table-wrap {
  overflow: auto;
  border: 1px solid #e1e8f1;
  border-radius: 12px;
  background: #fff;
}

.gerencia-dashboard .gerencia-table {
  width: 100%;
  min-width: 640px;
  border-collapse: separate;
  border-spacing: 0;
}

.gerencia-dashboard .gerencia-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f1f5f9;
  color: #34465f;
  font-size: 12px;
}

.gerencia-dashboard .gerencia-table th,
.gerencia-dashboard .gerencia-table td {
  padding: 12px 13px;
}

.gerencia-dashboard .gerencia-table tbody tr:nth-child(odd) {
  background: #f8fafc;
}

.gerencia-dashboard .gerencia-table tbody tr:hover {
  background: #fff6f8;
}

.report-has-filter-drawer .gerencia-filters {
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 12px;
  border-radius: 18px;
  padding: 12px;
}

.report-has-filter-drawer .gerencia-filters .filter-controls {
  grid-template-columns: 1fr;
}

.report-has-filter-drawer .gerencia-filters select,
.report-has-filter-drawer .gerencia-filters .month-multiselect summary {
  min-height: 44px;
  border-radius: 10px;
  background: #fbfcfe;
}

.report-has-filter-drawer .gerencia-filters .month-filter-options {
  max-height: min(390px, 48vh);
  overflow-y: auto;
}

.gerencia-sync-status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  border-radius: 999px;
  background: #edf2f7;
  color: #64748b;
  padding: 6px 9px;
  font-size: 10px;
  font-weight: 850;
}

.gerencia-sync-status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

.gerencia-sync-status.is-loading { color: #476b98; background: #edf5ff; }
.gerencia-sync-status.is-ready { color: #237358; background: #eaf8f1; }
.gerencia-sync-status.has-warning { color: #9b5c0b; background: #fff5dd; }

.table-column-sort {
  display: inline-flex;
  width: 100%;
  min-width: max-content;
  min-height: 30px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: inherit;
  padding: 3px 5px;
  font: inherit;
  font-weight: inherit;
  text-align: inherit;
  cursor: pointer;
}

.table-column-sort:hover,
.table-column-sort:focus-visible {
  background: rgba(77, 115, 159, .1);
  color: #163f72;
  outline: none;
}

.table-column-sort i {
  position: relative;
  width: 10px;
  height: 15px;
  flex: 0 0 auto;
  color: #8fa0b5;
}

.table-column-sort i::before,
.table-column-sort i::after {
  content: "";
  position: absolute;
  left: 1px;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.table-column-sort i::before {
  top: 1px;
  border-bottom: 5px solid currentColor;
}

.table-column-sort i::after {
  bottom: 1px;
  border-top: 5px solid currentColor;
}

.table-column-sort[data-direction="desc"] i::before,
.table-column-sort[data-direction="asc"] i::after {
  opacity: .25;
}

.table-column-sort[data-direction="desc"] i::after,
.table-column-sort[data-direction="asc"] i::before {
  color: #b41835;
}

@media (max-width: 1180px) {
  .report-has-filter-drawer .gerencia-dashboard {
    margin-right: 92px;
  }

  .gerencia-dashboard .gerencia-panel-grid,
  .gerencia-dashboard .gerencia-chart-grid,
  .gerencia-dashboard .gerencia-detail-grid,
  .gerencia-dashboard .operativa-rch-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .report-has-filter-drawer .gerencia-dashboard,
  .report-has-filter-drawer.filter-panel-collapsed .gerencia-dashboard {
    width: auto;
    margin: 14px 12px 34px;
  }

  .gerencia-dashboard .gerencia-kpi-card,
  .gerencia-dashboard .gerencia-table-card,
  .gerencia-dashboard .gerencia-chart-card,
  .gerencia-dashboard .gerencia-wide-card,
  .gerencia-dashboard .gerencia-detail-table-card,
  .gerencia-dashboard .gerencia-rch-average-card,
  .gerencia-dashboard .operativa-rch-panel {
    border-radius: 14px;
    padding: 14px;
  }

  .gerencia-dashboard .gerencia-kpi-card strong {
    margin-top: 34px;
    font-size: clamp(46px, 18vw, 72px);
  }
}

.report-has-filter-drawer .filter-panel-toggle {
  display: flex;
  flex: 0 0 auto;
  order: 0;
  width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 0;
  border-radius: 10px;
  background: #f2f5f9;
  color: var(--navy);
  padding: 0 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.report-has-filter-drawer .filter-panel-toggle span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 8px;
  background: #fff;
  color: #a91632;
  font-size: 24px;
  line-height: 1;
  box-shadow: none;
  transform: rotate(180deg);
  transition: transform .22s ease;
}

.report-has-filter-drawer .report-filter-drawer .filter-panel-content {
  order: 1;
  width: 100%;
}

.report-has-filter-drawer .filter-panel-toggle:focus-visible { outline: 3px solid rgba(169, 22, 50, .16); outline-offset: 2px; }
.report-has-filter-drawer .report-filter-drawer .filter-panel-heading { align-items: stretch; flex-direction: column; gap: 12px; }
.report-has-filter-drawer .report-filter-drawer .clear-report-filters { width: 100%; }
.report-has-filter-drawer .report-filter-drawer .filter-controls { grid-template-columns: 1fr; gap: 12px; }

.report-has-filter-drawer.filter-panel-collapsed .diego-overview,
.report-has-filter-drawer.filter-panel-collapsed #diegoSections,
.report-has-filter-drawer.filter-panel-collapsed .compact-hero,
.report-has-filter-drawer.filter-panel-collapsed #standardSummary,
.report-has-filter-drawer.filter-panel-collapsed #standardVisuals,
.report-has-filter-drawer.filter-panel-collapsed #detalle { margin-right: 76px; }

.report-has-filter-drawer .report-filter-drawer.is-collapsed {
  width: 56px;
  overflow: hidden;
  padding: 7px;
  border-radius: 16px;
}

.report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-content { display: none; }
.report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle { justify-content: center; padding: 0; }
.report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle b { display: none; }
.report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle span { transform: rotate(0); }

.filter-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e8edf3; padding-bottom: 15px; }
.filter-panel-heading > div { min-width: 0; }
.filter-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; align-items: end; }

.filter-title { display: block; color: var(--navy); font-size: 13px; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }

.diego-filters p,
.diego-filters label,
.diego-section header p,
.diego-block-title p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.diego-filters label {
  display: grid;
  gap: 6px;
  font-weight: 800;
}

.filter-date-range {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px 8px;
}

.filter-date-range > span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.diego-filters .filter-date-range label {
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.diego-filters select,
.diego-filters input {
  width: 100%;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background-color: #fbfcff;
  color: var(--text);
  padding: 0 10px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.diego-filters select:hover,
.diego-filters input:hover { border-color: #a9b7ca; background-color: #fff; }
.diego-filters select:focus,
.diego-filters input:focus { outline: none; border-color: #8d2944; box-shadow: 0 0 0 3px rgba(169, 22, 50, .1); background-color: #fff; }
.filter-combobox {
  position: relative;
  display: block;
}
.filter-combobox.has-selection::after {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 7px;
  height: 7px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #a91632;
  box-shadow: 0 0 0 1px rgba(169, 22, 50, .24);
  content: "";
  pointer-events: none;
}
.filter-combobox-native {
  display: none;
}
.diego-filters .filter-combobox-input {
  padding-right: 32px;
  background-image: linear-gradient(45deg, transparent 50%, #63748b 50%), linear-gradient(135deg, #63748b 50%, transparent 50%);
  background-position: calc(100% - 18px) 18px, calc(100% - 13px) 18px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.diego-filters .filter-combobox.has-selection .filter-combobox-input {
  border-color: #c78392;
  background-color: #fff7f8;
  color: #7f1830;
  font-weight: 850;
  box-shadow: inset 3px 0 0 #a91632;
}
.filter-combobox-list {
  position: absolute;
  top: calc(100% + 5px);
  right: 0;
  left: 0;
  z-index: 120;
  display: none;
  max-height: 240px;
  overflow-y: auto;
  border: 1px solid #cfd9e6;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(31, 55, 91, .14);
  padding: 5px;
}
.filter-combobox.is-open .filter-combobox-list {
  display: grid;
  gap: 2px;
}
.filter-combobox-list button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 34px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  box-shadow: none;
  color: #24364d;
  padding: 7px 9px;
  font-size: 12px;
  font-weight: 750;
  text-align: left;
}
.filter-combobox-list button:hover,
.filter-combobox-list button.is-selected {
  background: #f2f5f9;
  color: #8d2944;
}
.filter-combobox-empty {
  padding: 10px;
  color: #7b8da5;
  font-size: 12px;
  font-weight: 800;
}
.filter-combobox-input:disabled {
  cursor: not-allowed;
  opacity: .55;
}
.clear-report-filters { display: inline-flex; min-width: 150px; height: 40px; align-items: center; justify-content: center; gap: 7px; border: 1px solid #d8b9c2; border-radius: 10px; background: #fff8fa; color: #9f1832; padding: 0 15px; font-size: 12px; font-weight: 900; white-space: nowrap; cursor: pointer; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.clear-report-filters:hover { border-color: #b21b38; background: #fff; transform: translateY(-1px); }
.clear-report-filters:focus-visible { outline: 3px solid rgba(169, 22, 50, .14); outline-offset: 2px; }
.clear-report-filters span { font-size: 17px; line-height: 1; }
#diegoDashboard .filter-panel-heading {
  align-items: center;
  flex-direction: row;
  justify-content: flex-start;
  gap: 12px;
}
#diegoDashboard #clearDiegoFilters {
  width: auto;
  min-width: 0;
  height: 32px;
  border-color: #d1d5db;
  background: #f3f4f6;
  color: #4b5563;
  padding: 0 12px;
}
#diegoDashboard #clearDiegoFilters:hover {
  border-color: #aeb4bf;
  background: #e8eaee;
}
.general-commercial-report .diego-filters .filter-title::after { content: " · Informe general"; color: #8d2944; }
.diego-filters [hidden] { display: none !important; }

@media (max-width: 700px) {
  .filter-panel-heading { align-items: stretch; flex-direction: column; }
  .clear-report-filters { width: 100%; }
  .filter-controls { grid-template-columns: 1fr; }
}

@media (max-width: 1050px) {
  .report-has-filter-drawer .diego-overview,
  .report-has-filter-drawer #diegoSections,
  .report-has-filter-drawer .compact-hero,
  .report-has-filter-drawer #standardSummary,
  .report-has-filter-drawer #standardVisuals,
  .report-has-filter-drawer #detalle { margin-right: 76px; }
  .report-has-filter-drawer .report-filter-drawer:not(.is-collapsed) { width: min(320px, calc(100vw - 32px)); }
}

@media (min-width: 701px) and (max-width: 1050px) {
  .report-has-filter-drawer:not(.filter-panel-collapsed) .diego-overview,
  .report-has-filter-drawer:not(.filter-panel-collapsed) #diegoSections,
  .report-has-filter-drawer:not(.filter-panel-collapsed) .compact-hero,
  .report-has-filter-drawer:not(.filter-panel-collapsed) #standardSummary,
  .report-has-filter-drawer:not(.filter-panel-collapsed) #standardVisuals,
  .report-has-filter-drawer:not(.filter-panel-collapsed) #detalle {
    margin-right: 336px;
  }
}

.report-has-filter-drawer #diegoSections,
.report-has-filter-drawer #standardVisuals,
.report-has-filter-drawer #detalle {
  min-width: 0;
}

.report-has-filter-drawer .radicated-table-wrap,
.report-has-filter-drawer .synced-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.report-has-filter-drawer .table-total-summary {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

.report-has-filter-drawer .table-total-summary span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.report-has-filter-drawer .table-total-summary strong {
  flex: 0 0 auto;
  max-width: 100%;
  font-variant-numeric: tabular-nums;
}

.report-has-filter-drawer .radicated-table tfoot[data-auto-totals] th,
.report-has-filter-drawer .radicated-table tfoot[data-auto-totals] td {
  white-space: nowrap;
}

@media (max-width: 700px) {
  .report-has-filter-drawer .report-filter-drawer { top: 76px; right: 12px; max-height: calc(100vh - 92px); }
  .report-has-filter-drawer .diego-overview,
  .report-has-filter-drawer #diegoSections,
  .report-has-filter-drawer .compact-hero,
  .report-has-filter-drawer #standardSummary,
  .report-has-filter-drawer #standardVisuals,
  .report-has-filter-drawer #detalle,
  .report-has-filter-drawer.filter-panel-collapsed .diego-overview,
  .report-has-filter-drawer.filter-panel-collapsed #diegoSections,
  .report-has-filter-drawer.filter-panel-collapsed .compact-hero,
  .report-has-filter-drawer.filter-panel-collapsed #standardSummary,
  .report-has-filter-drawer.filter-panel-collapsed #standardVisuals,
  .report-has-filter-drawer.filter-panel-collapsed #detalle { margin-right: 0; }
}

.diego-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.diego-kpis article {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 7px;
  min-height: 126px;
  align-content: center;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 8px 22px rgba(31, 55, 91, 0.07);
  transition: transform .18s ease, box-shadow .18s ease;
}

.diego-kpis article::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: #452665; }
.diego-kpis article:nth-child(2)::before { background: #436c98; }
.diego-kpis article:nth-child(3)::before { background: #b21b38; }
.diego-kpis article:nth-child(4)::before { background: linear-gradient(90deg, #b21b38, #e26f60); }
.diego-kpis article:nth-child(5)::before { background: #29886d; }
.diego-kpis article:nth-child(6)::before { background: #c58c2b; }
.diego-kpis article:hover { transform: translateY(-2px); box-shadow: 0 13px 30px rgba(31, 55, 91, .11); }

.diego-kpis span { color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.diego-kpis strong { color: #17263b; font-size: clamp(22px, 2.2vw, 29px); line-height: 1.05; }
.diego-kpis small { color: #405370; }
.diego-kpis .accent { border-color: #e8b7bf; background: linear-gradient(180deg, #fff, #fff6f7); }
.diego-kpis .accent strong { color: var(--red); }

.diego-section {
  margin-top: 30px;
  scroll-margin-top: 88px;
}

.diego-section > header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding: 0 2px;
}

.diego-section > header > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--navy), var(--red));
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(50, 25, 74, .18);
}

.diego-section h2,
.diego-block h3 { margin: 0; }
.diego-section h2 { font-size: 20px; }
.diego-block h3 { font-size: 15px; }

.diego-block-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.diego-block-grid.is-single > .diego-block,
.diego-block.is-row-single { grid-column: 1 / -1; }

.diego-block-radicated { grid-column: 1 / -1; }
.diego-block-wide-table { grid-column: 1 / -1; }
.diego-block-commissions { grid-column: 1 / -1; }
.diego-block-donut { grid-column: 1 / -1; }
.diego-block-management-kpis,
.diego-block-management-close { grid-column: 1 / -1; }

.diego-block {
  min-width: 0;
  min-height: 250px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  padding: 19px;
  box-shadow: 0 8px 24px rgba(31, 55, 91, 0.07);
  transition: border-color .18s ease, box-shadow .18s ease;
}

.diego-block:hover { border-color: #c8d2df; box-shadow: 0 14px 32px rgba(31, 55, 91, .1); }

.general-commercial-report .diego-block {
  min-height: 0;
  border-radius: 14px;
  padding: 15px;
  box-shadow: 0 6px 18px rgba(31, 55, 91, .06);
}

.general-commercial-report .diego-block:hover {
  box-shadow: 0 9px 22px rgba(31, 55, 91, .08);
}

.diego-block-title { display: flex; justify-content: space-between; gap: 14px; }
.diego-block-title em { height: fit-content; border-radius: 999px; background: #f1f5fa; color: var(--muted); padding: 5px 9px; font-size: 11px; font-style: normal; font-weight: 900; white-space: nowrap; }

.diego-block-title em:not(:empty) { border: 1px solid #e0e6ef; background: #f7f9fc; }

.general-commercial-report .diego-block-title {
  align-items: flex-start;
  gap: 10px;
}

.general-commercial-report .diego-block-title h3 {
  font-size: 13px;
  line-height: 1.25;
}

.general-commercial-report .diego-block-title p {
  font-size: 10px;
  line-height: 1.35;
}

.general-commercial-report .diego-block-title em {
  padding: 4px 9px;
  background: #f6f8fb;
  font-size: 10px;
}

.block-bars { display: flex; height: 130px; align-items: end; justify-content: space-around; gap: 18px; margin: 24px 14px 0; border-bottom: 1px solid var(--line); }
.block-bars i { width: 13%; border-radius: 7px 7px 0 0; background: linear-gradient(180deg, #8fa4c1, #d5dfeb); }
.block-bars i:nth-child(1) { height: 36%; }.block-bars i:nth-child(2) { height: 68%; }.block-bars i:nth-child(3) { height: 48%; }.block-bars i:nth-child(4) { height: 82%; }.block-bars i:nth-child(5) { height: 58%; }

.block-table { display: grid; gap: 9px; margin-top: 28px; }
.block-table i { height: 18px; border-radius: 5px; background: linear-gradient(90deg, #e7edf5 18%, transparent 18% 20%, #f2f5f9 20% 58%, transparent 58% 60%, #e7edf5 60%); }
.block-table i:first-child { background: #dbe5f1; }

.block-donut { display: flex; align-items: center; justify-content: center; gap: 24px; height: 160px; }
.block-donut i { width: 112px; height: 112px; border-radius: 50%; background: conic-gradient(#c3172d 0 34%, #21113b 34% 67%, #dbe4ef 67%); mask: radial-gradient(circle, transparent 48%, #000 50%); }
.block-donut span { color: var(--muted); font-size: 12px; font-weight: 800; }

.block-funnel { display: grid; justify-items: center; gap: 7px; margin-top: 24px; }
.block-funnel i { height: 24px; border-radius: 5px; background: linear-gradient(90deg, var(--navy), var(--red)); opacity: .82; }
.block-funnel i:nth-child(1) { width: 84%; }.block-funnel i:nth-child(2) { width: 67%; }.block-funnel i:nth-child(3) { width: 48%; }.block-funnel i:nth-child(4) { width: 30%; }

.management-placeholder { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 22px; }
.management-placeholder span { height: 82px; border-radius: 14px; background: linear-gradient(110deg, #f2f5f9 20%, #fff 45%, #f2f5f9 70%); background-size: 220% 100%; }
.management-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.management-kpi-grid article { display: grid; min-height: 118px; align-content: space-between; gap: 16px; border: 1px solid #dfe6ef; border-radius: 15px; background: linear-gradient(145deg, #fff, #f7f9fc); padding: 17px; box-shadow: 0 6px 16px rgba(31, 55, 91, .05); }
.management-kpi-grid article:nth-child(4n+1) { border-top: 3px solid #48143e; }
.management-kpi-grid article:nth-child(4n+2) { border-top: 3px solid #c3172d; }
.management-kpi-grid article:nth-child(4n+3) { border-top: 3px solid #4d739f; }
.management-kpi-grid article:nth-child(4n+4) { border-top: 3px solid #2e8a70; }
.management-kpi-grid span { color: #60728b; font-size: 11px; font-weight: 800; line-height: 1.4; text-transform: uppercase; }
.management-kpi-grid strong { color: #17253a; font-size: clamp(20px, 2vw, 29px); font-variant-numeric: tabular-nums; }
.management-close-table { min-width: 760px; }
.management-close-table td:not(:first-child),
.management-close-table tfoot td { color: #0878f9; font-variant-numeric: tabular-nums; }
.management-compliance-table { min-width: 640px; }

@media (max-width: 1050px) {
  .management-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .management-kpi-grid { grid-template-columns: 1fr; }
}

.radicated-values { min-width: 0; margin-top: 18px; }
.radicated-values > p { color: var(--muted); font-size: 13px; }
.radicated-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; border-radius: 10px; background: var(--surface-soft); padding: 12px; }
.radicated-total span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.radicated-total strong { color: var(--red); font-size: 20px; }
.radicated-table-wrap { max-height: 280px; overflow: auto; }
.general-commercial-report .radicated-table-wrap {
  max-height: 420px;
  scrollbar-width: thin;
}
.radicated-table { min-width: 560px; }
.radicated-table th { position: sticky; top: 0; }
.radicated-table th:last-child,
.radicated-table td:last-child { text-align: right; }

.general-commercial-report .radicated-table th,
.general-commercial-report .radicated-table td {
  padding: 7px 9px;
  font-size: 11px;
  line-height: 1.3;
}

.general-commercial-report .radicated-table th {
  background: #eef3f8;
  color: #24364f;
}

.general-commercial-report .radicated-table.has-filtered-columns {
  width: 100%;
}

.general-commercial-report .radicated-table.has-filtered-columns th,
.general-commercial-report .radicated-table.has-filtered-columns td {
  min-width: 125px;
}

.general-commercial-report .radicated-table.has-filtered-columns th:first-child,
.general-commercial-report .radicated-table.has-filtered-columns td:first-child {
  min-width: 180px;
}

.general-commercial-report .radicated-table .filter-empty-row td {
  position: static;
  height: 110px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.5;
  text-align: center !important;
  white-space: normal;
}

.radicated-matrix-wrap { max-height: 440px; border: 1px solid #dfe5ec; border-radius: 10px; }
.general-commercial-report .radicated-matrix-wrap { max-height: 420px; }
.radicated-matrix { min-width: 1120px; border-collapse: separate; border-spacing: 0; }
.radicated-matrix th,
.radicated-matrix td { height: 36px; border-right: 1px solid #e1e6ec; border-bottom: 1px solid #e1e6ec; padding: 7px 9px; font-size: 12px; }
.radicated-matrix thead th { position: sticky; z-index: 3; background: #f1f5f6; color: #34404d; font-weight: 700; text-align: left; }
.radicated-matrix thead tr:first-child th { top: 0; }
.radicated-matrix thead tr:nth-child(2) th { top: 36px; }
.radicated-matrix th:first-child,
.radicated-matrix td:first-child { position: sticky; left: 0; z-index: 2; min-width: 235px; background: #fff; text-align: left; }
.radicated-matrix thead th:first-child { z-index: 5; background: #f1f5f6; }
.radicated-matrix tbody td:not(:first-child) { min-width: 140px; color: #0878f9; font-variant-numeric: tabular-nums; text-align: right; }
.radicated-matrix tbody tr:hover td { background: #f7fbff; }
.radicated-matrix tbody tr:hover td:first-child { background: #f7fbff; }
.radicated-matrix tfoot th,
.radicated-matrix tfoot td { position: sticky; bottom: 0; z-index: 3; border-top: 2px solid #c9d3de; background: #f1f5f6; color: #17202a; font-weight: 900; }
.radicated-matrix tfoot th:first-child { left: 0; z-index: 4; text-align: left; }
.radicated-matrix tfoot td { color: #0878f9; font-variant-numeric: tabular-nums; text-align: right; }
.empty-block { display: grid; min-height: 145px; place-content: center; gap: 8px; border: 1px dashed var(--line-strong); border-radius: 10px; background: #f8fbff; padding: 20px; text-align: center; }
.empty-block span { color: var(--muted); font-size: 12px; }
.empty-block.error { border-color: #e8b7bf; background: #fff6f7; }
.synced-table-wrap { margin-top: 20px; max-height: 310px; }
.general-commercial-report .synced-table-wrap {
  margin-top: 14px;
  max-height: 430px;
}
.synced-table { min-width: 620px; }
.synced-table td:not(:first-child),
.synced-table th:not(:first-child) { text-align: right; }
.commercial-possible-close-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.organization-role-badge.coordinator_rch,
.organization-role-badge.coordinator_pnnc{background:#fbeaec;color:#9c1830}
.organization-role-badge.leader_rch,
.organization-role-badge.leader_pnnc{background:#e9f2fa;color:#174d79}
.organization-role-badge.custom{background:#eef2ff;color:#3730a3}
.organization-role-badge.line_coordinator_rch,
.organization-role-badge.line_coordinator_pnnc{background:#fde9d7;color:#9a4a04}
.organization-role-guide .line_coordinator_rch>span,
.organization-role-guide .line_coordinator_pnnc>span{background:#fde9d7;color:#9a4a04}
.organization-settings input:disabled{opacity:.82}
.organization-preset-note{border-radius:999px;background:#edf2f7;color:#6b7b90;padding:4px 7px;font-size:8px;font-weight:900;text-transform:uppercase}
.commercial-possible-close-section {
  min-width: 0;
  overflow-x: auto;
}
.commercial-possible-close-group th,
.commercial-possible-close-group td,
.commercial-possible-close-subgroup th {
  background: #f6f8fb;
  color: #24364f;
  font-weight: 900;
}
@media (max-width: 900px) {
  .commercial-possible-close-wrap {
    grid-template-columns: 1fr;
  }
}
.advisor-negotiations-table { min-width: 980px; }
.advisor-negotiations-table th { position: sticky; top: 0; z-index: 2; background: #f1f5f6; color: #2f3945; font-weight: 700; }
.advisor-negotiations-table th:first-child,
.advisor-negotiations-table td:first-child { min-width: 310px; text-align: left; }
.advisor-negotiations-table tbody tr:nth-child(odd) { background: #f3f7f8; }
.advisor-negotiations-table tbody tr:nth-child(even) { background: #fff; }
.advisor-negotiations-table tbody tr:hover { background: #eaf2f6; }
.advisor-negotiations-table td { height: 38px; border-right: 1px solid #e2e7eb; font-variant-numeric: tabular-nums; }
.leadership-matrix-wrap { max-height: 390px; margin-top: 20px; border: 1px solid #dfe5ec; border-radius: 8px; }
.general-commercial-report .leadership-matrix-wrap {
  margin-top: 14px;
  max-height: 360px;
}
.leadership-matrix { min-width: 840px; border-collapse: separate; border-spacing: 0; }
.leadership-matrix th,
.leadership-matrix td { height: 36px; border-right: 1px solid #e1e6ec; border-bottom: 1px solid #e1e6ec; padding: 7px 8px; font-size: 12px; }
.general-commercial-report .leadership-matrix th,
.general-commercial-report .leadership-matrix td {
  height: 34px;
  padding: 7px 9px;
  font-size: 11px;
}
.leadership-matrix thead th { position: sticky; z-index: 3; background: #f1f5f6; color: #34404d; font-weight: 700; text-align: left; }
.leadership-matrix thead tr:first-child th { top: 0; }
.leadership-matrix thead tr:nth-child(2) th { top: 36px; }
.leadership-matrix th:first-child,
.leadership-matrix td:first-child { position: sticky; left: 0; z-index: 2; min-width: 170px; max-width: 210px; background: #fff; text-align: left; }
.leadership-matrix thead th:first-child { z-index: 5; background: #f1f5f6; }
.leadership-matrix tbody td:not(:first-child) { min-width: 112px; color: #0878f9; font-variant-numeric: tabular-nums; text-align: right; }
.leadership-matrix tbody tr:hover td { background: #f7fbff; }
.performance-table-wrap { max-height: 420px; margin-top: 20px; border: 1px solid #dfe5ec; border-radius: 8px; }
.general-commercial-report .performance-table-wrap {
  margin-top: 14px;
  max-height: 430px;
}
.performance-table { min-width: 680px; border-collapse: separate; border-spacing: 0; }
.performance-table th { position: sticky; top: 0; z-index: 2; background: #f1f5f6; color: #303a46; font-weight: 700; }
.performance-table th,
.performance-table td { height: 38px; border-right: 1px solid #e1e6ec; border-bottom: 1px solid #e1e6ec; padding: 8px 9px; }
.performance-table th:first-child,
.performance-table td:first-child { text-align: left; }
.performance-table th:not(:first-child),
.performance-table td:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.performance-table tbody tr:nth-child(odd) { background: #f3f7f8; }
.performance-table tbody tr:nth-child(even) { background: #fff; }
.performance-table tbody tr:hover { background: #eaf2f6; }
.commission-matrix-wrap { max-height: 480px; margin-top: 20px; border: 1px solid #dfe5ec; border-radius: 8px; }
.general-commercial-report .commission-matrix-wrap {
  margin-top: 14px;
  max-height: 460px;
}
.commission-matrix { min-width: 1220px; border-collapse: separate; border-spacing: 0; }
.commission-matrix th,
.commission-matrix td { height: 36px; border-right: 1px solid #e1e6ec; border-bottom: 1px solid #e1e6ec; padding: 7px 9px; font-size: 12px; }
.commission-matrix thead th { position: sticky; z-index: 3; background: #f1f5f6; color: #34404d; font-weight: 700; text-align: left; }
.commission-matrix thead tr:first-child th { top: 0; }
.commission-matrix thead tr:nth-child(2) th { top: 36px; }
.commission-matrix th:first-child,
.commission-matrix td:first-child { position: sticky; left: 0; z-index: 2; min-width: 280px; background: #fff; text-align: left; }
.commission-matrix thead th:first-child { z-index: 5; background: #f1f5f6; }
.commission-matrix th:last-child,
.commission-matrix td:last-child { position: sticky; right: 0; z-index: 2; min-width: 145px; background: #f7fafc; }
.commission-matrix thead th:last-child { z-index: 5; background: #f1f5f6; }
.commission-matrix tbody td:not(:first-child),
.commission-matrix tfoot td { min-width: 128px; color: #0878f9; font-variant-numeric: tabular-nums; text-align: right; }
.commission-matrix tbody tr:hover td { background: #f7fbff; }
.commission-matrix tfoot th,
.commission-matrix tfoot td { position: sticky; bottom: 0; z-index: 4; background: #eef3f6; font-weight: 800; }
.commission-matrix tfoot th { left: 0; text-align: right; }
.commission-matrix tfoot td:last-child { right: 0; z-index: 5; }

.general-commercial-report .radicated-matrix,
.general-commercial-report .leadership-matrix,
.general-commercial-report .commission-matrix {
  --matrix-header-row-height: 34px;
}

.general-commercial-report .radicated-matrix thead th,
.general-commercial-report .leadership-matrix thead th,
.general-commercial-report .commission-matrix thead th {
  height: var(--matrix-header-row-height);
  min-height: var(--matrix-header-row-height);
  background: #eef3f8;
  box-shadow: inset 0 -1px 0 #d9e2ec;
}

.general-commercial-report .monthly-matrix thead tr:first-child th {
  position: static;
}

.general-commercial-report .monthly-matrix thead tr:nth-child(2) th,
.general-commercial-report .monthly-matrix thead th[rowspan] {
  position: sticky;
  top: 0;
  z-index: 7;
}

.general-commercial-report .monthly-matrix thead th[rowspan] {
  height: var(--matrix-header-row-height);
}

.general-commercial-report .radicated-matrix thead th:first-child,
.general-commercial-report .leadership-matrix thead th:first-child,
.general-commercial-report .commission-matrix thead th:first-child,
.general-commercial-report .commission-matrix thead th:last-child {
  z-index: 9;
}

.general-commercial-report .commission-matrix tfoot th,
.general-commercial-report .commission-matrix tfoot td,
.general-commercial-report .radicated-matrix tfoot th,
.general-commercial-report .radicated-matrix tfoot td {
  z-index: 6;
  background: #eef3f8;
  box-shadow: inset 0 1px 0 #c9d3de;
}
.portfolio-state-table { min-width: 1050px; }
.portfolio-state-table th { position: sticky; top: 0; z-index: 2; background: #f1f5f6; color: #303a46; }
.portfolio-state-table th:first-child,
.portfolio-state-table td:first-child { min-width: 250px; text-align: left; }
.portfolio-state-table th:nth-child(2),
.portfolio-state-table td:nth-child(2) { min-width: 135px; text-align: left; }
.portfolio-state-table tbody tr:nth-child(odd) { background: #f3f7f8; }
.portfolio-state-table tbody tr:nth-child(even) { background: #fff; }
.portfolio-state-table tbody tr:hover { background: #eaf2f6; }
.portfolio-state-table td { height: 38px; border-right: 1px solid #e1e6ec; font-variant-numeric: tabular-nums; }
.portfolio-line { display: inline-flex; border-radius: 999px; background: #edf3f9; color: #3d587a; padding: 5px 8px; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.portfolio-line.insolvencia { background: #fff1f4; color: #a51d3a; }
.portfolio-line.rch { background: #eef3fb; color: #365f98; }
.portfolio-collection-table { min-width: 720px; }
.portfolio-collection-table th { position: sticky; top: 0; z-index: 2; background: #f1f5f6; color: #303a46; text-align: center !important; }
.portfolio-collection-table td { height: 38px; border-right: 1px solid #e1e6ec; font-variant-numeric: tabular-nums; text-align: center !important; }
.portfolio-collection-table tbody tr:nth-child(odd) { background: #f3f7f8; }
.portfolio-collection-table tbody tr:nth-child(even) { background: #fff; }
.portfolio-collection-table tbody tr:hover { background: #eaf2f6; }

.pipeline-table { width: 100%; min-width: 540px; border-collapse: separate; border-spacing: 0; }
.pipeline-table th { position: sticky; top: 0; z-index: 2; height: 36px; background: #f1f5f6; color: #303a46; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.pipeline-table th,
.pipeline-table td { border-right: 1px solid #e1e6ec; border-bottom: 1px solid #e1e6ec; padding: 8px 9px; }
.pipeline-table th:first-child,
.pipeline-table td:first-child { width: 64%; text-align: left; }
.pipeline-table th:not(:first-child),
.pipeline-table td:not(:first-child) { text-align: center; font-variant-numeric: tabular-nums; }
.pipeline-table tbody tr:nth-child(odd) td:not(.pipeline-heat) { background: #f3f7f8; }
.pipeline-table tbody tr:hover td { box-shadow: inset 0 0 0 999px rgba(49, 96, 152, .055); }
.pipeline-table-funnel .pipeline-heat { background: rgba(89, 192, 139, calc(.10 + (var(--heat) * .42))); }
.pipeline-funnel {
  display: grid;
  gap: 11px;
  margin-top: 20px;
  padding: 4px 8px 2px;
}
.pipeline-funnel-step {
  display: grid;
  justify-items: center;
}
.pipeline-funnel-stage {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.15;
  text-transform: uppercase;
}
.pipeline-funnel-stage b {
  flex: 0 0 auto;
  min-width: 18px;
  color: rgba(255, 255, 255, .86);
  font-size: 11px;
  font-weight: 950;
  text-align: left;
}
.pipeline-funnel-stage span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pipeline-funnel-bar strong {
  flex: 0 0 auto;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 2px rgba(24, 17, 39, .22);
}
.pipeline-funnel-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  justify-self: center;
  width: var(--funnel-width, 72%);
  min-width: min(100%, 320px);
  min-height: 38px;
  border-radius: 7px;
  background: linear-gradient(90deg, #4b3a64 0%, #823a5a 55%, #cf3f50 100%);
  padding: 0 15px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 14px rgba(71, 48, 88, .12);
}
.general-commercial-report .pipeline-funnel {
  gap: 10px;
  margin-top: 18px;
}
.general-commercial-report .pipeline-funnel-bar {
  min-height: 36px;
}
@media (max-width: 700px) {
  .pipeline-funnel {
    padding-right: 0;
    padding-left: 0;
  }
  .pipeline-funnel-bar {
    width: min(100%, var(--funnel-width, 72%));
    min-width: 0;
    gap: 8px;
    padding: 0 11px;
  }
  .pipeline-funnel-stage {
    gap: 6px;
    font-size: 10px;
  }
  .pipeline-funnel-stage span {
    white-space: nowrap;
  }
  .pipeline-funnel-bar strong {
    font-size: 11px;
  }
}
.pipeline-table-commercial th:first-child,
.pipeline-table-commercial td:first-child,
.pipeline-table-operative th:first-child,
.pipeline-table-operative td:first-child,
.pipeline-table-pnnc-commercial th:first-child,
.pipeline-table-pnnc-commercial td:first-child,
.pipeline-table-pnnc-operative th:first-child,
.pipeline-table-pnnc-operative td:first-child { width: 40%; }
.pipeline-table-commercial th:nth-child(2),
.pipeline-table-commercial td:nth-child(2),
.pipeline-table-operative th:nth-child(2),
.pipeline-table-operative td:nth-child(2),
.pipeline-table-pnnc-commercial th:nth-child(2),
.pipeline-table-pnnc-commercial td:nth-child(2),
.pipeline-table-pnnc-operative th:nth-child(2),
.pipeline-table-pnnc-operative td:nth-child(2) { width: 25%; }

td strong {
  color: #1f3657;
}

@media (max-width: 1200px) {
  .filters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .filter-title,
  .filter-actions {
    grid-column: 1 / -1;
  }

  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid,
  .dashboard-layout,
  .diego-block-grid {
    grid-template-columns: 1fr;
  }

  .diego-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .diego-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .dashboard-card {
    grid-template-columns: 1fr;
  }

  .dashboard-metrics,
  .dashboard-footer {
    grid-column: 1;
  }
}

@media (max-width: 780px) {
  .sidebar {
    position: static;
    width: auto;
  }

  .sidebar-collapsed .sidebar {
    width: auto;
  }

  .app {
    margin-left: 0;
  }

  .sidebar-collapsed .app {
    margin-left: 0;
  }

  .sidebar-collapsed .brand {
    grid-template-columns: 116px 1fr 34px;
    justify-items: stretch;
    padding: 14px 18px;
  }

  .sidebar-collapsed .brand-logo {
    width: 106px;
  }

  .sidebar-collapsed .brand div,
  .sidebar-collapsed .brand .icon-button {
    display: block;
  }

  .sidebar-collapsed .brand .icon-button {
    display: grid;
  }

  .sidebar-collapsed .menu p,
  .sidebar-collapsed .menu a,
  .sidebar-collapsed .sidebar-logout {
    color: inherit;
  }

  .sidebar-collapsed .menu a {
    grid-template-columns: 30px 1fr;
    justify-items: stretch;
    padding: 0 11px;
  }

  .topbar,
  .topbar-actions,
  .hero {
    display: grid;
  }

  .search {
    width: 100%;
  }

  .hero,
  .filters,
  .notice,
  .cards,
  .table-panel,
  .tabs {
    width: calc(100% - 28px);
  }

  .hero {
    grid-template-columns: 1fr;
  }

  .hero aside {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 16px 0 0;
  }

  .filters,
  .cards {
    grid-template-columns: 1fr;
  }

  .report-grid {
    grid-template-columns: 1fr;
  }

  .diego-dashboard { width: calc(100% - 28px); }
  .diego-overview { display: grid; min-height: auto; padding: 24px 20px; }
  .diego-overview-status { width: fit-content; }
  .diego-filters,
  .diego-kpis { grid-template-columns: 1fr; }
}

/* Paleta clara original de Avanzar para el inicio */
.home-dashboard { --home-bg: #f3f6fb; --home-panel: #fff; --home-line: #dfe5ee; --home-copy: #17263b; background: var(--home-bg); color: var(--home-copy); }
.home-dashboard::before { background: radial-gradient(circle at 92% 3%, rgba(45, 93, 170, .08), transparent 28%), radial-gradient(circle at 84% 88%, rgba(169, 22, 50, .07), transparent 25%); }
.home-sidebar { border-right-color: #dfe5ee; background: #fff; color: #17263b; }
.home-sidebar .brand { border-bottom-color: #dfe5ee; }
.home-sidebar .brand span, .home-sidebar .menu p { color: #8692a6; }
.home-sidebar .menu a { color: #42536b; }
.home-sidebar .menu a:hover, .home-sidebar .menu a.active { background: #edf1f8; color: #213653; box-shadow: none; }
.home-sidebar .menu a span { background: #f1f4f9; color: #62728b; }
.home-sidebar-footer { border-color: #dfe5ee; background: #f8fafc; }
.home-sidebar-footer strong { color: #263b57; }.home-sidebar-footer small { color: #7f8ba0; }
.home-app { background: transparent; }
.home-topbar { border-bottom-color: #dfe5ee; background: rgba(255,255,255,.9); }
.home-topbar h1 { color: #17263b; }.home-eyebrow { color: #8a1834; }
.home-search { border-color: #dfe5ee; background: #f8fafc; color: #79879b; }
.home-search input { color: #17263b; }.home-search input::placeholder { color: #929daf; }
.home-admin-link { border-color: #e4bac3; background: #fff4f6; color: #9e1d38; }
.home-avatar { background: linear-gradient(135deg, #291844, #a91632); }
.home-welcome { border-color: #d9e1ec; background: linear-gradient(120deg, #fff 0%, #f8faff 60%, #fff5f7 100%); box-shadow: 0 18px 42px rgba(31,55,91,.09); }
.home-welcome::after { background: radial-gradient(circle, rgba(169,22,50,.13), rgba(49,96,178,.08) 40%, transparent 68%); }
.home-welcome h2 { color: #17263b; }.home-welcome p { color: #5f6f85; }
.home-welcome-actions a { border-color: #dbe2ec; background: #fff; color: #405370; }
.home-welcome-actions a:first-child { border-color: #8d2944; background: linear-gradient(135deg, #291844, #a91632); color: #fff; }
.home-pulse { border-bottom-color: #d6dfeb; }.home-pulse i { background: linear-gradient(180deg, #6eb5e9, #315f9f 58%, #a91632); box-shadow: 0 0 14px rgba(49,95,159,.28); }
.home-overview article { border-color: #dfe5ee; background: #fff; box-shadow: 0 6px 18px rgba(31,55,91,.055); }
.home-overview span { color: #7f8ba0; }.home-overview strong { color: #17263b; }.home-overview small { color: #728198; }
.home-areas-heading h2 { color: #17263b; }.home-areas-heading > span { color: #7c899d; }
.home-area-card { border-color: #dfe5ee; background: #fff; box-shadow: 0 10px 28px rgba(31,55,91,.07); }
.home-area-card.violet::after { background: #6c3d98; }.home-area-card.blue::after { background: #3979bd; }.home-area-card.red::after { background: #b51d3a; }
.home-area-card header > span { border-color: #dbe3ee; background: #f1f5fa; color: #3f5f89; }
.home-area-card header small { color: #8b96a7; }.home-area-card h3 { color: #17263b; }.home-area-card header em { background: #f2f5f9; color: #718097; }
.home-area-card > p { color: #66758a; }
.home-report-links a { border-color: #e1e6ee; background: #f9fbfd; }
.home-report-links a:hover { border-color: #c9d3e1; background: #f3f7fb; }
.home-report-links span { color: #8b2940; }.home-report-links strong { color: #233a59; }.home-report-links small { color: #6f7e92; }.home-report-links b { color: #9e1d38; }
.home-system-card { border-color: #dfe5ee; background: #fff; box-shadow: 0 7px 20px rgba(31,55,91,.055); }
.home-system-card h3 { color: #223a58; }.home-system-card p { color: #718097; }.home-card-icon { background: #f1f5fa; color: #4e6f9b; }.home-system-card > a { color: #9e1d38; }
.home-no-results { border-color: #ccd5e2; color: #253c59; }.home-no-results span { color: #758399; }

.access-app { min-height: 100vh; background: #f4f7fa; }
.access-topbar-copy { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.button-secondary { min-height: 38px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--text); padding: 0 14px; font-weight: 800; cursor: pointer; }
.access-unlock { display: grid; justify-items: center; width: min(500px, calc(100% - 32px)); margin: 80px auto; border: 1px solid var(--line); border-radius: 22px; background: #fff; padding: 42px; text-align: center; box-shadow: 0 20px 50px rgba(31, 55, 91, .1); }
.access-unlock-icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 18px; border-radius: 18px; background: #f0ebf6; font-size: 27px; }
.access-unlock h2 { margin: 8px 0; font-size: 28px; }
.access-unlock p { color: var(--muted); }
.access-unlock-form { display: grid; width: 100%; gap: 14px; margin-top: 16px; text-align: left; }
.access-unlock-form label, .access-create-form label { display: grid; gap: 6px; color: #526177; font-size: 12px; font-weight: 800; }
.access-unlock-form input, .access-create-form input, .access-create-form select, .user-role-select, .access-search input { height: 42px; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 0 11px; color: var(--text); }
.form-error { color: #b21b38 !important; font-weight: 800; }
.access-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(1516px, calc(100% - 64px)); margin: 24px auto 14px; border-radius: 20px; background: linear-gradient(125deg, #17102f, #41215d 62%, #a91632); color: #fff; padding: 28px 32px; box-shadow: 0 16px 36px rgba(31, 20, 54, .18); }
.access-hero h2 { margin: 7px 0; font-size: 32px; }
.access-hero p { margin: 0; color: rgba(255,255,255,.75); }
.access-create-panel, .access-section { width: min(1516px, calc(100% - 64px)); margin: 14px auto; border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 20px; box-shadow: 0 7px 22px rgba(31,55,91,.06); }
.access-create-panel { display: grid; grid-template-columns: 260px 1fr; gap: 24px; }
.access-create-panel h3 { margin: 0; }
.access-create-panel p { color: var(--muted); font-size: 12px; }
.access-create-form { display: grid; grid-template-columns: repeat(4, minmax(140px,1fr)) auto auto; gap: 12px; align-items: end; }
.access-section-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.access-section-title > div { display: flex; align-items: center; gap: 10px; }
.access-section-title h2 { margin: 0; font-size: 20px; }
.access-section-title p { color: var(--muted); font-size: 12px; }
.access-section-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #f0ebf6; }
.access-search { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; font-weight: 800; }
.access-search input { width: 240px; }
.access-table-wrap, .permission-matrix { overflow: auto; border: 1px solid #e2e7ec; border-radius: 11px; }
.access-table-wrap { max-height: 520px; }
.access-users-table { min-width: 800px; }
.access-users-table th { position: sticky; top: 0; z-index: 2; background: #f2f6f7; }
.access-users-table tbody tr { background: #fff; }
.access-users-table tbody tr:nth-child(even) { background: #f8fafc; }
.access-users-table td { height: 58px; }
.user-actions { display: flex; gap: 8px; }
.user-actions button { min-height: 34px; padding: 0 12px; }
.button-danger { border: 1px solid #f1b8c1; border-radius: 9px; background: #fff3f5; color: #b51f3b; font-weight: 800; cursor: pointer; }

.login-page { min-height: 100vh; margin: 0; color: #fff; background: radial-gradient(circle at 10% 12%, #d85a5d 0, #a7191c 17%, transparent 40%), radial-gradient(circle at 90% 8%, #41658e 0, #143557 25%, transparent 48%), linear-gradient(135deg, #6f1119, #101d32 44%, #142f50); padding: clamp(18px, 4vw, 58px); box-sizing: border-box; }
.login-page::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .24; background-image: radial-gradient(rgba(255,255,255,.55) .7px, transparent .7px); background-size: 22px 22px; mask-image: linear-gradient(to bottom, #000, transparent 66%); }
.login-shell { position: relative; isolation: isolate; overflow: hidden; width: min(1420px, 100%); min-height: calc(100vh - clamp(36px, 8vw, 116px)); margin: auto; display: grid; grid-template-columns: minmax(480px, 1.2fr) minmax(390px, .8fr); border: 1px solid rgba(255,255,255,.2); border-radius: 38px; background: linear-gradient(135deg, rgba(10,24,43,.97), rgba(12,28,48,.96) 55%, rgba(22,52,85,.94)); box-shadow: 0 40px 100px rgba(5,15,28,.58), inset 0 1px rgba(255,255,255,.12); }
.login-shell::before, .login-shell::after { content: ""; position: absolute; z-index: -1; width: 480px; height: 480px; border-radius: 50%; filter: blur(2px); opacity: .7; }
.login-shell::before { left: -260px; bottom: -150px; background: radial-gradient(circle, transparent 38%, rgba(197,37,43,.82) 40%, rgba(167,25,28,.24) 52%, transparent 66%); box-shadow: 0 0 80px rgba(167,25,28,.38); }
.login-shell::after { right: -250px; top: -160px; background: radial-gradient(circle, transparent 38%, rgba(62,105,150,.88) 40%, rgba(20,53,87,.22) 54%, transparent 68%); box-shadow: 0 0 95px rgba(35,52,105,.45); }
.login-brand-panel { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; padding: clamp(55px, 7vw, 110px); background: radial-gradient(circle at 58% 28%, rgba(47,83,121,.28), transparent 30%); }
.login-brand-panel::before { content: ""; position: absolute; inset: 0; opacity: .26; background-image: radial-gradient(rgba(136,173,211,.95) 1px, transparent 1.2px); background-size: 24px 24px; mask-image: radial-gradient(circle at 65% 28%, #000, transparent 48%); }
.login-brand-panel::after { content: ""; position: absolute; right: 4%; top: 10%; width: 54%; height: 42%; border-radius: 50%; border: 1px solid rgba(105,151,196,.15); box-shadow: 0 0 65px rgba(42,86,130,.22), inset 0 0 65px rgba(42,86,130,.1); transform: rotate(-12deg); }
.login-intelligence-map { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; opacity: .92; }
.login-intelligence-map::before { content: ""; position: absolute; inset: 18% 4% 3% 24%; border: 1px solid rgba(216,75,80,.08); border-radius: 42% 58% 48% 52%; background: radial-gradient(circle at 52% 61%, rgba(183,35,52,.13), transparent 23%), radial-gradient(circle at 84% 18%, rgba(68,106,149,.16), transparent 28%); filter: blur(.2px); animation: login-map-breathe 6s ease-in-out infinite; }
.login-network-lines { position: absolute; right: -2%; bottom: -1%; width: 68%; height: 77%; overflow: visible; opacity: .82; }
.login-network-lines path { fill: none; stroke: rgba(192,64,76,.32); stroke-width: 1.35; stroke-linecap: round; stroke-dasharray: 8 11; animation: login-signal-flow 2.8s linear infinite; }
.login-network-lines path:nth-child(2), .login-network-lines path:nth-child(4) { stroke: rgba(77,115,159,.34); animation-direction: reverse; animation-duration: 3.5s; }
.login-network-lines .network-path-accent { stroke: rgba(239,119,122,.42); animation-duration: 2.2s; }
.login-network-glow { position: absolute; right: 12%; top: 13%; width: 48%; height: 22%; border-radius: 50%; background: linear-gradient(118deg, transparent 8%, rgba(180,33,47,.18) 48%, rgba(232,105,94,.46) 62%, transparent 78%); filter: blur(22px); transform: rotate(-18deg); animation: login-beam 5s ease-in-out infinite; }
.login-network-core { position: absolute; right: 27%; bottom: 18%; width: 156px; height: 116px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(242,245,250,.82)); box-shadow: 0 18px 55px rgba(0,0,0,.34), 0 0 45px rgba(190,41,55,.22); animation: login-core-float 4.4s ease-in-out infinite; }
.login-network-core::before, .login-network-core::after { content: ""; position: absolute; inset: -9px; border: 1px solid rgba(219,73,79,.25); border-radius: 34px; opacity: .55; animation: login-core-pulse 2.8s ease-out infinite; }
.login-network-core::after { inset: -19px; border-color: rgba(74,112,155,.18); animation-delay: 1.1s; }
.login-network-core img { width: 122px; display: block; filter: drop-shadow(0 6px 12px rgba(74,18,49,.13)); animation: login-logo-breathe 3.2s ease-in-out infinite; }
.login-core-ring { position: absolute; width: 18px; height: 18px; right: -8px; top: 22px; border-radius: 50%; background: #d64a50; box-shadow: 0 0 0 6px rgba(214,74,80,.12), 0 0 22px rgba(214,74,80,.72); animation: login-node-pulse 1.8s ease-in-out infinite; }
.login-network-node { position: absolute; display: grid; place-items: center; gap: 5px; width: 78px; height: 78px; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: linear-gradient(145deg, rgba(32,56,84,.78), rgba(9,22,39,.88)); color: #f6f8fb; box-shadow: 0 14px 34px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.1); backdrop-filter: blur(10px); opacity: .88; animation: login-node-float 4s ease-in-out infinite; }
.login-network-node b { font-size: 21px; color: #ef777a; line-height: 1; }.login-network-node small { color: #c8d3df; font-size: 9px; font-weight: 800; letter-spacing: .04em; }
.node-commercial { left: 67%; bottom: 46%; }.node-operative { left: 58%; bottom: 5%; animation-delay: -.9s; }.node-bitrix { right: 3%; bottom: 43%; animation-delay: -1.7s; }.node-reports { right: 2%; bottom: 8%; animation-delay: -2.5s; }
@keyframes login-signal-flow { to { stroke-dashoffset: -38; } }
@keyframes login-core-float { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-10px) rotate(1deg); } }
@keyframes login-logo-breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.045); } }
@keyframes login-core-pulse { 0% { transform: scale(.94); opacity: 0; } 35% { opacity: .55; } 100% { transform: scale(1.16); opacity: 0; } }
@keyframes login-node-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes login-node-pulse { 0%,100% { transform: scale(.82); opacity: .7; } 50% { transform: scale(1.1); opacity: 1; } }
@keyframes login-map-breathe { 0%,100% { transform: scale(.98) rotate(-1deg); opacity: .68; } 50% { transform: scale(1.03) rotate(1deg); opacity: 1; } }
@keyframes login-beam { 0%,100% { transform: translate(-7%,5%) rotate(-18deg); opacity: .35; } 50% { transform: translate(9%,-6%) rotate(-18deg); opacity: .88; } }
.login-logo-wrap { position: absolute; z-index: 2; left: clamp(55px, 7vw, 110px); top: 45px; display: flex; align-items: center; gap: 18px; padding: 10px 15px; border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 10px 28px rgba(0,0,0,.22); }.login-logo-wrap span { color: #671243; font-size: 11px; font-weight: 900; letter-spacing: .15em; }
.login-logo { width: 145px; margin: 0; display: block; }
.login-neon-badge { position: relative; z-index: 2; align-self: flex-start; margin-top: 24px; margin-bottom: 22px; padding: 9px 15px; border: 1px solid rgba(220,91,95,.5); border-radius: 999px; background: rgba(54,13,23,.72); color: #ffd9da; font-size: 12px; font-weight: 800; box-shadow: 0 0 22px rgba(167,25,28,.24); }
.login-brand-panel h1 { max-width: 710px; margin: 0 0 24px; font-size: clamp(48px, 5.4vw, 82px); line-height: .98; font-weight: 500; letter-spacing: -.055em; color: #fff; position: relative; z-index: 1; text-shadow: 0 5px 32px rgba(0,0,0,.3); }.login-brand-panel h1 em { color: #ef777a; font-style: normal; }
.login-brand-panel p { max-width: 590px; margin: 0; font-size: 17px; line-height: 1.7; color: #c9bbd0; position: relative; z-index: 1; }
.login-feature-row { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }.login-feature-row span { padding: 8px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.06); color: #d8cddd; font-size: 12px; }
.login-brand-lines { display: flex; gap: 8px; margin-top: 42px; position: relative; z-index: 2; }
.login-brand-lines span { display: block; height: 6px; border-radius: 99px; }
.login-brand-lines span:nth-child(1) { width: 90px; background: #52103d; }.login-brand-lines span:nth-child(2) { width: 55px; background: #bd1739; }.login-brand-lines span:nth-child(3) { width: 32px; background: #8a4e9b; }
.login-card { position: relative; z-index: 3; align-self: center; justify-self: center; width: min(410px, calc(100% - 58px)); padding: 46px; border: 1px solid rgba(115,151,190,.32); border-radius: 28px; background: linear-gradient(145deg, rgba(30,56,86,.8), rgba(9,23,41,.9)); backdrop-filter: blur(22px); box-shadow: 0 30px 75px rgba(0,0,0,.42), 0 0 55px rgba(20,53,87,.18), inset 0 1px rgba(255,255,255,.12); }
.login-card::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; background: linear-gradient(135deg, rgba(201,55,60,.34), transparent 30%, transparent 66%, rgba(59,101,145,.34)); }
.login-card-logo { display: none; }.login-card .section-kicker { color: #ef898c; }.login-card h2 { margin: 9px 0 8px; font-size: 39px; color: #fff; }.login-card > p { color: #c2cfdd; line-height: 1.5; }.login-card > small { display: block; margin-top: 25px; text-align: center; color: #8fa2b7; }
.panel-login-form { display: grid; gap: 18px; margin-top: 30px; }.panel-login-form label { display: grid; gap: 8px; color: #d6e0eb; font-size: 13px; font-weight: 800; }.panel-login-form input { height: 52px; border: 1px solid rgba(255,255,255,.17); border-radius: 12px; background: rgba(255,255,255,.085); color: #fff; padding: 0 15px; font: inherit; outline: none; }.panel-login-form input::placeholder { color: #8191a3; }.panel-login-form input:focus { border-color: #d84b50; box-shadow: 0 0 0 4px rgba(167,25,28,.14), 0 0 20px rgba(167,25,28,.18); }.panel-login-form .sync-button { min-height: 53px; margin-top: 7px; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(100deg, #7f1519, #b82429 55%, #233469); box-shadow: 0 10px 30px rgba(167,25,28,.3), 0 0 24px rgba(35,52,105,.2); }
@media (max-width: 960px) { .login-page { padding: 0; }.login-shell { min-height: 100vh; border: 0; border-radius: 0; grid-template-columns: 1fr; }.login-brand-panel { display: none; }.login-card-logo { display: block; padding: 11px 14px; margin-bottom: 34px; border-radius: 12px; background: #fff; }.login-card-logo img { width: 160px; display: block; }.login-card { padding: 34px; } }
@media (prefers-reduced-motion: reduce) { .login-intelligence-map *, .login-intelligence-map::before { animation: none !important; } }
.sidebar-logout { width: 100%; margin-top: 28px; display: flex; align-items: center; gap: 11px; border: 1px solid #e3d6df; border-radius: 10px; background: #fff7f8; color: #8f1733; padding: 11px 13px; font: inherit; font-weight: 800; cursor: pointer; }.sidebar-logout:hover { background: #fdecef; }

.sidebar .menu { padding: 14px 12px 26px; overflow-y: auto; scrollbar-width: thin; align-content: start; grid-auto-rows: max-content; }
.sidebar .menu > p { margin: 21px 10px 9px; color: #8996aa; font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.sidebar-sub-link, .sidebar-group-toggle { width: 100%; min-height: 43px; display: flex; align-items: center; gap: 11px; border: 0; border-radius: 11px; padding: 8px 11px; color: #506078; background: transparent; font: inherit; font-size: 12px; font-weight: 750; text-align: left; text-decoration: none; cursor: pointer; transition: background .18s ease, color .18s ease, transform .18s ease; box-sizing: border-box; }
.sidebar .menu .sidebar-sub-link > span:nth-child(2), .sidebar .menu .sidebar-group-toggle > span:nth-child(2) { display: block; width: auto; height: auto; min-width: 0; flex: 1; border-radius: 0; background: transparent; color: inherit; line-height: 1.2; }
.sidebar-sub-link:hover, .sidebar-group-toggle:hover { color: #172641; background: #f2f5f9; transform: translateX(2px); }
.sidebar-sub-link > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: #687991; background: #f0f3f7; flex: 0 0 auto; }
.nav-svg svg, .sidebar-group-icon svg { width: 16px; height: 16px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-sub-link.active { color: #86172d; background: linear-gradient(90deg, #faecef, #f5f2f8); box-shadow: inset 3px 0 #a7191c; }
.sidebar-sub-link.active > span:first-child { color: #fff; background: linear-gradient(135deg, #a7191c, #233469); }
.sidebar-group { margin: 3px 0; }.sidebar-group-toggle > span:nth-child(2) { flex: 1; }.sidebar-group-toggle b { color: #93a0b2; font-size: 15px; font-weight: 500; transition: transform .2s ease; }.sidebar-group.open .sidebar-group-toggle b { transform: rotate(180deg); }
.sidebar-group-icon { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #e2e7ed; border-radius: 9px; color: #53657d; background: #f7f9fb; box-shadow: 0 3px 9px rgba(20,53,87,.06); }.sidebar-group-icon.commercial { color: #a7191c; background: #fff5f5; border-color: #f1d8da; }.sidebar-group-icon.operative { color: #143557; background: #f2f6fa; border-color: #dbe5ee; }.sidebar-group-icon.pnnc { color: #233469; background: #f3f4fa; border-color: #dde0ef; }.sidebar-group-icon.admin { color: #811b2c; background: #faf3f5; border-color: #ecdce1; }
.sidebar-group-items { display: none; }.sidebar-group.open .sidebar-group-items { display: block; padding: 3px 0 5px 10px; border-left: 1px solid #e2e7ee; margin-left: 14px; }.sidebar-group.open .sidebar-group-items > * { display: flex; margin: 2px 0; }
.sidebar-group-items .sidebar-sub-link { min-height: 36px; padding: 6px 9px; font-size: 11px; }.sidebar-group-items .sidebar-sub-link > span:first-child { width: 20px; height: 20px; background: transparent; }.sidebar-group-items .sidebar-sub-link .nav-svg svg { width: 13px; height: 13px; }.sidebar-group-items .sidebar-sub-link.active > span:first-child { color: #a7191c; background: transparent; }
.sidebar-logout { margin-top: 24px; min-height: 42px; justify-content: flex-start; }
.access-person { display: flex; align-items: center; gap: 10px; }
.access-person > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: linear-gradient(135deg,#2d1749,#a91632); color: #fff; font-weight: 900; }
.user-status { border-radius: 999px; background: #eaf7ef; color: #28704c; padding: 5px 9px; font-size: 11px; font-style: normal; font-weight: 900; }
.commercial-access-section { overflow: hidden; }.commercial-access-icon { color: #fff; background: linear-gradient(135deg,#a7191c,#233469) !important; }.commercial-access-matrix { overflow-x: auto; border: 1px solid #dfe6ee; border-radius: 13px; }.commercial-access-grid { min-width: 900px; display: grid; grid-template-columns: minmax(260px,1.35fr) 210px repeat(var(--commercial-report-count), minmax(180px,1fr)); }.commercial-access-grid > div { min-height: 66px; display: flex; align-items: center; padding: 11px 15px; border-right: 1px solid #e2e7ed; border-bottom: 1px solid #e2e7ed; box-sizing: border-box; }.commercial-grid-head { justify-content: center; flex-direction: column; text-align: center; background: #f2f6f8; color: #17253e; }.commercial-grid-head.user-column, .commercial-grid-head.role-column { align-items: flex-start; text-align: left; }.commercial-grid-head small { margin-top: 3px; color: #8090a6; font-size: 10px; }.commercial-user-cell { gap: 11px; }.commercial-user-cell > span { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: #fff; background: linear-gradient(135deg,#143557,#a7191c); font-weight: 900; }.commercial-user-cell div { min-width: 0; display: grid; gap: 3px; }.commercial-user-cell small { overflow: hidden; color: #75859b; font-size: 10px; text-overflow: ellipsis; }.commercial-role-cell select { width: 100%; }.commercial-permission-cell { justify-content: center; }.commercial-access-grid > div:nth-last-child(-n + 5) { border-bottom: 0; }
.permission-grid { display: grid; grid-template-columns: minmax(300px,1.6fr) repeat(var(--access-columns), minmax(170px,1fr)); min-width: 850px; }
.permission-grid > div { min-height: 62px; border-right: 1px solid #e2e7ec; border-bottom: 1px solid #e2e7ec; padding: 12px 16px; }
.permission-corner, .permission-role { position: sticky; top: 0; z-index: 3; background: #f2f6f7; }
.permission-corner { left: 0; z-index: 4; color: #506075; font-weight: 900; }
.permission-role, .permission-name { display: grid; align-content: center; gap: 4px; }
.permission-role { text-align: center; }
.permission-role small, .permission-name small { color: var(--muted); }
.permission-name { position: sticky; left: 0; z-index: 2; background: #fff; }
.permission-cell { display: grid; place-items: center; background: #fff; }
.access-toggle { position: relative; display: inline-flex; cursor: pointer; }
.access-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.access-toggle span { width: 30px; height: 17px; border-radius: 999px; background: #d9dde3; transition: .18s ease; }
.access-toggle span::after { content: ""; display: block; width: 13px; height: 13px; margin: 2px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: .18s ease; }
.access-toggle input:checked + span { background: #267df3; }
.access-toggle input:checked + span::after { transform: translateX(13px); }

@media (max-width: 900px) {
  .access-hero, .access-section, .access-create-panel { width: calc(100% - 28px); }
  .access-create-panel, .access-create-form { grid-template-columns: 1fr; }
  .access-section-title, .access-hero { align-items: stretch; flex-direction: column; }
  .access-search { display: grid; }
  .access-search input { width: 100%; }
}

/* Inicio oscuro por áreas */
.home-dashboard { --home-bg: #070b16; --home-panel: #0d1425; --home-line: rgba(133, 161, 214, .16); --home-copy: #eef3ff; background: var(--home-bg); color: var(--home-copy); }
.home-dashboard::before { content: ""; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at 92% 2%, rgba(42, 112, 221, .22), transparent 30%), radial-gradient(circle at 84% 86%, rgba(177, 25, 54, .17), transparent 27%); }
.home-sidebar { border-right-color: var(--home-line); background: rgba(7, 12, 24, .94); color: var(--home-copy); }
.home-sidebar .brand { border-bottom-color: var(--home-line); }
.home-sidebar .brand span, .home-sidebar .menu p { color: #7f8ba5; }
.home-sidebar .menu a { color: #9eabc5; }
.home-sidebar .menu a:hover, .home-sidebar .menu a.active { background: linear-gradient(90deg, rgba(46, 111, 226, .2), rgba(101, 52, 159, .12)); color: #fff; box-shadow: inset 3px 0 #4d8cff; }
.home-sidebar .menu a span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: rgba(95, 128, 191, .09); color: #8fb5ff; }
.home-sidebar-footer { position: absolute; bottom: 22px; left: 18px; right: 18px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--home-line); border-radius: 12px; background: rgba(16, 25, 44, .72); padding: 12px; }
.home-sidebar-footer div { display: grid; gap: 2px; }
.home-sidebar-footer strong { color: #dae6ff; font-size: 11px; }
.home-sidebar-footer small { color: #6f7e9c; font-size: 10px; }
.home-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #56d597; box-shadow: 0 0 0 5px rgba(86, 213, 151, .09); }
.home-app { position: relative; min-height: 100vh; background: transparent; }
.home-topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; min-height: 78px; border-bottom: 1px solid var(--home-line); background: rgba(7, 11, 22, .82); padding: 13px 30px; backdrop-filter: blur(18px); }
.home-topbar h1 { margin: 2px 0 0; color: #fff; font-size: 20px; }
.home-eyebrow { color: #7688aa; font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.home-top-actions { display: flex; align-items: center; gap: 11px; }
.home-search { display: flex; align-items: center; gap: 8px; width: 280px; height: 40px; border: 1px solid var(--home-line); border-radius: 11px; background: rgba(13, 21, 38, .8); padding: 0 12px; color: #8ba0c5; }
.home-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #eef3ff; }
.home-search input::placeholder { color: #66738f; }
.home-admin-link { border: 1px solid rgba(170, 62, 86, .35); border-radius: 10px; background: rgba(169, 22, 50, .12); color: #f0b4c1; padding: 11px 14px; font-size: 12px; font-weight: 800; text-decoration: none; }
.home-avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: linear-gradient(135deg, #2d1749, #aa1936); color: #fff; font-weight: 900; }
.home-canvas { width: min(1420px, calc(100% - 56px)); margin: 0 auto; padding: 24px 0 44px; }
.home-welcome { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(290px, .7fr); min-height: 280px; overflow: hidden; border: 1px solid rgba(89, 130, 205, .26); border-radius: 22px; background: linear-gradient(120deg, rgba(12, 22, 42, .98), rgba(12, 21, 40, .9) 58%, rgba(31, 23, 58, .92)); padding: 38px 40px; box-shadow: 0 24px 60px rgba(0, 0, 0, .28), inset 0 1px rgba(255,255,255,.025); }
.home-welcome::after { content: ""; position: absolute; right: -130px; bottom: -230px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(181, 33, 57, .26), rgba(45, 91, 201, .12) 38%, transparent 65%); filter: blur(8px); }
.home-welcome > div { position: relative; z-index: 2; }
.home-welcome h2 { max-width: 660px; margin: 11px 0 12px; color: #fff; font-size: clamp(34px, 5vw, 58px); line-height: .98; letter-spacing: -.04em; }
.home-welcome p { max-width: 650px; margin: 0; color: #9ba9c4; font-size: 15px; line-height: 1.7; }
.home-welcome-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.home-welcome-actions a { border: 1px solid var(--home-line); border-radius: 10px; background: rgba(255,255,255,.035); color: #cbd8f1; padding: 11px 14px; font-size: 12px; font-weight: 800; text-decoration: none; }
.home-welcome-actions a:first-child { border-color: rgba(67, 131, 239, .48); background: linear-gradient(135deg, #244f9d, #5a2b85); color: #fff; }
.home-pulse { align-self: end; display: flex; height: 155px; align-items: center; justify-content: center; gap: 13px; border-bottom: 1px solid rgba(83, 132, 220, .25); }
.home-pulse i { width: 5px; border-radius: 999px; background: linear-gradient(180deg, #79e3ff, #367cff 58%, #7b3fed); box-shadow: 0 0 18px rgba(56, 133, 255, .72); }
.home-pulse i:nth-child(1),.home-pulse i:nth-child(7){height:24%}.home-pulse i:nth-child(2),.home-pulse i:nth-child(6){height:43%}.home-pulse i:nth-child(3),.home-pulse i:nth-child(5){height:68%}.home-pulse i:nth-child(4){height:92%}
.home-overview { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; margin-top: 14px; }
.home-overview article { position: relative; display: grid; min-height: 116px; align-content: center; gap: 5px; overflow: hidden; border: 1px solid var(--home-line); border-radius: 16px; background: rgba(13, 20, 37, .86); padding: 18px; }
.home-overview article::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #497fdd; }
.home-overview article:nth-child(2)::before { background: #8154d6; }.home-overview article:nth-child(3)::before { background: #ac2844; }.home-overview article:nth-child(4)::before { background: #42b887; }
.home-overview span { color: #7e8ba6; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.home-overview strong { color: #f3f6ff; font-size: 25px; }.home-overview small { color: #697893; }
.home-areas-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 32px 2px 14px; }
.home-areas-heading h2 { margin: 5px 0 0; color: #fff; font-size: 25px; }
.home-areas-heading > span { color: #7b89a5; font-size: 12px; }
.home-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; align-items: start; }
.home-area-card { position: relative; overflow: hidden; border: 1px solid var(--home-line); border-radius: 19px; background: linear-gradient(145deg, rgba(14, 22, 40, .96), rgba(10, 16, 30, .96)); padding: 20px; box-shadow: 0 18px 38px rgba(0,0,0,.2); scroll-margin-top: 100px; }
.home-area-card::after { content: ""; position: absolute; right: -80px; top: -100px; width: 190px; height: 190px; border-radius: 50%; opacity: .16; filter: blur(6px); }
.home-area-card.violet::after { background: #844cdc; }.home-area-card.blue::after { background: #2879e6; }.home-area-card.red::after { background: #be2949; }
.home-area-card header { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; }
.home-area-card header > span { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid rgba(107,144,213,.25); border-radius: 12px; background: rgba(67, 102, 172, .12); color: #9fc3ff; font-size: 20px; }
.home-area-card header div { display: grid; gap: 2px; }.home-area-card header small { color: #71809e; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.home-area-card h3 { margin: 0; color: #fff; font-size: 20px; }.home-area-card header em { margin-left: auto; border-radius: 999px; background: rgba(255,255,255,.04); color: #7786a3; padding: 6px 8px; font-size: 9px; font-style: normal; font-weight: 900; }
.home-area-card > p { min-height: 42px; margin: 15px 0; color: #8593ad; font-size: 12px; line-height: 1.55; }
.home-report-links { display: grid; gap: 8px; }
.home-report-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(117,146,200,.12); border-radius: 12px; background: rgba(255,255,255,.025); padding: 12px; text-decoration: none; transition: .18s ease; }
.home-report-links a:hover { transform: translateY(-2px); border-color: rgba(93, 145, 238, .34); background: rgba(55, 93, 166, .1); }
.home-report-links div { display: grid; gap: 3px; }.home-report-links span { color: #7887a4; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.home-report-links strong { color: #dae5fa; font-size: 13px; }.home-report-links small { color: #697791; font-size: 10px; line-height: 1.35; }.home-report-links b { color: #7eaaff; }
.home-bottom-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.home-system-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid var(--home-line); border-radius: 17px; background: rgba(13,20,37,.86); padding: 20px; }
.home-system-card > div { display: flex; align-items: center; gap: 13px; }.home-system-card h3 { margin: 0 0 5px; color: #e8efff; }.home-system-card p { margin: 0; color: #74829d; font-size: 11px; }
.home-card-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: rgba(55, 101, 188, .15); color: #89b1ff; font-size: 20px; }.home-system-card > a { color: #8caef0; font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.home-no-results { grid-column: 1/-1; display: grid; min-height: 180px; place-content: center; gap: 7px; border: 1px dashed var(--home-line); border-radius: 18px; color: #dbe7ff; text-align: center; }.home-no-results span { color: #74829c; }

@media (max-width: 1150px) { .home-area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.home-overview { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 780px) {
  .home-sidebar-footer { display: none; }
  .home-topbar, .home-top-actions { display: grid; }
  .home-top-actions { grid-template-columns: 1fr auto; }
  .home-search { grid-column: 1/-1; width: 100%; }
  .home-canvas { width: calc(100% - 28px); }
  .home-welcome { grid-template-columns: 1fr; padding: 27px 22px; }
  .home-pulse { height: 90px; }
  .home-overview, .home-area-grid, .home-bottom-grid { grid-template-columns: 1fr; }
  .home-areas-heading, .home-system-card { align-items: flex-start; flex-direction: column; }
}
.organization-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#65788e;font:inherit;cursor:pointer}.organization-toggle b{font-size:12px;transition:transform .2s ease}.organization-toggle[aria-expanded="true"] b{transform:rotate(180deg)}.organization-node.collapsed>.organization-children{display:none}.organization-node.collapsed>.organization-card.has-children:after{display:none}.organization-card.has-children footer:hover{background:#eef7fc;color:#196f9e}
.organization-toolbar{display:flex;align-items:center;gap:10px;margin:20px 30px 0;padding:12px;border:1px solid #dce5ee;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(32,54,84,.05)}.organization-toolbar label{height:38px;display:flex;align-items:center;gap:8px;flex:1;padding:0 12px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}.organization-toolbar input{width:100%;border:0;outline:0;background:transparent;color:#26364e}.organization-toolbar button,.organization-manage,.organization-save{min-height:36px;border:1px solid #d9e1ea;border-radius:9px;background:#fff;color:#34465e;padding:0 13px;font-size:10px;font-weight:800;cursor:pointer}.organization-toolbar button:hover,.organization-manage:hover{border-color:#c9a4af;color:#8c1830;background:#fff7f8}.organization-card-top{display:flex;align-items:center;gap:7px;padding-right:10px}.organization-card-top .organization-card-type{flex:1;min-width:0}.organization-role-badge{flex:0 0 auto;padding:4px 6px;border-radius:999px;background:#eef2f6;color:#66778d;font-size:7px;font-weight:900;text-transform:uppercase}.organization-role-badge.director{background:#f4edf9;color:#5b2b84}.organization-role-badge.coordinator{background:#fbeaec;color:#9c1830}.organization-role-badge.leader{background:#e9f2fa;color:#174d79}.organization-role-badge.advisor{background:#edf6ef;color:#247048}.organization-card-actions{padding:0 14px 11px}.organization-manage{width:100%;min-height:30px;background:#f8fafc}.organization-settings{position:relative;z-index:4;display:grid;gap:9px;margin:0 10px 10px;padding:11px;border:1px solid #dbe4ed;border-radius:10px;background:#f7fafc;text-align:left}.organization-settings[hidden]{display:none}.organization-settings>label{display:grid;gap:4px;color:#65758a;font-size:8px;font-weight:800}.organization-settings select{height:30px;border:1px solid #d7e0e9;border-radius:7px;background:#fff;padding:0 7px;color:#34455c;font-size:9px}.organization-settings fieldset{display:grid;gap:6px;margin:0;padding:8px;border:1px solid #dfe6ed;border-radius:8px}.organization-settings legend{padding:0 4px;color:#65758a;font-size:8px;font-weight:800}.organization-settings fieldset label{display:flex;align-items:center;gap:6px;color:#46566d;font-size:8px}.organization-save{background:linear-gradient(100deg,#781525,#a7191c);color:#fff;border:0}.organization-save-state{color:#4f7b62;font-size:8px;text-align:center}.organization-card.search-hidden{opacity:.18;filter:grayscale(1)}@media(max-width:800px){.organization-toolbar{margin:16px;flex-wrap:wrap}.organization-toolbar label{flex-basis:100%}}
.organization-help{margin:0 30px 50px;padding:25px;border:1px solid #dce5ee;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(32,54,84,.06)}.organization-help-heading h2{margin:5px 0 7px;color:#17263f;font-size:22px}.organization-help-heading p{max-width:780px;margin:0;color:#718198;font-size:12px;line-height:1.55}.organization-role-guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:21px}.organization-role-guide article{display:flex;gap:11px;padding:16px;border:1px solid #e0e6ed;border-radius:13px;background:#f9fbfc}.organization-role-guide article>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#edf1f5;color:#52647a;font-size:9px;font-weight:900}.organization-role-guide h3{margin:1px 0 5px;color:#24344c;font-size:12px}.organization-role-guide p{margin:0;color:#748399;font-size:9px;line-height:1.45}.organization-role-guide .coordinator_rch>span,.organization-role-guide .coordinator_pnnc>span{background:#fbeaec;color:#a7191c}.organization-role-guide .leader_rch>span,.organization-role-guide .leader_pnnc>span{background:#e9f2fa;color:#174d79}.organization-role-guide .custom>span{background:#eef2ff;color:#3730a3}.organization-permission-steps{margin-top:18px;padding:19px;border:1px solid #e0e6ed;border-radius:13px;background:linear-gradient(110deg,#f8fafc,#fff)}.organization-permission-steps h3{margin:0 0 14px;color:#24344c;font-size:14px}.organization-permission-steps ol{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0;padding:0;list-style:none;counter-reset:steps}.organization-permission-steps li{position:relative;display:grid;gap:4px;padding:0 11px;border-left:2px solid #dce4ed}.organization-permission-steps li b{color:#34465d;font-size:10px}.organization-permission-steps li span{color:#8492a5;font-size:8px;line-height:1.4}.organization-permission-note{margin-top:17px;padding:11px 13px;border-radius:9px;background:#fff2f3;color:#7b3340;font-size:9px}.organization-permission-note b{color:#a7191c}@media(max-width:1150px){.organization-role-guide{grid-template-columns:repeat(2,1fr)}.organization-permission-steps ol{grid-template-columns:1fr 1fr}}@media(max-width:650px){.organization-help{margin:0 16px 35px;padding:18px}.organization-role-guide,.organization-permission-steps ol{grid-template-columns:1fr}}
.organization-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.organization-create-user{min-height:30px;border:1px solid #ead3d9;border-radius:9px;background:#fff5f6;color:#981b33;font-size:8px;font-weight:900;cursor:pointer}.organization-create-user:hover{background:#fce9ec}.organization-create-user:disabled{cursor:not-allowed;opacity:.45}.organization-user-result{display:grid;gap:5px;margin:0 10px 10px;padding:10px;border:1px solid #cfe3d5;border-radius:9px;background:#f2faf4;color:#496456;font-size:8px}.organization-user-result[hidden]{display:none}.organization-user-result b{color:#28704c;font-size:9px}.organization-user-result span{overflow:hidden;text-overflow:ellipsis}.organization-user-result label{display:grid;gap:3px;color:#6c7d72}.organization-user-result strong{padding:6px;border:1px dashed #8ab99a;border-radius:6px;background:#fff;color:#173f28;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;user-select:all}.organization-user-result small{line-height:1.4}
.user-role-wizard{padding:25px}.functional-role-guide button{display:flex;gap:11px;padding:16px;border:1px solid #e0e6ed;border-radius:13px;background:#f9fbfc;text-align:left;cursor:pointer;transition:.18s ease}.functional-role-guide button:hover{border-color:#b8c8d9;transform:translateY(-2px);box-shadow:0 7px 18px rgba(32,54,84,.07)}.functional-role-guide button.selected{border-color:#a7191c;background:#fff7f8;box-shadow:0 0 0 3px rgba(167,25,28,.08)}.functional-role-guide button>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#edf1f5;color:#52647a;font-size:9px;font-weight:900}.functional-role-guide button:first-child>span{background:#fbeaec;color:#a7191c}.functional-role-guide button:nth-child(2)>span{background:#e9f2fa;color:#174d79}.functional-role-guide button:nth-child(3)>span{background:#edf6ef;color:#247048}.functional-role-guide h3{margin:1px 0 5px;color:#24344c;font-size:12px}.functional-role-guide p{margin:0;color:#748399;font-size:9px;line-height:1.45}.role-assignment-form{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(300px,1.5fr) minmax(210px,1fr) auto;gap:14px;align-items:end;margin-top:18px;padding:19px;border:1px solid #e0e6ed;border-radius:13px;background:linear-gradient(110deg,#f8fafc,#fff)}.role-assignment-form>label{display:grid;gap:7px;color:#506078;font-size:10px;font-weight:900}.role-assignment-form select{height:42px;border:1px solid #d7e0e9;border-radius:9px;background:#fff;padding:0 10px;color:#34455c}.role-assignment-form fieldset{display:flex;flex-wrap:wrap;gap:9px 14px;min-height:42px;margin:0;padding:9px 12px;border:1px solid #d7e0e9;border-radius:9px;background:#fff}.role-assignment-form legend{padding:0 4px;color:#506078;font-size:10px;font-weight:900}.role-assignment-form fieldset label{display:flex;align-items:center;gap:5px;color:#596a81;font-size:9px}.role-assignment-summary{display:grid;gap:3px}.role-assignment-summary span,.role-assignment-summary small{color:#7b899b;font-size:8px}.role-assignment-summary strong{color:#a7191c;font-size:13px}.role-assignment-form .sync-button{min-height:42px;white-space:nowrap}.role-assignment-state{grid-column:1/-1;margin:0;color:#28704c;font-size:10px;font-weight:800}@media(max-width:1100px){.role-assignment-form{grid-template-columns:1fr 1fr}.functional-role-guide{grid-template-columns:1fr 1fr}}@media(max-width:650px){.role-assignment-form,.functional-role-guide{grid-template-columns:1fr}}

/* Estructura comercial */
.organization-loading strong,.organization-loading span,.organization-loading small{display:block}.organization-loading strong{margin-bottom:6px;color:#1d2d45;font-size:16px}.organization-loading span{margin-bottom:16px}.organization-loading button{min-height:40px;border:0;border-radius:10px;background:linear-gradient(105deg,#74142b,#b51e36);color:#fff;padding:0 17px;font-size:11px;font-weight:850;cursor:pointer;box-shadow:0 8px 18px rgba(158,25,48,.18)}.organization-loading button:disabled{opacity:.65;cursor:wait}.organization-loading small{margin-top:10px;color:#b51e36}
.organization-app{background:#f3f7fb}.organization-app .topbar p{margin:3px 0 0;color:#718198;font-size:12px}.organization-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,220px));gap:12px;padding:24px 30px 4px}.organization-summary>div{display:flex;align-items:baseline;gap:8px;padding:15px 18px;border:1px solid #dce5ee;border-radius:13px;background:#fff;box-shadow:0 5px 18px rgba(32,54,84,.05)}.organization-summary strong{color:#17263f;font-size:24px}.organization-summary span{color:#718198;font-size:11px}.organization-loading{margin:25px 30px;padding:30px;border:1px solid #dce5ee;border-radius:16px;background:#fff;color:#718198;text-align:center}.organization-trees{display:grid;gap:24px;padding:22px 30px 50px}.organization-line{overflow:hidden;border:1px solid #dce5ee;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(32,54,84,.06)}.organization-line-heading{padding:20px 24px 13px;border-bottom:1px solid #e4eaf0;background:linear-gradient(90deg,#fff,#f5f8fc)}.organization-line-heading span{color:#a7191c;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.organization-line-heading h2{margin:4px 0 0;color:#17263f;font-size:20px}.organization-chart-scroll{overflow-x:auto;padding:34px 24px 42px}.organization-chart{min-width:max-content;display:flex;justify-content:center}.organization-node{position:relative;display:flex;flex-direction:column;align-items:center}.organization-card{position:relative;z-index:2;width:220px;overflow:visible;border:1px solid #dfe6ed;border-radius:12px;background:#fff;box-shadow:0 5px 13px rgba(28,52,82,.09)}.organization-card.has-children{border-color:#82bee3;box-shadow:0 0 0 4px #e9f5fc,0 7px 18px rgba(28,82,120,.12)}.organization-card-type{overflow:hidden;padding:13px 14px 5px;color:#26364e;font-size:10px;font-weight:900;white-space:nowrap;text-overflow:ellipsis}.organization-person{display:flex;gap:8px;align-items:center;padding:4px 14px}.organization-person>span{width:29px;height:29px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,#a7191c,#143557);color:#fff;font-size:9px;font-weight:900}.organization-person div{min-width:0;display:grid}.organization-person strong,.organization-person small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.organization-person strong{color:#344258;font-size:10px}.organization-person small{color:#95a0ae;font-size:8px}.organization-card-metric{display:grid;gap:4px;padding:8px 14px 12px}.organization-card-metric small{color:#9aa5b2;font-size:8px}.organization-card-metric b{width:fit-content;padding:4px 7px;border:1px solid #e2e7ec;border-radius:999px;color:#65748a;font-size:8px}.organization-card footer{padding:9px 14px;border-top:1px solid #edf0f4;border-radius:0 0 12px 12px;background:#f9fbfc;color:#8491a2;font-size:8px;text-align:center}.organization-children{position:relative;display:flex;gap:18px;padding-top:66px}.organization-children:before{content:"";position:absolute;top:32px;left:110px;right:110px;height:1px;background:#b9c8d8}.organization-node>.organization-card.has-children:after{content:"";position:absolute;left:50%;bottom:-34px;width:1px;height:34px;background:#b9c8d8}.organization-children>.organization-node:before{content:"";position:absolute;top:-34px;left:50%;width:1px;height:34px;background:#b9c8d8}.organization-children .organization-card{width:202px}@media(max-width:800px){.organization-summary{grid-template-columns:1fr;padding:18px 16px 0}.organization-trees{padding:18px 16px 40px}}
.sidebar-group-items > span[data-required-permission],.sidebar-group-items > span[data-superadmin-only] { display: contents; }
.organization-block-access{display:grid;gap:7px;padding-top:3px;border-top:1px solid #e1e7ee}.organization-block-access>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#34465d}.organization-block-access>div strong{font-size:9px}.organization-select-all{border:0;background:transparent;color:#a7191c;font-size:8px;font-weight:900;cursor:pointer}.organization-block-access fieldset{background:#fff}.organization-settings:has(.organization-block-access){width:330px;max-height:520px;overflow-y:auto;box-shadow:0 16px 35px rgba(29,49,75,.18)}.organization-settings .organization-block-access label{line-height:1.3}.organization-settings input{accent-color:#a7191c}@media(max-width:650px){.organization-settings:has(.organization-block-access){width:auto;max-width:calc(100vw - 70px)}}
.organization-create-user.is-created,.organization-create-user.is-created:disabled{border-color:#cce5d5;background:#eef8f1;color:#237046;opacity:1;cursor:default}
.organization-settings-backdrop{position:fixed;inset:0;z-index:8000;background:rgba(18,32,52,.34);backdrop-filter:blur(2px)}.organization-settings-backdrop[hidden]{display:none}.organization-drawer-open{overflow:hidden}.organization-settings:not([hidden]){position:fixed;z-index:8100;top:18px;right:18px;bottom:18px;width:min(430px,calc(100vw - 36px))!important;max-height:none!important;overflow-y:auto;margin:0;padding:0 18px 20px;border:1px solid #d5e0ea;border-radius:18px;background:#f7fafc;box-shadow:0 28px 80px rgba(18,37,62,.3);text-align:left}.organization-settings-header{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 -18px 16px;padding:18px;border-bottom:1px solid #dce5ed;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:18px 18px 0 0}.organization-settings-header>div{min-width:0;display:grid;gap:3px}.organization-settings-header small{color:#a7191c;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.organization-settings-header strong{overflow:hidden;color:#1d2d45;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.organization-settings-header span{overflow:hidden;color:#7b8a9e;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.organization-settings-close{width:36px;min-height:36px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid #dce4ec;border-radius:10px;background:#f4f7fa;color:#5a6b80;font-size:21px;line-height:1}.organization-settings:not([hidden])>label{margin-bottom:12px}.organization-settings:not([hidden])>fieldset{margin-bottom:12px;padding:12px;background:#fff}.organization-settings:not([hidden]) .organization-block-access{gap:10px;padding-top:12px}.organization-settings:not([hidden]) .organization-block-access>fieldset{padding:12px;background:#fff}.organization-settings:not([hidden]) fieldset label{min-height:25px;font-size:10px}.organization-settings:not([hidden]) .organization-save{position:sticky;bottom:0;width:100%;min-height:44px;margin-top:5px;box-shadow:0 -8px 22px #f7fafc}.organization-settings:not([hidden]) .organization-save-state{display:block;padding:7px 0;font-size:9px}.organization-settings:not([hidden]) select{height:40px;font-size:11px}@media(max-width:650px){.organization-settings:not([hidden]){inset:10px;width:auto!important;border-radius:15px}}

/* Sidebar: cada enlace ocupa su propia fila y el contenido se desplaza sin superponerse. */
.organization-card:has(.organization-settings:not([hidden])),.organization-node:has(>.organization-card .organization-settings:not([hidden])){z-index:8200}.organization-settings:not([hidden]){z-index:8300}
body>.organization-settings:not([hidden]){position:fixed;z-index:8300;top:50%;left:calc(50% + 135px);right:auto;bottom:auto;width:min(820px,calc(100vw - 320px))!important;height:min(760px,calc(100vh - 48px));max-height:none!important;display:grid;grid-template-columns:240px minmax(0,1fr);grid-template-rows:auto auto auto 1fr auto;align-content:start;gap:14px 18px;overflow:hidden;margin:0;padding:0 22px 20px;transform:translate(-50%,-50%);border:1px solid #d9e2eb;border-radius:20px;background:#f6f8fb;box-shadow:0 35px 100px rgba(15,31,52,.34)}body>.organization-settings .organization-settings-header{grid-column:1/-1;position:relative;top:auto;margin:0 -22px;padding:20px 22px 17px;border-radius:20px 20px 0 0}body>.organization-settings>label{grid-column:1;grid-row:2;margin:0;padding:14px;border:1px solid #dfe6ed;border-radius:13px;background:#fff;font-size:10px}body>.organization-settings>fieldset{grid-column:1;grid-row:3;margin:0;padding:14px;border-radius:13px;background:#fff}body>.organization-settings>.organization-block-access{grid-column:2;grid-row:2/6;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:10px;min-height:0;overflow-y:auto;padding:2px 5px 8px 0;border:0}body>.organization-settings>.organization-block-access>div{grid-column:1/-1;position:sticky;top:0;z-index:2;padding:7px 2px 10px;background:#f6f8fb}body>.organization-settings>.organization-block-access>fieldset{margin:0;padding:12px;border-radius:12px;background:#fff}body>.organization-settings>.organization-block-access>fieldset:first-of-type{grid-column:1/-1;grid-template-columns:1fr 1fr}body>.organization-settings>.organization-block-access>fieldset:first-of-type legend{grid-column:1/-1}body>.organization-settings>.organization-save{grid-column:1;grid-row:5;position:static;width:100%;min-height:44px;margin:0;align-self:end;box-shadow:none}body>.organization-settings>.organization-save-state{grid-column:1;grid-row:4;align-self:start;min-height:30px;padding:8px 2px;text-align:left;font-size:9px}body>.organization-settings fieldset label{min-height:28px;font-size:10px}body>.organization-settings select{height:42px;font-size:11px}@media(max-width:900px){body>.organization-settings:not([hidden]){left:50%;width:calc(100vw - 32px)!important;grid-template-columns:1fr;height:calc(100vh - 32px);padding:0 16px 16px}body>.organization-settings .organization-settings-header{margin:0 -16px}body>.organization-settings>label,body>.organization-settings>fieldset,body>.organization-settings>.organization-block-access,body>.organization-settings>.organization-save,body>.organization-settings>.organization-save-state{grid-column:1;grid-row:auto}body>.organization-settings>.organization-block-access{grid-template-columns:1fr;overflow:visible}body>.organization-settings>.organization-block-access>fieldset:first-of-type{grid-column:1;grid-template-columns:1fr}body>.organization-settings:not([hidden]){overflow-y:auto}}
.sidebar{display:flex;flex-direction:column;overflow:hidden}.sidebar>.brand{flex:0 0 auto}.sidebar>.menu{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:4px;overflow-x:hidden;overflow-y:auto}.sidebar-group{flex:0 0 auto;width:100%}.sidebar-group.open .sidebar-group-items{display:flex;flex-direction:column;gap:2px}.sidebar-group.open .sidebar-group-items>span[data-required-permission],.sidebar-group.open .sidebar-group-items>span[data-superadmin-only]{display:block;flex:0 0 auto;width:100%;height:auto;min-height:36px;margin:0}.sidebar-group.open .sidebar-group-items>span[data-required-permission]>.sidebar-sub-link,.sidebar-group.open .sidebar-group-items>span[data-superadmin-only]>.sidebar-sub-link{width:100%;min-height:36px;margin:0}.sidebar-group-items>.sidebar-sub-link{flex:0 0 auto}.sidebar-logout{flex:0 0 auto;margin-top:22px;margin-bottom:10px;line-height:1.2}

/* Áreas desplegables */
.home-area-grid,
.catalog-area-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
}

.home-area-card,
.catalog-area-card {
  min-height: 166px;
  padding: 0;
  overflow: hidden;
  border-color: rgba(210, 220, 232, .9);
  border-radius: 19px;
  background: linear-gradient(155deg, #fff 0%, #f8fbff 72%, #f2f6fb 100%);
  box-shadow: 0 12px 28px rgba(31, 55, 91, .1), inset 0 1px 0 rgba(255,255,255,.95);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.home-area-card:not(.open):hover,
.catalog-area-card:not(.open):hover {
  transform: translateY(-5px);
  border-color: #bdcce0;
  box-shadow: 0 18px 34px rgba(31, 55, 91, .16);
}

.home-area-card.open,
.catalog-area-card.open {
  grid-column: 1 / -1;
  min-height: 84px;
  border-color: #cfd9e6;
  box-shadow: 0 16px 38px rgba(31, 55, 91, .11);
}

.home-area-card > header,
.catalog-area-card > header {
  box-sizing: border-box;
  min-height: 166px;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
  padding: 18px 14px 15px;
  cursor: pointer;
  user-select: none;
  transition: background .2s ease;
}

.home-area-card:not(.open) > header > span,
.catalog-area-card:not(.open) > header > span {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 50%;
  border-color: #d8e3f1;
  background: linear-gradient(145deg, #fff, #eaf2fb);
  color: #315d91;
  font-size: 21px;
  box-shadow: 0 8px 18px rgba(41, 88, 145, .14);
}

.home-area-card:not(.open) > header > div,
.catalog-area-card:not(.open) > header > div {
  justify-items: center;
  text-align: center;
}

.home-area-card:not(.open) > header h3,
.catalog-area-card:not(.open) > header h3 {
  font-size: 16px;
  line-height: 1.15;
}

.home-area-card:not(.open) > header em,
.catalog-area-card:not(.open) > header em {
  position: absolute;
  top: 13px;
  right: 13px;
  margin: 0;
}

.home-area-card:not(.open) > header button,
.catalog-area-card:not(.open) > header button {
  width: 28px;
  height: 28px;
  min-height: 28px;
  flex-basis: 28px;
  margin-top: 1px;
  border: 0;
  background: #edf3fa;
  box-shadow: none;
}

.home-area-card:not(.open) > header::after,
.catalog-area-card:not(.open) > header::after {
  content: "";
  position: absolute;
  bottom: 13px;
  left: 50%;
  width: 38px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #315d91, #a71931);
  opacity: .22;
  transform: translateX(-50%);
}

.home-area-card.open > header,
.catalog-area-card.open > header {
  min-height: 84px;
  flex-direction: row;
  justify-content: flex-start;
  gap: 11px;
  padding: 18px 20px;
}

.home-area-card.open > header em,
.catalog-area-card.open > header em {
  margin-left: auto;
}

.home-area-card > header:hover,
.catalog-area-card > header:hover {
  background: rgba(246, 249, 252, .88);
}

.home-area-card > header button,
.catalog-area-card > header button {
  display: grid;
  width: 34px;
  height: 34px;
  min-height: 34px;
  flex: 0 0 34px;
  padding: 0;
  place-items: center;
  border: 1px solid #dce4ed;
  border-radius: 50%;
  background: rgba(255, 255, 255, .82);
  color: transparent;
  font-size: 0;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(42, 61, 86, .08);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.home-area-card > header button::before,
.catalog-area-card > header button::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-right: 2px solid #60728a;
  border-bottom: 2px solid #60728a;
  transform: rotate(45deg);
  transition: transform .22s ease, margin .22s ease, border-color .2s ease;
}

.home-area-card > header button:hover,
.catalog-area-card > header button:hover {
  border-color: #c22a40;
  background: #fff7f8;
  box-shadow: 0 5px 14px rgba(171, 30, 51, .14);
}

.home-area-card.open > header button,
.catalog-area-card.open > header button {
  border-color: #d51f37;
  background: #a71931;
  box-shadow: 0 5px 15px rgba(167, 25, 49, .2);
}

.home-area-card.open > header button::before,
.catalog-area-card.open > header button::before {
  margin-top: 4px;
  border-color: #fff;
  transform: rotate(225deg);
}

.area-card-content {
  position: relative;
  z-index: 1;
  padding: 0 20px 20px;
  border-top: 1px solid #edf1f5;
  background: rgba(255, 255, 255, .96);
}

.area-card-content[hidden] {
  display: none;
}

.area-card-content > p {
  min-height: 0;
  margin: 15px 0;
  color: #66758a;
  font-size: 12px;
  line-height: 1.55;
}

.home-area-card.open .home-report-links,
.catalog-area-card.open .catalog-report-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.home-area-card.open .home-area-empty,
.catalog-area-card.open .catalog-area-empty {
  grid-column: 1 / -1;
}

@media (max-width: 1380px) {
  .home-area-grid,
  .catalog-area-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .home-area-card > header,
  .catalog-area-card > header {
    padding: 16px 10px 14px;
  }

  .home-area-card > header em,
  .catalog-area-card > header em {
    display: none;
  }

  .home-area-card > header button,
  .catalog-area-card > header button {
    width: 30px;
    height: 30px;
    min-height: 30px;
    flex-basis: 30px;
  }

  .home-area-card.open > header,
  .catalog-area-card.open > header {
    padding: 17px 18px;
  }
}

@media (max-width: 1180px) {
  .home-area-grid,
  .catalog-area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-area-card > header em,
  .catalog-area-card > header em {
    display: inline;
  }

  .home-area-card.open .home-report-links,
  .catalog-area-card.open .catalog-report-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .home-area-grid,
  .catalog-area-grid,
  .home-area-card.open .home-report-links,
  .catalog-area-card.open .catalog-report-links {
    grid-template-columns: 1fr;
  }

  .home-area-card > header,
  .catalog-area-card > header {
    padding: 15px;
  }

  .area-card-content {
    padding: 0 15px 15px;
  }
}

/* Áreas y módulos en preparación */
.home-report-links>.home-report-placeholder,.catalog-report-links>.catalog-report-placeholder{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px dashed #cfd9e6;border-radius:12px;background:#f6f8fb;opacity:.82}.home-report-placeholder>div,.catalog-report-placeholder>div{display:grid;gap:3px}.home-report-placeholder>b,.catalog-report-placeholder>b{flex:0 0 auto;padding:5px 7px;border-radius:999px;background:#e8edf4;color:#728198;font-size:8px;text-transform:uppercase}.home-area-empty,.catalog-area-empty{display:grid!important;gap:5px;padding:17px;border:1px dashed #d3dce8;border-radius:12px;background:#f8fafc;color:#6f7e92}.home-area-empty strong,.catalog-area-empty strong{color:#34465f;font-size:12px}.home-area-empty small,.catalog-area-empty small{font-size:10px;line-height:1.45}.sidebar-coming{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;min-height:34px;padding:6px 9px;color:#75849a;font-size:11px}.sidebar-coming .nav-svg{width:16px;height:16px}.sidebar-coming small{padding:3px 5px;border-radius:999px;background:#eef2f7;color:#8a97a9;font-size:7px;font-weight:900;text-transform:uppercase}.sidebar-empty{display:block;padding:8px 12px;color:#98a4b3;font-size:9px;font-style:italic}

.sidebar-menu-toggle {
  flex: 0 0 auto;
  width: calc(100% - 24px);
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  margin: 0 12px 12px;
  padding: 0 13px;
  border-color: #e3d6df;
  background: #fff7f8;
  color: #8f1733;
}

.sidebar-menu-toggle b {
  font-size: 12px;
  line-height: 1.15;
}

.sidebar-collapsed .sidebar {
  width: 76px !important;
}

.sidebar-collapsed .app {
  margin-left: 76px !important;
}

.sidebar-collapsed .sidebar .brand {
  grid-template-columns: 1fr !important;
  justify-items: center;
  padding-inline: 10px;
}

.sidebar-collapsed .sidebar .brand-logo {
  width: 34px;
}

.sidebar-collapsed .sidebar .brand div,
.sidebar-collapsed .sidebar .brand .icon-button,
.sidebar-collapsed .sidebar .menu > p,
.sidebar-collapsed .sidebar .sidebar-group-toggle > span:nth-child(2),
.sidebar-collapsed .sidebar .sidebar-group-toggle > b,
.sidebar-collapsed .sidebar .sidebar-sub-link > span:nth-child(2),
.sidebar-collapsed .sidebar .sidebar-coming > span:not(.nav-svg),
.sidebar-collapsed .sidebar .sidebar-empty,
.sidebar-collapsed .sidebar .sidebar-logout > span,
.sidebar-collapsed .sidebar .sidebar-menu-toggle > b {
  display: none !important;
}

.sidebar-collapsed .sidebar .menu {
  padding-inline: 9px !important;
}

.sidebar-collapsed .sidebar .menu::before,
.sidebar-collapsed .sidebar .sidebar-group::before {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  margin: 10px auto 8px;
  background: #e3e9f2;
}

.sidebar-collapsed .sidebar .menu::before {
  margin-top: 2px;
}

.sidebar-collapsed .sidebar .sidebar-sub-link,
.sidebar-collapsed .sidebar .sidebar-group-toggle,
.sidebar-collapsed .sidebar .sidebar-coming,
.sidebar-collapsed .sidebar .sidebar-logout,
.sidebar-collapsed .sidebar .sidebar-menu-toggle {
  width: 100% !important;
  min-height: 42px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-inline: 0;
  padding-inline: 0 !important;
  text-align: center;
}

.sidebar-collapsed .sidebar .sidebar-group-items {
  padding-left: 0 !important;
  margin-left: 0 !important;
  border-left: 0 !important;
}

.sidebar-collapsed .sidebar .nav-svg,
.sidebar-collapsed .sidebar .sidebar-group-icon {
  flex: 0 0 auto;
  margin: 0;
}

.sidebar-collapsed .sidebar .sidebar-menu-toggle {
  width: calc(100% - 18px) !important;
  margin: 0 9px 12px;
}

.sidebar-collapsed .diego-dashboard,
.sidebar-collapsed .gerencia-dashboard {
  width: calc(100% - 36px) !important;
  max-width: none !important;
  margin-left: 18px !important;
  margin-right: 18px !important;
}

.sidebar-collapsed.report-has-filter-drawer .diego-overview,
.sidebar-collapsed.report-has-filter-drawer #diegoSections,
.sidebar-collapsed.report-has-filter-drawer .compact-hero,
.sidebar-collapsed.report-has-filter-drawer #standardSummary,
.sidebar-collapsed.report-has-filter-drawer #standardVisuals,
.sidebar-collapsed.report-has-filter-drawer #detalle {
  margin-left: 0;
}

.sidebar-collapsed.report-has-filter-drawer.filter-panel-collapsed .diego-overview,
.sidebar-collapsed.report-has-filter-drawer.filter-panel-collapsed #diegoSections,
.sidebar-collapsed.report-has-filter-drawer.filter-panel-collapsed .compact-hero,
.sidebar-collapsed.report-has-filter-drawer.filter-panel-collapsed #standardSummary,
.sidebar-collapsed.report-has-filter-drawer.filter-panel-collapsed #standardVisuals,
.sidebar-collapsed.report-has-filter-drawer.filter-panel-collapsed #detalle {
  margin-right: 66px;
}

@media (max-width: 780px) {
  .sidebar-menu-toggle {
    display: none;
  }

  .sidebar-collapsed .sidebar {
    width: auto !important;
  }

  .sidebar-collapsed .app {
    margin-left: 0 !important;
  }
}

/* Informe Gerencia 2026 y 2027 */
.gerencia-dashboard {
  width: min(1516px, calc(100% - 64px));
  margin: 18px auto 36px;
}

.diego-filters,
.gerencia-filters {
  display: grid;
  grid-template-columns: 1.4fr repeat(6, minmax(120px, 1fr));
  gap: 12px;
  align-items: end;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  padding: 16px;
  box-shadow: 0 4px 14px rgba(31, 55, 91, 0.06);
}

.gerencia-filters {
  grid-template-columns: 1fr 160px minmax(360px, 520px);
}

.diego-filters p,
.diego-filters label,
.gerencia-filters p,
.gerencia-filters label,
.diego-section header p,
.diego-block-title p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.diego-filters label,
.gerencia-filters label {
  display: grid;
  gap: 6px;
  font-weight: 800;
}

.diego-filters select,
.gerencia-filters select {
  width: 100%;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 0 10px;
}

.month-filter-group {
  position: relative;
  display: grid;
  gap: 6px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.month-filter-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.month-multiselect {
  position: relative;
}

.month-multiselect summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 0 34px 0 10px;
  font-size: 12px;
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}

.month-multiselect summary::-webkit-details-marker {
  display: none;
}

.month-multiselect summary::after {
  content: "";
  position: absolute;
  right: 12px;
  width: 7px;
  height: 7px;
  border-right: 2px solid #6b7890;
  border-bottom: 2px solid #6b7890;
  transform: rotate(45deg) translateY(-2px);
}

.month-multiselect[open] summary {
  border-color: #27abc4;
  box-shadow: 0 0 0 3px rgba(39, 171, 196, 0.14);
}

.month-multiselect[open] summary::after {
  transform: rotate(225deg) translate(-2px, -1px);
}

.month-filter-options {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  width: min(420px, 92vw);
  max-height: 280px;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(86px, 1fr));
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(31, 55, 91, 0.18);
  padding: 10px;
}

.month-filter-option {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 4px 8px;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
}

.month-filter-option.all {
  width: fit-content;
  padding-right: 12px;
}

.month-filter-option input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #27abc4;
}

.month-filter-option:has(input:checked) {
  border-color: #27abc4;
  background: #eefbfe;
  color: #063d4a;
}

.gerencia-panel-grid {
  display: grid;
  grid-template-columns: minmax(360px, 500px) minmax(560px, 1fr);
  gap: 24px;
  margin-top: 16px;
}

.gerencia-section-title {
  margin: 34px 0 18px;
  color: #071323;
  font-size: 26px;
  font-weight: 800;
}

.gerencia-chart-grid {
  display: grid;
  grid-template-columns: minmax(560px, 2fr) minmax(360px, 1fr);
  gap: 24px;
  margin-top: 20px;
}

.gerencia-kpi-card,
.gerencia-table-card,
.gerencia-chart-card {
  min-height: 360px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  padding: 18px 4px 18px;
}

.gerencia-kpi-card h3,
.gerencia-table-card h3,
.gerencia-chart-card h3 {
  margin: 0;
  color: #091728;
  font-size: 16px;
  font-weight: 900;
}

.gerencia-table-card {
  overflow: hidden;
  padding: 18px 0 12px;
}

.gerencia-table-card h3 {
  padding: 0 6px 8px;
}

.gerencia-chart-card {
  min-height: 430px;
  padding: 18px 18px 16px;
}

.chart-legend {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 16px 0 4px 50px;
  color: #666;
  font-size: 14px;
}

.chart-legend button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.chart-legend i {
  display: inline-block;
  position: relative;
  width: 28px;
  height: 2px;
  background: currentColor;
}

.chart-legend i::after {
  content: "";
  position: absolute;
  top: -6px;
  left: 8px;
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-radius: 999px;
  background: #fff;
}

.legend-meta {
  color: #17aeda;
}

.legend-radicado {
  color: #4f5c92;
}

.legend-series,
.legend-chip {
  min-height: 0;
  border: 1px solid #d8dce2;
  border-radius: 999px;
  padding: 2px 8px;
  background: #fff;
  color: #4c5564;
  box-shadow: none;
  font-size: 13px;
}

.legend-series {
  border-color: transparent;
  padding-left: 0;
  color: #b7b7b7;
}

.legend-series.active {
  color: #666;
}

.legend-series:not(.active) i {
  color: #cfcfcf;
}

.legend-series:hover,
.legend-chip:hover {
  transform: none;
  box-shadow: none;
  color: #172039;
}

.gerencia-line-chart {
  width: 100%;
  min-height: 330px;
}

.gerencia-line-chart svg {
  display: block;
  width: 100%;
  height: auto;
}

.chart-grid-line {
  stroke: #e8e8e8;
  stroke-width: 1;
}

.chart-axis,
.chart-x-tick {
  stroke: #d5d5d5;
  stroke-width: 1;
}

.chart-y-label,
.chart-x-label {
  fill: #777;
  font-size: 14px;
}

.line-meta,
.line-radicado {
  fill: none;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.line-meta {
  stroke: #17aeda;
}

.line-radicado {
  stroke: #4f5c92;
}

.chart-hover-zone {
  fill: transparent;
  outline: none;
}

.chart-hover-guide {
  opacity: 0;
  stroke: #188dec;
  stroke-dasharray: 3 3;
  stroke-width: 1;
}

.chart-point {
  fill: #fff;
  stroke-width: 2;
  opacity: 0;
}

.point-meta {
  stroke: #17aeda;
}

.point-radicado {
  stroke: #4f5c92;
}

.chart-tooltip-box {
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
}

.chart-tooltip {
  display: grid;
  gap: 8px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(17, 24, 39, .18);
  padding: 12px;
  color: #5d6675;
  font-size: 13px;
}

.chart-tooltip strong {
  color: #202124;
  font-size: 14px;
}

.chart-tooltip span {
  display: grid;
  grid-template-columns: 12px minmax(88px, 1fr) auto;
  align-items: center;
  gap: 6px;
}

.chart-tooltip i {
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.tooltip-meta {
  background: #17aeda;
}

.tooltip-radicado {
  background: #4f5c92;
}

.tooltip-total {
  background: #f59e0b;
}

.chart-tooltip b {
  color: #5d6675;
  font-weight: 500;
}

.chart-hover-group:hover .chart-hover-guide,
.chart-hover-group:focus-within .chart-hover-guide,
.chart-hover-group:hover .chart-point,
.chart-hover-group:focus-within .chart-point,
.chart-hover-group:hover .chart-tooltip-box,
.chart-hover-group:focus-within .chart-tooltip-box {
  opacity: 1;
}

.gerencia-average-chart {
  display: grid;
  min-height: 330px;
  place-items: center;
  text-align: center;
}

.average-visual {
  display: grid;
  justify-items: center;
  gap: 10px;
  color: #18243c;
}

.average-icon {
  display: flex;
  align-items: end;
  gap: 6px;
  width: 62px;
  height: 62px;
  border-radius: 18px;
  padding: 15px 13px;
  background: linear-gradient(135deg, #bfeefe, #7bbfe8);
}

.average-icon i {
  display: block;
  width: 8px;
  border-radius: 8px;
  background: #fff;
}

.average-icon i:nth-child(1) { height: 20px; opacity: .75; }
.average-icon i:nth-child(2) { height: 28px; opacity: .9; }
.average-icon i:nth-child(3) { height: 36px; }

.average-visual strong {
  color: #172039;
  font-size: clamp(3rem, 5vw, 5.5rem);
  font-weight: 500;
  line-height: 1;
}

.average-visual span,
.chart-empty {
  color: #53647c;
  font-size: 14px;
}

.gerencia-wide-card {
  margin-top: 22px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  padding: 24px 22px 20px;
}

.gerencia-wide-card h3 {
  margin: 0 0 32px;
  color: #091728;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
}

.possible-close-wrap {
  overflow-x: auto;
}

.possible-close-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  color: #071323;
  font-size: 12px;
}

.possible-close-table th,
.possible-close-table td {
  border: 1px solid #dce2e8;
  padding: 6px 6px;
  line-height: 1.2;
}

.possible-close-table thead th {
  position: static;
  top: auto;
  z-index: auto;
  background: #f5fafc;
  color: #071323;
  font-size: 12px;
  font-weight: 500;
  text-align: left;
  text-transform: none;
}

.possible-close-table thead tr:first-child th:first-child {
  width: 270px;
}

.possible-close-table thead tr:first-child th:nth-child(2) {
  width: 360px;
}

.possible-close-table thead tr {
  height: 26px;
}

.possible-close-table tbody td {
  height: 24px;
  background: #fff;
}

.possible-close-table tbody td:first-child {
  color: #071323;
}

.possible-close-table tbody td:nth-child(n+3),
.possible-close-table tfoot th:nth-child(n+2) {
  color: #006bff;
  text-align: right;
}

.possible-close-table tbody tr:nth-child(even) {
  background: #fcfdfe;
}

.possible-close-table tfoot th {
  position: static;
  top: auto;
  z-index: auto;
  background: #f5fafc;
  color: #071323;
  font-size: 12px;
  font-weight: 900;
  text-transform: none;
}

.possible-close-table tfoot th:first-child {
  color: #071323;
  text-align: right;
}

.gerencia-detail-grid {
  display: grid;
  grid-template-columns: minmax(480px, .9fr) minmax(620px, 1.35fr);
  gap: 24px;
  margin-top: 22px;
}

.gerencia-detail-table-card {
  min-height: 420px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  padding: 18px 0 12px;
}

.gerencia-detail-table-card h3 {
  margin: 0;
  padding: 0 6px 8px;
  color: #091728;
  font-size: 16px;
  font-weight: 900;
}

.gerencia-rch-average-row {
  margin-top: 22px;
}

.gerencia-rch-average-card {
  min-height: 245px;
  background: #fff;
  border: 0;
  box-shadow: none;
  padding: 26px 14px;
}

.gerencia-rch-average-card h3 {
  margin: 0 0 54px;
  color: #091728;
  font-size: 16px;
  font-weight: 900;
}

.gerencia-rch-average-card strong {
  display: block;
  color: #17202a;
  font-size: clamp(44px, 6vw, 56px);
  font-weight: 400;
  line-height: 1;
}

.operativa-rch-section {
  margin-top: 34px;
}

.operativa-rch-section > h2 {
  margin: 0 0 30px;
  color: #071323;
  font-size: 26px;
  font-weight: 800;
}

.operativa-rch-panel {
  border: 1px solid #e8edf3;
  border-radius: 10px 10px 0 0;
  background: #fff;
  padding: 14px 14px 28px;
}

.operativa-rch-year {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-bottom: 28px;
  border: 1px solid #afd8ff;
  border-radius: 5px;
  padding: 3px 8px;
  color: #006bff;
  font-size: 14px;
  font-weight: 500;
}

.operativa-rch-grid {
  display: grid;
  grid-template-columns: minmax(520px, 1fr) minmax(620px, 1fr);
  gap: 40px;
  align-items: start;
}

.operativa-rch-table-card,
.operativa-rch-chart-card,
.operativa-rch-bank-card,
.operativa-rch-approved-card {
  background: #fff;
  border: 0;
  box-shadow: none;
}

.operativa-rch-table-card h3,
.operativa-rch-chart-card h3,
.operativa-rch-bank-card h3,
.operativa-rch-approved-card h3 {
  margin: 0 0 8px;
  color: #091728;
  font-size: 14px;
  font-weight: 900;
}

.operativa-rch-chart-card .chart-legend {
  margin-top: 8px;
  margin-left: 34px;
}

.operativa-rch-table {
  min-width: 620px;
}

.operativa-rch-table th,
.operativa-rch-table td {
  padding: 7px 8px;
  font-size: 12px;
}

.operativa-rch-table tfoot th {
  padding-top: 24px;
}

.operativa-rch-bank-card {
  margin-top: 78px;
}

.bank-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  margin: 8px 0 8px 4px;
}

.bank-legend-series,
.bank-legend-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.bank-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  padding: 0;
  color: #737986;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.bank-toggle i {
  display: block;
  width: 24px;
  height: 14px;
  border-radius: 3px;
  background: var(--bank-color);
}

.bank-toggle:not(.active) {
  opacity: .35;
}

.bank-page-button {
  border: 0;
  background: transparent;
  padding: 0 2px;
  color: #a6abb5;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}

.bank-legend-actions span {
  color: #697282;
  font-size: 12px;
  font-weight: 700;
}

.operativa-bank-chart {
  min-height: 620px;
  position: relative;
  overflow: visible;
}

.operativa-bank-chart svg {
  display: block;
  width: min(100%, 860px);
  min-height: 560px;
}

.bank-donut-segment {
  cursor: pointer;
  transition: filter .16s ease, transform .16s ease;
  transform-origin: center;
}

.bank-donut-segment-group:hover .bank-donut-segment,
.bank-donut-segment-group:focus-within .bank-donut-segment {
  filter: brightness(1.05);
}

.bank-donut-label {
  fill: #34383f;
  font-size: 13px;
  font-weight: 800;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 4px;
}

.bank-donut-total {
  fill: #2c3036;
  font-size: 16px;
  font-weight: 900;
}

.bank-donut-html-tooltip {
  position: absolute;
  top: 84px;
  left: min(58%, 520px);
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px 16px;
  width: 280px;
  border-radius: 4px;
  border: 1px solid #edf1f5;
  background: #fff;
  box-shadow: 0 4px 14px rgba(17, 24, 39, .18);
  padding: 14px 12px;
  color: #565d68;
  font-size: 13px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .16s ease, transform .16s ease;
}

.bank-donut-html-tooltip.visible {
  opacity: 1;
  transform: translateY(0);
}

.bank-donut-html-tooltip strong {
  grid-column: 1 / -1;
  color: #202124;
  font-size: 14px;
  font-weight: 900;
}

.bank-donut-html-tooltip b {
  color: #565d68;
  font-weight: 500;
}

.operativa-rch-approved-grid {
  display: grid;
  grid-template-columns: minmax(410px, .55fr) minmax(620px, 1fr);
  gap: 44px;
  align-items: start;
  margin-top: 38px;
  padding: 0 20px;
}

.operativa-rch-approved-card,
.operativa-rch-approved-chart-card {
  background: #fff;
  border: 0;
  box-shadow: none;
}

.operativa-rch-approved-card {
  width: 100%;
  margin-top: 0;
  padding: 0 0 14px;
}

.operativa-rch-approved-chart-card {
  width: 100%;
  min-height: 356px;
  padding: 0 0 14px;
}

.operativa-rch-approved-card h3,
.operativa-rch-approved-chart-card h3 {
  margin: 0 0 22px;
  padding-left: 0;
  font-size: 13px;
  color: #091728;
  font-weight: 900;
}

.operativa-rch-approved-chart-card h3 {
  margin-bottom: 12px;
  font-size: 15px;
}

.approved-table-wrap {
  overflow: visible;
  padding-left: 18px;
}

.approved-rch-table {
  width: 380px;
  min-width: 380px;
  max-width: 380px;
  table-layout: fixed;
  border-collapse: collapse;
  color: #071323;
  font-size: 12px;
}

.approved-rch-table col:nth-child(1) {
  width: 88px;
}

.approved-rch-table col:nth-child(2) {
  width: 130px;
}

.approved-rch-table col:nth-child(3) {
  width: 162px;
}

.approved-rch-table th,
.approved-rch-table td {
  border: 1px solid #dce2e8;
  height: 26px;
  padding: 5px 5px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}

.approved-rch-table thead th {
  background: #f5fafc;
  font-weight: 500;
  text-align: left;
}

.approved-rch-table tbody tr:nth-child(even) {
  background: #f7fbfd;
}

.approved-rch-table tbody td:nth-child(2),
.approved-rch-table tbody td:nth-child(3),
.approved-rch-table tfoot th:nth-child(2),
.approved-rch-table tfoot th:nth-child(3) {
  color: #006bff;
  text-align: right;
}

.approved-rch-table tbody td:first-child {
  color: #071323;
}

.approved-rch-table tfoot th {
  background: #fff;
  font-weight: 900;
}

.approved-rch-table tfoot th:first-child {
  text-align: right;
}

.approved-chart-legend {
  margin: 0 0 2px 36px;
  gap: 10px;
}

.approved-line-chart {
  width: 100%;
  min-height: 340px;
}

.approved-line-chart svg {
  display: block;
  width: 100%;
  height: auto;
}

.approved-chart-y-label {
  font-size: 12px;
}

.approved-chart-tooltip {
  gap: 7px;
  font-size: 12px;
}

.operativa-pnnc-section {
  margin-top: 34px;
}

.operativa-pnnc-section > h2 {
  margin: 0 0 30px;
  color: #071323;
  font-size: 26px;
  font-weight: 800;
}

.operativa-pnnc-card {
  position: relative;
  min-height: 400px;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fff;
  padding: 22px 16px 34px;
}

.operativa-pnnc-card + .operativa-pnnc-card {
  margin-top: 16px;
}

.card-menu {
  position: absolute;
  top: 16px;
  right: 18px;
  color: #535b66;
  font-size: 24px;
  line-height: 1;
}

.operativa-pnnc-card h3 {
  margin: 0 0 10px;
  color: #071323;
  font-size: 14px;
  font-weight: 900;
}

.pnnc-search-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: #071323;
  font-size: 13px;
}

.pnnc-search-label input {
  width: 184px;
  height: 32px;
  border: 1px solid #cfd6de;
  border-radius: 5px;
  padding: 0 12px;
  color: #071323;
  font-size: 13px;
}

.operativa-pnnc-table {
  min-width: 700px;
}

.operativa-pnnc-table th,
.operativa-pnnc-table td {
  padding: 8px 10px;
  font-size: 12px;
}

.operativa-pnnc-table th:first-child,
.operativa-pnnc-table td:first-child {
  width: 300px;
  text-align: left;
}

.pnnc-out-cell {
  background: #a9dec2;
}

.pnnc-out-cell.alert {
  background: #e996a2;
}

.operativa-pnnc-card-scroll {
  max-height: 400px;
  overflow: hidden;
}

.operativa-pnnc-second-wrap {
  max-height: 335px;
  overflow-y: auto;
}

.operativa-pnnc-second-table {
  min-width: 690px;
}

.pnnc-time-cell {
  background: #ccefdc;
}

.pnnc-time-cell.zero {
  background: #e996a2;
}

.operativa-pnnc-detail-card {
  min-height: 520px;
  padding: 18px 0 0;
  overflow: hidden;
}

.operativa-pnnc-detail-wrap {
  max-height: 520px;
  overflow: auto;
}

.operativa-pnnc-detail-table {
  min-width: 920px;
  table-layout: fixed;
}

.operativa-pnnc-detail-table th,
.operativa-pnnc-detail-table td {
  padding: 8px 6px;
  font-size: 12px;
  vertical-align: top;
}

.operativa-pnnc-detail-table th:nth-child(1),
.operativa-pnnc-detail-table td:nth-child(1) {
  width: 340px;
}

.operativa-pnnc-detail-table th:nth-child(2),
.operativa-pnnc-detail-table td:nth-child(2) {
  width: 95px;
}

.operativa-pnnc-detail-table th:nth-child(3),
.operativa-pnnc-detail-table td:nth-child(3) {
  width: 280px;
}

.operativa-pnnc-detail-table th:nth-child(4),
.operativa-pnnc-detail-table td:nth-child(4) {
  width: 100px;
  text-align: right;
}

.operativa-pnnc-detail-table th:nth-child(5),
.operativa-pnnc-detail-table td:nth-child(5) {
  width: 190px;
  text-align: center;
}

.muted-cell {
  color: #8a95a3;
}

.lp-compliance-card {
  min-height: 185px;
  margin-top: 16px;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fff;
  padding: 18px 14px;
}

.lp-compliance-card h3 {
  margin: 0;
  color: #071323;
  font-size: 13px;
  font-weight: 800;
}

.lp-compliance-value {
  margin-top: 58px;
  color: #111827;
  font-size: 42px;
  line-height: 1;
  font-weight: 400;
}

.lp-task-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  margin-top: 14px;
}

.lp-extra-grid {
  align-items: start;
}

.lp-task-card {
  min-height: 318px;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  background: #fff;
  padding: 18px 16px 14px;
  overflow: hidden;
}

.lp-task-card h3 {
  margin: 0 0 8px;
  color: #071323;
  font-size: 12px;
  font-weight: 800;
}

.lp-task-table-wrap {
  max-height: 270px;
  overflow: auto;
}

.lp-task-table {
  min-width: 980px;
  table-layout: fixed;
}

.lp-task-table th,
.lp-task-table td {
  padding: 7px 8px;
  font-size: 10px;
  line-height: 1.25;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

.lp-task-table td:not(:first-child),
.lp-task-table th:not(:first-child) {
  text-align: center;
}

.lp-task-table tfoot th {
  background: #fff;
  color: #006bff;
  font-weight: 900;
}

.lp-task-table tfoot th:first-child {
  color: #071323;
}

.lp-monthly-table th:nth-child(1),
.lp-monthly-table td:nth-child(1) {
  width: 70px;
}

.lp-monthly-table th:nth-child(2),
.lp-monthly-table td:nth-child(2),
.lp-monthly-table th:nth-child(3),
.lp-monthly-table td:nth-child(3),
.lp-monthly-table th:nth-child(4),
.lp-monthly-table td:nth-child(4),
.lp-monthly-table th:nth-child(5),
.lp-monthly-table td:nth-child(5) {
  width: 105px;
}

.lp-monthly-table th:nth-child(6),
.lp-monthly-table td:nth-child(6),
.lp-monthly-table th:nth-child(7),
.lp-monthly-table td:nth-child(7) {
  width: 145px;
}

.lp-monthly-table th:nth-child(8),
.lp-monthly-table td:nth-child(8) {
  width: 95px;
}

.lp-weekly-table {
  min-width: 900px;
}

.lp-weekly-table th:nth-child(1),
.lp-weekly-table td:nth-child(1) {
  width: 92px;
}

.lp-weekly-table th:nth-child(2),
.lp-weekly-table td:nth-child(2),
.lp-weekly-table th:nth-child(3),
.lp-weekly-table td:nth-child(3),
.lp-weekly-table th:nth-child(4),
.lp-weekly-table td:nth-child(4) {
  width: 110px;
}

.lp-weekly-table th:nth-child(5),
.lp-weekly-table td:nth-child(5),
.lp-weekly-table th:nth-child(6),
.lp-weekly-table td:nth-child(6) {
  width: 150px;
}

.lp-weekly-table th:nth-child(7),
.lp-weekly-table td:nth-child(7) {
  width: 95px;
}

.ins-detail-card {
  min-height: 318px;
}

.insolvencia-process-card {
  min-height: 318px;
  align-self: stretch;
}

.insolvencia-process-chart-card {
  display: flex;
  flex-direction: column;
}

.insolvencia-process-chart-card .chart-legend {
  flex: 0 0 auto;
}

.insolvencia-process-chart-card .gerencia-line-chart {
  flex: 1 1 auto;
  min-height: 260px;
}

.insolvencia-process-chart-card .gerencia-line-chart svg {
  height: 100%;
}

.seguros-grid {
  display: grid;
  grid-template-columns: minmax(120px, 0.55fr) minmax(320px, 1.45fr) minmax(320px, 1.45fr);
  gap: 14px;
  margin-top: 14px;
}

.seguros-two-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.seguros-card {
  min-height: 318px;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  background: #fff;
  padding: 18px 14px 14px;
  overflow: hidden;
}

.seguros-card h3 {
  margin: 0 0 14px;
  color: #071323;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 800;
}

.seguros-kpi-card {
  display: flex;
  flex-direction: column;
}

.seguros-kpi-value {
  margin-top: auto;
  margin-bottom: 94px;
  color: #111827;
  font-size: 30px;
  line-height: 1;
  font-weight: 400;
}

.seguros-table-wrap {
  max-height: 254px;
  overflow: auto;
}

.seguros-table {
  min-width: 540px;
  table-layout: fixed;
}

.seguros-table th,
.seguros-table td {
  padding: 7px 6px;
  font-size: 10px;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
}

.seguros-table td:not(:first-child),
.seguros-table th:not(:first-child) {
  text-align: right;
}

.seguros-table th:first-child,
.seguros-table td:first-child {
  width: 74px;
  text-align: left;
}

.seguros-calls-table {
  min-width: 720px;
}

.seguros-quotes-table {
  min-width: 540px;
}

.seguros-stack {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.seguros-wide-card {
  min-height: 0;
}

.seguros-search-label {
  margin-bottom: 10px;
}

.seguros-out-summary-wrap {
  max-height: 282px;
}

.seguros-out-detail-wrap {
  max-height: 250px;
}

.seguros-out-summary-table,
.seguros-out-detail-table {
  width: 100%;
  min-width: 760px;
}

.seguros-out-summary-table th:first-child,
.seguros-out-summary-table td:first-child {
  width: auto;
  text-align: left;
}

.seguros-out-summary-table th:nth-child(2),
.seguros-out-summary-table td:nth-child(2),
.seguros-out-summary-table th:nth-child(3),
.seguros-out-summary-table td:nth-child(3) {
  width: 27%;
  text-align: center;
}

.seguros-out-summary-table td:nth-child(3) {
  background: #a9dec2;
}

.seguros-out-summary-table td.out-alert {
  background: #f0c5cf;
}

.seguros-out-summary-table tfoot th {
  background: #fff;
  font-weight: 900;
}

.seguros-out-detail-table {
  min-width: 920px;
}

.seguros-out-detail-table th:first-child,
.seguros-out-detail-table td:first-child {
  width: 80px;
}

.seguros-out-detail-table th:nth-child(2),
.seguros-out-detail-table td:nth-child(2) {
  width: 56%;
  text-align: left;
}

.seguros-out-detail-table th:nth-child(3),
.seguros-out-detail-table td:nth-child(3) {
  width: 220px;
  text-align: left;
}

.seguros-out-detail-table th:nth-child(4),
.seguros-out-detail-table td:nth-child(4) {
  width: 150px;
  text-align: right;
}

.customer-service-panel {
  margin-top: 22px;
  border: 1px solid #e8edf3;
  border-radius: 10px 10px 0 0;
  background: #fff;
  padding: 16px 14px 44px;
}

.customer-service-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr);
  gap: 64px;
  align-items: stretch;
  margin-top: 26px;
}

.customer-service-card {
  min-height: 118px;
  background: #fff;
}

.customer-service-card h3 {
  margin: 0 0 28px;
  color: #071323;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
}

.customer-service-card strong {
  display: block;
  color: #111827;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.customer-service-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 48px;
  margin-top: 52px;
  align-items: start;
}

.customer-service-chart-card {
  position: relative;
  min-height: 360px;
  background: #fff;
  min-width: 0;
}

.customer-service-chart-card h3 {
  margin: 0 36px 8px 0;
  color: #071323;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
}

.customer-service-legend {
  margin: 0 0 8px;
}

.customer-service-donut-chart,
.customer-service-bar-chart {
  position: relative;
  min-height: 300px;
  overflow: visible;
}

.customer-service-donut-chart svg,
.customer-service-bar-chart svg {
  display: block;
  width: 100%;
  height: auto;
}

.customer-service-donut-chart .bank-donut-html-tooltip {
  top: 34px;
  left: min(58%, 260px);
}

.customer-service-donut-label {
  fill: #172033;
  font-size: 12px;
  font-weight: 800;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 4px;
}

.customer-service-bar {
  fill: #25a9c4;
}

.customer-service-bar-hover {
  fill: transparent;
  cursor: pointer;
}

.customer-service-bar-hover:hover + .customer-service-bar,
.customer-service-bar-hover:focus + .customer-service-bar {
  filter: brightness(.95);
}

.customer-service-response-tooltip {
  gap: 5px;
  padding: 10px 12px;
}

.customer-service-response-tooltip .tooltip-total-row {
  grid-template-columns: 1fr auto;
  padding-top: 2px;
}

.customer-service-response-tooltip .tooltip-total-row b {
  color: #5d6675;
}

.customer-service-response-grid {
  margin-top: 48px;
}

.customer-service-response-card {
  min-height: 330px;
}

.customer-service-response-table-wrap {
  max-height: none;
  overflow: auto;
  margin-top: 18px;
  padding-left: 8px;
}

.customer-service-response-table {
  width: auto;
  min-width: 470px;
  table-layout: fixed;
}

.customer-service-response-table th,
.customer-service-response-table td {
  padding: 6px 5px;
  font-size: 10px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}

.customer-service-response-table th:first-child,
.customer-service-response-table td:first-child {
  width: 92px;
  text-align: left;
}

.customer-service-response-table th:nth-child(2),
.customer-service-response-table td:nth-child(2) {
  width: 44px;
  text-align: center;
}

.customer-service-response-table th:not(:first-child) {
  color: #020b16;
  text-align: center;
}

.customer-service-response-table td:not(:first-child) {
  color: #006bff;
  text-align: center;
}

.customer-service-response-chart {
  min-height: 270px;
}

.customer-service-response-chart svg {
  display: block;
  width: 100%;
  height: auto;
}

.customer-response-line-0 {
  stroke: #27abc4;
}

.customer-response-line-1 {
  stroke: #5bbf82;
}

.customer-response-line-2 {
  stroke: #444f82;
}

.customer-response-line-3 {
  stroke: #ff7a45;
}

.customer-response-line-4 {
  stroke: #666666;
}

.customer-response-point-0 {
  fill: #27abc4;
}

.customer-response-point-1 {
  fill: #5bbf82;
}

.customer-response-point-2 {
  fill: #444f82;
}

.customer-response-point-3 {
  fill: #ff7a45;
}

.customer-response-point-4 {
  fill: #666666;
}

.customer-service-subtitle {
  margin: 62px 0 28px;
  color: #071323;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 800;
}

.customer-service-withdrawal-grid {
  gap: 50px;
  margin-top: 26px;
}

.customer-service-withdrawal-card {
  min-height: 300px;
}

.customer-service-withdrawal-card h3 {
  margin-bottom: 18px;
}

.customer-service-withdrawal-table-wrap {
  max-height: 245px;
  overflow: auto;
  padding-left: 8px;
}

.customer-service-withdrawal-summary-table {
  min-width: 430px;
  table-layout: fixed;
}

.customer-service-withdrawal-summary-table th,
.customer-service-withdrawal-summary-table td {
  padding: 7px 6px;
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

.customer-service-withdrawal-summary-table th:first-child,
.customer-service-withdrawal-summary-table td:first-child {
  width: 120px;
  text-align: left;
}

.customer-service-withdrawal-summary-table th:not(:first-child),
.customer-service-withdrawal-summary-table td:not(:first-child) {
  color: #006bff;
  text-align: center;
}

.customer-service-withdrawal-detail-wrap {
  max-height: 300px;
  overflow: auto;
  padding-left: 8px;
}

.customer-service-withdrawal-detail-table {
  min-width: 650px;
  table-layout: fixed;
}

.customer-service-withdrawal-detail-table th,
.customer-service-withdrawal-detail-table td {
  padding: 7px 6px;
  font-size: 10px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
}

.customer-service-withdrawal-detail-table th:nth-child(1),
.customer-service-withdrawal-detail-table td:nth-child(1) {
  width: 70px;
  text-align: left;
}

.customer-service-withdrawal-detail-table th:nth-child(2),
.customer-service-withdrawal-detail-table td:nth-child(2) {
  width: 80px;
  text-align: right;
}

.customer-service-withdrawal-detail-table th:nth-child(3),
.customer-service-withdrawal-detail-table td:nth-child(3) {
  width: 230px;
  text-align: left;
}

.customer-service-withdrawal-detail-table th:nth-child(4),
.customer-service-withdrawal-detail-table td:nth-child(4) {
  width: 140px;
  text-align: left;
}

.customer-service-withdrawal-detail-table th:nth-child(5),
.customer-service-withdrawal-detail-table td:nth-child(5) {
  width: 120px;
  text-align: right;
}

.ins-detail-wrap {
  max-height: 270px;
}

.ins-detail-table {
  min-width: 720px;
  table-layout: fixed;
}

.ins-detail-table th,
.ins-detail-table td {
  padding: 7px 6px;
  font-size: 10px;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  vertical-align: top;
}

.ins-detail-table th:nth-child(1),
.ins-detail-table td:nth-child(1) {
  width: 210px;
  text-align: left;
}

.ins-detail-table th:nth-child(2),
.ins-detail-table td:nth-child(2) {
  width: 100px;
  text-align: left;
}

.ins-detail-table th:nth-child(3),
.ins-detail-table td:nth-child(3) {
  width: 170px;
  text-align: left;
}

.ins-detail-table th:nth-child(4),
.ins-detail-table td:nth-child(4) {
  width: 80px;
  text-align: right;
}

.ins-detail-table th:nth-child(5),
.ins-detail-table td:nth-child(5) {
  width: 120px;
  text-align: center;
}

.lp-ok-cell {
  background: #a9dec2;
}

.lp-alert-cell {
  background: #efb4bf;
}

.pnnc-detail-table {
  min-width: 560px;
}

.pnnc-detail-table th,
.pnnc-detail-table td {
  padding: 10px 8px;
}

.pnnc-detail-table td:not(:first-child),
.pnnc-detail-table th:not(:first-child) {
  text-align: center;
}

.pnnc-detail-table tfoot th {
  background: #fff;
}

.gerencia-table-wrap {
  overflow-x: auto;
}

.gerencia-table {
  min-width: 720px;
}

.gerencia-table th {
  top: 0;
  background: #f4f8fb;
  color: #020b16;
  font-size: 14px;
  text-transform: none;
}

.sort-header {
  display: inline-flex;
  align-items: center;
  justify-content: inherit;
  gap: 5px;
  width: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  letter-spacing: 0;
}

.sort-header:hover,
.sort-header:focus-visible {
  color: #244f8f;
  transform: none;
  box-shadow: none;
}

.sort-indicator {
  display: inline-grid;
  gap: 2px;
  width: 8px;
  opacity: .35;
}

.sort-indicator::before,
.sort-indicator::after {
  content: "";
  display: block;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}

.sort-indicator::before {
  border-bottom: 5px solid currentColor;
}

.sort-indicator::after {
  border-top: 5px solid currentColor;
}

.sort-header.asc .sort-indicator,
.sort-header.desc .sort-indicator {
  opacity: .8;
}

.sort-header.asc .sort-indicator::after,
.sort-header.desc .sort-indicator::before {
  opacity: .22;
}

.gerencia-table th,
.gerencia-table td {
  border-right: 1px solid #dfe5ea;
  padding: 10px 8px;
}

.gerencia-table th:last-child,
.gerencia-table td:last-child {
  border-right: 0;
}

.gerencia-table tbody tr:nth-child(odd) {
  background: #f5fafc;
}

.gerencia-table td:not(:first-child),
.gerencia-table th:not(:first-child) {
  text-align: center;
}

.gerencia-table tfoot th {
  background: #fff;
  border-bottom: 0;
  font-size: 14px;
}

.compliance-cell.high {
  background: #ace0c8;
}

.compliance-cell.good {
  background: #fff3c9;
}

.compliance-cell.medium {
  background: #fbefbd;
}

.compliance-cell.low {
  background: #ffe889;
}

.gerencia-kpi-card strong {
  display: block;
  margin-top: 126px;
  color: #202124;
  font-size: clamp(5rem, 8vw, 8rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: .9;
}

.gerencia-kpi-card p {
  margin: 34px 0 0;
  color: #5c6f91;
  font-size: 12px;
  font-weight: 700;
}

.diego-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.diego-kpis article {
  display: grid;
  gap: 7px;
  min-height: 112px;
  align-content: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 15px;
  box-shadow: 0 4px 14px rgba(31, 55, 91, 0.06);
}

.diego-kpis span { color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.diego-kpis strong { font-size: 25px; }
.diego-kpis small { color: #405370; }
.diego-kpis .accent { border-color: #e8b7bf; background: linear-gradient(180deg, #fff, #fff6f7); }
.diego-kpis .accent strong { color: var(--red); }

.diego-section {
  margin-top: 18px;
  scroll-margin-top: 88px;
}

.diego-section > header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.diego-section > header > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(135deg, var(--navy), var(--red));
  color: #fff;
  font-size: 20px;
  font-weight: 900;
}

.diego-section h2,
.diego-block h3 { margin: 0; }
.diego-section h2 { font-size: 20px; }
.diego-block h3 { font-size: 15px; }

.diego-block-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.diego-block-grid.is-single > .diego-block,
.diego-block.is-row-single { grid-column: 1 / -1; }

.diego-block {
  min-height: 250px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 4px 14px rgba(31, 55, 91, 0.07);
}

.diego-block-title { display: flex; justify-content: space-between; gap: 14px; }
.diego-block-title em { height: fit-content; border-radius: 999px; background: #f1f5fa; color: var(--muted); padding: 5px 9px; font-size: 11px; font-style: normal; font-weight: 900; white-space: nowrap; }

.block-bars { display: flex; height: 130px; align-items: end; justify-content: space-around; gap: 18px; margin: 24px 14px 0; border-bottom: 1px solid var(--line); }
.block-bars i { width: 13%; border-radius: 7px 7px 0 0; background: linear-gradient(180deg, #8fa4c1, #d5dfeb); }
.block-bars i:nth-child(1) { height: 36%; }.block-bars i:nth-child(2) { height: 68%; }.block-bars i:nth-child(3) { height: 48%; }.block-bars i:nth-child(4) { height: 82%; }.block-bars i:nth-child(5) { height: 58%; }

.block-table { display: grid; gap: 9px; margin-top: 28px; }
.block-table i { height: 18px; border-radius: 5px; background: linear-gradient(90deg, #e7edf5 18%, transparent 18% 20%, #f2f5f9 20% 58%, transparent 58% 60%, #e7edf5 60%); }
.block-table i:first-child { background: #dbe5f1; }

.block-donut { display: flex; align-items: center; justify-content: center; gap: 24px; height: 160px; }
.block-donut i { width: 112px; height: 112px; border-radius: 50%; background: conic-gradient(#c3172d 0 34%, #21113b 34% 67%, #dbe4ef 67%); mask: radial-gradient(circle, transparent 48%, #000 50%); }
.block-donut span { color: var(--muted); font-size: 12px; font-weight: 800; }

.block-funnel { display: grid; justify-items: center; gap: 7px; margin-top: 24px; }
.block-funnel i { height: 24px; border-radius: 5px; background: linear-gradient(90deg, var(--navy), var(--red)); opacity: .82; }
.block-funnel i:nth-child(1) { width: 84%; }.block-funnel i:nth-child(2) { width: 67%; }.block-funnel i:nth-child(3) { width: 48%; }.block-funnel i:nth-child(4) { width: 30%; }

.radicated-values { margin-top: 18px; }
.radicated-values > p { color: var(--muted); font-size: 13px; }
.radicated-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; border-radius: 10px; background: var(--surface-soft); padding: 12px; }
.radicated-total span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.radicated-total strong { color: var(--red); font-size: 20px; }
.radicated-table-wrap { max-height: 280px; overflow: auto; }
.radicated-table { min-width: 560px; }
.radicated-table th { position: sticky; top: 0; }
.radicated-table th:last-child,
.radicated-table td:last-child { text-align: right; }
.empty-block { display: grid; min-height: 145px; place-content: center; gap: 8px; border: 1px dashed var(--line-strong); border-radius: 10px; background: #f8fbff; padding: 20px; text-align: center; }
.empty-block span { color: var(--muted); font-size: 12px; }
.empty-block.error { border-color: #e8b7bf; background: #fff6f7; }
.synced-table-wrap { margin-top: 20px; max-height: 310px; }
.synced-table { min-width: 620px; }
.synced-table td:not(:first-child),
.synced-table th:not(:first-child) { text-align: right; }

td strong {
  color: #1f3657;
}

@media (max-width: 1200px) {
  .filters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .filter-title,
  .filter-actions {
    grid-column: 1 / -1;
  }

  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid,
  .dashboard-layout,
  .diego-block-grid,
  .operativa-rch-grid {
    grid-template-columns: 1fr;
  }

  .diego-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .diego-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .dashboard-card {
    grid-template-columns: 1fr;
  }

  .dashboard-metrics,
  .dashboard-footer {
    grid-column: 1;
  }
}

@media (max-width: 780px) {
  .sidebar {
    position: static;
    width: auto;
  }

  .app {
    margin-left: 0;
  }

  .topbar,
  .topbar-actions,
  .hero {
    display: grid;
  }

  .search {
    width: 100%;
  }

  .hero,
  .filters,
  .notice,
  .cards,
  .table-panel,
  .tabs {
    width: calc(100% - 28px);
  }

  .hero {
    grid-template-columns: 1fr;
  }

  .hero aside {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 16px 0 0;
  }

  .filters,
  .cards {
    grid-template-columns: 1fr;
  }

  .report-grid {
    grid-template-columns: 1fr;
  }

  .diego-dashboard,
  .gerencia-dashboard { width: calc(100% - 28px); }
  .diego-filters,
  .gerencia-filters,
  .diego-kpis { grid-template-columns: 1fr; }
  .gerencia-panel-grid { grid-template-columns: 1fr; }
  .gerencia-detail-grid,
  .operativa-rch-grid { grid-template-columns: 1fr; }
  .operativa-rch-panel { padding: 12px; }
  .gerencia-kpi-card strong { margin-top: 80px; }
}

/* Usuarios y roles · espacio de trabajo 2026-08-18 */
.access-app #accessWorkspace { display: grid; gap: 18px; padding-bottom: 36px; }
.access-app .access-hero { background: linear-gradient(120deg, #fff 55%, #f9edf1 100%); border: 1px solid #dbe4ef; box-shadow: 0 18px 48px rgba(31, 48, 77, .08); }
.access-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 1.25fr; gap: 12px; }
.access-overview > div, .access-quick-nav { min-height: 116px; padding: 18px; border: 1px solid #dbe4ef; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(31, 48, 77, .06); }
.access-overview > div { display: grid; align-content: center; gap: 5px; }
.access-overview span { color: #7183a0; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.access-overview strong { color: #14233c; font-size: 30px; line-height: 1; }
.access-overview small { color: #7183a0; }
.access-quick-nav { display: grid; grid-template-columns: 1fr; gap: 6px; align-content: center; }
.access-quick-nav a { padding: 8px 12px; border-radius: 10px; color: #314765; font-weight: 750; text-decoration: none; background: #f4f7fb; }
.access-quick-nav a:hover { color: #a71935; background: #fbeff2; }
.access-users-section .access-table-wrap { max-height: 440px; }
.role-workspace { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(520px, 1.5fr); gap: 20px; align-items: start; }
.role-workspace > div, .role-assignment-form { padding: 20px; border: 1px solid #dbe4ef; border-radius: 18px; background: #f8fafc; }
.role-workspace .functional-role-guide { grid-template-columns: 1fr; margin-top: 14px; }
.role-workspace .functional-role-guide button { min-height: 78px; text-align: left; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.role-workspace .functional-role-guide button:hover { transform: translateY(-1px); border-color: #c9a6af; }
.role-workspace .functional-role-guide button.selected { border-color: #bd1f3c; background: #fff; box-shadow: 0 8px 22px rgba(167, 25, 53, .1); }
.role-assignment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; background: #fff; }
.role-assignment-heading, .role-assignment-form #generalBlockAssignment, .role-assignment-footer, .role-assignment-state { grid-column: 1 / -1; }
.role-assignment-heading h3 { margin: 5px 0; color: #14233c; font-size: 22px; }
.role-assignment-heading p { margin: 0; color: #7183a0; }
.role-assignment-form label, .role-assignment-form legend { color: #314765; font-weight: 750; }
.role-assignment-form select { width: 100%; margin-top: 8px; }
.role-report-field { margin: 0; }
#generalBlockAssignment { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#generalBlockAssignment > legend { grid-column: 1 / -1; }
#generalBlockAssignment .role-assignment-block-group { margin: 0; background: #f8fafc; }
.role-assignment-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 16px; border-top: 1px solid #e2e8f0; }
.role-assignment-summary { display: grid; gap: 2px; }
.role-assignment-summary span { color: #7183a0; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.role-assignment-summary strong { color: #14233c; font-size: 18px; }
.role-assignment-summary small { color: #7183a0; }
.access-advanced { padding: 0; overflow: hidden; }
.access-advanced > summary { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 20px 24px; cursor: pointer; list-style: none; }
.access-advanced > summary::-webkit-details-marker { display: none; }
.access-advanced > summary h2, .access-advanced > summary p { margin: 0; }
.access-advanced > summary p { margin-top: 4px; color: #7183a0; }
.access-advanced > summary b { color: #a71935; font-size: 13px; }
.access-advanced[open] > summary { border-bottom: 1px solid #dbe4ef; background: #fbfcfe; }
.access-advanced-content { display: grid; gap: 18px; padding: 20px; }
.access-subsection { padding: 18px; border: 1px solid #e1e7ef; border-radius: 16px; background: #fff; }

@media (max-width: 1180px) {
  .access-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .role-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .access-overview, .role-assignment-form, #generalBlockAssignment { grid-template-columns: 1fr; }
  .role-assignment-heading, .role-assignment-form #generalBlockAssignment, .role-assignment-footer, .role-assignment-state { grid-column: 1; }
  .role-workspace > div, .role-assignment-form { padding: 14px; }
  .role-assignment-footer { align-items: stretch; flex-direction: column; }
  .access-advanced > summary { grid-template-columns: auto 1fr; }
  .access-advanced > summary b { grid-column: 2; }
}

/* Tema claro/oscuro integrado en el paquete principal. */
:root[data-theme="dark"] { color-scheme: dark; --bg:#0b1220; --surface:#121c2d; --surface-soft:#18253a; --line:#293953; --line-strong:#435675; --text:#edf3fc; --muted:#a8b7cc; --muted-2:#8393aa; --navy:#f2eaff; --green-soft:#12392e; --blue-soft:#162d4f; --shadow:0 16px 38px rgba(0,0,0,.34); }
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:126px; min-height:40px; padding:0 13px; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--surface); box-shadow:0 7px 18px rgba(31,55,91,.1); white-space:nowrap; }
.theme-toggle span { font-size:17px; line-height:1; }.theme-toggle b { font-size:12px; }.theme-toggle:hover { border-color:#b31d39; transform:translateY(-1px); }.theme-toggle-floating { position:fixed; z-index:1000; top:18px; right:18px; }
:root[data-theme="dark"] body,:root[data-theme="dark"] .home-dashboard { background:var(--bg); color:var(--text); }
:root[data-theme="dark"] :is(.sidebar,.topbar,.home-sidebar,.home-topbar) { background:rgba(18,28,45,.96); border-color:var(--line); }
:root[data-theme="dark"] :is(.brand span,.menu a,.topbar h1,.home-topbar h1,h1,h2,h3,h4,strong) { color:var(--text); }
:root[data-theme="dark"] .menu a:hover,:root[data-theme="dark"] .menu a.active { color:#fff; background:#21314a; }
:root[data-theme="dark"] .menu span { color:#c4d2e6; background:#1b2940; }
:root[data-theme="dark"] :is(.hero,.filters,.notice,.table-panel,.report-card,.dashboard-card,.diego-panel,.gerencia-panel,.operativa-rch-panel,.access-section,.access-create-panel,.access-hero,.organization-summary,.organization-card,.sync-card,.sync-summary,.catalog-area-card,.home-area-card,.home-system-card,.home-welcome,.login-card,.access-overview>div,.access-quick-nav,.role-workspace>div,.role-assignment-form,.access-subsection) { color:var(--text); background:var(--surface); border-color:var(--line); box-shadow:var(--shadow); }
:root[data-theme="dark"] :is(p,small,.muted) { color:var(--muted); }
:root[data-theme="dark"] :is(input,select,textarea,button,.search,.home-search) { color:var(--text); background-color:#101a2a; border-color:var(--line); }
:root[data-theme="dark"] option { color:var(--text); background:#101a2a; }
:root[data-theme="dark"] :is(table,thead,tbody,tr,th,td) { border-color:var(--line); }
:root[data-theme="dark"] :is(th,thead td) { color:#dbe6f5; background:#1a2940; }
:root[data-theme="dark"] tbody tr:nth-child(odd) { background:#101a2a; }:root[data-theme="dark"] tbody tr:nth-child(even) { background:#142035; }:root[data-theme="dark"] tbody tr:hover { background:#20324d; }:root[data-theme="dark"] td { color:#dce7f5; }

/* Informe general: acabado oscuro uniforme y legible. */
:root[data-theme="dark"] main.app {
  background:
    radial-gradient(circle at 78% 4%, rgba(137, 34, 72, .1), transparent 28%),
    linear-gradient(180deg, #091221 0%, #0b1424 100%);
}
:root[data-theme="dark"] .general-commercial-report .diego-section > header h2,
:root[data-theme="dark"] .general-commercial-report .diego-block-title h3 {
  color: #f4f7fc;
}
:root[data-theme="dark"] .general-commercial-report .diego-section > header p,
:root[data-theme="dark"] .general-commercial-report .diego-block-title p {
  color: #9fb0c8;
}
:root[data-theme="dark"] .general-commercial-report .diego-block,
:root[data-theme="dark"] .diego-kpis article {
  border-color: #263a56;
  background: linear-gradient(145deg, #121e31, #0f1a2b);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
}
:root[data-theme="dark"] .general-commercial-report .diego-block:hover {
  border-color: #3c5578;
  box-shadow: 0 17px 38px rgba(0, 0, 0, .34);
}
:root[data-theme="dark"] .general-commercial-report .diego-block-title em,
:root[data-theme="dark"] .general-commercial-report .diego-block-title em:not(:empty) {
  border-color: #314765;
  background: #192940;
  color: #aebed3;
}
:root[data-theme="dark"] .report-has-filter-drawer .report-filter-drawer {
  border-color: #2a3d58;
  background: rgba(13, 23, 39, .98);
  box-shadow: -16px 0 38px rgba(0, 0, 0, .34);
  scrollbar-color: #405675 #0d1727;
}
:root[data-theme="dark"] .report-has-filter-drawer .filter-panel-toggle {
  border: 1px solid #2c405c;
  background: #16243a;
  color: #edf3fc;
}
:root[data-theme="dark"] .report-has-filter-drawer .filter-panel-toggle:hover {
  border-color: #49617f;
  background: #1b2b44;
}
:root[data-theme="dark"] .report-has-filter-drawer .filter-panel-toggle span {
  background: #eef3fa;
  color: #a91632;
}
:root[data-theme="dark"] .filter-panel-heading {
  border-color: #263a55;
}
:root[data-theme="dark"] .filter-title {
  color: #f0f4fb;
}
:root[data-theme="dark"] .general-commercial-report .diego-filters .filter-title::after {
  color: #ef8da2;
}
:root[data-theme="dark"] .diego-filters select,
:root[data-theme="dark"] .diego-filters input,
:root[data-theme="dark"] .report-has-filter-drawer .gerencia-filters select,
:root[data-theme="dark"] .report-has-filter-drawer .gerencia-filters .month-multiselect summary {
  border-color: #304663;
  background-color: #121f33;
  color: #edf3fc;
}
:root[data-theme="dark"] .diego-filters select:hover,
:root[data-theme="dark"] .diego-filters input:hover {
  border-color: #506987;
  background-color: #172740;
}
:root[data-theme="dark"] .diego-filters select:focus,
:root[data-theme="dark"] .diego-filters input:focus {
  border-color: #d45a73;
  background-color: #172740;
  box-shadow: 0 0 0 3px rgba(212, 90, 115, .16);
}
:root[data-theme="dark"] .filter-combobox-list {
  border-color: #304663;
  background: #111e31;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .38);
}
:root[data-theme="dark"] .diego-filters .filter-combobox.has-selection .filter-combobox-input {
  border-color: #a95065;
  background-color: #2a1c29;
  color: #ffb0bf;
  box-shadow: inset 3px 0 0 #d45a73;
}
:root[data-theme="dark"] .filter-combobox-list button {
  color: #dce6f4;
  background: transparent;
}
:root[data-theme="dark"] .filter-combobox-list button:hover,
:root[data-theme="dark"] .filter-combobox-list button.is-selected {
  background: #213550;
  color: #ff9aad;
}
:root[data-theme="dark"] #diegoDashboard #clearDiegoFilters,
:root[data-theme="dark"] .clear-report-filters {
  border-color: #6c3546;
  background: #241824;
  color: #f39aae;
}
:root[data-theme="dark"] #diegoDashboard #clearDiegoFilters:hover,
:root[data-theme="dark"] .clear-report-filters:hover {
  border-color: #bd4962;
  background: #321b29;
}
:root[data-theme="dark"] :is(.radicated-matrix-wrap,.leadership-matrix-wrap,.performance-table-wrap,.commission-matrix-wrap,.gerencia-table-wrap) {
  border-color: #2a3d58;
  background: #0f1a2b;
  scrollbar-color: #405675 #0d1727;
}
:root[data-theme="dark"] :is(.radicated-matrix,.leadership-matrix,.commission-matrix) :is(th,td),
:root[data-theme="dark"] :is(.advisor-negotiations-table,.performance-table,.synced-table) :is(th,td) {
  border-color: #2a3d58;
}
:root[data-theme="dark"] .general-commercial-report :is(.radicated-matrix,.leadership-matrix,.commission-matrix) thead th,
:root[data-theme="dark"] :is(.advisor-negotiations-table,.performance-table) th {
  background: #1a2a42;
  color: #e6edf7;
  box-shadow: inset 0 -1px 0 #344a68;
}
:root[data-theme="dark"] :is(.radicated-matrix,.leadership-matrix,.commission-matrix) :is(th:first-child,td:first-child),
:root[data-theme="dark"] .commission-matrix :is(th:last-child,td:last-child) {
  background: #111e31;
}
:root[data-theme="dark"] :is(.radicated-matrix,.leadership-matrix,.commission-matrix) thead th:first-child,
:root[data-theme="dark"] .commission-matrix thead th:last-child {
  background: #1a2a42;
}
:root[data-theme="dark"] :is(.radicated-matrix,.leadership-matrix,.commission-matrix) tbody tr:nth-child(odd) td,
:root[data-theme="dark"] :is(.advisor-negotiations-table,.performance-table) tbody tr:nth-child(odd) {
  background: #101c2e;
}
:root[data-theme="dark"] :is(.radicated-matrix,.leadership-matrix,.commission-matrix) tbody tr:nth-child(even) td,
:root[data-theme="dark"] :is(.advisor-negotiations-table,.performance-table) tbody tr:nth-child(even) {
  background: #142238;
}
:root[data-theme="dark"] :is(.radicated-matrix,.leadership-matrix,.commission-matrix) tbody tr:hover td,
:root[data-theme="dark"] :is(.advisor-negotiations-table,.performance-table) tbody tr:hover {
  background: #1d3451;
}
:root[data-theme="dark"] :is(.radicated-matrix,.leadership-matrix,.commission-matrix) tbody td:not(:first-child),
:root[data-theme="dark"] :is(.radicated-matrix,.commission-matrix) tfoot td,
:root[data-theme="dark"] .management-close-table td:not(:first-child) {
  color: #5db5ff;
}
:root[data-theme="dark"] :is(.radicated-matrix,.commission-matrix) tfoot :is(th,td),
:root[data-theme="dark"] .radicated-table tfoot[data-auto-totals] :is(th,td) {
  border-color: #435a79;
  background: #1a2940;
  color: #f1f5fb;
}
:root[data-theme="dark"] .empty-block {
  border-color: #3a506d;
  background: #101d30;
}
:root[data-theme="dark"] .empty-block.error {
  border-color: #76384a;
  background: #281923;
}
:root[data-theme="dark"] .table-column-sort:hover,
:root[data-theme="dark"] .table-column-sort:focus-visible {
  background: rgba(112, 158, 211, .16);
  color: #d9e8fa;
}
:root[data-theme="dark"] .login-page { background:#09111f; }:root[data-theme="dark"] .login-brand-panel { background:linear-gradient(145deg,#100b1f,#23102b 52%,#3b1022); }
:root[data-theme="light"] .login-page { color:#14233c; background:radial-gradient(circle at 8% 10%,#f6d9dd 0,transparent 34%),radial-gradient(circle at 92% 8%,#dce9f8 0,transparent 38%),#f4f7fb; }
:root[data-theme="light"] .login-shell { border-color:#d7e1ed; background:linear-gradient(135deg,#fff 0%,#f8fafc 58%,#eef4fb 100%); box-shadow:0 35px 90px rgba(31,55,91,.18),inset 0 1px #fff; }
:root[data-theme="light"] .login-brand-panel { background:radial-gradient(circle at 58% 28%,rgba(84,124,169,.14),transparent 32%),linear-gradient(140deg,#fff,#f8f2f5 48%,#eef5fc); }
:root[data-theme="light"] .login-brand-panel h1 { color:#102039; text-shadow:none; }:root[data-theme="light"] .login-brand-panel h1 em { color:#b51e3a; }:root[data-theme="light"] .login-brand-panel p { color:#526782; }
:root[data-theme="light"] .login-neon-badge { color:#951a32; background:#fff2f4; border-color:#e7b4bd; }:root[data-theme="light"] .login-feature-row span { color:#405570; background:rgba(255,255,255,.8); border-color:#ccd8e6; }
:root[data-theme="light"] .login-network-node { color:#243955; background:rgba(255,255,255,.9); border-color:#d5e0ec; box-shadow:0 14px 34px rgba(31,55,91,.14); }:root[data-theme="light"] .login-network-node small { color:#64758d; }
:root[data-theme="light"] .login-card { border-color:#d6e1ee; background:rgba(255,255,255,.9); box-shadow:0 28px 68px rgba(31,55,91,.18),inset 0 1px #fff; }:root[data-theme="light"] .login-card h2 { color:#102039; }:root[data-theme="light"] .login-card>p { color:#5e718a; }:root[data-theme="light"] .login-card>small { color:#71839b; }
:root[data-theme="light"] .panel-login-form label { color:#314762; }:root[data-theme="light"] .panel-login-form input { color:#14233c; background:#f7f9fc; border-color:#cbd7e5; }
@media(max-width:780px){.theme-toggle{min-width:40px;width:40px;padding:0}.theme-toggle b{display:none}.theme-toggle-floating{top:12px;right:12px}}

/* Login: una sola composición visual, dos paletas. */
:root[data-theme="dark"] {
  --login-page-bg: radial-gradient(circle at 10% 12%,#d85a5d 0,#a7191c 17%,transparent 40%),radial-gradient(circle at 90% 8%,#41658e 0,#143557 25%,transparent 48%),linear-gradient(135deg,#6f1119,#101d32 44%,#142f50);
  --login-shell-bg: linear-gradient(135deg,rgba(10,24,43,.97),rgba(12,28,48,.96) 55%,rgba(22,52,85,.94));
  --login-panel-bg: radial-gradient(circle at 58% 28%,rgba(47,83,121,.28),transparent 30%);
  --login-card-bg: linear-gradient(145deg,rgba(30,56,86,.8),rgba(9,23,41,.9));
  --login-heading:#fff; --login-copy:#c9bbd0; --login-card-copy:#c2cfdd; --login-label:#d6e0eb;
  --login-input-bg:rgba(255,255,255,.085); --login-input-text:#fff; --login-input-border:rgba(255,255,255,.17);
  --login-shell-border:rgba(255,255,255,.2); --login-card-border:rgba(115,151,190,.32);
  --login-node-bg:linear-gradient(145deg,rgba(32,56,84,.78),rgba(9,22,39,.88)); --login-node-text:#f6f8fb;
}
:root[data-theme="light"] {
  --login-page-bg: radial-gradient(circle at 10% 12%,#f7dfe2 0,#ecd0d6 17%,transparent 40%),radial-gradient(circle at 90% 8%,#dbe9f7 0,#c8daed 25%,transparent 48%),linear-gradient(135deg,#f7edf0,#f5f8fc 44%,#eaf2fa);
  --login-shell-bg: linear-gradient(135deg,rgba(255,255,255,.98),rgba(249,251,254,.97) 55%,rgba(238,245,252,.96));
  --login-panel-bg: radial-gradient(circle at 58% 28%,rgba(84,124,169,.15),transparent 30%);
  --login-card-bg: linear-gradient(145deg,rgba(255,255,255,.94),rgba(242,247,252,.96));
  --login-heading:#102039; --login-copy:#526782; --login-card-copy:#5e718a; --login-label:#314762;
  --login-input-bg:rgba(244,247,251,.96); --login-input-text:#14233c; --login-input-border:#cbd7e5;
  --login-shell-border:#d7e1ed; --login-card-border:#d6e1ee;
  --login-node-bg:linear-gradient(145deg,rgba(255,255,255,.94),rgba(238,244,250,.96)); --login-node-text:#243955;
}
:root[data-theme] .login-page { background:var(--login-page-bg); }
:root[data-theme] .login-shell { background:var(--login-shell-bg); border-color:var(--login-shell-border); }
:root[data-theme] .login-brand-panel { background:var(--login-panel-bg); }
:root[data-theme] .login-brand-panel h1 { color:var(--login-heading); }
:root[data-theme] .login-brand-panel p { color:var(--login-copy); }
:root[data-theme] .login-card { background:var(--login-card-bg); border-color:var(--login-card-border); }
:root[data-theme] .login-card h2 { color:var(--login-heading); }
:root[data-theme] .login-card>p { color:var(--login-card-copy); }
:root[data-theme] .panel-login-form label { color:var(--login-label); }
:root[data-theme] .panel-login-form input { background:var(--login-input-bg); color:var(--login-input-text); border-color:var(--login-input-border); }
:root[data-theme] .login-network-node { background:var(--login-node-bg); color:var(--login-node-text); }

/* Filtros contraidos: deja visible unicamente la flecha de apertura. */
.report-has-filter-drawer .report-filter-drawer.is-collapsed,
:root[data-theme="dark"] .report-has-filter-drawer .report-filter-drawer.is-collapsed {
  right: 10px;
  bottom: auto;
  width: 34px;
  height: 42px;
  min-height: 0;
  max-height: 42px;
  overflow: visible;
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle,
:root[data-theme="dark"] .report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle {
  width: 34px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle:hover,
:root[data-theme="dark"] .report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle:hover {
  border: 0;
  background: transparent;
}

.report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle span,
:root[data-theme="dark"] .report-has-filter-drawer .report-filter-drawer.is-collapsed .filter-panel-toggle span {
  width: 34px;
  height: 42px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 34px;
}

/* Presenta el informe completo cuando todas sus fuentes terminaron de cargar. */
.report-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, #f9fbfe 0%, #f6eef1 48%, #eaf2fa 100%);
  opacity: 1;
  visibility: visible;
  transition: opacity .55s ease, visibility .55s ease;
}
.report-loader[hidden] { display: none; }
.report-loader-glow {
  position: absolute;
  width: min(72vw, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(from 20deg, rgba(181,30,58,.18), rgba(51,94,139,.15), rgba(181,30,58,.06), rgba(181,30,58,.18));
  filter: blur(38px);
  animation: report-loader-turn 9s linear infinite;
}
.report-loader-card {
  position: relative;
  width: min(84vw, 390px);
  display: grid;
  justify-items: center;
  gap: 13px;
  padding: 42px 38px 34px;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 30px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 30px 90px rgba(34,55,84,.18), inset 0 1px rgba(255,255,255,.95);
  backdrop-filter: blur(22px);
  text-align: center;
}
.report-loader-card img { width: 148px; margin-bottom: 9px; }
.report-loader-card strong { color: #172942; font-size: 1.15rem; letter-spacing: -.01em; }
.report-loader-card span { max-width: 310px; color: #63738a; font-size: .88rem; line-height: 1.55; }
.report-loader-orbit { position: relative; width: 58px; height: 58px; margin: 3px 0 5px; border: 1px solid rgba(181,30,58,.14); border-radius: 50%; animation: report-loader-turn 1.8s linear infinite; }
.report-loader-orbit::before { content: ""; position: absolute; inset: 10px; border: 2px solid rgba(50,91,135,.18); border-top-color: #b51e3a; border-radius: 50%; }
.report-loader-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #b51e3a; box-shadow: 0 0 14px rgba(181,30,58,.65); }
.report-loader-orbit i:nth-child(1) { top: -3px; left: 25px; }
.report-loader-orbit i:nth-child(2) { right: 2px; bottom: 8px; background: #365f8d; }
.report-loader-orbit i:nth-child(3) { left: 2px; bottom: 8px; width: 5px; height: 5px; opacity: .65; }
.report-loader-progress { width: 100%; height: 5px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: #e4eaf1; }
.report-loader-progress i { display: block; width: 45%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #a91834, #e16669, #426d9b); animation: report-loader-progress 1.35s ease-in-out infinite; }
.report-loading > .sidebar,
.report-loading > main.app { opacity: 0; visibility: hidden; }
.report-ready > .sidebar,
.report-ready > main.app { animation: report-content-arrive .62s cubic-bezier(.2,.75,.25,1) both; }
.report-ready .report-loader { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes report-loader-turn { to { transform: rotate(360deg); } }
@keyframes report-loader-progress { 0% { transform: translateX(-115%); } 55%,100% { transform: translateX(225%); } }
@keyframes report-content-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .report-loader-glow, .report-loader-orbit, .report-loader-progress i { animation-duration: .01ms; animation-iteration-count: 1; }
  .report-ready > .sidebar, .report-ready > main.app { animation: none; }
}
