/* ---- Acceso independiente al CRM ---- */
.crm-auth-shell {
  box-sizing: border-box;
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 28px 18px;
  background: #F4F4F4;
  color: #161616;
  font-family: "IBM Plex Sans", Arial, sans-serif;
}
.crm-auth-card {
  box-sizing: border-box;
  width: min(100%, 440px);
  padding: 32px;
  border: 1px solid #E0E0E0;
  border-top: 4px solid #8C2F58;
  background: #FFFFFF;
  box-shadow: 0 12px 36px rgba(22, 22, 25, .08);
}
.crm-auth-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
}
.crm-auth-brand img {
  display: block;
  flex: 0 0 52px;
  border-radius: 50%;
  object-fit: cover;
}
.crm-auth-brand div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.crm-auth-brand strong {
  font-size: 15px;
  font-weight: 600;
}
.crm-auth-brand span {
  color: #6F6F6F;
  font-size: 12px;
  letter-spacing: .04em;
}
.crm-auth-card h1 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
}
.crm-auth-subtitle {
  margin: 8px 0 22px;
  color: #525252;
  font-size: 14px;
  line-height: 1.5;
}
.crm-auth-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.crm-auth-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: #393939;
  font-size: 13px;
  font-weight: 600;
}
.crm-auth-field input {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #8D8D8D;
  border-radius: 0;
  background: #FFFFFF;
  color: #161616;
  font: 400 14px/20px "IBM Plex Sans", Arial, sans-serif;
}
.crm-auth-field input:focus {
  outline: 2px solid #8C2F58;
  outline-offset: 1px;
}
.crm-auth-submit {
  min-height: 46px;
  margin-top: 4px;
  padding: 11px 16px;
  border: 0;
  border-radius: 0;
  background: #8C2F58;
  color: #FFFFFF;
  font: 600 14px/20px "IBM Plex Sans", Arial, sans-serif;
  cursor: pointer;
}
.crm-auth-submit:hover:not(:disabled) {
  background: #702348;
}
.crm-auth-submit:focus-visible {
  outline: 2px solid #161616;
  outline-offset: 3px;
}
.crm-auth-submit:disabled {
  opacity: .65;
  cursor: wait;
}
.crm-auth-error {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid #DA1E28;
  background: #FFF1F1;
  color: #A2191F;
  font-size: 13px;
  line-height: 1.45;
}
.crm-auth-loading {
  color: #525252;
  font-size: 14px;
}
.hdr-usr-rol {
  display: block;
  max-width: 180px;
  overflow: hidden;
  margin-top: 2px;
  color: var(--dz-text-2);
  font-size: 12px;
  line-height: 16px;
  letter-spacing: .32px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 671px) {
  :root { --hdr-usr-w: 214px; }
  .hdr-usr-b { display: flex; gap: 8px; padding: 0 8px; }
  .hdr-usr-av { flex-basis: 32px; width: 32px; height: 32px; }
  .hdr-usr-t b { max-width: 126px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; }
  .hdr-usr-rol { max-width: 126px; font-size: 10px; }
  .hdr-salir { flex-basis: 48px; width: 48px; }
}
@media (max-width: 380px) {
  :root { --hdr-usr-w: 194px; }
}
@media (max-width: 480px) {
  .crm-auth-shell { align-items: flex-start; padding: 16px 12px; }
  .crm-auth-card { margin: auto 0; padding: 24px 20px; }
}
  :root { box-sizing:border-box; color-scheme: light; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
  html, body { margin:0; padding:0; height:100%; overflow:hidden; }
  #root { height:100%; }
  #boot-error { display:none; position:fixed; inset:0; padding:32px; font-family:ui-monospace,monospace; font-size:12.5px; color:#DA1E28; background:#F4F4F4; white-space:pre-wrap; overflow:auto; line-height:1.6; z-index:9999; }
  #boot-error h2 { font-family:system-ui,sans-serif; color:#161616; font-size:15px; margin:0 0 12px; }
  #boot-error p { font-family:system-ui,sans-serif; color:#525252; font-size:12.5px; margin:0 0 16px; }
  @keyframes uvaBackdropIn { from { opacity:0; } to { opacity:1; } }
  @keyframes uvaModalIn { from { opacity:0; transform:scale(0.96) translateY(6px); } to { opacity:1; transform:scale(1) translateY(0); } }
  @keyframes uvaViewIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
  @keyframes uvaRowIn { from { opacity:0; } to { opacity:1; } }
  .uva-backdrop { animation: uvaBackdropIn 0.16s ease-out; }
  .uva-modal { animation: uvaModalIn 0.22s cubic-bezier(0.16,1,0.3,1); }
  .uva-view { animation: uvaViewIn 0.18s ease-out; }
  .uva-row:hover { background-color: #E8E8E8 !important; }
  .uva-row td { transition: color 120ms ease; }
  input, select, textarea { transition: border-color 120ms ease, box-shadow 120ms ease; }
  input:focus, select:focus, textarea:focus {
    border-color: #8C2F58 !important;
    box-shadow: 0 0 0 3px rgba(194, 71, 127,0.12);
    outline: none;
  }
  input::placeholder, textarea::placeholder { transition: opacity 0.15s ease; }
  @keyframes uvaFieldError { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
  .uva-field-error { animation: uvaFieldError 0.15s ease-out; }

  /* ===== Tokens de diseño ===== */
  :root {
    --uva-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --uva-ease: 120ms ease;
    --uva-accent: #8C2F58;
    --sb-width: 252px;
    --sb-width-compact: 64px;
    --sb-bg: #161619;
    --sb-border: #26262B;
    --sb-text: #A3A39E;
    --sb-text-hover: #E4E4DF;
    --sb-text-active: #FFFFFF;
    --sb-label: #6B6B67;
    --sb-prefix: #7E7E78;
    --sb-hover: rgba(255,255,255,0.04);
    --sb-active-bg: rgba(217, 119, 159, 0.16);
    --sb-accent: #D9779F;
  }
  html, body { font-family: var(--uva-font); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
  button:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--uva-accent); outline-offset: 2px; }
  .uva-iconbtn { transition: opacity var(--uva-ease), background-color var(--uva-ease); }
  .uva-iconbtn:hover { opacity: 0.8; }

  /* ===== Navegación lateral ===== */
  .uva-sb-slot { position: relative; z-index: 30; flex: 0 0 var(--sb-width); width: var(--sb-width); height: 100vh; }
  .uva-sb { display: flex; flex-direction: column; width: 100%; height: 100%; background: var(--sb-bg); border-right: 1px solid var(--sb-border); font-family: var(--uva-font); font-size: 13.5px; font-weight: 400; line-height: 1.5; color: var(--sb-text); }
  .uva-sb-scrim { display: none; }
  .uva-sb-brand { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; padding: 20px 18px 18px; text-align: left; border-bottom: 1px solid var(--sb-border); }
  .uva-sb-logo { display: block; width: 38px; height: 38px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
  .uva-sb-brandtext { display: flex; flex-direction: column; gap: 3px; line-height: 1.2; }
  .uva-sb-title { color: #FFFFFF; font-size: 14px; font-weight: 600; letter-spacing: 0.01em; }
  .uva-sb-sub { color: var(--sb-accent); font-size: 9.5px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; }
  .uva-sb-toggle { display: none !important; }
  .uva-sb-nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-bottom: 14px; scrollbar-width: thin; scrollbar-color: #393939 transparent; }
  .uva-sb-group { padding: 16px 0 2px; }
  .uva-sb-label { padding: 0 0 8px 18px; font-size: 9.5px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--sb-label); white-space: nowrap; }
  .uva-sb-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
  .uva-sb-item { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 37.5px; margin: 0; padding: 9px 15px 9px 15px; border: 0; border-left: 3px solid transparent; border-radius: 0; background: transparent; color: var(--sb-text); font-family: inherit; font-size: 13px; font-weight: 400; line-height: 19.5px; text-align: left; cursor: pointer; transition: background-color var(--uva-ease), color var(--uva-ease), border-color var(--uva-ease); }
  .uva-sb-item:hover { background: var(--sb-hover); color: var(--sb-text-hover); }
  .uva-sb-item.is-active { background: var(--sb-active-bg); border-left-color: var(--sb-accent); color: var(--sb-text-active); font-weight: 600; }
  .uva-sb-item:focus-visible { outline: 2px solid var(--uva-accent); outline-offset: -2px; }
  .uva-sb-icon { flex: 0 0 18px; width: 18px; display: inline-flex; align-items: center; justify-content: center; }
  .uva-sb-icon svg { width: 15px; height: 15px; }
  .uva-sb-item.is-active .uva-sb-icon { color: var(--sb-accent); }
  .uva-sb-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
  .uva-sb-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .uva-sb-prefix { font-size: 10px; font-weight: 400; line-height: 13px; color: var(--sb-prefix); }
  .uva-sb-item.is-active .uva-sb-prefix { color: rgba(255,255,255,0.6); }
  .uva-sb-badge { flex: 0 0 auto; min-width: 20px; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,0.10); color: #C9C9C3; font-size: 10px; font-weight: 600; line-height: 13px; text-align: center; }
  .uva-sb-badge.is-amber { background: #33270D; color: #E2A93B; }
  .uva-sb-footer { flex: 0 0 auto; padding: 12px; border-top: 1px solid var(--sb-border); }
  .uva-sb-user { display: flex; align-items: center; gap: 10px; }
  .uva-sb-userinfo { flex: 1 1 auto; min-width: 0; }
  .uva-sb-username { color: #FFFFFF; font-size: 13px; font-weight: 600; line-height: 1.3; }
  .uva-sb-role { display: block; width: 100%; margin-top: 3px; padding: 3px 6px; font-family: inherit; font-size: 11px; color: #B8B8B0; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10); border-radius: 0; cursor: pointer; }
  .uva-sb-role option { color: #161616; }
  .uva-sb-aux { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto; min-height: 35px; padding: 9px 12px; border: 1px solid rgba(255,255,255,0.08); border-radius: 0; background: transparent; color: var(--sb-text); font-family: inherit; font-size: 12.5px; font-weight: 600; line-height: 1; cursor: pointer; transition: background-color var(--uva-ease), color var(--uva-ease); }
  .uva-sb-aux svg { width: 15px; height: 15px; }
  .uva-sb-aux:hover { background: var(--sb-hover); color: #FFFFFF; }
  .uva-sb-note { margin-top: 10px; font-size: 10px; line-height: 1.45; color: #5C5C56; }

  /* ===== Encabezados de página ===== */
  .uva-topbar { flex: 0 0 auto; background: #F4F4F4; }
  .uva-topbar-util { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 60px; padding: 0 32px; background: #FFFFFF; border-bottom: 1px solid #E0E0E0; }
  .uva-topbar-search { flex: 1 1 auto; min-width: 0; max-width: 440px; }
  .uva-pagehead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; padding: 28px 32px 4px; }
  .uva-pagehead-text { flex: 1 1 280px; min-width: 0; }
  .uva-pagehead-sub { margin-top: 6px; font-size: 13px; line-height: 1.5; color: #525252; }
  .uva-pagehead-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
  .uva-pagehead-actions > * { max-width: 100%; flex-wrap: wrap !important; justify-content: flex-end; row-gap: 8px; }
  .uva-shell { padding: 24px 32px 40px; }
  .uva-label { font-size: 12.5px; font-weight: 500; line-height: 1.4; }
  .uva-kpi-link { display: flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 14px; font-size: 12px; font-weight: 600; color: #752449; }
  @media (max-width: 1100px) {
    [style*="repeat(5, minmax(0px"], [style*="repeat(6, minmax(0px"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  }
  @media (max-width: 900px) {
    [style*="repeat(4, minmax(0px"], [style*="repeat(5, minmax(0px"], [style*="repeat(6, minmax(0px"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    [style*="grid-template-columns: minmax(0px, 1.3fr) minmax(280px"], [style*="grid-template-columns: minmax(0px, 2fr) minmax(320px"] { grid-template-columns: minmax(0, 1fr) !important; }
  }
  @media (max-width: 640px) {
    [style*="repeat(2, minmax(0px"], [style*="repeat(3, 1fr)"], [style*="repeat(3, minmax(0px"], [style*="repeat(4, minmax(0px"], [style*="repeat(5, minmax(0px"], [style*="repeat(6, minmax(0px"], [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: minmax(0, 1fr) !important; }
    .uva-pagehead-actions > * { justify-content: flex-start; }
    .uva-topbar-util { padding: 0 16px; height: 56px; }
    .uva-pagehead { padding: 20px 16px 0; }
    .uva-pagehead-actions { justify-content: flex-start; }
    .uva-shell { padding: 16px 16px 32px; }
  }

  /* ===== Panel general: resumen operativo ===== */
  .uva-ro-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .uva-ro-icon { width: 34px; height: 34px; border-radius: 0; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .uva-ro-stages { display: flex; flex-direction: column; gap: 9px; margin-bottom: 20px; }
  .uva-ro-stage { display: flex; align-items: center; gap: 9px; min-width: 0; font-size: 12.5px; color: #262626; }
  .uva-ro-stage-name { flex: 0 0 128px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .uva-ro-track { flex: 1 1 auto; height: 6px; border-radius: 999px; background: #E8E8E8; overflow: hidden; }
  .uva-ro-track > div { height: 100%; border-radius: 999px; }
  .uva-ro-stage-n { flex: 0 0 30px; text-align: right; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .uva-ro-dot { display: inline-block; width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; }
  .uva-ro-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding: 12px 22px; border-top: 1px solid #E0E0E0; background: #F4F4F4; }
  .uva-ro-link { display: inline-flex; align-items: center; gap: 3px; padding: 0; border: 0; background: none; font: inherit; font-size: 12.5px; font-weight: 600; color: #752449; cursor: pointer; white-space: nowrap; }
  .uva-ro-link:hover { text-decoration: underline; }
  .uva-ro-demo { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font-size: 12.5px; color: #525252; cursor: pointer; }
  .uva-ro-demo input { accent-color: #8C2F58; margin: 0; }
  .uva-ro-demo-note { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 9px 12px; border-radius: 0; background: #FCF4D6; color: #8E6A00; font-size: 12.5px; }
  @media (max-width: 1180px) {
    .uva-ro-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uva-ro-grid > :last-child { grid-column: 1 / -1; }
  }
  @media (max-width: 640px) {
    .uva-ro-grid { grid-template-columns: minmax(0, 1fr); }
  }

  /* ===== Pipeline Kanban ===== */
  .pk-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; margin-bottom: 16px; }
  .pk-month { display: flex; align-items: center; gap: 8px; }
  .pk-month-label { min-width: 118px; text-align: center; font-size: 14px; font-weight: 600; color: #161616; }
  .pk-today { padding: 4px 6px; border: 0; background: none; font: inherit; font-size: 12.5px; font-weight: 600; color: #752449; cursor: pointer; }
  .pk-summary { font-size: 12.5px; color: #525252; }
  .pk-summary b { font-weight: 600; color: #161616; }
  .pk-search { flex: 1 1 220px; max-width: 320px; margin-left: auto; }
  .pk-board { display: flex; align-items: stretch; gap: 10px; overflow-x: auto; padding-bottom: 14px; min-height: calc(100vh - 290px); scroll-snap-type: x proximity; }
  .pk-col { flex: 1 1 0; min-width: 204px; display: flex; flex-direction: column; background: #E8E8E8; border: 1px solid transparent; border-radius: 0; scroll-snap-align: start; transition: border-color 120ms ease, background-color 120ms ease; }
  .pk-col.is-over { border-color: #8C2F58; background: #F6E9EF; }
  .pk-col.is-lost { background: #FFF1F1; }
  .pk-col-head { display: flex; align-items: center; gap: 8px; padding: 12px 10px 2px 12px; }
  .pk-col-dot { display: inline-block; width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; }
  .pk-col-name { flex: 1 1 auto; min-width: 0; font-size: 12.5px; font-weight: 600; color: #161616; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pk-col-count { flex-shrink: 0; padding: 1px 8px; border-radius: 999px; background: #FFFFFF; font-size: 11px; font-weight: 600; color: #525252; font-variant-numeric: tabular-nums; }
  .pk-col-sub { min-height: 15px; padding: 0 12px 10px 28px; font-size: 11.5px; color: #6F6F6F; }
  .pk-col-body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 8px; padding: 0 8px 10px; }
  .pk-empty { padding: 18px 10px; border: 1.5px dashed #C6C6C6; border-radius: 0; text-align: center; font-size: 12px; line-height: 1.4; color: #6F6F6F; }
  .pk-col-collapsed { flex: 0 0 52px; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 14px 0; border: 1px dashed #FFD7D9; border-radius: 0; background: #FFF1F1; color: #DA1E28; font: inherit; cursor: pointer; transition: border-color 120ms ease, background-color 120ms ease; }
  .pk-col-collapsed:hover, .pk-col-collapsed.is-over { border-style: solid; border-color: #DA1E28; background: #FFF1F1; }
  .pk-vert { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
  .pk-card { position: relative; padding: 10px 11px; background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 0; box-shadow: 0 1px 2px rgba(10,10,10,0.04); cursor: pointer; transition: border-color 120ms ease, box-shadow 120ms ease, opacity 120ms ease; }
  .pk-card:hover { border-color: #C6C6C6; box-shadow: 0 3px 10px rgba(10,10,10,0.06); }
  .pk-card:focus-visible { outline: 2px solid #8C2F58; outline-offset: 1px; }
  .pk-card.is-dragging { opacity: 0.4; }
  .pk-card.has-menu { z-index: 25; }
  .pk-card[draggable="true"] { cursor: grab; }
  .pk-card-top { display: flex; align-items: center; gap: 6px; }
  .pk-folio { flex: 1 1 auto; min-width: 0; font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 10.5px; color: #6F6F6F; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pk-flag { display: inline-flex; padding: 2px; border-radius: 999px; background: #FCF4D6; color: #8E6A00; }
  .pk-menu-btn { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 24px; height: 22px; border: 0; border-radius: 0; background: transparent; color: #6F6F6F; cursor: pointer; }
  .pk-menu-btn:hover { background: #E0E0E0; color: #161616; }
  .pk-name { margin-top: 4px; font-size: 13px; font-weight: 600; line-height: 1.3; color: #161616; }
  .pk-veh { margin-top: 2px; font-size: 12px; color: #525252; }
  .pk-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
  .pk-chip { padding: 2px 6px; border-radius: 999px; background: #E8E8E8; font-size: 10px; font-weight: 600; letter-spacing: 0.02em; color: #525252; }
  .pk-chip.is-win { background: #DEFBE6; color: #198038; }
  .pk-poliza { margin-top: 8px; font-size: 11.5px; font-weight: 600; color: #198038; }
  .pk-motivo { margin-top: 8px; font-size: 11.5px; color: #DA1E28; }
  .pk-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding-top: 8px; border-top: 1px solid #E0E0E0; }
  .pk-agent { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 11.5px; color: #525252; }
  .pk-agent > span:last-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .pk-prima { flex-shrink: 0; font-size: 12px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .pk-next { display: none; align-items: center; justify-content: center; gap: 4px; width: 100%; margin-top: 8px; padding: 6px 8px; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; font: inherit; font-size: 11.5px; font-weight: 600; color: #262626; cursor: pointer; transition: border-color 120ms ease, color 120ms ease; }
  .pk-card:hover .pk-next, .pk-card:focus-within .pk-next { display: flex; }
  .pk-next:hover { border-color: #8C2F58; color: #752449; }
  @media (hover: none) { .pk-next { display: flex; } }
  .pk-menu { position: absolute; top: 30px; left: -1px; right: -1px; z-index: 30; padding: 6px; background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 0; box-shadow: 0 12px 32px rgba(10,10,10,0.14); cursor: default; }
  .pk-menu-title { padding: 4px 8px 6px; font-size: 11px; color: #6F6F6F; }
  .pk-menu-item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 8px; border: 0; border-radius: 0; background: none; font: inherit; font-size: 12.5px; text-align: left; color: #262626; cursor: pointer; }
  .pk-menu-item:hover { background: #E8E8E8; }
  .pk-menu-item.is-danger { margin-top: 4px; color: #DA1E28; }
  @media (max-width: 640px) {
    .pk-col { min-width: calc(100vw - 124px); }
    .pk-search { max-width: none; margin-left: 0; }
  }

  /* ===== Selectores con indicador desplegable ===== */
  select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238E8E88' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 10px center !important; background-size: 15px 15px !important; padding-right: 32px !important; }
  select[multiple], select[size] { background-image: none !important; padding-right: 12px !important; }
  select::-ms-expand { display: none; }

  /* ===== Comercial (PAI) y Marketing (Campañas) ===== */
  .pai-head { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 0; }
  .pai-head-item { padding: 16px 20px; border-left: 1px solid #E0E0E0; min-width: 0; }
  .pai-head-item:first-child { border-left: 0; }
  .pai-k { margin-bottom: 6px; font-size: 12px; color: #525252; }
  .pai-input { height: 36px; padding: 0 10px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font-family: inherit; font-size: 13px; color: #161616; box-sizing: border-box; max-width: 100%; }
  .pai-head-item .pai-input[type="date"] { flex: 1 1 0; min-width: 0; width: 100%; padding: 0 6px; }
  .pai-input-strong { width: 100%; font-size: 15px; font-weight: 600; }
  .cam-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 16px; }
  .cam-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 12px; font-size: 12.5px; color: #262626; }
  .cam-meta span { display: inline-flex; align-items: center; gap: 6px; }
  .cam-meta svg { color: #6F6F6F; }
  .cam-lab { display: block; margin-bottom: 6px; font-size: 11.5px; font-weight: 600; color: #262626; }
  .cam-chip { padding: 6px 12px; border: 1px solid #E0E0E0; border-radius: 999px; background: #FFFFFF; font: inherit; font-size: 12.5px; font-weight: 600; color: #525252; cursor: pointer; transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease; }
  .cam-chip.is-on { background: #F6E9EF; border-color: #E8CBD9; color: #752449; }
  @media (max-width: 1100px) { .pai-head { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pai-head-item:nth-child(3) { border-left: 0; } .pai-head-item:nth-child(n+3) { border-top: 1px solid #E0E0E0; } }
  @media (max-width: 640px) { .pai-head { grid-template-columns: minmax(0, 1fr); } .pai-head-item { border-left: 0; } .pai-head-item + .pai-head-item { border-top: 1px solid #E0E0E0; } }

  /* ===== Configuración ===== */
  .cfg-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #E0E0E0; }
  .cfg-stat { display: flex; align-items: center; gap: 8px; padding: 14px 22px; border-left: 1px solid #E0E0E0; }
  .cfg-stat:first-child { border-left: 0; }
  .cfg-stat-dot { width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; }
  .cfg-legend { display: flex; flex-wrap: wrap; gap: 6px 24px; padding: 12px 22px; background: #F4F4F4; border-bottom: 1px solid #E0E0E0; font-size: 12px; color: #525252; }
  .cfg-legend b { color: #161616; font-weight: 600; }
  .cfg-table { width: 100%; border-collapse: collapse; font-size: 13px; }
  .cfg-table th { padding: 10px 16px; text-align: left; font-size: 11px; font-weight: 600; text-transform: uppercase; color: #525252; border-bottom: 1px solid #E0E0E0; white-space: nowrap; }
  .cfg-table th:first-child, .cfg-table td:first-child { padding-left: 22px; }
  .cfg-table td { padding: 12px 16px; border-bottom: 1px solid #E0E0E0; vertical-align: middle; }
  .cfg-table .c { text-align: center; }
  .cfg-table tr.is-off td:first-child { opacity: 0.55; }
  .cfg-sigla { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 0; background: #161616; color: #FFFFFF; font-size: 11.5px; font-weight: 600; letter-spacing: 0.02em; flex-shrink: 0; }
  .cfg-switch { position: relative; display: inline-flex; align-items: center; width: 38px; height: 22px; padding: 0; border: 0; border-radius: 999px; background: #C6C6C6; cursor: pointer; vertical-align: middle; transition: background-color 120ms ease; }
  .cfg-switch.is-on { background: #8C2F58; }
  .cfg-switch:disabled { opacity: 0.4; cursor: not-allowed; }
  .cfg-switch-knob { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 999px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(10,10,10,0.2); transition: transform 120ms ease; }
  .cfg-switch.is-on .cfg-switch-knob { transform: translateX(16px); }
  .cfg-opt { display: flex; align-items: flex-start; gap: 12px; padding: 12px; border: 1px solid #E0E0E0; border-radius: 0; }
  .cfg-opt-t { font-size: 13px; font-weight: 600; color: #161616; }
  .cfg-opt-d { margin-top: 2px; font-size: 12px; line-height: 1.45; color: #525252; }
  @media (max-width: 900px) { .cfg-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cfg-stat:nth-child(3) { border-left: 0; } .cfg-stat:nth-child(n+3) { border-top: 1px solid #E0E0E0; } }

  /* ===== Top 50 Agentes Productores ===== */
  .tp-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 14px 22px; border-bottom: 1px solid #E0E0E0; }
  .tp-k { font-size: 11.5px; color: #525252; }
  .tp-v { margin-top: 2px; font-size: 17px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .tp-list { max-height: 400px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #C6C6C6 transparent; }
  .tp-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 22px; border-bottom: 1px solid #E0E0E0; }
  .tp-row:last-child { border-bottom: 0; }
  .tp-head { position: sticky; top: 0; z-index: 1; padding-top: 8px; padding-bottom: 8px; background: #F4F4F4; font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #6F6F6F; }
  .tp-head .r { text-align: right; }
  .tp-rank { font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 12px; color: #6F6F6F; text-align: center; }
  .tp-row.is-top .tp-rank { color: #752449; font-weight: 600; }
  .tp-who { display: flex; align-items: center; gap: 10px; min-width: 0; }
  .tp-who-txt { flex: 1; min-width: 0; }
  .tp-name { font-size: 13px; font-weight: 600; color: #161616; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .tp-bar { height: 4px; margin-top: 5px; border-radius: 999px; background: #E8E8E8; overflow: hidden; }
  .tp-bar > div { height: 100%; border-radius: 999px; background: #393939; }
  .tp-row.is-top .tp-bar > div { background: #8C2F58; }
  .tp-amt { text-align: right; white-space: nowrap; }
  .tp-prima { font-size: 13.5px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .tp-sub { margin-top: 1px; font-size: 11px; color: #6F6F6F; font-variant-numeric: tabular-nums; }

  /* ===== Historial de la tarjeta ===== */
  .hs-scrim { position: fixed; inset: 0; z-index: 70; display: flex; justify-content: flex-end; background: rgba(10,10,10,0.35); }
  .hs-panel { display: flex; flex-direction: column; width: min(500px, 100vw); height: 100%; background: #FFFFFF; box-shadow: -16px 0 40px rgba(10,10,10,0.18); animation: hsIn 160ms ease-out; }
  @keyframes hsIn { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
  .hs-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 22px 16px; border-bottom: 1px solid #E0E0E0; }
  .hs-folio { font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 11px; color: #6F6F6F; }
  .hs-title { margin-top: 4px; font-size: 18px; font-weight: 600; color: #161616; line-height: 1.25; }
  .hs-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 600; }
  .hs-body { flex: 1 1 auto; overflow-y: auto; padding: 18px 22px 24px; }
  .hs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
  .hs-k { font-size: 11.5px; color: #6F6F6F; }
  .hs-v { margin-top: 2px; font-size: 13px; font-weight: 600; color: #161616; word-break: break-word; }
  .hs-sec { margin: 22px 0 10px; font-size: 13px; font-weight: 600; color: #161616; }
  .hs-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
  .hs-step-bar { height: 5px; border-radius: 999px; background: #E0E0E0; }
  .hs-step-name { margin-top: 6px; font-size: 11px; font-weight: 600; color: #6F6F6F; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hs-step-dur { font-size: 11px; color: #B4B4AE; font-variant-numeric: tabular-nums; }
  .hs-step.is-done .hs-step-name { color: #262626; }
  .hs-step.is-done .hs-step-dur { color: #525252; }
  .hs-step.is-now .hs-step-name { color: #161616; }
  .hs-step.is-now .hs-step-dur { color: #752449; font-weight: 600; }
  .hs-step.is-now .hs-step-bar { box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 3px #E8CBD9; }
  .hs-compose textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #E0E0E0; border-radius: 0; font-family: inherit; font-size: 13px; line-height: 1.5; resize: vertical; }
  .hs-tl { list-style: none; margin: 16px 0 0; padding: 0; position: relative; }
  .hs-tl::before { content: ""; position: absolute; left: 13px; top: 6px; bottom: 6px; width: 1px; background: #E0E0E0; }
  .hs-ev { position: relative; display: flex; gap: 12px; padding-bottom: 16px; }
  .hs-ev-ic { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 27px; height: 27px; border: 1px solid; border-radius: 999px; background: #FFFFFF; }
  .hs-ev-body { min-width: 0; padding-top: 3px; }
  .hs-ev-t { font-size: 13px; font-weight: 600; color: #161616; }
  .hs-ev-d { margin-top: 3px; font-size: 12.5px; color: #262626; line-height: 1.45; }
  .hs-ev-d.is-nota { padding: 8px 10px; border-radius: 0; background: #E8E8E8; }
  .hs-ev-m { margin-top: 4px; font-size: 11.5px; color: #6F6F6F; }
  .hs-empty { margin-top: 14px; font-size: 12.5px; color: #6F6F6F; }
  .hs-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 22px; border-top: 1px solid #E0E0E0; background: #F4F4F4; }
  @media (max-width: 640px) { .hs-grid { grid-template-columns: minmax(0, 1fr); } .hs-steps { grid-template-columns: repeat(5, minmax(56px, 1fr)); overflow-x: auto; } }

  /* ===== Expediente de la solicitud ===== */
  .xp-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin-bottom: 18px; background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 0; overflow: hidden; }
  .xp-step { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 14px 16px; border: 0; border-left: 1px solid #E0E0E0; border-bottom: 3px solid transparent; background: transparent; font: inherit; text-align: left; cursor: pointer; transition: background-color 120ms ease, border-color 120ms ease; }
  .xp-step:first-child { border-left: 0; }
  .xp-step:hover { background: #F4F4F4; }
  .xp-step.is-sel { border-bottom-color: #8C2F58; background: #F6E9EF; }
  .xp-step-n { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 26px; height: 26px; border-radius: 999px; background: #E0E0E0; color: #6F6F6F; font-size: 12px; font-weight: 600; }
  .xp-step.is-hecho .xp-step-n { background: #DEFBE6; color: #198038; }
  .xp-step.is-actual .xp-step-n { background: #8C2F58; color: #FFFFFF; }
  .xp-step-txt { display: flex; flex-direction: column; min-width: 0; }
  .xp-step-name { font-size: 13px; font-weight: 600; color: #161616; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .xp-step.is-pendiente .xp-step-name, .xp-step.is-no .xp-step-name { color: #6F6F6F; }
  .xp-step-sub { font-size: 11.5px; color: #6F6F6F; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .xp-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: start; }
  .xp-side { position: sticky; top: 0; }
  .xp-tl { max-height: 520px; overflow-y: auto; margin: 0; padding: 14px 18px 4px; }
  .xp-tl::before { left: 31px; }
  .xp-sub { margin: 18px 0 10px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #6F6F6F; }
  .xp-sub:first-child { margin-top: 0; }
  .xp-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .xp-docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .xp-doc { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px dashed #C6C6C6; border-radius: 0; }
  .xp-doc.is-ok { border-style: solid; border-color: #A7F0BA; background: #F6FAF7; }
  .xp-doc-t { font-size: 12.5px; font-weight: 600; color: #161616; }
  .xp-doc-f { font-size: 11.5px; color: #6F6F6F; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .xp-up { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font-size: 12px; font-weight: 600; color: #262626; cursor: pointer; white-space: nowrap; max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
  .xp-up:hover { border-color: #8C2F58; color: #752449; }
  .xp-up.is-req { border-color: #E8CBD9; color: #752449; }
  .xp-up input { display: none; }
  .xp-form { margin-bottom: 16px; padding: 16px; border: 1px solid #E8CBD9; border-radius: 0; background: #F6E9EF; }
  .xp-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .xp-field { display: flex; flex-direction: column; min-width: 0; }
  .xp-field .pai-input { width: 100%; }
  .xp-props { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
  .xp-prop { padding: 14px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; }
  .xp-prop.is-win { border-color: #8C2F58; box-shadow: 0 0 0 1px #8C2F58 inset; }
  .xp-prop.is-old { opacity: 0.55; }
  .xp-prop-nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #E0E0E0; }
  .xp-prop-nums span { display: block; font-size: 11px; color: #6F6F6F; }
  .xp-prop-nums b { display: block; margin-top: 2px; font-size: 13px; color: #262626; font-variant-numeric: tabular-nums; }
  .xp-prop-nums .is-total b { font-size: 15px; color: #161616; }
  .xp-file { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: #752449; text-decoration: none; }
  .xp-chat { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; padding: 14px; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; }
  .xp-msg { align-self: flex-start; max-width: 78%; padding: 10px 12px; border-radius: 0 12px 12px 4px; background: #FFFFFF; border: 1px solid #E0E0E0; }
  .xp-msg.is-uva { align-self: flex-end; border-radius: 0 12px 4px 12px; background: #F6E9EF; border-color: #E8CBD9; }
  .xp-msg-who { font-size: 11.5px; font-weight: 600; color: #525252; }
  .xp-msg-txt { margin-top: 3px; font-size: 13px; line-height: 1.45; color: #161616; white-space: pre-wrap; }
  .xp-msg-t { margin-top: 4px; font-size: 10.5px; color: #6F6F6F; }
  .xp-compose { margin-top: 12px; }
  .xp-compose textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #E0E0E0; border-radius: 0; font-family: inherit; font-size: 13px; line-height: 1.5; resize: vertical; }
  .xp-hint { margin-top: 12px; padding: 10px 12px; border-radius: 0; background: #E8E8E8; font-size: 12.5px; color: #262626; }
  .xp-lock { display: flex; align-items: center; gap: 8px; padding: 14px; border: 1px dashed #C6C6C6; border-radius: 0; font-size: 12.5px; color: #6F6F6F; }
  .xp-lost { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 12px 14px; border-radius: 0; background: #FFF1F1; color: #DA1E28; font-size: 13px; }
  @media (max-width: 1180px) { .xp-layout { grid-template-columns: minmax(0, 1fr); } .xp-side { position: static; } }
  @media (max-width: 900px) { .xp-steps { grid-template-columns: repeat(5, minmax(150px, 1fr)); overflow-x: auto; } .xp-grid3, .xp-docs, .xp-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 640px) { .xp-grid3, .xp-docs, .xp-form-grid { grid-template-columns: minmax(0, 1fr); } .xp-msg { max-width: 92%; } }

  /* ===== Refinamiento institucional ===== */

  .uva-row td:first-child, .uva-row td:nth-child(2) { white-space: nowrap; }
  .pk-col-name { white-space: normal; line-height: 1.25; }
  .uva-ro-stage-name { flex-basis: 150px; }
  .uva-ro-stages { margin-bottom: 16px; }
  body { color: #161616; background: #F4F4F4; }
  .bg-white { background-color: #FFFFFF !important; }
  input, select, textarea { border-radius: 0; }
  input::placeholder, textarea::placeholder { color: #9A9A95; }
  input:focus, select:focus, textarea:focus { outline: none; border-color: #8C2F58 !important; box-shadow: 0 0 0 3px rgba(194, 71, 127, 0.12) !important; }
  table th { font-weight: 600 !important; letter-spacing: 0.04em; }
  .uva-row:hover td { background: #F4F4F4; }
  .uva-topbar-util { background: #F7F7F4; }
  .uva-pagehead-sub { color: #525252; }
  .uva-label { color: #525252; font-weight: 500; }
  .uva-kpi-link { color: #752449; font-weight: 600; }
  .pk-card, .xp-prop, .xp-msg { box-shadow: none; }
  .pk-col { background: #E8E8E8; }
  .tp-row.is-top .tp-rank { color: #752449; }
  .tp-bar > div { background: #6F829C; }
  .tp-row.is-top .tp-bar > div { background: #8C2F58; }

  /* ===== Ventana: Nueva Solicitud ===== */
  .ns-backdrop { position: fixed; inset: 0; z-index: 60; display: flex; align-items: flex-start; justify-content: center; padding: 5vh 20px 20px; background: rgba(22, 22, 25, 0.42); }
  .ns-modal { display: flex; flex-direction: column; width: 100%; max-width: 780px; max-height: 90vh; overflow: hidden; background: #F4F4F4; border: 1px solid #E0E0E0; border-radius: 0; box-shadow: 0 24px 60px rgba(20, 20, 24, 0.22); }
  .ns-head { display: flex; align-items: center; gap: 14px; padding: 18px 22px; background: #FFFFFF; border-bottom: 1px solid #E0E0E0; }
  .ns-head-ic { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 0; background: #F6E9EF; color: #752449; }
  .ns-title { font-size: 17px; font-weight: 600; color: #161616; letter-spacing: -0.01em; }
  .ns-sub { margin-top: 2px; font-size: 12.5px; color: #525252; }
  .ns-close { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 34px; height: 34px; padding: 0; border: 1px solid transparent; border-radius: 0; background: transparent; color: #525252; cursor: pointer; transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease; }
  .ns-close:hover { background: #E8E8E8; color: #161616; border-color: #E0E0E0; }
  .ns-body { flex: 1 1 auto; overflow-y: auto; padding: 6px 22px 10px; }
  .ns-sec { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid #E0E0E0; }
  .ns-sec:last-child { border-bottom: 0; }
  .ns-sec-head { display: flex; align-items: flex-start; gap: 10px; }
  .ns-sec-n { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 22px; height: 22px; border-radius: 999px; background: #E0E0E0; color: #525252; font-size: 11.5px; font-weight: 600; }
  .ns-sec-t { font-size: 13.5px; font-weight: 600; color: #161616; line-height: 22px; }
  .ns-sec-d { margin-top: 2px; font-size: 12px; line-height: 1.45; color: #6F6F6F; }
  .ns-sec-body { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
  .ns-grid { display: grid; gap: 14px; }
  .ns-g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ns-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ns-g-cp { grid-template-columns: minmax(0, 1fr) 140px; }
  .ns-g3w { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); }
  .ns-field { display: flex; flex-direction: column; min-width: 0; }
  .ns-lab { margin-bottom: 6px; font-size: 12px; font-weight: 600; color: #393939; }
  .ns-req { color: #DA1E28; }
  .ns-err { margin-top: 5px; font-size: 11.5px; color: #DA1E28; }
  .ns-help { margin-top: 5px; font-size: 11.5px; color: #6F6F6F; }
  .ns-input { width: 100%; height: 38px; box-sizing: border-box; padding: 0 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font-family: inherit; font-size: 13px; color: #161616; transition: border-color 120ms ease, box-shadow 120ms ease; }
  .ns-input:hover { border-color: #C6C6C6; }
  .ns-input.is-err { border-color: #DA1E28; }
  .ns-input.is-mono { font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; letter-spacing: 0.02em; }
  .ns-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 3px; gap: 3px; border: 1px solid #E0E0E0; border-radius: 0; background: #E8E8E8; }
  .ns-seg-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ns-seg-b { height: 30px; padding: 0 8px; border: 0; border-radius: 0; background: transparent; font-family: inherit; font-size: 12.5px; font-weight: 500; color: #525252; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: background-color 120ms ease, color 120ms ease; }
  .ns-seg-b:hover { color: #161616; }
  .ns-seg-b.is-on { background: #FFFFFF; color: #161616; font-weight: 600; box-shadow: 0 1px 2px rgba(20,20,24,0.10); }
  .ns-date { display: flex; align-items: center; height: 38px; box-sizing: border-box; padding: 0 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; transition: border-color 120ms ease, box-shadow 120ms ease; }
  .ns-date:focus-within { border-color: #8C2F58; box-shadow: 0 0 0 3px rgba(194, 71, 127, 0.12); }
  .ns-date.is-err { border-color: #DA1E28; }
  .ns-date input { flex: 1; min-width: 0; height: 100%; border: 0 !important; background: transparent; padding: 0; font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 13.5px; letter-spacing: 0.06em; color: #161616; box-shadow: none !important; }
  .ns-date-age { flex-shrink: 0; padding: 2px 8px; border-radius: 999px; background: #DEFBE6; color: #198038; font-size: 11.5px; font-weight: 600; }
  .ns-combo { position: relative; }
  .ns-combo-box { display: flex; align-items: center; gap: 8px; height: 40px; box-sizing: border-box; padding: 0 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; transition: border-color 120ms ease, box-shadow 120ms ease; }
  .ns-combo-box.is-open, .ns-combo-box:focus-within { border-color: #8C2F58; box-shadow: 0 0 0 3px rgba(194, 71, 127, 0.12); }
  .ns-combo-box.is-err { border-color: #DA1E28; }
  .ns-combo-box input { flex: 1; min-width: 0; height: 100%; border: 0 !important; background: transparent; padding: 0; font-family: inherit; font-size: 13.5px; color: #161616; box-shadow: none !important; }
  .ns-combo-list { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 5; max-height: 280px; overflow-y: auto; padding: 4px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; box-shadow: 0 12px 32px rgba(20,20,24,0.16); }
  .ns-opt { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 0; cursor: pointer; }
  .ns-opt.is-hl { background: #E8E8E8; }
  .ns-opt.is-sel .ns-opt-t { color: #752449; }
  .ns-opt-t { font-size: 13px; font-weight: 600; color: #161616; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ns-opt-d { font-size: 11.5px; color: #6F6F6F; }
  .ns-combo-empty { padding: 12px; font-size: 12.5px; color: #6F6F6F; }
  .ns-agent-info { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; font-size: 12px; color: #525252; }
  .ns-agent-info b { color: #262626; font-weight: 600; }
  .ns-aseg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .ns-aseg-b { display: flex; align-items: center; gap: 8px; min-width: 0; height: 34px; padding: 0 10px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font-family: inherit; font-size: 12.5px; color: #262626; text-align: left; cursor: pointer; transition: border-color 120ms ease, background-color 120ms ease; }
  .ns-aseg-b:hover { border-color: #C6C6C6; }
  .ns-aseg-b.is-on { border-color: #8C2F58; background: #F7EEF2; color: #161616; font-weight: 600; }
  .ns-aseg-chk { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 16px; height: 16px; border: 1.5px solid #C2C2BB; border-radius: 4px; background: #FFFFFF; color: #FFFFFF; }
  .ns-aseg-b.is-on .ns-aseg-chk { border-color: #8C2F58; background: #8C2F58; }
  .ns-aseg-n { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ns-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 22px; background: #FFFFFF; border-top: 1px solid #E0E0E0; }
  .ns-foot-info { font-size: 12px; color: #6F6F6F; min-width: 0; }
  @media (max-width: 760px) { .ns-sec { grid-template-columns: minmax(0, 1fr); gap: 12px; } .ns-g3, .ns-g3w { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ns-aseg { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 520px) { .ns-g2, .ns-g3, .ns-g3w, .ns-g-cp { grid-template-columns: minmax(0, 1fr); } .ns-seg-3 { grid-template-columns: minmax(0, 1fr); } .ns-backdrop { padding: 0; } .ns-modal { max-height: 100vh; height: 100%; border-radius: 0; } }

  .ns-date-wrap { position: relative; }
  .ns-date.is-open { border-color: #8C2F58; box-shadow: 0 0 0 3px rgba(194, 71, 127, 0.12); }
  .ns-date-btn { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 28px; height: 28px; margin-right: -6px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #525252; cursor: pointer; }
  .ns-date-btn:hover { background: #E8E8E8; color: #752449; }
  .has-edad .ns-help { color: #198038; font-weight: 600; }
  .ns-cal { position: absolute; top: calc(100% + 6px); right: 0; z-index: 20; width: 272px; padding: 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; box-shadow: 0 16px 40px rgba(20, 20, 24, 0.18); }
  .ns-cal-head { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
  .ns-cal-head select { flex: 1 1 auto; min-width: 0; height: 30px; padding: 0 26px 0 8px !important; border: 1px solid #E0E0E0; border-radius: 0; background-color: #F4F4F4; font-family: inherit; font-size: 12.5px; font-weight: 600; color: #161616; background-position: right 6px center !important; background-size: 13px 13px !important; }
  .ns-cal-head select:last-of-type { flex: 0 0 78px; }
  .ns-cal-nav { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #525252; cursor: pointer; }
  .ns-cal-nav:hover { background: #E8E8E8; color: #161616; }
  .ns-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
  .ns-cal-wd { padding: 4px 0; text-align: center; font-size: 10.5px; font-weight: 600; color: #6F6F6F; }
  .ns-cal-d { height: 32px; padding: 0; border: 0; border-radius: 0; background: transparent; font-family: inherit; font-size: 12.5px; color: #262626; cursor: pointer; font-variant-numeric: tabular-nums; }
  .ns-cal-d:hover:not(:disabled) { background: #E8E8E8; }
  .ns-cal-d.is-sel { background: #8C2F58; color: #FFFFFF; font-weight: 600; }
  .ns-cal-d:disabled { color: #C6C6C6; cursor: default; }
  .ns-cal-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; padding-top: 8px; border-top: 1px solid #E0E0E0; font-size: 11.5px; color: #6F6F6F; }
  .ns-cal-clear { padding: 0; border: 0; background: none; font-family: inherit; font-size: 12px; font-weight: 600; color: #752449; cursor: pointer; }

  .ns-lab-row { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
  .ns-chk { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 11.5px; font-weight: 500; color: #525252; cursor: pointer; white-space: nowrap; }
  .ns-chk input { width: 14px; height: 14px; margin: 0; accent-color: #8C2F58; cursor: pointer; }
  .ns-date-suf { flex-shrink: 0; font-size: 12.5px; color: #6F6F6F; }

  .ns-input.is-empty { color: #6F6F6F; }
  .ns-input:disabled { background-color: #E8E8E8; color: #A3A39E; cursor: not-allowed; }
  .ns-aseg-tools { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 6px; }
  .ns-aseg-count { font-size: 11.5px; font-weight: 600; color: #8E6A00; font-variant-numeric: tabular-nums; }
  .ns-aseg-count.is-ok { color: #198038; }
  .ns-link { padding: 0; border: 0; background: none; font-family: inherit; font-size: 11.5px; font-weight: 600; color: #752449; cursor: pointer; }
  .ns-link:hover { text-decoration: underline; }

  /* ===== Panel General: cotizaciones en curso ===== */
  .uva-ro-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important; grid-auto-rows: auto; }
  .uva-ro-grid > :nth-child(1) { grid-column: 1; grid-row: 1; }
  .uva-ro-grid > :nth-child(2) { grid-column: 1; grid-row: 2; }
  .uva-ro-grid > :nth-child(3) { grid-column: 2; grid-row: 1 / span 2; }
  .ro-pipe-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #E0E0E0; }
  .ro-pipe-title { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 14px; font-weight: 600; color: #161616; }
  .ro-pipe-ic { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 30px; height: 30px; border-radius: 0; background: #E8E8E8; color: #525252; }
  .ro-pipe-actions { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
  .ro-pipe-body { display: grid; grid-template-columns: 170px minmax(0, 1fr); }
  .ro-pipe-total { display: flex; flex-direction: column; justify-content: center; padding: 18px 20px; border-right: 1px solid #E0E0E0; }
  .ro-pipe-n { font-size: 34px; font-weight: 600; line-height: 1; letter-spacing: -0.02em; color: #161616; font-variant-numeric: tabular-nums; }
  .ro-pipe-l { margin-top: 4px; font-size: 12.5px; color: #525252; }
  .ro-pipe-prima { margin-top: 14px; padding-top: 12px; border-top: 1px solid #E8E8E8; }
  .ro-pipe-prima span { display: block; font-size: 11.5px; color: #6F6F6F; }
  .ro-pipe-prima b { display: block; margin-top: 2px; font-size: 15px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .ro-pipe-stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ro-stage { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 18px 18px 16px; border: 0; border-left: 1px solid #E8E8E8; background: transparent; font-family: inherit; text-align: left; cursor: pointer; transition: background-color 120ms ease; }
  .ro-stage:first-child { border-left: 0; }
  .ro-stage:hover { background: #F4F4F4; }
  .ro-stage-name { display: flex; align-items: flex-start; gap: 7px; max-width: 100%; min-height: 31px; font-size: 12px; font-weight: 600; line-height: 1.3; color: #525252; }
  .ro-stage-dot { margin-top: 4px; }
  .ro-stage-dot { width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; }
  .ro-stage-n { margin-top: 4px; font-size: 26px; font-weight: 600; line-height: 1; letter-spacing: -0.02em; color: #161616; font-variant-numeric: tabular-nums; }
  .ro-stage-pct { margin-top: 6px; font-size: 11.5px; color: #6F6F6F; font-variant-numeric: tabular-nums; }
  .ro-stage-bar { display: block; width: 100%; height: 4px; margin-top: 12px; border-radius: 999px; background: #E8E8E8; overflow: hidden; }
  .ro-stage-bar > span { display: block; height: 100%; border-radius: 999px; }
  .ro-stage-sep { position: absolute; top: 50%; right: -10px; z-index: 1; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-top: -10px; border: 1px solid #E0E0E0; border-radius: 999px; background: #FFFFFF; color: #6F6F6F; }
  @media (max-width: 1180px) {
    .uva-ro-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .uva-ro-grid > :nth-child(n) { grid-column: 1; grid-row: auto; }
  }
  @media (max-width: 760px) {
    .ro-pipe-body { grid-template-columns: minmax(0, 1fr); }
    .ro-pipe-head { flex-wrap: wrap; }
    .ro-pipe-actions { width: 100%; justify-content: space-between; }
    .ro-pipe-total { border-right: 0; border-bottom: 1px solid #E0E0E0; }
    .ro-pipe-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ro-stage:nth-child(3) { border-left: 0; }
    .ro-stage:nth-child(n+3) { border-top: 1px solid #E8E8E8; }
    .ro-stage-sep { display: none; }
  }

  /* ===== Color con intención: etapas, cabeceras y selección ===== */
  .uva-card-head { background: #F6E9EF !important; border-bottom-color: #E8CBD9 !important; }
  .uva-card-head-inset { margin: calc(var(--cp, 20px) * -1) calc(var(--cp, 20px) * -1) 18px; padding: 14px var(--cp, 20px) !important; border-bottom: 1px solid #E8CBD9; }
  .ro-pipe-head, .tp-head-band, .hs-head, .ns-head { background: #F6E9EF; border-bottom-color: #E8CBD9; }
  .ns-modal .ns-head-ic { background: #F6E9EF; color: #752449; }
  .pk-col { border-top: 3px solid var(--stage, #C6C6C6); }
  .pk-col-head { background: var(--stage-soft, transparent); border-radius: 0 9px 0 0; padding-bottom: 8px; }
  .pk-col-sub { padding-top: 6px; }
  .pk-col-count { background: #FFFFFF; }
  .xp-step.is-actual .xp-step-n { background: var(--stage, #8C2F58); }
  .ro-stage-bar { background: #E8E8E8; }
  .tp-bar > div { background: #7E9CCB; }
  .uva-sb-item.is-active { background: rgba(217, 119, 159, 0.16); }

  .pk-col-head { min-height: 48px; align-items: center !important; }

  /* ===== Lectura de documentos con IA ===== */
  .ia-btn { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 11px; border: 1px solid #E8CBD9; border-radius: 0; background: #F6E9EF; font-family: inherit; font-size: 12px; font-weight: 600; color: #752449; cursor: pointer; white-space: nowrap; transition: background-color 120ms ease, border-color 120ms ease; }
  .ia-btn:hover:not(:disabled) { background: #F6E9EF; border-color: #8C2F58; }
  .ia-btn:disabled { opacity: 0.7; cursor: progress; }
  .ia-note { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; padding: 10px 12px; border-radius: 0; font-size: 12.5px; line-height: 1.5; color: #262626; }
  .ia-note svg { flex-shrink: 0; margin-top: 2px; }
  .ia-note b { font-weight: 600; }
  .ia-note.is-ok { background: #DEFBE6; color: #1F5E3A; }
  .ia-note.is-warn { background: #FCF4D6; color: #684E00; }
  .ia-note.is-err { background: #FFF1F1; color: #A2191F; }
  .ia-note.is-wait { background: #F6E9EF; color: #752449; align-items: center; }
  .ia-note-alert { margin-top: 4px; font-weight: 600; }
  .ia-spin { width: 14px; height: 14px; border: 2px solid #E8CBD9; border-top-color: #8C2F58; border-radius: 999px; animation: iaSpin 0.8s linear infinite; flex-shrink: 0; }
  @keyframes iaSpin { to { transform: rotate(360deg); } }

  /* ===== RFC como identificador del Agente Productor ===== */
  .ns-rfc { font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 11.5px; letter-spacing: 0.02em; color: #393939; }
  .ns-rfc.is-none, .tp-rfc.is-none { color: #8E6A00; font-family: inherit; font-weight: 600; }
  .ns-opt-d .ns-rfc { font-size: 11px; color: #525252; }
  .tp-rfc { margin-top: 1px; font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 10.5px; color: #6F6F6F; letter-spacing: 0.02em; }

  /* ===== Regla de 45 días y resumen del tablero ===== */
  .pk-resumen { display: flex; align-items: center; gap: 14px; padding: 8px 16px 8px 8px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; }
  .pk-resumen-n { display: flex; align-items: center; justify-content: center; min-width: 52px; height: 48px; padding: 0 10px; border-radius: 0; background: #F6E9EF; color: #752449; font-size: 26px; font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
  .pk-resumen-l { font-size: 13.5px; font-weight: 600; color: #161616; }
  .pk-resumen-chips { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 4px; }
  .pk-chip-r { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #6F6F6F; }
  .pk-chip-r .pk-dot { width: 7px; height: 7px; border-radius: 999px; background: #C6C6C6; }
  .pk-chip-r.is-red { color: #A2191F; font-weight: 600; } .pk-chip-r.is-red .pk-dot { background: #DA1E28; }
  .pk-chip-r.is-amber { color: #684E00; font-weight: 600; } .pk-chip-r.is-amber .pk-dot { background: #B28600; }
  .pk-vence { display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; padding: 1px 7px; border-radius: 999px; background: #E8E8E8; color: #525252; font-size: 10.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
  .pk-vence.is-amber { background: #FCF4D6; color: #684E00; }
  .pk-vence.is-red { background: #FFF1F1; color: #A2191F; }
  .pk-mas { padding: 8px 4px 2px; text-align: center; font-size: 11.5px; color: #6F6F6F; }
  .r45-head { padding: 14px 20px; border-bottom: 1px solid #E8CBD9; }
  .r45-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #E0E0E0; }
  .r45-tile { padding: 16px 20px; border-left: 1px solid #E8E8E8; }
  .r45-tile:first-child { border-left: 0; }
  .r45-n { font-size: 28px; font-weight: 600; line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
  .r45-l { margin-top: 6px; font-size: 12.5px; color: #525252; }
  .r45-tile.is-red .r45-n { color: #A2191F; } .r45-tile.is-amber .r45-n { color: #8E6A00; } .r45-tile.is-gray .r45-n { color: #525252; }
  .r45-list { padding: 16px 20px 18px; }
  .r45-row { cursor: pointer; } .r45-row:hover td { background: #F4F4F4; }
  @media (max-width: 760px) { .r45-tiles { grid-template-columns: minmax(0, 1fr); } .r45-tile { border-left: 0; border-top: 1px solid #E8E8E8; } .r45-tile:first-child { border-top: 0; } }

  /* ===== Rescate de negocios perdidos ===== */
  .pk-card.is-rescatado { border-left: 3px solid #198038; }
  .pk-rescate { margin-top: 8px; padding: 6px 8px; border-radius: 0; background: #DEFBE6; }
  .pk-rescate-t { display: flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; color: #0E6027; }
  .pk-rescate-d { margin-top: 2px; font-size: 11px; line-height: 1.35; color: #0E6027; }
  .pk-next.pk-rescatar { color: #0E6027; border-color: #A7F0BA; background: #DEFBE6; }
  .pk-next.pk-rescatar:hover { border-color: #198038; color: #0E6027; }
  .pk-menu-item.is-rescue { color: #0E6027; font-weight: 600; }
  .rs-resumen { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 10px 12px; border-radius: 0; background: #FFF1F1; }
  .rs-resumen span { display: block; font-size: 11px; color: #A2191F; }
  .rs-resumen b { display: block; margin-top: 2px; font-size: 13px; color: #161616; font-weight: 600; }
  .rs-nota { padding: 10px 12px; border-radius: 0; background: #DEFBE6; font-size: 12px; line-height: 1.5; color: #1F5E3A; }
  .xp-ante { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
  .xp-ante-c { padding: 12px 16px; border: 1px solid #A7F0BA; border-left: 3px solid #198038; border-radius: 0; background: #DEFBE6; }
  .xp-ante-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
  .xp-ante-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: #0E6027; }
  .xp-ante-fechas { font-size: 11.5px; color: #525252; }
  .xp-ante-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 16px; margin-top: 10px; }
  .xp-ante-grid span { display: block; font-size: 11px; color: #6F6F6F; }
  .xp-ante-grid b { display: flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 12.5px; font-weight: 600; color: #161616; }
  .xp-ante-props { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 10px; }
  .xp-ante-p { padding: 2px 7px; border-radius: 999px; background: #E8E8E8; font-size: 10.5px; font-weight: 600; color: #525252; }
  .xp-ante-p.is-win { background: #F6E9EF; color: #752449; }
  .xp-ante-res { margin-top: 10px; font-size: 12px; line-height: 1.45; color: #262626; }
  .xp-tl-sep { padding: 2px 0 14px 40px; list-style: none; }
  @media (max-width: 900px) { .xp-ante-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

  /* ===== Botón de rescate (salvavidas) ===== */
  .btn-rescate { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 14px 6px 8px; border: 1px solid #FFD7D9; border-radius: 999px; background: #FFFFFF; font-family: inherit; font-size: 13px; font-weight: 600; color: #A2191F; cursor: pointer; box-shadow: 0 1px 2px rgba(122, 38, 32, 0.08); transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease; }
  .btn-rescate:hover { background: #FDF1EF; border-color: #D63A2F; box-shadow: 0 2px 6px rgba(122, 38, 32, 0.14); }
  .btn-rescate:focus-visible { outline: 2px solid #D63A2F; outline-offset: 2px; }
  .pk-next.pk-rescatar { gap: 6px; border-color: #FFD7D9; border-radius: 999px; background: #FFFFFF; color: #A2191F; }
  .pk-next.pk-rescatar:hover { border-color: #D63A2F; background: #FDF1EF; color: #A2191F; }
  .pk-menu-item.is-rescue { color: #A2191F; }

  /* ===== Solicitudes de negocio nuevo por día ===== */
  .nn-body { display: grid; grid-template-columns: 260px minmax(0, 1fr); }
  .nn-kpi { padding: 20px; border-right: 1px solid #E0E0E0; }
  .nn-n { font-size: 40px; font-weight: 600; line-height: 1; letter-spacing: -0.03em; color: #161616; font-variant-numeric: tabular-nums; }
  .nn-l { margin-top: 4px; font-size: 13px; color: #525252; }
  .nn-var { display: inline-flex; align-items: center; gap: 4px; margin-top: 10px; padding: 3px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; }
  .nn-var.is-up { background: #DEFBE6; color: #0E6027; } .nn-var.is-down { background: #FFF1F1; color: #A2191F; } .nn-var.is-flat { background: #E8E8E8; color: #525252; }
  .nn-datos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #E8E8E8; }
  .nn-datos span { display: block; font-size: 11px; color: #6F6F6F; }
  .nn-datos b { display: block; margin-top: 2px; font-size: 15px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .nn-datos em { font-style: normal; font-size: 11.5px; font-weight: 500; color: #6F6F6F; }
  .nn-chart { display: flex; flex-direction: column; min-width: 0; padding: 22px 20px 14px; }
  .nn-bars { position: relative; display: flex; align-items: flex-end; gap: 2px; height: 170px; padding-top: 18px; border-bottom: 1px solid #E0E0E0; }
  .nn-bar { position: relative; display: flex; align-items: flex-end; flex: 1 1 0; height: 100%; min-width: 2px; cursor: default; }
  .nn-bar i { display: block; width: 100%; border-radius: 3px 3px 0 0; opacity: 0.85; transition: opacity 120ms ease; }
  .nn-bar.is-we i { opacity: 0.4; }
  .nn-bar.is-hoy i { opacity: 1; box-shadow: 0 0 0 1px #161616 inset; }
  .nn-bar:hover i { opacity: 1; }
  .nn-avg { position: absolute; left: 0; right: 0; z-index: 1; border-top: 1.5px dashed #8C2F58; pointer-events: none; }
  .nn-avg span { position: absolute; right: 0; bottom: 3px; padding: 1px 6px; border-radius: 999px; background: #F6E9EF; font-size: 10.5px; font-weight: 600; color: #752449; white-space: nowrap; }
  .nn-axis { display: flex; gap: 2px; margin-top: 6px; }
  .nn-axis span { flex: 1 1 0; min-width: 2px; overflow: visible; white-space: nowrap; font-size: 10.5px; color: #6F6F6F; text-align: center; }
  .nn-leyenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px; font-size: 11.5px; color: #525252; }
  .nn-leyenda span { display: inline-flex; align-items: center; gap: 6px; }
  .nn-leyenda i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; }
  .nn-leyenda i.is-we { opacity: 0.4; }
  .nn-leyenda i.is-line { width: 14px; height: 0; border-top: 1.5px dashed #8C2F58; border-radius: 0; }
  .pk-resumen-n.is-blue { background: #EDF5FF; color: #0043CE; font-size: 22px; min-width: 64px; }
  .pk-chip-r.is-green { color: #0E6027; font-weight: 600; }
  .pk-toolbar { flex-wrap: wrap; }
  @media (max-width: 900px) { .nn-body { grid-template-columns: minmax(0, 1fr); } .nn-kpi { border-right: 0; border-bottom: 1px solid #E0E0E0; } }

  /* ===== Menú lateral: refinamiento de iconos y tipografía ===== */
  .uva-sb { font-size: 13.5px; letter-spacing: 0.005em; }
  .uva-sb-brand { padding: 22px 18px 20px; }
  .uva-sb-title { font-size: 14px; font-weight: 600; letter-spacing: 0.03em; }
  .uva-sb-sub { font-size: 9.5px; letter-spacing: 2.4px; }
  .uva-sb-group { padding: 18px 0 2px; }
  .uva-sb-label { padding: 0 0 8px 20px; font-size: 10px; font-weight: 600; letter-spacing: 1.8px; color: #6F6F6F; }
  .uva-sb-item { gap: 12px; min-height: 40px; padding: 8px 14px 8px 15px; color: #B6B6B0; font-weight: 500; transition: background-color 120ms ease, color 120ms ease; }
  .uva-sb-item:hover { background: rgba(255, 255, 255, 0.045); color: #ECECE8; }
  .uva-sb-item:hover .uva-sb-icon { color: #ECECE8; }
  .uva-sb-item.is-active { background: rgba(217, 119, 159, 0.14); color: #FFFFFF; font-weight: 600; }
  .uva-sb-icon { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 0; color: #9A9A95; transition: background-color 120ms ease, color 120ms ease; }
  .uva-sb-icon svg { width: 17px; height: 17px; stroke-width: 1.7; }
  .uva-sb-item.is-active .uva-sb-icon { background: rgba(217, 119, 159, 0.22); color: #E79CBE; }
  .uva-sb-name { font-size: 13.5px; line-height: 17px; white-space: normal; overflow: visible; text-overflow: clip; }
  .uva-sb-prefix { font-size: 10.5px; font-weight: 500; line-height: 13px; letter-spacing: 0.03em; color: #80807A; }
  .uva-sb-item.is-active .uva-sb-prefix { color: #D4B4C2; }
  .uva-sb-badge { min-width: 22px; padding: 2px 7px; background: rgba(255, 255, 255, 0.09); color: #D2D2CC; font-size: 10.5px; font-weight: 600; letter-spacing: 0.02em; }
  .uva-sb-badge.is-amber { background: rgba(192, 138, 30, 0.22); color: #E9B65C; }
  .uva-sb-item.is-active .uva-sb-badge { background: rgba(255, 255, 255, 0.14); color: #FFFFFF; }
  .uva-sb-username { font-size: 13px; letter-spacing: 0.01em; }
  .uva-sb-note { color: #66665F; }

  /* ===== Menú lateral v2: iconografía propia y ritmo uniforme ===== */
  .uva-sb-brand { gap: 12px; padding: 20px 18px 18px; }
  .uva-sb-title { font-size: 13.5px; font-weight: 600; letter-spacing: 0.06em; }
  .uva-sb-sub { margin-top: 1px; font-size: 9px; letter-spacing: 0.26em; }
  .uva-sb-nav { padding: 4px 0 14px; }
  .uva-sb-group { padding: 14px 0 0; }
  .uva-sb-group:first-child { padding-top: 10px; }
  .uva-sb-label { padding: 0 0 6px 20px; font-size: 10px; font-weight: 600; letter-spacing: 0.16em; color: #6E6E68; }
  .uva-sb-list { gap: 1px; padding: 0 8px; }
  .uva-sb-sublabel { padding: 8px 0 3px 46px; font-size: 10.5px; font-weight: 500; letter-spacing: 0.02em; color: #7C7C76; list-style: none; }
  .uva-sb-item { min-height: 36px; padding: 0 10px 0 12px; gap: 12px; border-left: 0; border-radius: 0; color: #B4B4AE; font-size: 13.5px; font-weight: 500; letter-spacing: 0.005em; }
  .uva-sb-item:hover { background: rgba(255, 255, 255, 0.05); color: #F4F4F4; }
  .uva-sb-item.is-active { background: rgba(217, 119, 159, 0.15); border-left: 0; color: #FFFFFF; font-weight: 600; box-shadow: inset 3px 0 0 #D9779F; }
  .uva-sb-icon { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 0; background: transparent !important; color: #6F6F6F; }
  .uva-sb-icon svg { width: 18px; height: 18px; stroke-width: 1.6; }
  .uva-sb-item:hover .uva-sb-icon { color: #F4F4F4; }
  .uva-sb-item.is-active .uva-sb-icon { color: #E79CBE; }
  .uva-sb-name { font-size: 13.5px; line-height: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .uva-sb-badge { min-width: 22px; height: 18px; padding: 0 7px; line-height: 18px; background: rgba(255, 255, 255, 0.08); color: #C9C9C3; font-size: 10.5px; font-weight: 600; }
  .uva-sb-badge.is-amber { background: rgba(201, 146, 38, 0.2); color: #E6B35A; }
  .uva-sb-item.is-active .uva-sb-badge { background: rgba(255, 255, 255, 0.16); color: #FFFFFF; }
  .uva-sb-footer { padding: 12px 14px; }
  @media (max-width: 1180px) {
    .uva-sb-slot:not(.is-open) .uva-sb-list { padding: 0 6px; }
    .uva-sb-slot:not(.is-open) .uva-sb-item { justify-content: center; padding: 0; min-height: 38px; }
    .uva-sb-slot:not(.is-open) .uva-sb-item.is-active { box-shadow: inset 3px 0 0 #D9779F; }
  }

  /* ===== Puertas entre etapas ===== */
  .xp-asegs { margin-bottom: 16px; padding: 12px 14px; border: 1px solid #F1C21B; border-radius: 0; background: #FCF4D6; }
  .xp-asegs.is-ok { border-color: #A7F0BA; background: #DEFBE6; }
  .xp-asegs-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
  .xp-asegs-t { font-size: 12.5px; font-weight: 600; color: #161616; }
  .xp-asegs-c { font-size: 12px; color: #525252; font-variant-numeric: tabular-nums; }
  .xp-asegs-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
  .xp-aseg { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; }
  .xp-aseg em { font-style: normal; font-weight: 500; opacity: 0.8; }
  .xp-aseg.is-prop { background: #DEFBE6; color: #0E6027; }
  .xp-aseg.is-nc { background: #E8E8E8; color: #525252; }
  .xp-aseg.is-pend { background: #FCF4D6; color: #684E00; }
  .xp-aseg-btn { margin-left: 2px; padding: 0 0 0 6px; border: 0; border-left: 1px solid currentColor; background: none; font-family: inherit; font-size: 11px; font-weight: 600; color: inherit; cursor: pointer; opacity: 0.85; }
  .xp-aseg-btn:hover { opacity: 1; text-decoration: underline; }
  .xp-asegs-nc { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; font-size: 12.5px; color: #262626; }
  .xp-asegs-nota { margin-top: 8px; font-size: 11.5px; color: #684E00; }
  .xp-solemi { margin-bottom: 16px; padding: 14px 16px; border: 1px solid #E8CBD9; border-radius: 0; background: #F6E9EF; }
  .xp-solemi-t { font-size: 13.5px; font-weight: 600; color: #161616; }
  .xp-solemi-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-top: 10px; }
  .xp-req { display: flex; align-items: center; gap: 7px; padding: 3px 0; font-size: 12.5px; color: #A2191F; }
  .xp-req.is-ok { color: #0E6027; }
  .xp-req-nota { margin-top: 6px; font-size: 11.5px; color: #525252; }
  .xp-clave { display: flex; align-items: flex-start; gap: 8px; margin-top: 6px; padding: 8px 10px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; cursor: pointer; }
  .xp-clave.is-on { border-color: #8C2F58; }
  .xp-clave input { margin-top: 2px; accent-color: #8C2F58; }
  .xp-clave b { display: block; font-size: 12.5px; font-weight: 600; color: #161616; }
  .xp-clave em { display: block; font-style: normal; font-size: 11.5px; color: #525252; }
  .xp-solemi-foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
  .pk-progreso { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 11px; font-weight: 600; color: #684E00; font-variant-numeric: tabular-nums; }
  .pk-progreso-bar { flex: 1; height: 4px; border-radius: 999px; background: #E8E8E8; overflow: hidden; }
  .pk-progreso-bar i { display: block; height: 100%; background: #B28600; }
  .pk-emisol { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; padding: 2px 8px; border-radius: 999px; background: #EDF5FF; color: #0043CE; font-size: 11px; font-weight: 600; }
  @media (max-width: 760px) { .xp-solemi-grid { grid-template-columns: minmax(0, 1fr); } }

  /* ===== UVAcob, gestión de cobranza y renovaciones ===== */
  .hs-ev-code { margin-left: 6px; padding: 0 5px; border-radius: 4px; background: #E8E8E8; font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 10px; color: #6F6F6F; }
  .xp-uvacob { margin-bottom: 14px; padding: 10px 12px; border-radius: 0; background: #EDF5FF; font-size: 12.5px; line-height: 1.5; color: #002D9C; }
  .xp-uvacob b { color: #002D9C; }
  .xp-r1 { margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: #F6E9EF; color: #752449; font-size: 10.5px; font-weight: 600; }
  .xp-sim { padding: 10px 12px; border: 1px dashed #C6C6C6; border-radius: 0; background: #F4F4F4; }
  .xp-sim-t { margin-bottom: 8px; font-size: 12px; font-weight: 600; color: #525252; }
  .xp-sim-t em { margin-left: 6px; font-style: normal; font-weight: 500; color: #6F6F6F; }
  .rg-ag { padding: 12px 14px; border-radius: 0; background: #F6E9EF; }
  .rg-ag-k { font-size: 11px; color: #6F6F6F; }
  .rg-ag-n { margin-top: 2px; font-size: 14px; font-weight: 600; color: #161616; }
  .rg-ag-d { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 4px; font-size: 12px; color: #525252; }
  .rg-regla { margin-top: 8px; font-size: 11.5px; color: #752449; }
  .rg-uvacob { display: flex; justify-content: space-between; gap: 10px; padding: 8px 12px; border-radius: 0; background: #EDF5FF; font-size: 12.5px; color: #002D9C; }
  .rg-uvacob b { font-weight: 600; }
  .rg-hist { display: flex; flex-direction: column; gap: 6px; max-height: 160px; overflow-y: auto; }
  .rg-hist-i { padding: 8px 10px; border: 1px solid #E0E0E0; border-radius: 0; font-size: 12px; color: #262626; }
  .rg-hist-i b { font-weight: 600; }
  .rg-hist-i em { display: block; margin-top: 2px; font-style: normal; font-size: 11px; color: #6F6F6F; }
  .rg-flag { padding: 2px 8px; border-radius: 999px; background: #FFF1F1; color: #A2191F; font-size: 11px; font-weight: 600; white-space: nowrap; }
  .rg-count { padding: 2px 8px; border-radius: 999px; background: #E8E8E8; color: #525252; font-size: 11px; font-weight: 600; white-space: nowrap; }
  .rr-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 10px 8px; border-bottom: 1px solid #E8E8E8; cursor: pointer; }
  .rr-row.is-on { background: #F6E9EF; }
  .rr-row input { accent-color: #8C2F58; }
  .rr-n b { display: block; font-size: 13px; font-weight: 600; color: #161616; }
  .rr-n em { font-style: normal; font-size: 11.5px; color: #6F6F6F; }
  .rr-c { font-size: 12px; color: #525252; white-space: nowrap; }
  .rr-c i { margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: #FFF1F1; color: #A2191F; font-style: normal; font-size: 11px; font-weight: 600; }
  .rr-m { font-size: 13px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }

  .xp-gracia { margin-top: 12px; padding: 9px 12px; border-radius: 0; background: #EDF5FF; font-size: 12.5px; color: #002D9C; }
  .xp-gracia.is-amber { background: #FCF4D6; color: #684E00; }
  .xp-gracia.is-red { background: #FFF1F1; color: #A2191F; }

  /* ===== Vehículos especiales ===== */
  .ns-esp { display: flex; flex-direction: column; gap: 14px; padding: 14px; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; }
  .ns-esp-t { font-size: 12.5px; font-weight: 600; color: #161616; }
  .ns-money { display: flex; align-items: center; gap: 6px; height: 38px; box-sizing: border-box; padding: 0 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; }
  .ns-money:focus-within { border-color: #8C2F58; box-shadow: 0 0 0 3px rgba(194, 71, 127, 0.12); }
  .ns-money span, .ns-money em { flex-shrink: 0; font-style: normal; font-size: 12.5px; color: #6F6F6F; }
  .ns-money input { flex: 1; min-width: 0; height: 100%; border: 0 !important; background: transparent; padding: 0; font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 13px; color: #161616; box-shadow: none !important; }
  .ns-tag { display: inline-flex; align-items: center; padding: 1px 8px; border-radius: 999px; font-size: 10.5px; font-weight: 600; white-space: nowrap; }
  .ns-tag.is-alto { background: #E8DAFF; color: #5B4697; }
  .ns-tag.is-clasico { background: #FCF4D6; color: #684E00; }
  .ns-tag.is-blindado { background: #E3E6EB; color: #2E3F57; }
  .ns-tag.is-adapt { background: #D9FBFB; color: #1A6E6E; }
  .ns-adapts { display: flex; flex-direction: column; gap: 10px; }
  .ns-adapt { padding: 10px 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; }
  .ns-g-adapt { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; }
  .ns-adapt-x { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 38px; padding: 0; border: 1px solid transparent; border-radius: 0; background: transparent; color: #6F6F6F; cursor: pointer; }
  .ns-adapt-x:hover { background: #E8E8E8; color: #A2191F; }
  .pk-esp { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
  .xp-esp { margin-top: 14px; padding: 12px 14px; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; }
  .xp-esp-head { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
  .xp-esp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; margin-top: 10px; }
  .xp-esp-grid span { display: block; font-size: 11px; color: #6F6F6F; }
  .xp-esp-grid b { display: block; margin-top: 2px; font-size: 13px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .xp-esp-list { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; font-size: 12.5px; color: #262626; }
  .xp-esp-list em { margin-left: 8px; font-style: normal; font-weight: 600; font-variant-numeric: tabular-nums; }
  @media (max-width: 760px) { .ns-g-adapt { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .xp-esp-grid { grid-template-columns: minmax(0, 1fr); } }

  /* ===== Tarjeta: bloque del vehículo ===== */
  .pk-vbox { margin-top: 8px; padding: 8px 10px; border: 1px solid #E6E6E0; border-radius: 0; background: #F4F4F4; }
  .pk-vbox-row { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
  .pk-vbox-ic { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 26px; height: 26px; margin-top: 1px; border-radius: 0; background: #FFFFFF; border: 1px solid #E6E6E0; color: #4E6380; }
  .pk-vbox-t { min-width: 0; flex: 1; }
  .pk-vbox-n { font-size: 12.5px; font-weight: 600; line-height: 1.3; color: #262626; overflow-wrap: anywhere; }
  .pk-vbox-d { margin-top: 2px; font-size: 11.5px; line-height: 1.35; color: #525252; overflow-wrap: anywhere; }
  .pk-vbox .pk-esp { margin-top: 7px; padding-top: 7px; border-top: 1px solid #E6E6E0; }

  .pk-esp-ad { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
  .pk-esp-ad em { font-style: normal; font-size: 10.5px; font-weight: 600; color: #525252; }
  .xp-esp-lt { font-size: 11px; color: #6F6F6F; margin-bottom: 2px; }
  .xp-esp-list > div { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }

  /* ===== Avisos ===== */
  .av-bell { position: relative; }
  .av-bell-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; color: #161616; cursor: pointer; }
  .av-bell-btn:hover { background: #F4F4F4; }
  .av-bell-n { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 999px; background: #8C2F58; color: #FFF; font-size: 10.5px; font-weight: 600; line-height: 18px; text-align: center; }
  .av-bell-n.is-info { background: #0043CE; }
  .av-pop { position: absolute; right: 0; top: 44px; z-index: 70; width: 340px; max-width: calc(100vw - 32px); padding: 8px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; box-shadow: 0 12px 32px rgba(20, 20, 24, 0.16); }
  .av-pop-h { padding: 6px 8px 8px; font-size: 13px; font-weight: 600; color: #161616; }
  .av-pop-i { display: flex; gap: 10px; padding: 9px 8px; border-top: 1px solid #E0E0E0; font-size: 12px; line-height: 1.45; color: #525252; }
  .av-pop-i b { display: block; font-size: 12.5px; color: #161616; }
  .av-pop-i em { display: block; margin-top: 2px; font-style: normal; font-size: 11px; color: #6F6F6F; }
  .av-pop-empty { padding: 10px 8px; font-size: 12.5px; color: #6F6F6F; }
  .av-pop-f { padding: 8px 8px 4px; border-top: 1px solid #E0E0E0; font-size: 11px; color: #6F6F6F; }
  .av-dot { flex-shrink: 0; width: 8px; height: 8px; margin-top: 5px; border-radius: 999px; background: #6F6F6F; }
  .is-red > .av-dot, .av-dot.is-red { background: #DA1E28; }
  .is-amber > .av-dot, .av-dot.is-amber { background: #B28600; }
  .is-blue > .av-dot, .av-dot.is-blue { background: #0043CE; }
  .av-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .av-head { display: flex; gap: 10px; padding: 14px 18px; border-bottom: 1px solid #E8CBD9; }
  .av-t { font-size: 14px; font-weight: 600; color: #161616; }
  .av-d { margin-top: 2px; font-size: 12.5px; color: #525252; }
  .av-list { padding: 4px 18px; }
  .av-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #E0E0E0; }
  .av-row:last-child { border-bottom: 0; }
  .av-row-t { font-size: 13px; font-weight: 600; color: #161616; }
  .av-row-d { margin-top: 2px; font-size: 11.5px; color: #6F6F6F; }
  .av-ruta { padding: 10px 18px; border-top: 1px solid #E0E0E0; font-size: 11.5px; color: #6F6F6F; }
  .av-ruta b { color: #525252; font-weight: 600; }
  @media (max-width: 900px) { .av-grid { grid-template-columns: minmax(0, 1fr); } }
  /* ===== Cobranza: acciones siempre visibles ===== */
  .cob-table th:last-child, .cob-table td:last-child { position: sticky; right: 0; z-index: 1; background: #FFFFFF; box-shadow: inset 1px 0 0 #E0E0E0; }
  .cob-table thead th:last-child { background: #F4F4F4; }
  .cob-table td:nth-child(3) { min-width: 140px; }
  .cob-table th, .cob-table td { padding-left: 12px !important; padding-right: 12px !important; }
  .cob-table th:first-child, .cob-table td:first-child { padding-left: 20px !important; }

  .cob-flags { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 6px; }

  /* ===== Panel General v2 ===== */
  .pg { display: flex; flex-direction: column; gap: 18px; }
  .pg-card { padding: 18px 20px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; min-width: 0; }
  .pg-card-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
  .pg-card-h h3 { margin: 0; font-size: 14px; font-weight: 600; color: #161616; }
  .pg-h-note { font-size: 11.5px; color: #6F6F6F; }
  .pg-row { display: grid; gap: 18px; }
  .pg-row-21 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .pg-row-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pg-sec { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
  .pg-sec h2 { margin: 0; font-size: 16px; font-weight: 600; color: #161616; }
  .pg-select { height: 34px; padding: 0 30px 0 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font: inherit; font-size: 13px; font-weight: 600; color: #161616; cursor: pointer; }
  .pg-empty { padding: 18px 4px; font-size: 13px; color: #6F6F6F; }
  .pg-sub { margin: 16px 0 8px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #6F6F6F; }
  /* tiles */
  .pg-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .pg-tile { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 12px 14px; border: 1px solid #E0E0E0; border-left: 3px solid #6F6F6F; border-radius: 0; background: #F4F4F4; text-align: left; cursor: pointer; font: inherit; transition: background .15s, box-shadow .15s; }
  .pg-tile:hover { background: #F1F1EC; }
  .pg-tile.is-red { border-left-color: #DA1E28; }
  .pg-tile.is-amber { border-left-color: #B28600; }
  .pg-tile.is-on { background: #FFFFFF; box-shadow: 0 0 0 1px #CFCFC8, 0 2px 8px rgba(20, 20, 24, .06); }
  .pg-tile-n { font-size: 26px; font-weight: 600; line-height: 1.1; color: #161616; font-variant-numeric: tabular-nums; }
  .pg-tile.is-red .pg-tile-n { color: #A2191F; }
  .pg-tile.is-amber .pg-tile-n { color: #684E00; }
  .pg-tile-l { font-size: 12.5px; font-weight: 600; line-height: 1.3; color: #262626; }
  .pg-tile-s { font-size: 11.5px; color: #6F6F6F; }
  .pg-atn-list { margin-top: 12px; }
  .pg-more { padding: 8px 10px 0; font-size: 11.5px; color: #6F6F6F; }
  /* tables */
  .pg-table { width: 100%; border-collapse: collapse; font-size: 13px; }
  .pg-table th { padding: 7px 10px; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #6F6F6F; text-align: left; border-bottom: 1px solid #E0E0E0; }
  .pg-table td { padding: 9px 10px; border-bottom: 1px solid #E0E0E0; vertical-align: middle; }
  .pg-table tr:last-child td { border-bottom: 0; }
  .pg-table .r { text-align: right; }
  .pg-table .c { text-align: center; }
  .pg-t1 { font-size: 13px; font-weight: 600; color: #161616; }
  .pg-t2 { margin-top: 1px; font-size: 11.5px; color: #6F6F6F; }
  .pg-t2.is-mono { font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 11px; }
  .pg-t3 { font-size: 12.5px; color: #525252; }
  .pg-etapa { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: #262626; white-space: nowrap; text-transform: none; letter-spacing: 0; }
  .pg-etapa i { width: 8px; height: 8px; border-radius: 999px; }
  .pg-pill { display: inline-block; min-width: 38px; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; text-align: center; font-variant-numeric: tabular-nums; }
  .pg-pill.is-red { background: #FFF1F1; color: #A2191F; }
  .pg-pill.is-amber { background: #FCF4D6; color: #684E00; }
  .pg-pill.is-gray { background: #E8E8E8; color: #525252; }
  /* pipeline */
  .pg-scroll { overflow-x: auto; }
  .pg-pipe { width: 100%; min-width: 760px; border-collapse: collapse; }
  .pg-pipe thead th { padding: 0 12px 10px; font-weight: 600; text-align: left; border-bottom: 1px solid #E0E0E0; font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: #6F6F6F; }
  .pg-pipe tbody th { padding: 14px 12px 14px 0; font-size: 13px; font-weight: 600; color: #161616; text-align: left; white-space: nowrap; }
  .pg-pipe td { padding: 14px 12px; border-top: 1px solid #E0E0E0; vertical-align: middle; }
  .pg-pipe tbody tr:first-child td, .pg-pipe tbody tr:first-child th { border-top: 0; }
  .pg-pipe tbody tr + tr th { border-top: 1px solid #E0E0E0; }
  .pg-pipe .r { text-align: right; }
  .pg-cell { display: flex; align-items: baseline; gap: 6px; }
  .pg-cell b { font-size: 20px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .pg-cell span { font-size: 11px; color: #6F6F6F; }
  .pg-cell-bar { height: 4px; margin-top: 6px; border-radius: 999px; background: #E0E0E0; overflow: hidden; }
  .pg-cell-bar i { display: block; height: 100%; border-radius: 999px; }
  .pg-big { font-size: 24px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .pg-money { font-size: 14px; font-weight: 600; color: #262626; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .pg-ex { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; }
  .pg-ex span { font-size: 11px; color: #6F6F6F; white-space: nowrap; }
  .pg-ex b { font-size: 15px; font-weight: 600; color: #161616; }
  .pg-ex b.is-amber { color: #684E00; } .pg-ex b.is-green { color: #198038; } .pg-ex b.is-red { color: #A2191F; }
  /* segmented */
  .pg-seg { display: inline-flex; padding: 3px; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; }
  .pg-seg button { padding: 5px 11px; border: 0; border-radius: 0; background: transparent; font: inherit; font-size: 12px; font-weight: 600; color: #525252; cursor: pointer; }
  .pg-seg button.is-on { background: #FFFFFF; color: #161616; box-shadow: 0 1px 2px rgba(20, 20, 24, .08); }
  /* demand */
  .pg-dem-kpis { display: flex; flex-wrap: wrap; gap: 10px 28px; align-items: flex-end; margin-bottom: 16px; }
  .pg-kpi { display: flex; flex-direction: column; gap: 2px; }
  .pg-kpi span { font-size: 11.5px; color: #6F6F6F; }
  .pg-kpi b { font-size: 20px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; line-height: 1.15; }
  .pg-kpi.is-main b { font-size: 32px; }
  .pg-kpi em { font-style: normal; font-size: 11.5px; font-weight: 600; color: #6F6F6F; }
  .pg-kpi em.is-up { color: #198038; } .pg-kpi em.is-down { color: #A2191F; }
  .pg-chart { position: relative; display: flex; align-items: flex-end; gap: 3px; height: 170px; padding-top: 6px; border-bottom: 1px solid #E0E0E0; }
  .pg-bar { flex: 1; display: flex; align-items: flex-end; height: 100%; min-width: 2px; }
  .pg-bar i { display: block; width: 100%; min-height: 0; border-radius: 3px 3px 0 0; background: #0043CE; }
  .pg-bar.is-we i { background: #B7C6DE; }
  .pg-bar.is-hoy i { background: #8C2F58; }
  .pg-chart-avg { position: absolute; left: 0; right: 0; height: 0; border-top: 1.5px dashed #8C2F58; pointer-events: none; }
  .pg-chart-avg span { position: absolute; right: 0; top: -20px; padding: 1px 6px; border-radius: 0; background: #F6E9EF; color: #752449; font-size: 11px; font-weight: 600; }
  .pg-chart-x { display: flex; gap: 3px; margin-top: 6px; }
  .pg-chart-x span { flex: 1; min-width: 2px; overflow: visible; white-space: nowrap; font-size: 10.5px; color: #6F6F6F; }
  /* cartera */
  .pg-cartera-n { display: flex; align-items: baseline; gap: 8px; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; }
  .pg-cartera-n b { font-size: 34px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; line-height: 1.1; }
  .pg-cartera-n span { font-size: 13px; color: #6F6F6F; }
  .pg-cartera-n:hover b { color: #752449; }
  .pg-split { display: flex; height: 10px; margin-top: 14px; border-radius: 999px; overflow: hidden; background: #E0E0E0; }
  .pg-split i { display: block; height: 100%; }
  .pg-split-l { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
  .pg-split-l > div { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #525252; }
  .pg-split-l i { width: 8px; height: 8px; border-radius: 2px; }
  .pg-split-l b { margin-left: auto; color: #161616; font-variant-numeric: tabular-nums; }
  .pg-split-l em { width: 38px; text-align: right; font-style: normal; color: #6F6F6F; font-variant-numeric: tabular-nums; }
  /* bar rows */
  .pg-brow { margin-bottom: 11px; }
  .pg-brow:last-child { margin-bottom: 0; }
  .pg-brow-top { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: #262626; }
  .pg-brow-top b { font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .pg-brow-bar { height: 6px; margin-top: 5px; border-radius: 999px; background: #E0E0E0; overflow: hidden; }
  .pg-brow-bar i { display: block; height: 100%; border-radius: 999px; }
  .pg-brow-sub { margin-top: 3px; font-size: 11px; color: #6F6F6F; }
  .pg-emb-perd { display: flex; justify-content: space-between; margin-top: 12px; padding-top: 10px; border-top: 1px solid #E0E0E0; font-size: 12.5px; color: #A2191F; }
  .pg-emb-perd b { font-variant-numeric: tabular-nums; }
  .pg-stack { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: #E0E0E0; }
  .pg-stack i { display: block; height: 100%; }
  .pg-legend { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
  .pg-legend > div { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #525252; }
  .pg-legend i { width: 8px; height: 8px; border-radius: 2px; }
  .pg-legend b { margin-left: auto; color: #161616; font-variant-numeric: tabular-nums; }
  /* kpi cards */
  .pg-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
  .pg-kpi-c { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 14px 16px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; text-align: left; font: inherit; }
  button.pg-kpi-c { cursor: pointer; }
  button.pg-kpi-c:hover { border-color: #CFCFC8; background: #FFFFFF; }
  .pg-kpi-c span { font-size: 12px; color: #6F6F6F; }
  .pg-kpi-c b { font-size: 24px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; line-height: 1.2; }
  .pg-kpi-c em { font-style: normal; font-size: 11.5px; color: #6F6F6F; }
  /* red */
  .pg-red-kpis { display: flex; flex-wrap: wrap; gap: 10px 36px; margin-bottom: 12px; }
  .pg-red-kpis span { display: block; font-size: 11.5px; color: #6F6F6F; }
  .pg-red-kpis b { font-size: 20px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .pg-red-list { max-height: 440px; overflow: auto; border-top: 1px solid #E0E0E0; }
  .pg-red thead th { position: sticky; top: 0; z-index: 1; background: #FFFFFF; }
  .pg-rank { width: 36px; font-size: 12px; font-weight: 600; color: #6F6F6F; font-variant-numeric: tabular-nums; }
  .pg-red-bar { position: relative; display: flex; align-items: center; gap: 10px; min-width: 160px; }
  .pg-red-bar i { display: block; height: 8px; border-radius: 999px; background: #8C2F58; opacity: .75; }
  .pg-red-bar b { flex-shrink: 0; font-size: 12.5px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  @media (max-width: 1180px) { .pg-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pg-row-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 1024px) { .pg-row-21 { grid-template-columns: minmax(0, 1fr); } .pg-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 760px) { .pg-row-3, .pg-kpis { grid-template-columns: minmax(0, 1fr); } .pg-card { padding: 14px; } .pg-atn-list .pg-table th:nth-child(2), .pg-atn-list .pg-table td:nth-child(2), .pg-atn-list .pg-table th:nth-child(3), .pg-atn-list .pg-table td:nth-child(3) { display: none; } .pg-red th:nth-child(4), .pg-red td:nth-child(4) { display: none; } }
  @media print { .pg-red-list { max-height: none; overflow: visible; } }

  /* ===== Próximo seguimiento ===== */
  .xs-body { padding: 14px 18px; }
  .xs-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .xs-fecha { font-size: 15px; font-weight: 600; color: #161616; }
  .xs-pill { padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; background: #E8E8E8; color: #525252; white-space: nowrap; }
  .xs-pill.is-red { background: #FFF1F1; color: #A2191F; }
  .xs-pill.is-amber { background: #FCF4D6; color: #684E00; }
  .xs-nota { margin-top: 6px; font-size: 13px; line-height: 1.45; color: #262626; }
  .xs-vacio { font-size: 12.5px; color: #6F6F6F; }
  .xs-form { display: flex; flex-direction: column; gap: 10px; }
  .xs-form label { display: flex; flex-direction: column; gap: 4px; }
  .xs-atajos { display: flex; flex-wrap: wrap; gap: 6px; }
  .xs-atajo { padding: 4px 10px; border: 1px solid #E0E0E0; border-radius: 999px; background: #FFFFFF; font: inherit; font-size: 12px; font-weight: 600; color: #525252; cursor: pointer; }
  .xs-atajo.is-on { border-color: #8C2F58; background: #F6E9EF; color: #752449; }
  .pk-seg { display: flex; align-items: center; gap: 6px; margin-top: 8px; padding: 5px 8px; border-radius: 0; background: #F4F4F4; font-size: 11.5px; color: #525252; min-width: 0; }
  .pk-seg b { flex-shrink: 0; font-weight: 600; color: #262626; }
  .pk-seg span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pk-seg.is-amber { background: #FCF4D6; color: #684E00; } .pk-seg.is-amber b { color: #684E00; }
  .pk-seg.is-red { background: #FFF1F1; color: #A2191F; } .pk-seg.is-red b { color: #A2191F; }
  .pg-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  @media (max-width: 1180px) { .pg-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 1024px) { .pg-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

  /* ===== Ritmo diario y cartera ===== */
  .pg-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-hero { display: flex; align-items: flex-end; gap: 12px; }
  .rt-hero b { font-size: 46px; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
  .rt-hero span { display: flex; flex-direction: column; padding-bottom: 4px; font-size: 14px; font-weight: 600; color: #262626; }
  .rt-hero em { font-style: normal; font-size: 11.5px; font-weight: 400; color: #6F6F6F; }
  .rt-eq { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 16px 0 18px; }
  .rt-eq > div { padding: 8px 10px; border-radius: 0; background: #F4F4F4; }
  .rt-eq b { display: block; font-size: 16px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .rt-eq span { font-size: 11px; color: #6F6F6F; }
  .rt-var { font-size: 11.5px; font-weight: 600; color: #6F6F6F; white-space: nowrap; }
  .rt-var.is-up { color: #198038; } .rt-var.is-down { color: #A2191F; }
  .rt-foot { margin-top: 12px; font-size: 11.5px; color: #6F6F6F; }
  .rt-formula { padding: 8px 10px; border-radius: 0; background: #E8DAFF; color: #4E3D7A; line-height: 1.5; }
  .rt-formula b { color: #3B2C66; }
  .rt-card .pg-chart { height: 130px; }
  .pg-cartera { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 28px; align-items: center; }
  .pg-cartera-dona { display: flex; align-items: center; gap: 24px; }
  .pg-dona { width: 168px; height: 168px; flex-shrink: 0; }
  .pg-dona-n { font-size: 22px; font-weight: 600; fill: #161616; }
  .pg-dona-s { font-size: 10.5px; fill: #6F6F6F; }
  .pg-dona-leg { flex: 1; display: flex; flex-direction: column; gap: 7px; min-width: 0; }
  .pg-dona-leg > div { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #262626; }
  .pg-dona-leg i { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
  .pg-dona-leg span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pg-dona-leg b { margin-left: auto; font-variant-numeric: tabular-nums; }
  .pg-dona-leg em { width: 38px; text-align: right; font-style: normal; color: #6F6F6F; font-variant-numeric: tabular-nums; }
  .pg-cartera-side { padding-left: 24px; border-left: 1px solid #E0E0E0; }
  @media (max-width: 1024px) { .pg-row-2 { grid-template-columns: minmax(0, 1fr); } .pg-cartera { grid-template-columns: minmax(0, 1fr); } .pg-cartera-side { padding-left: 0; border-left: 0; } }
  @media (max-width: 560px) { .pg-cartera-dona { flex-direction: column; align-items: stretch; } .pg-dona { align-self: center; } .rt-eq { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rt-hero b { font-size: 38px; } }

  /* ===== Reportería ===== */
  .rp { display: flex; flex-direction: column; gap: 20px; }
  .rp-listos-h { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
  .rp-listos-h h2 { margin: 0; font-size: 16px; font-weight: 600; color: #161616; }
  .rp-listos-h span { font-size: 12px; color: #6F6F6F; }
  .rp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
  .rp-card { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 3px; align-items: start; padding: 12px 14px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; text-align: left; font: inherit; cursor: pointer; transition: border-color .15s, background .15s; }
  .rp-card:hover { border-color: #CFCFC8; background: #FFFFFF; }
  .rp-card.is-on { border-color: #8C2F58; background: #F6E9EF; box-shadow: 0 0 0 1px #8C2F58; }
  .rp-card-ic { grid-row: span 2; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 0; background: #F4F4F4; color: #4E6380; }
  .rp-card.is-on .rp-card-ic { background: #FFFFFF; color: #752449; }
  .rp-card b { font-size: 13px; font-weight: 600; color: #161616; line-height: 1.3; }
  .rp-card em { font-style: normal; font-size: 11.5px; line-height: 1.35; color: #6F6F6F; }
  .rp-mis { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
  .rp-mis-t { margin-right: 4px; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #6F6F6F; }
  .rp-chip { display: inline-flex; align-items: center; border: 1px solid #E0E0E0; border-radius: 999px; background: #FFFFFF; overflow: hidden; }
  .rp-chip button { padding: 5px 10px; border: 0; background: none; font: inherit; font-size: 12px; font-weight: 600; color: #262626; cursor: pointer; }
  .rp-chip .rp-chip-x { padding: 5px 8px 5px 2px; color: #6F6F6F; }
  .rp-chip .rp-chip-x:hover { color: #A2191F; }
  .rp-chip.is-on { border-color: #8C2F58; background: #F6E9EF; }
  .rp-grid { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 18px; align-items: start; }
  .rp-builder { display: flex; flex-direction: column; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; }
  .rp-paso { padding: 14px 16px; border-bottom: 1px solid #E0E0E0; }
  .rp-paso:last-child { border-bottom: 0; }
  .rp-paso-h { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
  .rp-paso-h b { font-size: 13px; font-weight: 600; color: #161616; }
  .rp-n { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 999px; background: #F6E6EE; color: #752449; font-size: 11px; font-weight: 600; }
  .rp-link { margin-left: auto; padding: 0; border: 0; background: none; font: inherit; font-size: 12px; font-weight: 600; color: #752449; cursor: pointer; }
  .rp-fuentes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .rp-fuente { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 7px 9px; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; font: inherit; font-size: 12px; font-weight: 600; color: #262626; text-align: left; cursor: pointer; }
  .rp-fuente span { flex: 1; min-width: 0; line-height: 1.25; }
  .rp-fuente em { font-style: normal; font-size: 10.5px; font-weight: 600; color: #6F6F6F; font-variant-numeric: tabular-nums; }
  .rp-fuente svg { flex-shrink: 0; color: #6F829C; }
  .rp-fuente.is-on { border-color: #8C2F58; background: #F6E9EF; color: #161616; }
  .rp-fuente.is-on svg { color: #752449; }
  .rp-desc { margin-top: 8px; font-size: 11.5px; color: #6F6F6F; }
  .rp-dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .rp-dos label, .rp-paso > label { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
  .rp-filtros { display: flex; flex-direction: column; gap: 8px; }
  .rp-filtro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto; align-items: center; gap: 6px; }
  .rp-filtro-l { font-size: 12px; font-weight: 600; color: #262626; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rp-x { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 0; background: none; color: #6F6F6F; cursor: pointer; }
  .rp-x:hover { background: #E8E8E8; color: #A2191F; }
  .rp-add { color: #525252; }
  .rp-multi { position: relative; min-width: 0; }
  .rp-multi-b { display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%; height: 34px; padding: 0 10px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font: inherit; font-size: 12px; color: #525252; cursor: pointer; }
  .rp-multi-b span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rp-multi-b.is-on { border-color: #8C2F58; color: #161616; font-weight: 600; background: #F6E9EF; }
  .rp-multi-p { position: absolute; z-index: 40; top: 38px; right: 0; width: 260px; padding: 8px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; box-shadow: 0 12px 32px rgba(20, 20, 24, .16); }
  .rp-multi-q { width: 100%; box-sizing: border-box; height: 30px; margin-bottom: 6px; padding: 0 8px; border: 1px solid #E0E0E0; border-radius: 0; font: inherit; font-size: 12px; }
  .rp-multi-l { max-height: 220px; overflow-y: auto; }
  .rp-multi-l label { display: flex; align-items: center; gap: 8px; padding: 5px 4px; border-radius: 0; font-size: 12.5px; color: #262626; cursor: pointer; }
  .rp-multi-l label:hover { background: #F4F4F4; }
  .rp-multi-l input { accent-color: #8C2F58; }
  .rp-multi-l span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rp-multi-l em { font-style: normal; font-size: 11px; color: #6F6F6F; font-variant-numeric: tabular-nums; }
  .rp-multi-f { display: flex; justify-content: space-between; margin-top: 6px; padding-top: 6px; border-top: 1px solid #E0E0E0; }
  .rp-multi-f button { padding: 4px 6px; border: 0; background: none; font: inherit; font-size: 12px; font-weight: 600; color: #752449; cursor: pointer; }
  .rp-cols { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; }
  .rp-cols-q { display: flex; gap: 6px; }
  .rp-cols-q button { padding: 4px 9px; border: 1px solid #E0E0E0; border-radius: 999px; background: #FFFFFF; font: inherit; font-size: 11.5px; font-weight: 600; color: #525252; cursor: pointer; }
  .rp-cols-gt { margin-bottom: 4px; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #6F6F6F; }
  .rp-cols-g label { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 12.5px; color: #262626; cursor: pointer; }
  .rp-cols-g input { accent-color: #8C2F58; }
  .rp-cols-res { font-size: 12px; line-height: 1.5; color: #525252; }
  .rp-prev { min-width: 0; padding: 16px 18px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; }
  .rp-prev-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
  .rp-nombre { flex: 1; min-width: 220px; padding: 6px 8px; margin-left: -8px; border: 1px solid transparent; border-radius: 0; background: transparent; font: inherit; font-size: 17px; font-weight: 600; color: #161616; }
  .rp-nombre:hover { border-color: #E0E0E0; }
  .rp-nombre:focus { outline: none; border-color: #8C2F58; background: #FFFFFF; }
  .rp-acc { display: flex; gap: 8px; }
  .rp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 8px; font-size: 12px; color: #6F6F6F; }
  .rp-pill { padding: 2px 9px; border-radius: 999px; background: #F6E6EE; color: #752449; font-weight: 600; }
  .rp-tabs { display: flex; align-items: center; gap: 4px; margin: 14px 0 10px; border-bottom: 1px solid #E0E0E0; }
  .rp-tabs button { padding: 7px 12px; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: none; font: inherit; font-size: 13px; font-weight: 600; color: #6F6F6F; cursor: pointer; }
  .rp-tabs button.is-on { border-bottom-color: #8C2F58; color: #161616; }
  .rp-tabs-n { margin-left: auto; font-size: 11.5px; color: #6F6F6F; }
  .rp-tabla-w { overflow: auto; max-height: 620px; }
  .rp-tabla { width: 100%; border-collapse: collapse; font-size: 12.5px; }
  .rp-tabla th { position: sticky; top: 0; z-index: 1; padding: 0; background: #F4F4F4; border-bottom: 1px solid #E0E0E0; text-align: left; white-space: nowrap; }
  .rp-tabla th button { display: block; width: 100%; padding: 8px 10px; border: 0; background: none; font: inherit; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #525252; text-align: inherit; cursor: pointer; }
  .rp-piv th { padding: 8px 10px; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #525252; }
  .rp-tabla td { padding: 7px 10px; border-bottom: 1px solid #E0E0E0; color: #262626; white-space: nowrap; max-width: 320px; overflow: hidden; text-overflow: ellipsis; }
  .rp-tabla .r { text-align: right; font-variant-numeric: tabular-nums; }
  .rp-tabla .b { font-weight: 600; }
  .rp-tabla tfoot td { position: sticky; bottom: 0; background: #F6E6EE; font-weight: 600; color: #161616; border-top: 1px solid #E8CBD9; }
  .rp-cero { color: #C6C6C6; }
  .rp-nota { margin-top: 8px; font-size: 11.5px; color: #6F6F6F; }
  .rp-vacio { padding: 24px 6px; font-size: 13px; color: #6F6F6F; }
  @media (max-width: 1100px) { .rp-grid { grid-template-columns: minmax(0, 1fr); } }
  .rp-ia { padding: 16px 18px; border: 1px solid #E8CBD9; border-radius: 0; background: linear-gradient(0deg, #FFFFFF, #FFFFFF), #F6E9EF; background: #F6E9EF; }
  .rp-ia-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: #752449; }
  .rp-ia-h b { font-size: 15px; font-weight: 600; color: #161616; }
  .rp-ia-h span { font-size: 12px; color: #6F6F6F; }
  .rp-ia-row { display: flex; gap: 8px; margin-top: 10px; }
  .rp-ia-in { flex: 1; min-width: 0; height: 42px; padding: 0 14px; border: 1px solid #E8CBD9; border-radius: 0; background: #FFFFFF; font: inherit; font-size: 14px; color: #161616; }
  .rp-ia-in:focus { outline: none; border-color: #8C2F58; box-shadow: 0 0 0 3px rgba(194, 71, 127, .12); }
  .rp-ia-err { margin-top: 8px; font-size: 12.5px; color: #A2191F; }
  .rp-ia-ej { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
  .rp-ia-ej button { padding: 4px 10px; border: 1px solid #E8D3DE; border-radius: 999px; background: #FFFFFF; font: inherit; font-size: 11.5px; color: #525252; cursor: pointer; }
  .rp-ia-ej button:hover { border-color: #8C2F58; color: #752449; }
  .rp-areas { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 3px; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; }
  .rp-areas button { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 0; border-radius: 0; background: transparent; font: inherit; font-size: 12px; font-weight: 600; color: #525252; cursor: pointer; }
  .rp-areas button em { font-style: normal; font-size: 10.5px; color: #6F6F6F; }
  .rp-areas button.is-on { background: #FFFFFF; color: #161616; box-shadow: 0 1px 2px rgba(20, 20, 24, .08); }
  .rp-listos-h .rp-link { margin-left: auto; }
  .rp-aviso { margin-top: 8px; padding: 6px 9px; border-radius: 0; background: #FCF4D6; font-size: 11.5px; color: #684E00; }
  .rp-meds { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
  .rp-meds button { padding: 5px 11px; border: 1px solid #E0E0E0; border-radius: 999px; background: #FFFFFF; font: inherit; font-size: 12px; font-weight: 600; color: #525252; cursor: pointer; }
  .rp-meds button.is-on { border-color: #8C2F58; background: #F6E9EF; color: #752449; }
  .rp-kpis { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 10px; }
  .rp-kpis span { display: block; font-size: 11.5px; color: #6F6F6F; }
  .rp-kpis b { font-size: 20px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .rp-kpis b.is-up, .rp-piv .is-up { color: #198038; }
  .rp-kpis b.is-down, .rp-piv .is-down { color: #A2191F; }
  .rp-tag { padding: 1px 8px; border-radius: 999px; background: #E8E8E8; color: #525252; }
  .rp-chart { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
  .rp-chart-row { display: grid; grid-template-columns: minmax(120px, 220px) minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 3px 4px; border: 0; border-radius: 0; background: none; font: inherit; text-align: left; cursor: pointer; }
  .rp-chart-row:hover { background: #F4F4F4; }
  .rp-chart-l { font-size: 12.5px; color: #262626; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rp-chart-b { height: 12px; border-radius: 999px; background: #E0E0E0; overflow: hidden; }
  .rp-chart-b i { display: block; height: 100%; border-radius: 999px; background: #8C2F58; opacity: .8; }
  .rp-chart-v { min-width: 70px; text-align: right; font-size: 12.5px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .rp-drill { padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: inherit; cursor: pointer; border-bottom: 1px dashed transparent; }
  .rp-drill:hover { color: #752449; border-bottom-color: #8C2F58; }
  .rp-detalle { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; padding: 8px 12px; border-radius: 0; background: #F6E9EF; font-size: 12.5px; color: #262626; }
  .rp-detalle button { padding: 0; border: 0; background: none; font: inherit; font-size: 12.5px; font-weight: 600; color: #752449; cursor: pointer; }
  @media (max-width: 640px) { .rp-ia-row { flex-direction: column; } .rp-chart-row { grid-template-columns: minmax(0, 1fr) auto; } .rp-chart-b { grid-column: 1 / -1; grid-row: 2; } }

  /* ===== Renovaciones por bloque ===== */

  .pk-rn { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
  .pk-rn-v, .rn-v { display: inline-flex; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 600; font-style: normal; font-variant-numeric: tabular-nums; background: #E8E8E8; color: #525252; }
  .pk-rn-v.is-green, .rn-v.is-green, .xp-ant-var.is-green, .xp-renov-tag.is-green { background: #DEFBE6; color: #0E6027; }
  .pk-rn-v.is-amber, .rn-v.is-amber, .xp-ant-var.is-amber, .xp-renov-tag.is-amber { background: #FCF4D6; color: #684E00; }
  .pk-rn-v.is-red, .rn-v.is-red, .xp-ant-var.is-red, .xp-renov-tag.is-red { background: #FFF1F1; color: #A2191F; }
  .pk-rn-e, .rn-e { font-size: 11px; font-weight: 600; font-style: normal; color: #525252; }
  .pk-rn-e.is-lista, .rn-e.is-lista { color: #0043CE; }
  .pk-rn-e.is-enviada, .rn-e.is-enviada { color: #684E00; }
  .pk-rn-e.is-emitir, .rn-e.is-emitir, .pk-rn-e.is-emision, .rn-e.is-emision { color: #1F7A7A; }
  .rn { display: flex; flex-direction: column; gap: 12px; }
  .rn-kpis { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px 28px; padding: 14px 18px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; }
  .rn-kpis > div span { display: block; font-size: 11.5px; color: #6F6F6F; }
  .rn-kpis > div b { font-size: 22px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .rn-kpis > div b.is-blue { color: #0043CE; } .rn-kpis > div b.is-amber { color: #684E00; } .rn-kpis > div b.is-red { color: #A2191F; }
  .rn-kpis > button { margin-left: auto; }
  .rn-nota { font-size: 12px; line-height: 1.5; color: #525252; }
  .rn-tabla { border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; overflow: hidden; }
  .rn-h, .rn-row { display: grid; grid-template-columns: minmax(200px, 2.2fr) repeat(6, minmax(70px, .8fr)) minmax(150px, 1.2fr); align-items: center; gap: 8px; padding: 10px 16px; }
  .rn-h { background: #F4F4F4; border-bottom: 1px solid #E0E0E0; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #6F6F6F; }
  .rn-h .r, .rn-row .r, .rn-det .r { text-align: right; }
  .rn-g + .rn-g { border-top: 1px solid #E0E0E0; }
  .rn-row { cursor: pointer; font-size: 13px; color: #262626; font-variant-numeric: tabular-nums; }
  .rn-row:hover { background: #F4F4F4; }
  .rn-row .is-blue { color: #0043CE; font-weight: 600; } .rn-row .is-amber { color: #684E00; font-weight: 600; } .rn-row .is-red { color: #A2191F; font-weight: 600; }
  .rn-ag { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .rn-ag b { display: block; font-size: 13px; font-weight: 600; color: #161616; }
  .rn-ag em { font-style: normal; font-size: 11px; color: #6F6F6F; font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; }
  .rn-chev { flex-shrink: 0; color: #6F6F6F; transform: rotate(-90deg); transition: transform .15s; }
  .rn-g.is-open .rn-chev { transform: rotate(0deg); }
  .rn-det { padding: 4px 16px 12px 40px; background: #F4F4F4; }
  .rn-det-h, .rn-det-row { display: grid; grid-template-columns: minmax(220px, 2.4fr) 70px minmax(90px, 1fr) minmax(100px, 1fr) minmax(150px, 1.3fr) minmax(150px, 1.2fr); align-items: center; gap: 10px; }
  .rn-det-h { padding: 8px 8px; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #6F6F6F; }
  .rn-det-row { width: 100%; padding: 8px; border: 0; border-top: 1px solid #E8E8E8; background: none; font: inherit; font-size: 12.5px; color: #262626; text-align: left; cursor: pointer; }
  .rn-det-row:hover { background: #FFFFFF; }
  .rn-det-row b { display: block; font-weight: 600; color: #161616; }
  .rn-det-row em { font-style: normal; font-size: 11px; color: #6F6F6F; }
  .rn-d { font-style: normal; font-weight: 600; font-variant-numeric: tabular-nums; color: #525252; }
  .rn-d.is-amber { color: #684E00; } .rn-d.is-red { color: #A2191F; }
  .rn-vacio { padding: 20px 16px; font-size: 13px; color: #6F6F6F; }
  .xp-ant { margin-top: 14px; padding: 12px 14px; border: 1px solid #E2DAF2; border-radius: 0; background: #F7F4FC; }
  .xp-ant-h { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
  .xp-ant-var { padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; background: #E8E8E8; color: #525252; }
  .xp-ant-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 16px; margin-top: 10px; }
  .xp-ant-grid span { display: block; font-size: 11px; color: #6F6F6F; }
  .xp-ant-grid b { display: block; margin-top: 2px; font-size: 13px; font-weight: 600; color: #161616; font-variant-numeric: tabular-nums; }
  .xp-ant-grid b.mono { font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 12px; }
  .xp-ant-grid b.is-warn { color: #684E00; }
  .xp-ant-alerta { margin-top: 10px; padding: 7px 10px; border-radius: 0; background: #FFF1F1; font-size: 12px; color: #A2191F; }
  .xp-renov-w { display: flex; flex-direction: column; gap: 0; }
  .xp-renov-tag { align-self: flex-start; margin-bottom: -1px; padding: 3px 10px; border-radius: 0 8px 0 0; font-size: 11.5px; font-weight: 600; background: #E8E8E8; color: #525252; }
  .xp-resp { margin: 0 0 14px; padding: 12px 14px; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; }
  .xp-resp.is-ok { display: flex; flex-direction: column; gap: 2px; border-color: #A7F0BA; background: #DEFBE6; font-size: 12.5px; color: #0E6027; }
  .xp-resp.is-ok span { font-size: 11.5px; color: #525252; }
  .xp-resp-h b { display: block; font-size: 13px; font-weight: 600; color: #161616; }
  .xp-resp-h span { font-size: 11.5px; color: #6F6F6F; }
  .xp-resp-omision { margin-top: 8px; padding: 6px 9px; border-radius: 0; background: #EDF5FF; font-size: 11.5px; color: #002D9C; }
  .xp-resp-omision.is-urg { background: #FCF4D6; color: #684E00; }
  .xp-resp-ops { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
  .xp-resp-ops button { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font: inherit; text-align: left; cursor: pointer; }
  .xp-resp-ops button:hover:not(:disabled) { border-color: #8C2F58; background: #FFFFFF; }
  .xp-resp-ops button:disabled { opacity: .5; cursor: not-allowed; }
  .xp-resp-ops button b { font-size: 13px; font-weight: 600; color: #161616; }
  .xp-resp-ops button em { font-style: normal; font-size: 11.5px; color: #6F6F6F; }
  .xp-resp-ops button.is-no b { color: #A2191F; }
  .xp-resp-form { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
  .xp-resp-aseg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 10px; max-height: 180px; overflow-y: auto; }
  .xp-resp-aseg label { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: #262626; cursor: pointer; }
  .xp-resp-aseg input { accent-color: #8C2F58; }
  @media (max-width: 900px) { .rn-h { display: none; } .rn-row { grid-template-columns: minmax(0, 1fr) auto; } .rn-row > span:not(.rn-ag):not(:last-child) { display: none; } .rn-det { padding: 4px 8px 10px; overflow-x: auto; } .xp-ant-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .xp-resp-ops { grid-template-columns: minmax(0, 1fr); } }
  .pk-rn-e.is-solicitada, .rn-e.is-solicitada { color: #684E00; }
  .rn-auto { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding: 10px 14px; border: 1px solid #D0E2FF; border-radius: 0; background: #EDF5FF; font-size: 12.5px; color: #002D9C; }
  .rn-auto.is-off { border-color: #E0E0E0; background: #F4F4F4; color: #525252; }
  .rn-auto-sw { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; cursor: pointer; white-space: nowrap; }
  .rn-auto-sw input { accent-color: #8C2F58; }
  .rn-auto-t { line-height: 1.6; }
  .rn-auto-t select { margin: 0 2px; padding: 1px 4px; border: 1px solid #D0E2FF; border-radius: 0; background: #FFFFFF; font: inherit; font-weight: 600; color: #002D9C; }
  .rn-mes { display: flex; flex-direction: column; gap: 4px; }
  .rn-mes span { font-size: 11.5px; color: #6F6F6F; }
  .rn-mes select { min-width: 170px; font-weight: 600; }
  .rn-h-s, .rn-row-s { grid-template-columns: minmax(200px, 2.2fr) repeat(4, minmax(80px, .8fr)) minmax(170px, 1.2fr); }
  .rn-det-s { grid-template-columns: minmax(240px, 2.6fr) 100px minmax(140px, 1.2fr) minmax(110px, 1fr) minmax(130px, 1fr); }

  .xp-resp-sig { margin-top: 4px; font-size: 11.5px; color: #002D9C; }
  .xp-norenueva { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 12px; padding: 10px 12px; border-radius: 0; background: #FFF1F1; font-size: 12.5px; color: #A2191F; }
  .xp-norenueva b { font-weight: 600; }
  .xp-norenueva span { color: #525252; }
  .xp-norenueva .xp-resp-form { width: 100%; }

  /* ===== Ventanas v2 ===== */
  html body .ns-backdrop, .um-backdrop { position: fixed; inset: 0; z-index: 60; display: flex; align-items: flex-start; justify-content: center; padding: 4vh 20px 20px; background: rgba(28, 28, 32, 0.44); backdrop-filter: blur(3px); }
  html body .ns-modal, .um-modal { display: flex; flex-direction: column; width: 100%; max-height: 92vh; overflow: hidden; background: #F4F4F4; border: 1px solid #E0E0E0; border-radius: 0; box-shadow: 0 30px 80px rgba(20, 20, 24, 0.28), 0 2px 8px rgba(20, 20, 24, 0.08); }
  html body .ns-modal { max-width: 1040px; }
  html body .ns-head, .um-head { display: flex; align-items: center; gap: 14px; padding: 18px 22px; background: #FFFFFF; border-bottom: 1px solid #E6E6E0; }
  html body .ns-head-ic, .um-head-ic { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border-radius: 0; background: #F6E9EF; color: #752449; }
  html body .ns-title { font-size: 17px; font-weight: 650; letter-spacing: -0.01em; color: #161616; }
  html body .ns-sub { margin-top: 2px; font-size: 12.5px; color: #6F6F6F; }
  .um-head-t { flex: 1; min-width: 0; }
  .um-head-t h2 { margin: 0; font-size: 17px; font-weight: 650; letter-spacing: -0.01em; color: #161616; }
  .um-head-t p { margin: 2px 0 0; font-size: 12.5px; color: #6F6F6F; }
  html body .ns-close, .um-close { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; padding: 0; border: 1px solid #E0E0E0; border-radius: 0; background: #F4F4F4; color: #525252; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
  html body .ns-close:hover, .um-close:hover { background: #E0E0E0; border-color: #C6C6C6; color: #161616; }
  html body .ns-close:focus-visible, .um-close:focus-visible { outline: 2px solid #8C2F58; outline-offset: 2px; }
  .um-body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 14px; min-height: 0; overflow-y: auto; padding: 18px 22px; }
  html body .ns-foot, .um-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 22px; background: #FFFFFF; border-top: 1px solid #E6E6E0; }
  .um-foot-i { min-width: 0; font-size: 12px; color: #6F6F6F; }
  .um-foot-b { display: flex; gap: 8px; margin-left: auto; }
  .um-sec, html body .ns-card { display: block; padding: 0; background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 0; }
  html body .ns-card { margin-bottom: 14px; border-bottom: 1px solid #E0E0E0; }
  html body .ns-card:last-child { margin-bottom: 0; }
  .um-sec-h, html body .ns-card .ns-sec-head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid #E0E0E0; }
  .um-sec-n, html body .ns-card .ns-sec-n { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 24px; height: 24px; border-radius: 999px; background: #F0DCE5; color: #752449; font-size: 12px; font-weight: 600; line-height: 1; }
  .um-sec-n.is-ok, html body .ns-card .ns-sec-n.is-ok { background: #DEFBE6; color: #0E6027; }
  .um-sec-tt, html body .ns-card .ns-sec-tt { flex: 1; min-width: 0; }
  .um-sec-tt b, html body .ns-card .ns-sec-t { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; color: #161616; }
  .um-sec-tt em, html body .ns-card .ns-sec-d { display: block; margin-top: 1px; font-style: normal; font-size: 12px; line-height: 1.4; color: #6F6F6F; }
  .um-sec-st, .ns-sec-st { flex-shrink: 0; padding: 2px 9px; border-radius: 999px; background: #E8E8E8; font-size: 11px; font-weight: 600; color: #525252; white-space: nowrap; }
  .um-sec-st.is-pend, .ns-sec-st { background: #FCF4D6; color: #684E00; }
  .ns-sec-st.is-ok { background: #DEFBE6; color: #0E6027; }
  .um-sec-b, html body .ns-card .ns-sec-body { display: flex; flex-direction: column; gap: 14px; padding: 16px; }
  html body .ns-body-v2 { display: grid; grid-template-columns: 210px minmax(0, 1fr); flex: 1 1 auto; min-height: 0; padding: 0; overflow: hidden; }
  .ns-nav { display: flex; flex-direction: column; gap: 4px; padding: 18px 12px; border-right: 1px solid #E0E0E0; background: #F4F4F4; overflow-y: auto; }
  .ns-nav-t { padding: 0 8px; font-size: 11.5px; font-weight: 600; color: #525252; }
  .ns-nav-bar { height: 5px; margin: 6px 8px 10px; border-radius: 999px; background: #E0E0E0; overflow: hidden; }
  .ns-nav-bar i { display: block; height: 100%; border-radius: 999px; background: #198038; transition: width .25s; }
  .ns-nav-i { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px; border: 0; border-radius: 0; background: transparent; font: inherit; text-align: left; cursor: pointer; }
  .ns-nav-i:hover { background: #E0E0E0; }
  .ns-nav-n { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 24px; height: 24px; border-radius: 999px; background: #FFFFFF; border: 1px solid #E0E0E0; font-size: 12px; font-weight: 600; color: #525252; }
  .ns-nav-i.is-ok .ns-nav-n { border-color: #A7F0BA; background: #DEFBE6; color: #0E6027; }
  .ns-nav-l { display: flex; flex-direction: column; min-width: 0; font-size: 13px; font-weight: 600; color: #161616; }
  .ns-nav-l em { font-style: normal; font-size: 11px; font-weight: 500; color: #684E00; }
  .ns-nav-i.is-ok .ns-nav-l em { color: #0E6027; }
  .ns-main { min-width: 0; overflow-y: auto; padding: 18px 20px; scroll-padding-top: 12px; }
  .um-campo { display: flex; flex-direction: column; gap: 6px; }
  .um-lab { font-size: 12px; font-weight: 600; color: #262626; }
  .um-lab i { font-style: normal; color: #DA1E28; }
  .um-err { font-size: 11.5px; color: #A2191F; }
  .um-ayuda { font-size: 11.5px; color: #6F6F6F; }
  .um-input { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font: inherit; font-size: 13px; line-height: 1.45; color: #161616; resize: vertical; }
  .um-input:focus, .um-monto:focus-within, .um-pick-in:focus-within { outline: none; border-color: #8C2F58; box-shadow: 0 0 0 3px rgba(194, 71, 127, .12); }
  .um-monto { display: flex; align-items: center; gap: 6px; max-width: 260px; height: 40px; box-sizing: border-box; padding: 0 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; }
  .um-monto span, .um-monto em { font-style: normal; font-size: 12.5px; color: #6F6F6F; }
  .um-monto input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 13px; color: #161616; outline: none; }
  .um-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .um-opt { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; row-gap: 2px; align-items: center; padding: 10px 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; font: inherit; text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
  .um-opt:hover { border-color: #C6C6C6; }
  .um-opt.is-on { border-color: #8C2F58; background: #F6E9EF; box-shadow: 0 0 0 1px #8C2F58; }
  .um-opt-k { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 0; background: #F4F4F4; font-size: 12px; font-weight: 600; color: #525252; }
  .um-opt.is-on .um-opt-k { background: #8C2F58; color: #FFFFFF; }
  .um-opt b { font-size: 13px; font-weight: 600; color: #161616; }
  .um-opt em { grid-column: 1 / -1; font-style: normal; font-size: 11.5px; line-height: 1.4; color: #6F6F6F; }
  .um-chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .um-chip { padding: 7px 12px; border: 1px solid #E0E0E0; border-radius: 999px; background: #FFFFFF; font: inherit; font-size: 12.5px; font-weight: 600; color: #525252; cursor: pointer; }
  .um-chip.is-on { border-color: #8C2F58; background: #F6E9EF; color: #752449; }
  .um-pick { position: relative; }
  .um-pick-in { display: flex; align-items: center; gap: 8px; height: 42px; box-sizing: border-box; padding: 0 12px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; color: #6F6F6F; }
  .um-pick-in input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; font: inherit; font-size: 13.5px; color: #161616; outline: none; }
  .um-pick-l { position: absolute; z-index: 5; top: 46px; left: 0; right: 0; max-height: 280px; overflow-y: auto; padding: 6px; border: 1px solid #E0E0E0; border-radius: 0; background: #FFFFFF; box-shadow: 0 14px 34px rgba(20, 20, 24, .16); }
  .um-pick-l button { display: grid; grid-template-columns: 130px minmax(0, 1fr); column-gap: 10px; width: 100%; padding: 8px 10px; border: 0; border-radius: 0; background: none; font: inherit; text-align: left; cursor: pointer; }
  .um-pick-l button:hover { background: #F6E9EF; }
  .um-pick-l .mono, .um-pol .mono, .um-pol-n { font-family: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace; font-size: 12px; color: #262626; }
  .um-pick-l b { font-size: 13px; font-weight: 600; color: #161616; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .um-pick-l em { grid-column: 2; font-style: normal; font-size: 11.5px; color: #6F6F6F; }
  .um-pick-v { padding: 10px; font-size: 12.5px; color: #6F6F6F; }
  .um-pol { padding: 12px 14px; border: 1px solid #E8CBD9; border-radius: 0; background: #F6E9EF; }
  .um-pol-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .um-pol-n { font-size: 13.5px; font-weight: 600; color: #752449; }
  .um-link { padding: 0; border: 0; background: none; font: inherit; font-size: 12.5px; font-weight: 600; color: #752449; cursor: pointer; }
  .um-pol-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 14px; margin-top: 8px; }
  .um-pol-g span { display: block; font-size: 11px; color: #6F6F6F; }
  .um-pol-g b { display: block; font-size: 12.5px; font-weight: 600; color: #161616; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body .uva-backdrop { background: rgba(28, 28, 32, 0.44) !important; backdrop-filter: blur(3px) !important; }
  html body .uva-backdrop > div { border: 1px solid #E0E0E0 !important; border-radius: 0 !important; background: #FFFFFF !important; box-shadow: 0 30px 80px rgba(20, 20, 24, 0.28), 0 2px 8px rgba(20, 20, 24, 0.08) !important; overflow: hidden !important; }
  html body .uva-backdrop > div > .uva-card-head { align-items: center !important; padding: 18px 22px !important; background: #FFFFFF !important; border-bottom: 1px solid #E6E6E0 !important; }
  html body .uva-backdrop > div > .uva-card-head h2 { font-size: 17px !important; }
  html body .uva-backdrop > div > div[style*="border-top"] { background: #F4F4F4 !important; border-top-color: #E6E6E0 !important; }
  @media (max-width: 760px) {
    html body .ns-body-v2 { grid-template-columns: minmax(0, 1fr); }
    .ns-nav { display: none; }
    .ns-main { padding: 12px; }
    .um-opts { grid-template-columns: minmax(0, 1fr); }
    .um-pol-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .um-body { padding: 12px; }
    html body .ns-backdrop, .um-backdrop { padding: 0; }
    html body .ns-modal, .um-modal { max-height: 100vh; height: 100%; border-radius: 0; }
  }

  html body .uva-backdrop > div > .uva-card-head:has(.um-close-abs) { position: relative; padding-right: 72px !important; }
  .um-close-abs { position: absolute; top: 50%; right: 18px; transform: translateY(-50%); }

  /* Tableta: barra compacta de 64px, con panel desplegable */
  @media (max-width: 900px) {
    .uva-sb-slot { flex-basis: var(--sb-width-compact); width: var(--sb-width-compact); }
    .uva-sb-toggle { display: inline-flex !important; padding: 9px; }
    .uva-sb-slot:not(.is-open) .uva-sb-brand { flex-direction: column; gap: 10px; padding: 16px 8px 12px; }
    .uva-sb-slot:not(.is-open) .uva-sb-logo { width: 40px; height: 40px; }
    .uva-sb-slot:not(.is-open) .uva-sb-brandtext,
    .uva-sb-slot:not(.is-open) .uva-sb-label,
    .uva-sb-slot:not(.is-open) .uva-sb-sublabel,
    .uva-sb-slot:not(.is-open) .uva-sb-text,
    .uva-sb-slot:not(.is-open) .uva-sb-userinfo,
    .uva-sb-slot:not(.is-open) .uva-sb-note { display: none; }
    .uva-sb-slot:not(.is-open) .uva-sb-group { padding: 18px 0 0; }
    .uva-sb-slot:not(.is-open) .uva-sb-group:first-child { padding-top: 10px; }
    .uva-sb-slot:not(.is-open) .uva-sb-item { position: relative; justify-content: center; padding: 10px 3px 10px 0; }
    .uva-sb-slot:not(.is-open) .uva-sb-badge { position: absolute; top: 4px; right: 8px; min-width: 15px; padding: 1px 4px; font-size: 9px; line-height: 11px; }
    .uva-sb-slot:not(.is-open) .uva-sb-footer { padding: 12px 8px; }
    .uva-sb-slot:not(.is-open) .uva-sb-user { flex-direction: column; gap: 8px; }
    .uva-sb-slot.is-open .uva-sb { position: absolute; top: 0; left: 0; bottom: 0; width: min(var(--sb-width), 86vw); box-shadow: 12px 0 32px rgba(10,10,10,0.28); }
    .uva-sb-slot.is-open .uva-sb-scrim { display: block; position: fixed; inset: 0; background: rgba(10,10,10,0.45); }
    .uva-sb-slot.is-open .uva-sb-toggle svg { transform: rotate(180deg); }
    .uva-sb-slot.is-open .uva-sb-toggle { margin-left: auto; }
  }
  /* Móvil: áreas táctiles de 44px */
  @media (max-width: 640px) {
    .uva-sb-item { min-height: 44px; }
    .uva-sb-aux { min-height: 40px; min-width: 40px; }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  }

  /* =====================================================================
     UVA Design System — Carbon Institucional v1.1 · CRM Promotoría (piloto)
     [CARBON] valor citado en el documento UVA · [CARBON·VALIDAR] valor Carbon v11 sin verificar contra el paquete instalado
     [UVA] decisión del documento · [UVA·ADAPT] adaptación de este prototipo. Mismos tokens que Alba v3.
     ===================================================================== */
  :root {
    --cds-background: #F4F4F4;            /* [CARBON] Gray 10 · uva.canvas */
    --cds-layer-01: #FFFFFF;              /* [CARBON] uva.surface */
    --cds-layer-02: #F4F4F4;              /* [CARBON·VALIDAR] */
    --cds-layer-hover-01: #E8E8E8;        /* [CARBON·VALIDAR] */
    --cds-layer-selected-01: #E0E0E0;     /* [CARBON] */
    --cds-layer-accent-01: #E0E0E0;       /* [CARBON·VALIDAR] */
    --cds-field-01: #FFFFFF;              /* [CARBON·VALIDAR] campo sobre background */
    --cds-field-02: #F4F4F4;              /* [CARBON·VALIDAR] campo sobre layer-01 */
    --cds-border-subtle: #E0E0E0;         /* [CARBON] */
    --cds-border-strong: #8D8D8D;         /* [CARBON·VALIDAR] */
    --cds-text-primary: #161616;          /* [CARBON] */
    --cds-text-secondary: #525252;        /* [CARBON] */
    --cds-text-helper: #6F6F6F;           /* [CARBON·VALIDAR] */
    --cds-text-placeholder: #A8A8A8;      /* [CARBON·VALIDAR] */
    --cds-text-disabled: #C6C6C6;         /* [CARBON·VALIDAR] */
    --cds-button-secondary: #393939;      /* [CARBON·VALIDAR] */
    --cds-button-secondary-hover: #474747;
    --cds-button-danger: #DA1E28;         /* [CARBON·VALIDAR] */
    --cds-button-danger-hover: #B81921;
    --cds-support-error: #DA1E28; --cds-support-success: #24A148; --cds-support-warning: #F1C21B; --cds-support-info: #0043CE; --cds-support-caution-major: #FF832B; /* [CARBON·VALIDAR] */
    --cds-overlay: rgba(22, 22, 22, .5);  /* [CARBON·VALIDAR] */
    --focus: #8C2F58;                     /* [UVA] foco 2 px en tono operativo (7.89:1 sobre blanco) */
    --uva-logo-original: #FF0084;         /* [UVA] solo logotipo */
    --uva-interactive: #8C2F58; --uva-interactive-hover: #752449; --uva-interactive-active: #591B36; --uva-interactive-on: #FFFFFF; /* [UVA] */
    --uva-brand-wash: #F6E9EF; --uva-brand-wash-hover: #F0DCE5; --uva-brand-border: #E8CBD9; /* [UVA] */
    --tag-gray-bg: #E0E0E0; --tag-gray: #161616;
    --tag-red-bg: #FFD7D9; --tag-red: #A2191F;
    --tag-green-bg: #A7F0BA; --tag-green: #0E6027;
    --tag-blue-bg: #D0E2FF; --tag-blue: #0043CE;
    --tag-purple-bg: #E8DAFF; --tag-purple: #6929C4;
    --tag-warn-bg: #FCF4D6; --tag-warn: #684E00;     /* [UVA·ADAPT] 7.11:1 */
    --tag-urg-bg: #FFF2E8; --tag-urg: #8A3800;       /* [UVA·ADAPT] 7.22:1 */
    --f-sans: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;   /* [CARBON] */
    --f-mono: 'IBM Plex Mono', Menlo, 'DejaVu Sans Mono', monospace;  /* [CARBON] */
    --shell-h: 48px; --sidenav-w: 320px;   /* [CARBON] UI shell */
    --ease-prod: cubic-bezier(.2, 0, .38, .9); --dur-fast-01: 70ms; --dur-fast-02: 110ms; /* [CARBON] */
    --uva-font: var(--f-sans);
    --sb-width: 320px;
  }
  html body { font-family: var(--f-sans); font-size: 14px; line-height: 20px; letter-spacing: .16px; color: var(--cds-text-primary); background: var(--cds-background); -webkit-font-smoothing: antialiased; }
  html body button, html body input, html body select, html body textarea { font-family: var(--f-sans); letter-spacing: inherit; }
  html body :focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }

  /* ---- Geometría Carbon: sin radios ni sombras decorativas [CARBON] ---- */
  html body [style*="border-radius: 4px"], html body [style*="border-radius: 0"], html body [style*="border-radius: 0"], html body [style*="border-radius: 0"], html body [style*="border-radius: 0"], html body [style*="border-radius: 0"], html body [style*="border-radius: 0"], html body [style*="border-radius: 0"], html body [style*="border-radius: 0"], html body [style*="border-radius: 0"] { border-radius: 0 !important; }
  html body .rounded, html body .rounded-md, html body .rounded-lg, html body .rounded-xl, html body .rounded-2xl { border-radius: 0 !important; }
  html body .uva-view [style*="box-shadow"]:not(.um-pick-l):not(.av-pop) { box-shadow: none !important; }

  /* ---- UI shell · header 48 px [CARBON] ---- */
  html body .uva-sb-brand { position: fixed; z-index: 62; top: 0; left: 0; width: var(--sidenav-w); height: var(--shell-h); display: flex; align-items: center; gap: 8px; padding: 0 16px !important; background: var(--cds-layer-01); border-bottom: 1px solid var(--cds-border-subtle); border-right: 0; }
  html body .uva-sb-logo { width: 24px !important; height: 24px !important; }
  html body .uva-sb-brandtext { flex-direction: row; align-items: baseline; gap: 4px; }
  html body .uva-sb-title { color: var(--cds-text-primary); font-size: 14px; line-height: 18px; font-weight: 400; letter-spacing: .16px; text-transform: none; }
  html body .uva-sb-title::after { content: ""; }
  html body .uva-sb-sub { margin: 0; color: var(--cds-text-primary); font-size: 14px; line-height: 18px; font-weight: 600; letter-spacing: .16px; text-transform: none; }
  html body .uva-topbar { padding-top: var(--shell-h); }
  html body .uva-topbar-util { position: fixed; z-index: 61; top: 0; left: var(--sidenav-w); right: 0; height: var(--shell-h); display: flex; align-items: stretch; justify-content: flex-end; gap: 0; margin: 0; padding: 0; background: var(--cds-layer-01); border-bottom: 1px solid var(--cds-border-subtle); }
  html body .uva-topbar-util::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 24px; transform: translateY(-50%); background: var(--cds-border-subtle); }
  html body .uva-topbar-search { flex: 0 1 400px; display: flex; align-items: stretch; margin-right: auto; }
  html body .uva-topbar-search > div { width: 100% !important; }
  html body .uva-topbar-search .cds-search { height: 47px; }
  html body .uva-topbar-search .cds-search input { height: 47px; background: transparent; border-bottom: 0; }
  html body .av-bell { display: flex; }
  html body .av-bell-btn { width: 48px; height: 47px; border: 0; border-left: 1px solid var(--cds-border-subtle); border-radius: 0; background: transparent; color: var(--cds-text-primary); }
  html body .av-bell-btn:hover { background: var(--cds-layer-hover-01); }
  html body .av-bell-n { top: 8px; right: 6px; min-width: 16px; height: 16px; line-height: 16px; font-size: 11px; font-weight: 400; border-radius: 1000px; background: var(--cds-support-error); }
  html body .av-bell-n.is-info { background: var(--cds-support-info); }
  html body .av-pop { top: 48px; border-radius: 0; border: 0; box-shadow: 0 2px 6px rgba(0, 0, 0, .3); }

  /* ---- UI shell · side nav 256 px, enlaces 32 px, indicador 4 px [CARBON] ---- */
  html body .uva-sb-slot { flex-basis: var(--sidenav-w) !important; width: var(--sidenav-w) !important; }
  html body .uva-sb { padding-top: var(--shell-h); background: var(--cds-layer-01); border-right: 1px solid var(--cds-border-subtle); font-family: var(--f-sans); color: var(--cds-text-secondary); }
  html body .uva-sb-nav { padding: 8px 0 16px !important; scrollbar-color: #C6C6C6 transparent; }
  html body .uva-sb-group { padding: 8px 0 0 !important; }
  html body .uva-sb-label { padding: 0 16px 4px !important; font-size: 12px !important; line-height: 16px; font-weight: 400 !important; letter-spacing: .32px !important; text-transform: none !important; color: var(--cds-text-secondary) !important; }
  html body .uva-sb-list { gap: 0 !important; padding: 0 !important; }
  html body .uva-sb-sublabel { padding: 4px 16px 0 32px !important; font-size: 12px !important; line-height: 16px; letter-spacing: .32px !important; color: var(--cds-text-helper) !important; }
  html body .uva-sb-item { position: relative; min-height: 32px !important; height: 32px; padding: 0 16px 0 16px !important; gap: 8px !important; border: 0 !important; border-radius: 0 !important; background: transparent; box-shadow: none !important; font-size: 14px !important; line-height: 18px !important; font-weight: 400 !important; letter-spacing: .16px !important; color: var(--cds-text-secondary) !important; transition: background var(--dur-fast-02) var(--ease-prod); }
  html body .uva-sb-item:hover { background: var(--cds-layer-hover-01) !important; color: var(--cds-text-primary) !important; }
  html body .uva-sb-item.is-active { background: var(--cds-layer-selected-01) !important; color: var(--cds-text-primary) !important; font-weight: 600 !important; }
  html body .uva-sb-item.is-active::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--uva-interactive); }
  html body .uva-sb-icon { flex: 0 0 16px !important; width: 16px !important; height: 16px !important; color: var(--cds-text-secondary) !important; }
  html body .uva-sb-icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.5 !important; }
  html body .uva-sb-item.is-active .uva-sb-icon, html body .uva-sb-item:hover .uva-sb-icon { color: var(--cds-text-primary) !important; }
  html body .uva-sb-name { font-size: 14px !important; line-height: 18px !important; }
  html body .uva-sb-badge { min-width: 0 !important; height: 18px !important; padding: 0 8px !important; border-radius: 1000px !important; background: var(--tag-gray-bg) !important; color: var(--tag-gray) !important; font-size: 12px !important; line-height: 18px !important; font-weight: 400 !important; letter-spacing: .32px !important; }
  html body .uva-sb-badge.is-amber { background: var(--tag-urg-bg) !important; color: var(--tag-urg) !important; }
  html body .uva-sb-item.is-active .uva-sb-badge:not(.is-amber) { background: var(--cds-layer-01) !important; }
  html body .uva-sb-footer { padding: 16px !important; border-top: 1px solid var(--cds-border-subtle) !important; }
  html body .uva-sb-username { color: var(--cds-text-primary) !important; font-size: 14px !important; font-weight: 600 !important; }
  html body .uva-sb-role { height: 32px; margin-top: 4px !important; padding: 0 8px !important; border: 0 !important; border-bottom: 1px solid var(--cds-border-strong) !important; border-radius: 0 !important; background: var(--cds-field-02) !important; color: var(--cds-text-primary) !important; font-size: 14px !important; }
  html body .uva-sb-note { color: var(--cds-text-helper) !important; font-size: 12px !important; line-height: 16px; letter-spacing: .32px; }
  html body .uva-sb-aux { border-color: var(--cds-border-subtle) !important; border-radius: 0 !important; color: var(--cds-text-primary) !important; }
  html body .uva-sb-aux:hover { background: var(--cds-layer-hover-01) !important; }

  /* ---- Encabezado de pantalla [UVA] plantilla A ---- */
  html body .uva-pagehead { padding: 24px 32px 16px !important; }
  html body .uva-pagehead h1, html body .uva-pagehead .uva-pagetitle { font-family: var(--f-sans) !important; font-size: 28px !important; line-height: 36px !important; font-weight: 400 !important; letter-spacing: 0 !important; color: var(--cds-text-primary) !important; }
  html body .uva-pagehead-sub { margin-top: 4px; font-size: 14px !important; line-height: 20px; color: var(--cds-text-secondary) !important; }
  html body .uva-shell { padding-left: 32px; padding-right: 32px; }

  /* ---- Botón [CARBON] md 40 / sm 32 / lg 48; texto a la izquierda, ícono a la derecha ---- */
  .cds-btn { position: relative; display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; flex-shrink: 0; min-height: 40px; padding: 0 15px; margin: 0; border: 1px solid transparent; border-radius: 0; font-family: var(--f-sans); font-size: 14px; line-height: 18px; font-weight: 400; letter-spacing: .16px; text-align: left; white-space: nowrap; cursor: pointer; transition: background var(--dur-fast-01) var(--ease-prod), border-color var(--dur-fast-01) var(--ease-prod), color var(--dur-fast-01) var(--ease-prod); }
  .cds-btn.has-icon { padding-right: 15px; }
  .cds-btn:not(.has-icon) { padding-right: 63px; }
  .cds-btn--sm { min-height: 32px; }
  .cds-btn--sm:not(.has-icon) { padding-right: 31px; }
  .cds-btn--lg { min-height: 48px; }
  .cds-btn--full { width: 100%; }
  .cds-btn svg { flex: none; width: 16px; height: 16px; }
  .cds-btn:focus-visible { outline: none; border-color: var(--focus); box-shadow: inset 0 0 0 1px var(--focus), inset 0 0 0 2px var(--cds-layer-01); }
  .cds-btn--primary { background: var(--uva-interactive); color: var(--uva-interactive-on); }
  .cds-btn--primary:hover { background: var(--uva-interactive-hover); }
  .cds-btn--primary:active { background: var(--uva-interactive-active); }
  .cds-btn--secondary { background: var(--cds-button-secondary); color: #FFFFFF; }
  .cds-btn--secondary:hover { background: var(--cds-button-secondary-hover); }
  .cds-btn--tertiary { background: transparent; border-color: var(--uva-interactive); color: var(--uva-interactive); }
  .cds-btn--tertiary:hover { background: var(--uva-interactive); color: var(--uva-interactive-on); }
  .cds-btn--tertiary:active { background: var(--uva-interactive-active); color: var(--uva-interactive-on); }
  .cds-btn--ghost { background: transparent; color: var(--uva-interactive); padding-right: 15px !important; }
  .cds-btn--ghost:hover { background: var(--cds-layer-hover-01); color: var(--uva-interactive-hover); }
  .cds-btn--danger { background: var(--cds-button-danger); color: #FFFFFF; }
  .cds-btn--danger:hover { background: var(--cds-button-danger-hover); }
  .cds-btn:disabled, .cds-btn:disabled:hover { background: var(--cds-layer-selected-01); border-color: var(--cds-layer-selected-01); color: var(--cds-text-disabled); cursor: not-allowed; }
  .cds-btn--ghost:disabled, .cds-btn--tertiary:disabled { background: transparent; border-color: transparent; }

  /* ---- Search [CARBON·VALIDAR] 40 px, línea inferior ---- */
  .cds-search { position: relative; display: flex; align-items: center; width: 100%; height: 40px; background: var(--cds-field-01); }
  .cds-search svg { position: absolute; left: 12px; width: 16px; height: 16px; color: var(--cds-text-secondary); pointer-events: none; }
  .cds-search input { width: 100%; height: 40px; padding: 0 16px 0 40px; border: 0; border-bottom: 1px solid var(--cds-border-strong); border-radius: 0; background: transparent; font-size: 14px; line-height: 18px; letter-spacing: .16px; color: var(--cds-text-primary); outline: none; }
  .cds-search input::placeholder { color: var(--cds-text-placeholder); }
  .cds-search input:focus { outline: 2px solid var(--focus); outline-offset: -2px; }
  .cds-search:hover { background: var(--cds-layer-hover-01); }

  /* ---- Content switcher [CARBON·VALIDAR] (Ritmo, vistas) ---- */
  html body .pg-seg { padding: 0; gap: 0; border: 1px solid var(--cds-text-primary); border-radius: 0; background: var(--cds-layer-01); }
  html body .pg-seg button { min-height: 32px; padding: 0 16px; border-radius: 0; border-right: 1px solid var(--cds-border-subtle); font-size: 14px; font-weight: 400; color: var(--cds-text-secondary); box-shadow: none; }
  html body .pg-seg button:last-child { border-right: 0; }
  html body .pg-seg button:hover { background: var(--cds-layer-hover-01); color: var(--cds-text-primary); }
  html body .pg-seg button.is-on { background: var(--uva-interactive); color: var(--uva-interactive-on); box-shadow: none; }

  /* ---- Tablero de cotizaciones · plantilla de columnas de tiles [UVA·ADAPT] ---- */
  html body .pk-toolbar { gap: 16px; margin-bottom: 16px; }
  html body .pk-resumen { gap: 16px; padding: 12px 16px; border: 0; border-radius: 0; background: var(--cds-layer-01); }
  html body .pk-resumen-n { min-width: 0; height: auto; padding: 0; border-radius: 0; background: transparent; color: var(--cds-text-primary); font-size: 32px; line-height: 40px; font-weight: 300; }
  html body .pk-resumen-l { font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  html body .pk-chip-r { font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .pk-board { gap: 1px; padding: 0; background: var(--cds-border-subtle); border: 1px solid var(--cds-border-subtle); scroll-snap-type: none; }
  html body .pk-col { min-width: 232px; border: 0 !important; border-radius: 0 !important; background: var(--cds-layer-01) !important; }
  html body .pk-col-head { min-height: 48px; padding: 0 16px !important; border-radius: 0 !important; background: transparent !important; border-bottom: 1px solid var(--cds-border-subtle); }
  html body .pk-col-dot { display: none; }
  html body .pk-col-name { font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  html body .pk-col-count { height: 18px; padding: 0 8px; border-radius: 1000px; background: var(--tag-gray-bg) !important; color: var(--tag-gray); font-size: 12px; line-height: 18px; font-weight: 400; letter-spacing: .32px; }
  html body .pk-col[data-etapa="5"] .pk-col-head, html body .pk-col.is-won .pk-col-head { box-shadow: inset 0 -2px 0 var(--cds-support-success); }
  html body .pk-col-body { gap: 8px; padding: 8px !important; }
  html body .pk-card { padding: 12px; border: 0; border-radius: 0; background: var(--cds-layer-02); box-shadow: none; transition: background var(--dur-fast-01) var(--ease-prod); }
  html body .pk-card:hover { background: var(--cds-layer-hover-01); border-color: transparent; box-shadow: none; transform: none; }
  html body .pk-card.is-rescatado { box-shadow: inset 3px 0 0 var(--cds-support-success); }
  html body .pk-folio { font-family: var(--f-mono); font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .pk-name { margin-top: 4px; font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  html body .pk-menu-btn { width: 32px; height: 32px; margin: -8px -8px -8px 0; border-radius: 0; color: var(--cds-text-secondary); }
  html body .pk-menu-btn:hover { background: var(--cds-layer-selected-01); color: var(--cds-text-primary); }
  html body .pk-vence { height: 18px; padding: 0 8px; border-radius: 1000px; background: var(--tag-gray-bg); color: var(--tag-gray); font-size: 12px; line-height: 18px; font-weight: 400; letter-spacing: .32px; }
  html body .pk-vence.is-amber { background: var(--tag-warn-bg); color: var(--tag-warn); }
  html body .pk-vence.is-red { background: var(--tag-urg-bg); color: var(--tag-urg); }
  html body .pk-vbox { margin-top: 8px; padding: 8px; border: 0; border-radius: 0; background: var(--cds-layer-01); }
  html body .pk-vbox-ic { width: 24px; height: 24px; border: 0; border-radius: 0; background: var(--cds-layer-02); color: var(--cds-text-secondary); }
  html body .pk-vbox-n { font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  html body .pk-vbox-d { font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .pk-vbox .pk-esp { border-top-color: var(--cds-border-subtle); }
  html body .ns-tag { min-height: 18px; padding: 0 8px; border-radius: 1000px; font-size: 12px; line-height: 18px; font-weight: 400; letter-spacing: .32px; }
  html body .ns-tag.is-alto { background: var(--tag-purple-bg); color: var(--tag-purple); }
  html body .ns-tag.is-clasico { background: var(--tag-warn-bg); color: var(--tag-warn); }
  html body .ns-tag.is-adapt { background: var(--tag-blue-bg); color: var(--tag-blue); }
  html body .pk-esp-ad em { font-size: 12px; font-weight: 400; color: var(--cds-text-secondary); }
  html body .pk-chips { gap: 4px; }
  html body .pk-chip { height: 18px; padding: 0 8px; border-radius: 1000px; background: var(--tag-gray-bg); color: var(--tag-gray); font-size: 12px; line-height: 18px; font-weight: 400; letter-spacing: .32px; }
  html body .pk-card-foot { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--cds-border-subtle); font-size: 14px; color: var(--cds-text-secondary); }
  html body .pk-seg { border-radius: 0; background: var(--cds-layer-01); }
  html body .pk-seg.is-amber { background: var(--tag-warn-bg); color: var(--tag-warn); }
  html body .pk-seg.is-red { background: var(--tag-urg-bg); color: var(--tag-urg); }
  html body .pk-rn-v { border-radius: 1000px; font-weight: 400; }
  html body .pk-col-collapsed { border: 0; border-radius: 0; background: var(--cds-layer-01); color: var(--cds-text-primary); box-shadow: inset 0 2px 0 var(--cds-support-error); }
  html body .pk-col-collapsed:hover { background: var(--cds-layer-hover-01); }
  html body .pk-col.is-lost .pk-col-head { box-shadow: inset 0 -2px 0 var(--cds-support-error); }
  html body .pk-progress, html body .pk-bar { border-radius: 0 !important; }
  html body .pk-avatar, html body .pk-card-foot [class*="avatar"] { font-family: var(--f-sans); }
  @media (max-width: 1055px) {
    html body .uva-topbar-util { left: 0; padding-left: 256px; }
  }
  html body .uva-topbar { background: var(--cds-background) !important; }
  html body .pk-poliza { font-size: 12px; line-height: 16px; letter-spacing: .32px; font-weight: 400; color: var(--cds-text-secondary); font-family: var(--f-mono); }
  html body .pk-motivo { font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--tag-red); }
  html body .pk-agent { font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .pk-prima { font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  html body .pk-flag { border-radius: 1000px; background: var(--tag-warn-bg); color: var(--tag-warn); }
  html body .pk-rescate { margin-top: 8px; padding: 8px 12px; border-radius: 0; border-left: 3px solid var(--cds-support-success); background: #DEFBE6; }
  html body .pk-rescate-t { font-size: 12px; line-height: 16px; font-weight: 600; color: var(--tag-green); }
  html body .pk-rescate-d { font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-primary); }
  html body .pk-rescatar { border-radius: 0; border-color: var(--cds-border-subtle); background: var(--cds-layer-01); color: var(--cds-support-error); }
  html body .pk-progreso { font-size: 12px; line-height: 16px; letter-spacing: .32px; font-weight: 400; color: var(--cds-text-secondary); }
  html body .pk-progreso-bar { height: 4px; border-radius: 0; background: var(--cds-layer-selected-01); }
  html body .pk-progreso-bar i, html body .pk-progreso-bar > * { border-radius: 0 !important; background: var(--uva-interactive) !important; }
  html body .pk-emisol { min-height: 18px; padding: 0 8px; border-radius: 1000px; background: var(--tag-blue-bg); color: var(--tag-blue); font-size: 12px; line-height: 18px; font-weight: 400; letter-spacing: .32px; }
  html body .pk-chip.is-win, html body .pk-chips .is-win { background: var(--tag-green-bg); color: var(--tag-green); }
  html body .pk-next { border-radius: 0; border-color: var(--cds-border-subtle); background: var(--cds-layer-01); font-size: 14px; color: var(--uva-interactive); }
  html body .pk-menu { border: 0; border-radius: 0; background: var(--cds-layer-01); box-shadow: 0 2px 6px rgba(0, 0, 0, .3); padding: 0; }
  html body .pk-menu-title { padding: 8px 16px 4px; font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .pk-menu-item { min-height: 32px; padding: 0 16px; border-radius: 0; font-size: 14px; color: var(--cds-text-primary); }
  html body .pk-menu-item:hover { background: var(--cds-layer-hover-01); }
  html body .pk-empty { border: 1px dashed var(--cds-border-strong); border-radius: 0; font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .pk-vert { font-size: 14px; font-weight: 600; }
  html body .pk-mas { font-size: 12px; color: var(--cds-text-secondary); }
  /* ---- UI shell bajo 1056 px [CARBON]: el side nav se abre con el botón de menú ---- */
  @media (max-width: 1055px) {
    html body .uva-sb-slot { flex: 0 0 0px !important; width: 0 !important; }
    html body .uva-sb { position: fixed !important; z-index: 58; top: 0; left: calc(-1 * var(--sidenav-w)); bottom: 0; width: var(--sidenav-w) !important; transition: left var(--dur-fast-02) var(--ease-prod); box-shadow: none !important; }
    html body .uva-sb-slot.is-open .uva-sb { left: 0; }
    html body .uva-sb-slot.is-open .uva-sb-scrim { display: block !important; position: fixed; inset: var(--shell-h) 0 0 0; z-index: 57; background: var(--cds-overlay) !important; }
    html body .uva-sb-brand { width: auto !important; flex-direction: row !important; gap: 8px !important; padding: 0 16px 0 0 !important; border-right: 0; }
    html body .uva-sb-logo { width: 24px !important; height: 24px !important; }
    html body .uva-sb-brandtext { display: flex !important; }
    html body .uva-sb-toggle { display: inline-flex !important; order: -1; width: 48px; height: 47px; min-height: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--cds-text-primary) !important; }
    html body .uva-sb-toggle:hover { background: var(--cds-layer-hover-01) !important; }
    html body .uva-sb-toggle svg { transform: none !important; }
    html body .uva-topbar-util { left: 300px; padding-left: 0; }
    html body .uva-sb-slot .uva-sb-label, html body .uva-sb-slot .uva-sb-sublabel, html body .uva-sb-slot .uva-sb-userinfo, html body .uva-sb-slot .uva-sb-note { display: block !important; }
    html body .uva-sb-slot .uva-sb-text { display: flex !important; }
    html body .uva-sb-slot .uva-sb-item { justify-content: flex-start !important; padding: 0 16px !important; }
    html body .uva-sb-slot .uva-sb-badge { position: static !important; }
    html body .uva-sb-slot .uva-sb-group { padding: 8px 0 0 !important; }
    html body .uva-sb-slot .uva-sb-user { flex-direction: row !important; gap: 10px !important; }
    html body .uva-sb-slot .uva-sb-footer { padding: 16px !important; }
    html body .uva-pagehead { padding: 16px 16px 12px !important; }
    html body .uva-shell { padding-left: 16px; padding-right: 16px; }
  }
  @media (max-width: 671px) {
    html body .uva-topbar-search { display: none; }
    html body .uva-sb-title { display: none; }
    html body .uva-topbar-util { left: 200px; }
    html body .uva-topbar-util::before { display: none; }
    html body .uva-pagehead h1, html body .uva-pagehead .uva-pagetitle { font-size: 20px !important; line-height: 28px !important; }
  }
  html body .uva-sb-brandtext { flex-wrap: nowrap; white-space: nowrap; }
  html body .uva-sb-title, html body .uva-sb-sub { white-space: nowrap; }


  /* =====================================================================
     Variante B · UI shell en zona oscura [CARBON] temas canónicos Gray 100 (#161616) y Gray 90 (#262626)
     El contenido sigue en Gray 10. Valores de la zona oscura: [CARBON·VALIDAR] tema g100.
     Indicador de selección en Carbon Magenta 50 #EE538B [UVA·ADAPT]: rosa cercano al de la marca; 3.43:1 sobre #393939 (mínimo 3:1 para elementos no textuales). El tono operativo #8C2F58 no llega (1.46:1).
     ===================================================================== */
  :root {
    --dz-bg: #161616; --dz-layer: #262626; --dz-hover: #333333; --dz-selected: #393939; --dz-border: #393939;
    --dz-text: #F4F4F4; --dz-text-2: #C6C6C6; --dz-text-3: #A8A8A8; --dz-indicator: #EE538B;
  }
  html body .uva-sb-brand, html body .uva-topbar-util { background: var(--dz-bg) !important; border-bottom: 1px solid var(--dz-border) !important; }
  html body .uva-sb-title { color: var(--dz-text) !important; }
  html body .uva-sb-sub { color: #FFFFFF !important; }
  html body .uva-topbar-util::before { background: var(--dz-border); }
  html body .uva-topbar-search .cds-search { background: transparent; }
  html body .uva-topbar-search .cds-search:hover { background: var(--dz-hover); }
  html body .uva-topbar-search .cds-search svg { color: var(--dz-text-2); }
  html body .uva-topbar-search .cds-search input { color: var(--dz-text); }
  html body .uva-topbar-search .cds-search input::placeholder { color: #8D8D8D; }
  html body .av-bell-btn { color: var(--dz-text) !important; border-left-color: var(--dz-border) !important; }
  html body .av-bell-btn:hover { background: var(--dz-hover) !important; }
  html body .uva-sb { background: var(--dz-layer) !important; border-right: 1px solid var(--dz-border) !important; color: var(--dz-text-2) !important; }
  html body .uva-sb-nav { scrollbar-color: #525252 transparent; }
  html body .uva-sb-label { color: var(--dz-text-3) !important; font-weight: 600 !important; }
  html body .uva-sb-sublabel { color: var(--dz-text-3) !important; }
  html body .uva-sb-item { color: var(--dz-text-2) !important; }
  html body .uva-sb-item:hover { background: var(--dz-hover) !important; color: var(--dz-text) !important; }
  html body .uva-sb-item.is-active { background: #52303C !important; color: #FFFFFF !important; }   /* [UVA·ADAPT] tinte rosa: Magenta 50 al 22 % sobre #262626; texto blanco 11:1 */
  html body .uva-sb-item.is-active::before { background: var(--dz-indicator) !important; }
  html body .uva-sb-icon { color: var(--dz-text-2) !important; }
  html body .uva-sb-item:hover .uva-sb-icon, html body .uva-sb-item.is-active .uva-sb-icon { color: #FFFFFF !important; }
  html body .uva-sb-badge { background: var(--dz-selected) !important; color: var(--dz-text) !important; }
  html body .uva-sb-item.is-active .uva-sb-badge:not(.is-amber) { background: #525252 !important; }
  html body .uva-sb-badge.is-amber { background: #8A3800 !important; color: #FFD9BE !important; }
  html body .uva-sb-footer { border-top-color: var(--dz-border) !important; }
  html body .uva-sb-username { color: var(--dz-text) !important; }
  html body .uva-sb-role { background: var(--dz-selected) !important; color: var(--dz-text) !important; border-bottom-color: #6F6F6F !important; }
  html body .uva-sb-role option { color: #161616; background: #FFFFFF; }
  html body .uva-sb-note { color: var(--dz-text-3) !important; }
  html body .uva-sb-aux { border-color: var(--dz-border) !important; color: var(--dz-text) !important; background: transparent !important; }
  html body .uva-sb-aux:hover { background: var(--dz-hover) !important; }
  html body .uva-sb-toggle { color: var(--dz-text) !important; }
  html body .uva-sb-toggle:hover { background: var(--dz-hover) !important; }
  html body .uva-sb-avatar, html body .uva-sb-user [class*="avatar"] { box-shadow: none; }


  /* ---- Menú lateral B · grupos en mayúsculas y separados; íconos de 20 px ---- */
  html body .uva-sb-group { padding: 0 !important; }
  html body .uva-sb-group + .uva-sb-group { margin-top: 8px; border-top: 1px solid var(--dz-border); }
  html body .uva-sb-label { padding: 16px 16px 8px !important; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; letter-spacing: 1px !important; text-transform: uppercase !important; color: #FF7EB6 !important; }   /* [UVA] grupos en mayúsculas en rosa: Carbon Magenta 40 #FF7EB6 (6.45:1 sobre #262626). El rosa del logo #FF0084 no se usa en texto (doc. 3A) y daría 4.0:1 */
  html body .uva-sb-group:first-child .uva-sb-label { padding-top: 12px !important; }
  html body .uva-sb-sublabel { padding: 4px 16px 0 44px !important; font-size: 12px !important; color: var(--dz-text-3) !important; }
  html body .uva-sb-item { min-height: 32px !important; height: 32px; gap: 8px !important; }   /* [CARBON] enlace 32 px */
  html body .uva-sb-icon { flex: 0 0 20px !important; width: 20px !important; height: 20px !important; }
  html body .uva-sb-icon svg { width: 20px !important; height: 20px !important; stroke-width: 1.5 !important; }
  html body .uva-sb-nav { padding-top: 0 !important; }


  /* ---- Marca en el encabezado [CARBON] UI shell de 48 px a todo lo ancho: logo de 32 px y "CRM Promotoría" a un costado
     (el logo original no se recolorea). "UVA Seguros" se omite porque el logo ya lo dice. ---- */
  html body .uva-sb-title { display: none !important; }
  html body .uva-sb-brand { gap: 10px !important; }
  html body .uva-sb-logo { width: 32px !important; height: 32px !important; }
  html body .uva-sb-sub { font-size: 16px !important; line-height: 22px !important; font-weight: 600 !important; letter-spacing: 0 !important; color: #FFFFFF !important; }
  @media (max-width: 1055px) {
    html body .uva-sb-sub { font-size: 14px !important; line-height: 18px !important; }
    html body .uva-topbar-util { left: 230px !important; }
  }
  @media (max-width: 671px) {
    html body .uva-topbar-util { left: 210px !important; }
  }


  /* ---- Encabezado de 64 px [UVA·ADAPT] a petición del dueño (Carbon documenta 48 px): logo de 44 px,
     buscador del mismo alto y bloques de fecha y hora junto a los avisos ---- */
  :root { --shell-h: 64px; }
  html body .uva-sb-logo { width: 44px !important; height: 44px !important; }
  html body .uva-sb-brand { gap: 12px !important; }
  html body .uva-topbar-search .cds-search, html body .uva-topbar-search .cds-search input { height: calc(var(--shell-h) - 1px) !important; }
  html body .uva-topbar-search .cds-search input { font-size: 16px; line-height: 22px; padding-left: 48px; }
  html body .uva-topbar-search .cds-search svg { left: 16px; width: 20px; height: 20px; }
  html body .av-bell-btn { width: 64px !important; height: calc(var(--shell-h) - 1px) !important; }
  html body .av-bell-btn svg { width: 20px; height: 20px; }
  html body .av-bell-n { top: 12px !important; right: 12px !important; }
  html body .av-pop { top: var(--shell-h) !important; }
  html body .uva-sb-toggle { width: 56px !important; height: calc(var(--shell-h) - 1px) !important; }
  .hdr-blk { display: flex; flex-direction: column; justify-content: center; gap: 2px; flex: 0 0 auto; padding: 0 20px; border-left: 1px solid var(--dz-border); white-space: nowrap; }
  .hdr-blk span { font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--dz-text-3); }
  .hdr-blk b { font-size: 16px; line-height: 22px; font-weight: 600; letter-spacing: 0; color: var(--dz-text); font-variant-numeric: tabular-nums; }
  .hdr-hora b { font-size: 20px; line-height: 26px; font-weight: 400; }
  @media (max-width: 1055px) { .hdr-fecha { display: none; } html body .uva-topbar-util { left: 272px !important; } }
  @media (max-width: 671px) {
    :root { --shell-h: 56px; }
    .hdr-hora { display: none; }
    html body .uva-sb-logo { width: 36px !important; height: 36px !important; }
    html body .av-bell-btn { width: 56px !important; }
    html body .uva-topbar-util { left: auto !important; right: 0; width: auto; }
  }


  /* Franja oscura continua detrás del encabezado (sin huecos entre la marca y las acciones) */
  html body .uva-topbar::before { content: ""; position: fixed; z-index: 25; pointer-events: none; top: 0; left: 0; right: 0; height: var(--shell-h); background: var(--dz-bg); border-bottom: 1px solid var(--dz-border); }


  /* ---- Usuario y cerrar sesión en el encabezado [UVA·ADAPT] ---- */
  :root { --hdr-usr-w: 264px; }
  html body .uva-sb-footer.hdr-usr { position: fixed !important; z-index: 62; top: 0; right: 0; height: calc(var(--shell-h) - 1px); width: var(--hdr-usr-w); display: flex; align-items: stretch; padding: 0 !important; border: 0 !important; border-left: 1px solid var(--dz-border) !important; background: var(--dz-bg); }
  .hdr-usr-b { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 0 16px; }
  .hdr-usr-av { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #8C2F58; color: #FFFFFF; font-size: 13px; font-weight: 600; letter-spacing: .32px; }
  .hdr-usr-t { display: flex; flex-direction: column; min-width: 0; }
  .hdr-usr-t b { font-size: 14px; line-height: 18px; font-weight: 600; color: var(--dz-text); white-space: nowrap; }
  .hdr-usr-rol select { field-sizing: content; width: auto; min-width: 0; max-width: 170px; height: 22px; margin: 2px 0 0; padding: 0 18px 0 0; border: 0; border-radius: 0; background: transparent no-repeat right center / 12px 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 22 6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z' fill='%23C6C6C6'/%3E%3C/svg%3E"); -webkit-appearance: none; appearance: none; font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--dz-text-2); cursor: pointer; }
  .hdr-usr-rol select:hover { color: var(--dz-text); }
  .hdr-usr-rol select option { color: #161616; background: #FFFFFF; }
  .hdr-salir { flex: 0 0 64px; display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 100%; padding: 0; border: 0; border-left: 1px solid var(--dz-border); background: transparent; color: var(--dz-text); cursor: pointer; }
  .hdr-salir:hover { background: var(--dz-hover); }
  .hdr-salir:focus-visible { outline: 2px solid #FFFFFF; outline-offset: -2px; }
  html body .uva-topbar-util { right: var(--hdr-usr-w) !important; }
  html body .uva-sb-nav { padding-bottom: 16px !important; }
  .hdr-fuera { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; background: #F4F4F4; }
  .hdr-fuera-c { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 360px; padding: 32px; background: #FFFFFF; text-align: center; }
  .hdr-fuera-c b { font-size: 20px; line-height: 28px; font-weight: 400; color: #161616; }
  .hdr-fuera-c span { font-size: 14px; line-height: 20px; color: #525252; }
  @media (max-width: 1055px) { :root { --hdr-usr-w: 232px; } .hdr-usr-rol select { max-width: 120px; } }
  @media (max-width: 671px) {
    :root { --hdr-usr-w: 56px; }
    .hdr-usr-b { display: none; }
    .hdr-salir { flex-basis: 56px; width: 56px; border-left: 0; }
  }


  /* Las ventanas quedan por encima del encabezado fijo */
  html body .um-backdrop, html body .ns-backdrop, html body .uva-backdrop { z-index: 80 !important; }
  html body .xs-overlay, html body .rp-drawer, html body .pk-hist { z-index: 80; }


  /* =====================================================================
     Extensión del UVA Design System a todo el CRM · capa de componentes y secciones
     ===================================================================== */
  /* Tile [CARBON] */
  .cds-tile { background: var(--cds-layer-01); border: 0; border-radius: 0; overflow: hidden; min-width: 0; transition: background var(--dur-fast-01) var(--ease-prod); }
  .cds-tile.is-click { cursor: pointer; }
  .cds-tile.is-click:hover { background: var(--cds-layer-hover-01); }
  .cds-kpi-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  .cds-kpi-h svg { flex: none; color: var(--cds-text-secondary); }
  .cds-kpi-v { margin-top: 16px; font-size: 32px; line-height: 40px; font-weight: 400; letter-spacing: 0; color: var(--cds-text-primary); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
  .cds-kpi-s { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .uva-kpi-link { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 12px; font-size: 14px; line-height: 18px; font-weight: 400; color: var(--uva-interactive); }
  .cds-num { font-family: var(--f-sans); font-weight: 400; letter-spacing: 0; }
  /* Tag [CARBON] 24 px / 18 px, radio completo, label-01 */
  .cds-tag { display: inline-flex; align-items: center; gap: 4px; min-height: 24px; padding: 0 8px; border-radius: 1000px; font-family: var(--f-sans); font-size: 12px; line-height: 16px; font-weight: 400; letter-spacing: .32px; white-space: nowrap; }
  .cds-tag--sm { min-height: 18px; }
  .cds-tag-dot { width: 6px; height: 6px; border-radius: 50%; }
  .cds-status { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; line-height: 18px; color: var(--cds-text-primary); white-space: nowrap; }
  .cds-status-i { width: 8px; height: 8px; border-radius: 50%; flex: none; }
  /* Tabs de línea [CARBON] */
  .cds-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; min-width: 0; }
  .cds-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 16px; border: 0; border-bottom: 2px solid var(--cds-border-subtle); background: transparent; font-family: var(--f-sans); font-size: 14px; line-height: 18px; font-weight: 400; letter-spacing: .16px; color: var(--cds-text-secondary); white-space: nowrap; cursor: pointer; transition: border-color var(--dur-fast-01) var(--ease-prod), color var(--dur-fast-01) var(--ease-prod); }
  .cds-tab:hover { color: var(--cds-text-primary); border-bottom-color: var(--cds-border-strong); }
  .cds-tab.is-on { color: var(--cds-text-primary); font-weight: 600; border-bottom-color: var(--uva-interactive); }
  .cds-tab-n { display: inline-flex; align-items: center; height: 18px; padding: 0 8px; border-radius: 1000px; background: var(--tag-gray-bg); color: var(--tag-gray); font-size: 12px; font-weight: 400; letter-spacing: .32px; }
  /* Botón de ícono [CARBON] */
  .cds-iconbtn { position: relative; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--cds-text-primary); cursor: pointer; }
  .cds-iconbtn:hover { background: var(--cds-layer-hover-01); }
  .cds-iconbtn.is-sec { border: 1px solid var(--cds-border-subtle); background: var(--cds-layer-01); }
  .cds-iconbtn-b { position: absolute; top: 8px; right: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--cds-support-error); }
  /* Etiquetas de sección */
  html body .uva-label { font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; letter-spacing: .32px !important; text-transform: none !important; color: var(--cds-text-secondary) !important; }
  /* Data table [CARBON] cabecera 48 px 14/600 sobre #E0E0E0; filas 14/400 */
  html body .uva-view table { border-collapse: collapse; }
  html body .uva-view table thead th, html body .um-modal table thead th, html body .uva-backdrop table thead th { height: 48px; padding-top: 0 !important; padding-bottom: 0 !important; background: var(--cds-layer-accent-01) !important; border-bottom: 0 !important; font-size: 14px !important; line-height: 18px !important; font-weight: 600 !important; letter-spacing: .16px !important; text-transform: none !important; color: var(--cds-text-primary) !important; white-space: nowrap; vertical-align: middle; }
  html body .uva-view table tbody td, html body .uva-backdrop table tbody td { border-bottom: 1px solid var(--cds-border-subtle) !important; font-size: 14px; line-height: 18px; letter-spacing: .16px; color: var(--cds-text-primary); }
  html body .uva-view table tbody tr:hover td { background: var(--cds-layer-hover-01); }
  /* Campos [CARBON] 40 px, línea inferior 1 px, foco 2 px */
  html body .uva-view input[type="text"]:not(.cds-search *):not(.um-pick-in *):not(.um-monto *), html body .uva-view input[type="number"], html body .uva-view input[type="date"], html body .uva-view input[type="email"], html body .uva-view input[type="tel"], html body .uva-view input[type="search"]:not(.cds-search *), html body .uva-view select, html body .uva-view textarea,
  html body .uva-backdrop input[type="text"], html body .uva-backdrop input[type="number"], html body .uva-backdrop input[type="date"], html body .uva-backdrop select, html body .uva-backdrop textarea,
  html body .um-modal .um-input, html body .ns-input, html body .pai-input {
    min-height: 40px; border: 0 !important; border-bottom: 1px solid var(--cds-border-strong) !important; border-radius: 0 !important; background-color: var(--cds-field-02) !important; box-shadow: none !important; font-size: 14px; line-height: 18px; letter-spacing: .16px; color: var(--cds-text-primary); }
  html body .uva-view textarea, html body .uva-backdrop textarea, html body .um-modal textarea.um-input { min-height: 64px; padding: 11px 16px !important; }
  html body .uva-view input:focus, html body .uva-view select:focus, html body .uva-view textarea:focus, html body .uva-backdrop input:focus, html body .uva-backdrop select:focus, html body .uva-backdrop textarea:focus, html body .um-modal .um-input:focus, html body .ns-input:focus, html body .pai-input:focus { outline: 2px solid var(--focus) !important; outline-offset: -2px; box-shadow: none !important; }
  html body .uva-view input[aria-invalid="true"], html body .ns-input.is-err { outline: 2px solid var(--cds-support-error) !important; outline-offset: -2px; }
  html body input[type="checkbox"], html body input[type="radio"] { accent-color: #161616; }
  html body .um-monto, html body .um-pick-in { border: 0 !important; border-bottom: 1px solid var(--cds-border-strong) !important; border-radius: 0 !important; background: var(--cds-field-02) !important; }
  html body .cds-search input { background: transparent !important; }
  html body .uva-view .cds-search { background: var(--cds-field-01); }
  /* Ventanas · modal [CARBON] título 20/400, cierre 48 × 48, sin radios */
  html body .ns-modal, html body .um-modal, html body .uva-backdrop > div { border-radius: 0 !important; border: 0 !important; background: var(--cds-layer-01) !important; box-shadow: 0 2px 6px rgba(0, 0, 0, .3) !important; }
  html body .ns-backdrop, html body .um-backdrop, html body .uva-backdrop { background: var(--cds-overlay) !important; backdrop-filter: none !important; }
  html body .ns-head, html body .um-head, html body .uva-backdrop > div > .uva-card-head { padding: 16px 0 16px 16px !important; background: var(--cds-layer-01) !important; border-bottom: 0 !important; align-items: flex-start !important; }
  html body .ns-title, html body .um-head-t h2, html body .uva-backdrop > div > .uva-card-head h2 { font-size: 20px !important; line-height: 28px !important; font-weight: 400 !important; letter-spacing: 0 !important; }
  html body .ns-sub, html body .um-head-t p { font-size: 14px !important; line-height: 18px; color: var(--cds-text-secondary) !important; }
  html body .ns-head-ic, html body .um-head-ic { display: none !important; }
  html body .ns-close, html body .um-close { width: 48px !important; height: 48px !important; margin: -16px 0 0 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--cds-text-primary) !important; }
  html body .ns-close:hover, html body .um-close:hover { background: var(--cds-layer-hover-01) !important; }
  html body .ns-close svg, html body .um-close svg { width: 16px; height: 16px; }
  html body .um-close-abs { top: 0 !important; right: 0 !important; transform: none !important; }
  html body .uva-backdrop > div > .uva-card-head:has(.um-close-abs) { padding-right: 56px !important; }
  html body .um-body { padding: 0 16px 16px !important; gap: 16px; }
  html body .ns-foot, html body .um-foot, html body .uva-backdrop > div > div[style*="border-top"] { padding: 0 0 0 16px !important; min-height: 64px; background: var(--cds-layer-01) !important; border-top: 1px solid var(--cds-border-subtle) !important; }
  html body .ns-foot .cds-btn, html body .um-foot .cds-btn, html body .uva-backdrop > div > div[style*="border-top"] .cds-btn { min-height: 64px; align-items: flex-start; padding-top: 14px; padding-bottom: 32px; }
  html body .ns-foot > div:last-child, html body .um-foot-b { gap: 0 !important; align-self: stretch; }
  html body .uva-backdrop > div > div[style*="border-top"] { gap: 0 !important; }
  html body .um-foot-i, html body .ns-foot-info { padding: 12px 16px 12px 0; font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .um-sec, html body .ns-card { border: 0 !important; border-radius: 0 !important; background: var(--cds-layer-02) !important; }
  html body .um-sec-h, html body .ns-card .ns-sec-head { border-bottom: 1px solid var(--cds-border-subtle) !important; }
  html body .um-sec-n, html body .ns-card .ns-sec-n { background: var(--cds-layer-01) !important; color: var(--cds-text-primary) !important; border: 1px solid var(--cds-border-strong); }
  html body .um-sec-n.is-ok, html body .ns-card .ns-sec-n.is-ok { background: #DEFBE6 !important; color: #0E6027 !important; border-color: #24A148; }
  html body .um-sec-st, html body .ns-sec-st { border-radius: 1000px; font-weight: 400; }
  html body .ns-nav { background: var(--cds-layer-01) !important; border-right: 1px solid var(--cds-border-subtle) !important; }
  html body .ns-nav-i { border-radius: 0 !important; }
  html body .ns-nav-i:hover { background: var(--cds-layer-hover-01) !important; }
  html body .ns-nav-n { border-radius: 50%; }
  html body .ns-nav-bar, html body .ns-nav-bar i { border-radius: 0 !important; }
  html body .ns-nav-bar i { background: var(--cds-support-success) !important; }
  html body .ns-main { background: var(--cds-layer-01); }
  html body .um-opt, html body .um-chip { border-radius: 0 !important; }
  html body .um-opt.is-on, html body .um-chip.is-on { border-color: var(--uva-interactive) !important; background: var(--uva-brand-wash) !important; box-shadow: inset 0 0 0 1px var(--uva-interactive) !important; color: var(--uva-interactive) !important; }
  html body .um-pol { border: 0 !important; border-left: 3px solid var(--uva-interactive) !important; border-radius: 0 !important; background: var(--uva-brand-wash) !important; }
  html body .um-pick-l { border-radius: 0 !important; border: 0 !important; box-shadow: 0 2px 6px rgba(0, 0, 0, .3) !important; }
  /* Interruptores [CARBON] toggle: activo en verde de soporte */
  html body .uva-view input[type="checkbox"][role="switch"] { accent-color: #24A148; }
  /* Encabezados de tarjeta en contenido: blancos con divisor [CARBON] */
  html body .uva-view .uva-card-head { background: var(--cds-layer-01) !important; border-bottom: 1px solid var(--cds-border-subtle) !important; }
  html body .uva-view .uva-card-head-inset { border-bottom: 1px solid var(--cds-border-subtle) !important; }
  html body .uva-view .uva-card-head h2 { font-size: 16px !important; line-height: 22px !important; font-weight: 600 !important; letter-spacing: 0 !important; }
  /* Toggle [CARBON·VALIDAR] 48 × 24, activo en verde de soporte */
  html body .cfg-switch { width: 48px; height: 24px; border-radius: 1000px; background: #8D8D8D; }
  html body .cfg-switch.is-on { background: #24A148; }
  html body .cfg-switch-knob { top: 3px; left: 3px; width: 18px; height: 18px; box-shadow: none; }
  html body .cfg-switch.is-on .cfg-switch-knob { transform: translateX(24px); }


  /* ---- Tarjeta compacta del tablero: asegurado y Agente Productor; el resto vive en el expediente ---- */
  html body .pk-card.pk-card--min { padding: 12px 16px 12px 12px; }
  html body .pk-card--min .pk-name { margin: 0; font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  .pk-ag { display: flex; align-items: center; gap: 8px; margin-top: 8px; min-width: 0; }
  .pk-ag-av { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: var(--uva-interactive); color: #FFFFFF; font-size: 10px; line-height: 1; font-weight: 600; letter-spacing: .32px; }
  .pk-ag-n { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .pk-card--min .pk-next { margin-top: 8px; }


  /* ---- Integridad de datos ---- */
  .ig { display: flex; flex-direction: column; gap: 16px; }
  .ig-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px; background: var(--cds-layer-01); }
  .ig-h b { display: block; font-size: 20px; line-height: 28px; font-weight: 400; color: var(--cds-text-primary); }
  .ig-h span { display: block; max-width: 760px; margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--cds-text-secondary); }
  .ig-t { background: var(--cds-layer-01); }
  .ig-r { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(0, 2fr) 120px; gap: 16px; align-items: center; width: 100%; min-height: 48px; padding: 8px 16px; border: 0; border-bottom: 1px solid var(--cds-border-subtle); background: transparent; font: inherit; font-size: 14px; line-height: 18px; text-align: left; color: var(--cds-text-primary); }
  .ig-r > span:nth-child(2) { color: var(--cds-text-secondary); }
  .ig-r em { font-style: normal; margin-right: 8px; color: var(--cds-text-secondary); }
  .ig-hd { background: var(--cds-layer-accent-01); font-weight: 600; }
  .ig .cds-tag { font-style: normal; }
  .ig-g.is-err .ig-r { cursor: pointer; }
  .ig-g.is-err .ig-r:hover { background: var(--cds-layer-hover-01); }
  .ig-f { margin: 0; padding: 8px 16px 12px 40px; background: var(--cds-layer-02); border-bottom: 1px solid var(--cds-border-subtle); font-size: 12px; line-height: 18px; letter-spacing: .32px; color: var(--cds-text-primary); }
  @media (max-width: 760px) { .ig-r { grid-template-columns: minmax(0, 1fr) auto; } .ig-r > span:nth-child(2) { display: none; } }


  /* =====================================================================
     Identificación de etapas por color [UVA·ADAPT] a petición del dueño
     Lead amarillo · Colocación azul cielo · Ajustes malva · Emisión azul marino · Póliza pagada verde esmeralda · Perdido rojo.
     Elegidos por distancia perceptual (CIEDE2000 mínima 25 entre cualquier par; 16 con daltonismo rojo-verde).
     Cabecera con tinte sólido más claro que su filo; la tinta de texto contrasta al menos 4.5:1 con su tinte.
     ===================================================================== */
  html body .pk-col { position: relative; }
  html body .pk-col-head { position: relative; border-top: 3px solid var(--stage) !important; background: var(--stage-soft) !important; border-bottom: 1px solid var(--cds-border-subtle) !important; box-shadow: none !important; }
  html body .pk-col-dot { display: inline-block !important; flex: none; width: 8px !important; height: 8px !important; border-radius: 2px !important; background: var(--stage) !important; }
  html body .pk-col-name { color: var(--cds-text-primary); }
  html body .pk-col-count { background: #FFFFFF !important; color: var(--stage-ink) !important; box-shadow: none; font-weight: 600 !important; }
  html body .pk-col.is-won .pk-col-head, html body .pk-col.is-lost .pk-col-head { box-shadow: none !important; }
  html body .pk-card { box-shadow: inset 3px 0 0 var(--stage) !important; }
  html body .pk-card:hover { box-shadow: inset 3px 0 0 var(--stage) !important; }
  html body .pk-card:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
  html body .pk-col-collapsed { --stage: #C4433B; --stage-soft: #F7E0DE; --stage-ink: #A1302A; border-top: 3px solid var(--stage) !important; background: var(--stage-soft) !important; box-shadow: none !important; color: var(--stage-ink) !important; }
  html body .hs-badge { border-radius: 1000px; font-weight: 600; }
  html body .hs-badge .pk-col-dot { border-radius: 2px !important; }


  /* ---- Barra de proceso del expediente con los colores de etapa del tablero ---- */
  html body .xp-step { border-top: 3px solid var(--stage, #8D8D8D) !important; border-bottom: 3px solid transparent !important; }
  html body .xp-step.is-sel { background: var(--stage-soft) !important; border-bottom-color: var(--stage) !important; }
  html body .xp-step:hover:not(.is-sel) { background: var(--cds-layer-hover-01) !important; }
  html body .xp-step-n { background: var(--cds-layer-selected-01) !important; color: var(--cds-text-secondary) !important; box-shadow: none; }
  html body .xp-step.is-hecho .xp-step-n { background: var(--stage-soft) !important; color: var(--stage-ink) !important; }
  html body .xp-step.is-actual .xp-step-n { background: var(--stage-soft) !important; color: var(--stage-ink) !important; box-shadow: inset 0 0 0 2px var(--stage) !important; }
  html body .xp-step.is-sel .xp-step-n { background: #FFFFFF !important; }
  html body .xp-step.is-pendiente, html body .xp-step.is-no { border-top-color: color-mix(in srgb, var(--stage) 35%, #FFFFFF) !important; }


  /* ---- Información inicial de cotización por bloques ---- */
  .ii { display: flex; flex-direction: column; gap: 16px; }
  .ii-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .ii-card { min-width: 0; background: var(--cds-layer-01); border: 1px solid var(--cds-border-subtle); }
  .ii-card-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; border-bottom: 1px solid var(--uva-brand-border); background: var(--uva-brand-wash); }
  .ii-card-h h3 { margin: 0; font-size: 16px; line-height: 22px; font-weight: 600; color: var(--cds-text-primary); }
  .ii-card-h p { margin: 2px 0 0; font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .ii-card-b { padding: 16px; display: flex; flex-direction: column; gap: 12px; }
  .ii-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 24px; }
  .ii-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ii-dato span { display: block; font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .ii-dato b { display: block; margin-top: 2px; font-size: 14px; line-height: 18px; font-weight: 400; color: var(--cds-text-primary); overflow-wrap: anywhere; }
  .ii-dato b.mono { font-family: var(--f-mono); font-size: 13px; }
  .ii-dato b em { display: block; font-style: normal; font-family: var(--f-mono); font-size: 12px; color: var(--cds-text-secondary); }
  .ii-sub { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--cds-border-subtle); font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  .ii-tags { display: flex; flex-wrap: wrap; gap: 6px; }
  .ii-adapt { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cds-border-subtle); }
  .ii-adapt li { display: flex; gap: 8px; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--cds-border-subtle); font-size: 14px; color: var(--cds-text-primary); }
  .ii-adapt li b { font-weight: 600; }
  .ii-adapt li span { flex: none; font-variant-numeric: tabular-nums; }
  .ii-lock { font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .ii-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px; }
  .ii-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
  .ii-f > span { font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .ii-f em { font-style: normal; font-size: 12px; color: var(--tag-purple); }
  .ii-f .ns-input { width: 100%; height: 40px; padding: 0 12px; }
  .ii-f textarea.ns-input { height: auto; padding: 10px 12px; resize: vertical; }
  .ii-f-wide { grid-column: 1 / -1; }
  .ii-f .pg-seg { align-self: flex-start; }
  .ii-adapt-ed { display: flex; flex-direction: column; gap: 8px; }
  .ii-adapt-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.3fr) minmax(0, .8fr) 40px; gap: 8px; align-items: center; }
  .ii-adapt-row .ns-input { height: 40px; padding: 0 12px; }
  .ii-x { width: 40px; height: 40px; border: 0; background: transparent; color: var(--cds-text-secondary); cursor: pointer; }
  .ii-x:hover { background: var(--cds-layer-hover-01); color: var(--cds-text-primary); }
  .ii-link { align-self: flex-start; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; color: var(--uva-interactive); cursor: pointer; }
  .ii-link:hover { text-decoration: underline; }
  .ii-acc { display: flex; align-items: center; gap: 8px; justify-content: flex-end; padding-top: 12px; border-top: 1px solid var(--cds-border-subtle); }
  .ii-acc > span { margin-right: auto; font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .ii-aviso { padding: 10px 12px; border-left: 3px solid var(--cds-support-warning); background: var(--cds-notification-warning, #FCF4D6); font-size: 14px; line-height: 20px; color: var(--cds-text-primary); }
  .ii-notas { padding: 10px 12px; background: var(--cds-layer-02); font-size: 14px; line-height: 20px; color: var(--cds-text-primary); }
  .ii-notas span { display: block; font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .ii-vacio { font-size: 14px; color: var(--cds-text-secondary); }
  .ii-err { font-size: 12px; letter-spacing: .32px; color: var(--cds-support-error); }
  .ii-up { position: relative; overflow: hidden; }
  .ii-up input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
  .ii-req { display: flex; flex-direction: column; gap: 8px; }
  .ii-req label { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--cds-text-primary); cursor: pointer; }
  .ii-req-a { display: flex; flex-wrap: wrap; gap: 6px; padding-left: 24px; }
  .ii-chip { min-height: 24px; padding: 0 10px; border: 1px solid var(--cds-border-strong); border-radius: 1000px; background: var(--cds-layer-01); font: inherit; font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); cursor: pointer; }
  .ii-chip.is-on { border-color: var(--uva-interactive); background: var(--uva-brand-wash); color: var(--uva-interactive); }
  .ii-medios { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
  .ii-medio { margin: 0; display: flex; flex-direction: column; gap: 6px; padding: 8px; background: var(--cds-layer-02); }
  .ii-thumb { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4 / 3; padding: 0; border: 0; background: #E0E0E0; overflow: hidden; cursor: zoom-in; }
  .ii-thumb img, .ii-thumb video { width: 100%; height: 100%; object-fit: cover; }
  .ii-play { position: absolute; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(22, 22, 22, .7); color: #FFFFFF; font-style: normal; font-size: 14px; }
  .ii-medio figcaption { display: flex; flex-direction: column; gap: 4px; }
  .ii-medio figcaption .ns-input { height: 32px; padding: 0 8px; font-size: 13px; }
  .ii-medio figcaption > span { font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ii-visor { display: flex; flex-direction: column; max-width: min(960px, 92vw); max-height: 90vh; background: #161616; }
  .ii-visor-h { display: flex; align-items: center; justify-content: space-between; padding-left: 16px; color: #FFFFFF; }
  .ii-visor-h .um-close { color: #FFFFFF !important; }
  .ii-visor img, .ii-visor video { max-width: 100%; max-height: calc(90vh - 48px); object-fit: contain; }
  @media (max-width: 900px) { .ii-row { grid-template-columns: minmax(0, 1fr); } .ii-grid, .ii-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ii-adapt-row { grid-template-columns: minmax(0, 1fr) 40px; } .ii-adapt-row > :nth-child(2), .ii-adapt-row > :nth-child(3) { grid-column: 1 / 2; } }
  @media (max-width: 560px) { .ii-grid, .ii-grid2, .ii-form { grid-template-columns: minmax(0, 1fr); } }


  .ii .xp-docs { grid-template-columns: minmax(0, 1fr) !important; gap: 8px; }
  .ii .xp-doc { border-radius: 0 !important; }
  html body .ii .xp-ant { margin: 0; padding: 0; border: 1px solid var(--cds-border-subtle) !important; border-radius: 0 !important; background: var(--cds-layer-01) !important; }
  html body .ii .xp-ant-h { padding: 12px 16px; background: var(--uva-brand-wash); border-bottom: 1px solid var(--uva-brand-border); }
  html body .ii .xp-ant-h .xp-sub { font-size: 16px !important; line-height: 22px; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--cds-text-primary) !important; }
  html body .ii .xp-ant-grid { margin: 0; padding: 16px; gap: 12px 24px; }
  html body .ii .xp-ant-grid span { font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  html body .ii .xp-ant-grid b { font-size: 14px; font-weight: 400; color: var(--cds-text-primary); }
  html body .ii .xp-ant-var { border-radius: 1000px; font-weight: 400; }
  html body .ii .xp-ant-alerta { margin: 0 16px 16px; border-radius: 0; }


  /* ---- Endosos con catálogo ---- */
  .en-q { position: relative; display: flex; align-items: center; flex: 1 1 280px; min-width: 220px; height: 40px; background: var(--cds-field-01, #F4F4F4); border-bottom: 1px solid var(--cds-border-strong); }
  .en-q > svg { position: absolute; left: 12px; color: var(--cds-text-secondary); }
  .en-q input { width: 100%; height: 100%; padding: 0 36px 0 40px; border: 0; background: transparent; font: inherit; font-size: 14px; color: var(--cds-text-primary); outline: none; }
  .en-q input:focus { box-shadow: inset 0 0 0 2px var(--focus); }
  .en-q button { position: absolute; right: 4px; width: 32px; height: 32px; border: 0; background: none; color: var(--cds-text-secondary); cursor: pointer; }
  .en-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
  .en-sel { width: auto !important; min-width: 170px; height: 40px; }
  .en-n { margin-left: auto; font-size: 12px; color: var(--cds-text-secondary); }
  .en-picker { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; max-height: 340px; overflow-y: auto; padding-right: 4px; }
  .en-grp-h { margin-bottom: 6px; font-size: 12px; font-weight: 600; letter-spacing: .32px; text-transform: uppercase; color: var(--uva-interactive); }
  .en-grp-h span { text-transform: none; font-weight: 400; color: var(--cds-text-secondary); }
  .en-opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; }
  .en-opt { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 12px; border: 1px solid var(--cds-border-subtle); background: var(--cds-layer-01); text-align: left; font: inherit; cursor: pointer; }
  .en-opt:hover { background: var(--cds-layer-hover-01); }
  .en-opt b { font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); }
  .en-opt span { font-size: 12px; line-height: 16px; color: var(--cds-text-secondary); }
  .en-opt em { margin-top: 2px; font-style: normal; font-size: 11px; color: var(--uva-interactive); }
  .en-opt.is-on { border-color: var(--uva-interactive); background: var(--uva-brand-wash); box-shadow: inset 3px 0 0 var(--uva-interactive); }
  .en-vacio { margin-top: 10px; font-size: 13px; color: var(--cds-text-secondary); }
  .en-ficha { padding: 12px 14px; border: 1px solid var(--uva-brand-border); background: var(--uva-brand-wash); }
  .en-ficha-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
  .en-ficha-h b { display: block; font-size: 15px; color: var(--cds-text-primary); }
  .en-ficha-h span { font-size: 12px; color: var(--cds-text-secondary); }
  .en-ficha p { margin: 8px 0 0; font-size: 14px; line-height: 20px; color: var(--cds-text-primary); }
  .en-regla { margin-top: 8px; padding: 8px 10px; border-left: 3px solid var(--cds-support-warning, #F1C21B); background: #FFFFFF; font-size: 13px; line-height: 18px; color: var(--cds-text-primary); }
  .en-regla.is-err { border-left-color: var(--cds-support-error); background: #FFF1F1; }
  .en-need span, .en-docs > span, .en-hist > span, .en-clasif > span { display: block; margin-bottom: 4px; font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .en-need p { margin: 0; font-size: 14px; line-height: 20px; color: var(--cds-text-primary); }
  .en-row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
  .en-seg { margin-bottom: 8px; }
  .en-docs { display: flex; flex-direction: column; gap: 6px; }
  .en-docs label, .en-auth { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 20px; color: var(--cds-text-primary); cursor: pointer; }
  .en-docs input, .en-auth input { margin-top: 3px; accent-color: var(--uva-interactive); }
  .en-auth { padding: 10px 12px; border: 1px solid var(--cds-border-subtle); }
  .en-auth.is-err { border-color: var(--cds-support-error); }
  .en-det { display: flex; flex-direction: column; gap: 16px; padding: 16px 24px; }
  .en-det-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 24px; }
  .en-det-g span { display: block; font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .en-det-g b { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 2px; font-size: 14px; font-weight: 400; color: var(--cds-text-primary); }
  .en-det-g b.mono { font-family: var(--f-mono); }
  .en-hist { border-top: 1px solid var(--cds-border-subtle); padding-top: 12px; }
  .en-hist div { padding: 4px 0; font-size: 13px; color: var(--cds-text-primary); }
  .en-tw { overflow-x: auto; }
  .en-t { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 14px; }
  .en-dias { margin-top: 6px; }
  .en-t .en-sub { white-space: normal; overflow-wrap: anywhere; }
  .en-dias-b { display: inline-block; padding: 0 8px; border-radius: 1000px; font-size: 12px; line-height: 20px; white-space: nowrap; }
  .en-dias-b.is-green { background: #DEFBE6; color: #0E6027; } .en-dias-b.is-amber { background: #FCF4D6; color: #684E00; } .en-dias-b.is-red { background: #FFD7D9; color: #A2191F; }

  .en-t th { height: 48px; padding: 0 12px; background: #E0E0E0; text-align: left; font-size: 14px; font-weight: 600; color: var(--cds-text-primary); white-space: nowrap; }
  .en-t td { padding: 12px 12px; border-top: 1px solid var(--cds-border-subtle); vertical-align: top; color: var(--cds-text-primary); }
  .en-t th:first-child, .en-t td:first-child { padding-left: 24px; }
  .en-t th.r, .en-t td.r { text-align: right; }
  .en-t .mono { font-family: var(--f-mono); font-size: 13px; }
  .en-tr { cursor: pointer; }
  .en-tr:hover td { background: var(--cds-layer-hover-01); }
  .en-tr:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
  .en-sub { margin-top: 2px; font-size: 12px; line-height: 16px; color: var(--cds-text-secondary); }
  .en-grp-tag { display: inline-block; margin-top: 6px; padding: 0 8px; border-radius: 1000px; background: var(--uva-brand-wash); font-size: 11px; line-height: 18px; color: var(--uva-interactive); }
  .en-desc { min-width: 180px; font-size: 13px; line-height: 18px; color: var(--cds-text-secondary) !important; }

  .en-amt { margin-top: 4px; font-variant-numeric: tabular-nums; font-weight: 600; }
  .en-amt.is-pos { color: #198038; }
  .en-amt.is-neg { color: #DA1E28; }
  .en-id { margin-top: 2px; font-size: 11px; color: var(--cds-text-secondary); }
  .en-t-cat { min-width: 1200px; }
  .en-t-cat td { font-size: 13px; line-height: 18px; }
  .en-t-cat td:first-child b { font-size: 14px; }
  .en-pie { padding: 11px 24px; border-top: 1px solid var(--cds-border-subtle); font-size: 12px; color: var(--cds-text-secondary); }
  .en-bar + .en-tw { margin-top: 0; }
  div > .en-bar:first-child { margin-bottom: 12px; }
  @media (max-width: 1055px) { .en-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
  @media (max-width: 672px) { .en-row2, .en-det-g { grid-template-columns: minmax(0, 1fr); } .en-kpis { grid-template-columns: minmax(0, 1fr) !important; } .en-det { padding: 12px 16px; } }


  /* ---- Campañas de correo ---- */
  .cm-ed { display: grid; grid-template-columns: minmax(0, 1fr) 440px; min-height: 560px; }
  .cm-ed-l { display: flex; flex-direction: column; gap: 12px; padding: 16px 24px; border-right: 1px solid var(--cds-border-subtle); }
  .cm-ed-r { padding: 16px 24px; background: var(--cds-layer-02, #F4F4F4); }
  .cm-ed-r-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
  .cm-ed-r-h b { font-size: 14px; color: var(--cds-text-primary); }
  .cm-nombre, .cm-ed label, .cm-rep label { display: flex; flex-direction: column; gap: 6px; }
  .cm-ed label > span, .cm-seg-f span, .cm-files span, .cm-prueba > span { font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .cm-nombre em { font-style: normal; font-size: 12px; color: var(--cds-text-secondary); }
  .cm-paso { border: 1px solid var(--cds-border-subtle); background: var(--cds-layer-01); }
  .cm-paso.is-open { border-color: var(--uva-brand-border); }
  .cm-paso-h { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 16px; border: 0; background: none; text-align: left; font: inherit; cursor: pointer; }
  .cm-paso.is-open .cm-paso-h { background: var(--uva-brand-wash); border-bottom: 1px solid var(--uva-brand-border); }
  .cm-paso-n { flex: none; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--cds-border-strong); font-size: 12px; color: var(--cds-text-secondary); }
  .cm-paso-n.is-ok { border-color: #24A148; background: #24A148; color: #FFFFFF; }
  .cm-paso-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  .cm-paso-t b { font-size: 14px; font-weight: 600; color: var(--cds-text-primary); }
  .cm-paso-t em { font-style: normal; font-size: 12px; color: var(--cds-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .cm-paso-a { font-size: 13px; color: var(--uva-interactive); }
  .cm-paso-b { display: flex; flex-direction: column; gap: 14px; padding: 16px; }
  .cm-seg { align-self: flex-start; }
  .cm-seg-f { display: flex; flex-direction: column; gap: 12px; }
  .cm-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
  .cm-row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; }
  .cm-check { flex-direction: row !important; align-items: center; gap: 8px !important; height: 40px; font-size: 14px; color: var(--cds-text-primary); }
  .cm-check input, .cm-man-l input { accent-color: var(--uva-interactive); }
  .cm-man { display: flex; flex-direction: column; gap: 8px; }
  .cm-man-l { max-height: 220px; overflow-y: auto; border: 1px solid var(--cds-border-subtle); }
  .cm-man-l label { display: grid !important; grid-template-columns: 20px minmax(0, 1fr); column-gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--cds-border-subtle); cursor: pointer; }
  .cm-man-l label b { font-size: 14px; font-weight: 400; color: var(--cds-text-primary); }
  .cm-man-l label span { grid-column: 2; font-size: 12px; color: var(--cds-text-secondary); }
  .cm-man-l label.is-x span { color: #A2191F; }
  .cm-aud { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 12px 14px; background: var(--cds-layer-02, #F4F4F4); }
  .cm-aud div { display: flex; align-items: baseline; gap: 6px; }
  .cm-aud b { font-size: 20px; font-weight: 400; color: var(--cds-text-primary); }
  .cm-aud span { font-size: 13px; color: var(--cds-text-secondary); }
  .cm-aud p { flex-basis: 100%; margin: 0; font-size: 12px; line-height: 16px; color: var(--cds-text-secondary); }
  .cm-cnt { float: right; font-style: normal; }
  .cm-aviso { padding: 8px 12px; border-left: 3px solid #F1C21B; background: #FCF4D6; font-size: 13px; line-height: 18px; color: var(--cds-text-primary); }
  .cm-err { font-style: normal; font-size: 12px; color: #DA1E28; }
  .cm-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; color: var(--cds-text-secondary); }
  .cm-tags button { min-height: 24px; padding: 0 10px; border: 1px dashed var(--uva-brand-border); border-radius: 1000px; background: var(--uva-brand-wash); font: inherit; font-size: 12px; color: var(--uva-interactive); cursor: pointer; }
  .cm-files { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .cm-files > div { display: flex; flex-direction: column; gap: 6px; }
  .cm-file { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--cds-text-primary); }
  .cm-up { position: relative; align-self: flex-start; display: inline-flex !important; flex-direction: row !important; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid var(--uva-interactive); font-size: 14px; color: var(--uva-interactive); cursor: pointer; }
  .cm-up input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
  .cm-prueba { display: flex; flex-direction: column; gap: 6px; padding-top: 12px; border-top: 1px solid var(--cds-border-subtle); }
  .cm-prev { display: flex; flex-direction: column; align-items: center; gap: 10px; }
  .cm-inbox, .cm-mail { width: 100%; max-width: 600px; }
  .cm-prev.is-movil .cm-inbox, .cm-prev.is-movil .cm-mail { max-width: 340px; }
  .cm-inbox { padding: 10px 14px; background: #FFFFFF; border: 1px solid var(--cds-border-subtle); font-size: 13px; line-height: 18px; }
  .cm-inbox-de { display: flex; gap: 6px; align-items: baseline; overflow: hidden; white-space: nowrap; }
  .cm-inbox-de b { color: var(--cds-text-primary); } .cm-inbox-de span { color: var(--cds-text-secondary); font-size: 12px; overflow: hidden; text-overflow: ellipsis; }
  .cm-inbox-as { font-weight: 600; color: var(--cds-text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .cm-inbox-pre { color: var(--cds-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .cm-mail { background: #FFFFFF; border: 1px solid var(--cds-border-subtle); }
  .cm-mail-h { display: flex; justify-content: center; padding: 18px; border-bottom: 3px solid #8C2F58; }
  .cm-mail-h img { width: 56px; height: 56px; border-radius: 50%; }
  .cm-fsel { width: auto !important; min-width: 200px; height: 40px; }
  .cm-mail-img { display: block; width: 100%; max-height: 200px; object-fit: cover; }
  .cm-mail-b { padding: 24px 28px; font-size: 15px; line-height: 23px; color: #262626; }
  .cm-mail-b h2 { margin: 0 0 14px; font-size: 22px; line-height: 28px; font-weight: 600; color: #161616; }
  .cm-mail-b p { margin: 0 0 12px; white-space: pre-line; }
  .cm-mail-btn { margin: 18px 0 6px; } .cm-mail-btn span { display: inline-block; padding: 11px 22px; background: #8C2F58; color: #FFFFFF; font-weight: 600; font-size: 14px; }
  .cm-mail-adj { margin-top: 16px; padding-top: 12px; border-top: 1px solid #E0E0E0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
  .cm-mail-adj div { display: flex; align-items: center; gap: 6px; } .cm-mail-adj em { font-style: normal; color: #6F6F6F; }
  .cm-mail-f { padding: 14px 28px 20px; background: #F4F4F4; font-size: 11px; line-height: 16px; color: #6F6F6F; text-align: center; }
  .cm-prev-nota { font-size: 12px; color: var(--cds-text-secondary); }
  .cm-prev.is-movil .cm-mail-b { padding: 18px; font-size: 14px; line-height: 21px; }
  .cm-conf { max-width: 520px; }
  .cm-conf-b { padding: 8px 24px 20px; font-size: 14px; line-height: 21px; color: var(--cds-text-primary); }
  .cm-conf-b p { margin: 0 0 8px; }
  .cm-rep { display: flex; flex-direction: column; gap: 16px; padding: 16px 24px; }
  .cm-rep-as span { display: block; font-size: 12px; color: var(--cds-text-secondary); }
  .cm-rep-as b { font-size: 16px; color: var(--cds-text-primary); } .cm-rep-as em { display: block; font-style: normal; font-size: 13px; color: var(--cds-text-secondary); }
  .cm-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1px; background: var(--cds-border-subtle); border: 1px solid var(--cds-border-subtle); }
  .cm-kpi { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; background: #FFFFFF; }
  .cm-kpi span { font-size: 12px; color: var(--cds-text-secondary); }
  .cm-kpi b { font-size: 24px; line-height: 30px; font-weight: 400; color: var(--cds-text-primary); }
  .cm-kpi em { font-style: normal; font-size: 12px; color: var(--cds-text-secondary); }
  .cm-rep-g { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
  .cm-rep-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; } .cm-rep-bar .um-input { flex: 1; min-width: 180px; height: 40px; }
  .cm-rep-t { max-height: 360px; overflow: auto; border: 1px solid var(--cds-border-subtle); }
  .cm-t { min-width: 560px !important; } .cm-t td { padding: 8px 12px !important; font-size: 13px; }
  .cm-t th { height: 40px !important; font-size: 13px !important; position: sticky; top: 0; z-index: 1; }
  .en-t.cm-list, .en-t.cm-t { table-layout: auto !important; }
  .en-t.cm-list th, .en-t.cm-t th { width: auto !important; }
  .cm-list { min-width: 900px !important; }
  .cm-list td:first-child { min-width: 320px; width: 40%; }
  .cm-list td:nth-child(2) { white-space: nowrap; }
  .cm-h3 { margin: 20px 0 8px; font-size: 16px; font-weight: 600; color: var(--cds-text-primary); } .cm-h3 span { font-size: 13px; font-weight: 400; color: var(--cds-text-secondary); }
  .cm-audt .cm-kpis { margin-bottom: 4px; }
  @media (max-width: 1240px) { .cm-ed { grid-template-columns: minmax(0, 1fr) 360px; } .cm-rep-g { grid-template-columns: minmax(0, 1fr) 340px; } }
  @media (max-width: 900px) { .cm-ed, .cm-rep-g { grid-template-columns: minmax(0, 1fr); } .cm-ed-l { border-right: 0; } }
  @media (max-width: 672px) {
    html body .um-foot { flex-wrap: wrap; height: auto !important; min-height: 64px; }
    html body .um-foot .um-foot-i { flex-basis: 100%; padding: 10px 16px 6px; }
    html body .um-foot .um-foot-b { width: 100%; display: flex; flex-wrap: wrap; }
    html body .um-foot .um-foot-b > * { flex: 1 1 45%; min-width: 0; }
  }
  @media (max-width: 672px) { .cm-row2, .cm-files { grid-template-columns: minmax(0, 1fr); } .cm-ed-l, .cm-ed-r, .cm-rep { padding: 12px 16px; } }
  .cm-man-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 12px; color: var(--cds-text-secondary); }
  .cm-man-bar span { margin-right: auto; }
  .ii-link:disabled { color: var(--cds-text-disabled, #8D8D8D); cursor: not-allowed; text-decoration: none; }


  /* Lista de endosos: columnas con ancho propio y desplazamiento horizontal (nada se encima) */
  .en-tw-list { overflow-x: auto; -webkit-overflow-scrolling: touch;
    background: linear-gradient(to right, #FFFFFF 30%, rgba(255,255,255,0)) left / 40px 100% no-repeat local, linear-gradient(to left, #FFFFFF 30%, rgba(255,255,255,0)) right / 40px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, rgba(22,22,22,.14), transparent) left / 14px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, rgba(22,22,22,.14), transparent) right / 14px 100% no-repeat scroll; }
  .en-t.en-list { table-layout: auto; width: max(100%, 1240px); min-width: 1240px; }
  .en-list th, .en-list td { white-space: normal; overflow-wrap: normal; word-break: normal; }
  .en-list th:nth-child(1), .en-list td:nth-child(1) { min-width: 150px; width: 150px; }
  .en-list th:nth-child(2), .en-list td:nth-child(2) { min-width: 270px; }
  .en-list th:nth-child(3), .en-list td:nth-child(3) { min-width: 220px; }
  .en-list th:nth-child(4), .en-list td:nth-child(4) { min-width: 260px; }
  .en-list th:nth-child(5), .en-list td:nth-child(5) { min-width: 160px; white-space: nowrap; }
  .en-list th:nth-child(6), .en-list td:nth-child(6) { min-width: 180px; white-space: nowrap; }
  .en-list td:nth-child(1) { position: sticky; left: 0; z-index: 1; background: #FFFFFF; box-shadow: 1px 0 0 var(--cds-border-subtle); }
  .en-list th:nth-child(1) { position: sticky; left: 0; z-index: 2; background: #E0E0E0; box-shadow: 1px 0 0 #C6C6C6; }
  .en-list tr.en-tr:hover td:nth-child(1) { background: var(--cds-layer-hover-01, #E8E8E8); }
  .en-list .en-sub { white-space: normal; }
  .en-list td:nth-child(1) .mono { white-space: nowrap; }
  .en-elegido { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
  .en-elegido .en-ficha { width: 100%; }
  .en-notas p { white-space: pre-line; }
  .en-coment { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding-top: 12px; border-top: 1px solid var(--cds-border-subtle); }
  .en-coment-l { display: flex; flex-direction: column; gap: 6px; width: 100%; }
  .en-coment-l span { font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .en-coment-l textarea { width: 100%; }


  /* ---- Estadística comercial ---- */
  .st-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin-bottom: 16px; }
  .st-rango { font-size: 13px; color: var(--cds-text-secondary); }
  .st-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1px; background: var(--cds-border-subtle); border: 1px solid var(--cds-border-subtle); }
  .st-kpis-top { margin-bottom: 16px; }
  .st-kpi { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; background: #FFFFFF; }
  .st-kpi span { font-size: 12px; line-height: 16px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .st-kpi b { font-size: 28px; line-height: 36px; font-weight: 400; color: var(--cds-text-primary); font-variant-numeric: tabular-nums; }
  .st-kpi em { font-style: normal; font-size: 12px; line-height: 16px; color: var(--cds-text-secondary); }
  .st-card-h { display: flex; align-items: baseline; gap: 12px; padding: 14px 24px; border-bottom: 1px solid var(--cds-border-subtle); background: var(--uva-brand-wash); }
  .st-card-h b { font-size: 16px; font-weight: 600; color: var(--cds-text-primary); }
  .st-card-h span { font-size: 12px; color: var(--cds-text-secondary); }
  .st-tend-g { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; align-items: end; }
  .st-tend-c { display: flex; flex-direction: column; align-items: center; gap: 4px; opacity: .45; }
  .st-tend-c.is-in { opacity: 1; }
  .st-tend-n { font-size: 12px; color: var(--cds-text-secondary); font-variant-numeric: tabular-nums; min-height: 16px; }
  .st-tend-bars { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: 3px; width: 100%; height: 96px; border-bottom: 1px solid var(--cds-border-strong); }
  .st-tend-bars i { display: block; width: 38%; max-width: 18px; min-height: 0; }
  .st-b-e { background: #A8A8A8; } .st-b-k { background: #1F9A78; }
  .st-tend-p { font-size: 12px; font-weight: 600; color: var(--cds-text-primary); font-variant-numeric: tabular-nums; }
  .st-tend-m { font-size: 11px; color: var(--cds-text-secondary); text-transform: capitalize; }
  .st-ley { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; font-size: 12px; color: var(--cds-text-secondary); }
  .st-ley span { display: inline-flex; align-items: center; gap: 6px; }
  .st-ley i { display: inline-block; width: 10px; height: 10px; }
  .st-ley-in { margin-left: auto; }
  .st-tb { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; padding: 14px 24px; border-bottom: 1px solid var(--cds-border-subtle); }
  .st-sel { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--cds-text-secondary); }
  .st-sel select { width: auto !important; min-width: 180px; height: 40px; }
  .st-chk { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--cds-text-primary); cursor: pointer; }
  .st-chk input { accent-color: var(--uva-interactive); }
  .st-tw { overflow-x: auto; background: linear-gradient(to left, #FFFFFF 30%, rgba(255,255,255,0)) right / 40px 100% no-repeat local, radial-gradient(farthest-side at 100% 50%, rgba(22,22,22,.14), transparent) right / 14px 100% no-repeat scroll; }
  .st-t { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 14px; }
  .st-t th { height: 48px; padding: 4px 10px; background: #E0E0E0; text-align: left; font-size: 14px; line-height: 18px; font-weight: 600; color: var(--cds-text-primary); white-space: normal; }
  .st-t td { padding: 10px 10px; border-top: 1px solid var(--cds-border-subtle); vertical-align: middle; color: var(--cds-text-primary); font-variant-numeric: tabular-nums; }
  .st-t th:first-child, .st-t td:first-child { padding-left: 24px; }
  .st-t th:last-child, .st-t td:last-child { padding-right: 24px; }
  .st-t .r { text-align: right; }
  .st-sort { cursor: pointer; user-select: none; } .st-sort:hover { background: #D1D1D1; } .st-sort.is-on { color: var(--uva-interactive); }
  .st-th-ef { min-width: 140px; }
  .st-tr { cursor: pointer; } .st-tr:hover td { background: var(--cds-layer-hover-01, #E8E8E8); }
  .st-tr:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
  .st-tr.is-cero td { color: var(--cds-text-secondary); }
  .st-t:not(.st-t-mes) td:nth-child(2) { min-width: 230px; }
  .st-t:not(.st-t-mes) th { white-space: normal !important; }
  .st-t:not(.st-t-mes) th:nth-child(1) { width: 44px; } .st-t:not(.st-t-mes) th:nth-child(3) { width: 92px; } .st-t:not(.st-t-mes) th:nth-child(4) { width: 104px; }
  .st-t:not(.st-t-mes) th:nth-child(5) { width: 140px; } .st-t:not(.st-t-mes) th:nth-child(6) { width: 96px; } .st-t:not(.st-t-mes) th:nth-child(7) { width: 84px; }
  .st-t:not(.st-t-mes) th:nth-child(8) { width: 80px; } .st-t:not(.st-t-mes) th:nth-child(9) { width: 128px; }
  .st-tend-p.is-ab { font-weight: 400; color: var(--cds-text-secondary); font-size: 11px; }
  .st-pos { width: 48px; color: var(--cds-text-secondary) !important; }
  .st-sub { margin-top: 2px; font-size: 12px; color: var(--cds-text-secondary); }
  .st-mut { color: var(--cds-text-secondary) !important; }
  .st-ef { display: inline-flex; align-items: center; justify-content: flex-end; gap: 10px; }
  .st-ef-bar { position: relative; display: inline-block; width: 60px; height: 6px; background: #E0E0E0; }
  .st-ef-bar i { position: absolute; inset: 0 auto 0 0; background: #1F9A78; }
  .st-ef b { min-width: 52px; font-weight: 600; text-align: right; }
  .st-ef.is-chica b { color: var(--cds-text-secondary); font-weight: 400; } .st-ef.is-chica .st-ef-bar i { background: #A8A8A8; }
  .st-na { color: var(--cds-text-secondary); }
  .st-spark { display: inline-grid; grid-template-columns: repeat(12, 6px); gap: 2px; align-items: end; height: 26px; }
  .st-sp-c { position: relative; display: block; height: 26px; opacity: .4; }
  .st-sp-c.is-in { opacity: 1; }
  .st-sp-c i { position: absolute; left: 0; right: 0; bottom: 0; display: block; }
  .st-sp-e { background: #C6C6C6; } .st-sp-k { background: #1F9A78; }
  .st-ag { display: flex; flex-direction: column; gap: 14px; padding: 16px 24px; }
  .st-ag-h, .st-ag-hist { font-size: 13px; color: var(--cds-text-secondary); }
  .st-ag-h b, .st-ag-hist b { color: var(--cds-text-primary); }
  .st-h3 { margin: 4px 0 0; font-size: 15px; font-weight: 600; color: var(--cds-text-primary); }
  .st-t-mes { min-width: 560px; } .st-t-mes td { padding: 8px 12px; font-size: 13px; } .st-t-mes th { height: 40px; font-size: 13px; }
  .st-t-mes tr:not(.is-in) td { color: var(--cds-text-secondary); }
  .st-kpi.is-main { background: var(--uva-brand-wash); }
  .st-kpi.is-main b { color: var(--uva-interactive); }
  .st-kpi b small { margin-left: 4px; font-size: 14px; color: var(--cds-text-secondary); }
  .st-delta { display: inline-flex; align-items: baseline; gap: 4px; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
  .st-delta i { font-style: normal; font-weight: 400; color: var(--cds-text-secondary); }
  .st-delta.is-up { color: #198038; } .st-delta.is-down { color: #DA1E28; } .st-delta.is-eq { color: var(--cds-text-secondary); }
  .st-lect { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-bottom: 16px; background: var(--cds-border-subtle); border: 1px solid var(--cds-border-subtle); }
  .st-lect-i { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; background: #FFFFFF; border-left: 3px solid #1F9A78; }
  .st-lect-i:first-child { border-left-color: #A8A8A8; } .st-lect-i:last-child { border-left-color: var(--uva-interactive); }
  .st-lect-i span { font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); } .st-lect-i span i { font-style: normal; }
  .st-lect-i b { font-size: 16px; line-height: 22px; font-weight: 600; color: var(--cds-text-primary); }
  .st-lect-i em { font-style: normal; font-size: 12px; color: var(--cds-text-secondary); }
  .st-tend-wrap { padding: 12px 24px 16px; overflow-x: auto; }
  .st-ef-bar u { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: #393939; text-decoration: none; }
  .st-th-sec, .st-sec { color: var(--cds-text-secondary) !important; font-weight: 400 !important; }
  .st-nota { border-top: 1px solid var(--cds-border-subtle); }
  .st-nota summary { padding: 11px 24px; font-size: 13px; color: var(--uva-interactive); cursor: pointer; list-style-position: inside; }
  .st-nota p { margin: 0; padding: 0 24px 14px; font-size: 12px; line-height: 18px; color: var(--cds-text-secondary); }
  @media (max-width: 900px) { .st-lect { grid-template-columns: minmax(0, 1fr); } }
  @media (max-width: 672px) {
    .st-bar .pg-seg { display: flex; width: 100%; overflow-x: auto; }
    .st-bar .pg-seg button { flex: 1 0 auto; white-space: nowrap; }
    .st-kpis-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .st-kpis-top .st-kpi:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .st-kpi b { font-size: 24px; line-height: 30px; }
    .st-tend-g { min-width: 560px; }
    .st-tend-wrap { padding: 12px 16px; }
    .st-card-h { flex-wrap: wrap; padding: 12px 16px; }
    .st-tb { padding: 12px 16px; }
  }
  @media (max-width: 672px) { .st-ley-in { margin-left: 0; } .st-tend-g { gap: 2px; } .st-tend-m { font-size: 10px; } .st-tend-p { font-size: 10px; } .st-ag { padding: 12px 16px; } }


  /* ---- PAI UVA Seguros (cuaderno) ---- */
  .pai-demo { margin-bottom: 16px; padding: 10px 14px; border-left: 3px solid #F1C21B; background: #FCF4D6; font-size: 13px; color: var(--cds-text-primary); }
  .pai-g { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: start; margin-bottom: 16px; }
  .pai-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
  .pai-card { min-width: 0; background: var(--cds-layer-01); border: 1px solid var(--cds-border-subtle); }
  .pai-card-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; background: var(--uva-brand-wash); border-bottom: 1px solid var(--uva-brand-border); }
  .pai-card-h h3 { margin: 0; font-size: 16px; line-height: 22px; font-weight: 600; color: var(--cds-text-primary); }
  .pai-card-h p { margin: 2px 0 0; font-size: 12px; line-height: 16px; color: var(--cds-text-secondary); }
  .pai-up { background: #FFFFFF; }
  .pai-err { padding: 8px 16px; font-size: 12px; color: #DA1E28; }
  .pai-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 10px 16px; font-size: 12px; color: var(--cds-text-secondary); border-bottom: 1px solid var(--cds-border-subtle); }
  .pai-meta span { display: inline-flex; align-items: center; gap: 6px; }
  .pai-hojas { display: flex; flex-direction: column; align-items: center; gap: 14px; max-height: 620px; overflow-y: auto; padding: 18px; background: #E0E0E0; }
  .pai-hoja { width: 100%; max-width: 440px; aspect-ratio: 210 / 297; padding: 28px 30px; background: #FFFFFF; box-shadow: 0 1px 3px rgba(0, 0, 0, .18); border-top: 10px solid #8C2F58; display: flex; flex-direction: column; gap: 8px; font-size: 11px; line-height: 16px; color: #262626; }
  .pai-hoja b { font-size: 15px; color: #161616; }
  .pai-hoja p { margin: 0; }
  .pai-hoja table { width: 100%; border-collapse: collapse; font-size: 11px; } .pai-hoja th, .pai-hoja td { padding: 6px 4px; border-bottom: 1px solid #E0E0E0; text-align: left; }
  .pai-hoja.is-portada { justify-content: center; align-items: center; text-align: center; gap: 10px; }
  .pai-hoja.is-portada img { width: 72px; height: 72px; border-radius: 50%; }
  .pai-hoja.is-portada b { font-size: 22px; line-height: 28px; }
  .pai-hoja.is-portada span { font-size: 12px; color: #525252; }
  .pai-hoja.is-portada em { margin-top: 10px; font-style: normal; font-size: 13px; font-weight: 600; color: #8C2F58; }
  .pai-hoja.is-aviso { aspect-ratio: auto; border-top-color: #A8A8A8; }
  .pai-pdf { display: block; width: 100%; height: 640px; border: 0; background: #E0E0E0; }
  .pai-vers { border-top: 1px solid var(--cds-border-subtle); }
  .pai-vers summary { padding: 10px 16px; font-size: 13px; color: var(--uva-interactive); cursor: pointer; }
  .pai-ver { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 8px 16px; border-top: 1px solid var(--cds-border-subtle); font-size: 12px; color: var(--cds-text-secondary); }
  .pai-ver span:first-child { color: var(--cds-text-primary); } .pai-ver button { grid-row: 1 / 3; grid-column: 2; align-self: center; }
  .pai-aplica { margin: 0; padding: 4px 16px 12px; }
  .pai-aplica > div { padding: 10px 0; border-bottom: 1px solid var(--cds-border-subtle); }
  .pai-aplica > div:last-child { border-bottom: 0; }
  .pai-aplica dt { font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .pai-aplica dd { margin: 2px 0 0; font-size: 14px; line-height: 20px; color: var(--cds-text-primary); }
  .pai-faq { padding: 4px 0; }
  .pai-q { border-bottom: 1px solid var(--cds-border-subtle); } .pai-q:last-child { border-bottom: 0; }
  .pai-q button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 12px 16px; border: 0; background: none; text-align: left; font: inherit; font-size: 14px; font-weight: 600; color: var(--cds-text-primary); cursor: pointer; }
  .pai-q button:hover { background: var(--cds-layer-hover-01); }
  .pai-q button i { font-style: normal; font-size: 18px; color: var(--uva-interactive); }
  .pai-q p { margin: 0; padding: 0 16px 12px; font-size: 14px; line-height: 20px; color: var(--cds-text-secondary); }
  .pai-ed { display: flex; flex-direction: column; gap: 12px; padding: 14px 16px; }
  .pai-ed label { display: flex; flex-direction: column; gap: 6px; } .pai-ed label > span { font-size: 12px; letter-spacing: .32px; color: var(--cds-text-secondary); }
  .pai-ed .um-input { width: 100%; }
  .pai-ed-q { display: flex; flex-direction: column; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid var(--cds-border-subtle); }
  .pai-ed-b { display: flex; justify-content: flex-end; gap: 8px; }
  .pai-nota { margin: 0; font-size: 12px; color: var(--cds-text-secondary); }
  .pai-vacio { padding: 16px; font-size: 14px; color: var(--cds-text-secondary); }
  .pai-t { min-width: 760px; } .pai-t td { vertical-align: middle; }
  @media (max-width: 1100px) { .pai-g { grid-template-columns: minmax(0, 1fr); } }
  @media (max-width: 672px) { .pai-hojas { max-height: 480px; padding: 12px; } .pai-hoja { padding: 18px; } .pai-pdf { height: 480px; } }

/* Sin datos de prueba: oculta las casillas "Ver con datos de ejemplo" */
.uva-sin-demo .uva-ro-demo { display: none !important; }

@media (max-width: 671px) {
  :root { --hdr-usr-w: 214px; }
  .hdr-usr-b { display: flex; gap: 8px; padding: 0 8px; }
  .hdr-usr-av { flex-basis: 32px; width: 32px; height: 32px; }
  .hdr-usr-t b { max-width: 126px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; }
  .hdr-usr-rol { max-width: 126px; font-size: 10px; }
  .hdr-salir { flex-basis: 48px; width: 48px; }
}
@media (max-width: 380px) {
  :root { --hdr-usr-w: 194px; }
}
