/* Capa UX transversal: normaliza las pantallas heredadas que todavía usan
   controles Web Forms/DevExpress sin cambiar su lógica ni sus callbacks. */
:root{
  --ux-font:Inter,"Segoe UI Variable Text",Aptos,"Segoe UI",system-ui,-apple-system,sans-serif;
  --ux-ink:#102f4f;--ux-copy:#526b82;--ux-muted:#70859a;--ux-primary:#0667ad;
  --ux-line:#d9e5ef;--ux-soft:#f4f8fb;--ux-card:#fff;--ux-radius:16px;
  --ux-shadow:0 5px 18px rgba(17,55,88,.05);--ux-shadow-hover:0 12px 28px rgba(17,64,101,.10);
}
body.sv-body,.sv-body input,.sv-body button,.sv-body select,.sv-body textarea,
.sv-body [class*="dx"]{font-family:var(--ux-font)!important}
.sv-body{color:var(--ux-copy);font-size:15px;letter-spacing:-.003em}
.sv-section-header h1{color:var(--ux-ink);font-weight:760;letter-spacing:-.035em}
.sv-section-header p{max-width:760px;color:var(--ux-muted);line-height:1.55}

/* Navegación secundaria legible y desplazable, sin comprimir textos. */
.sv-section-tabs{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:thin;padding-bottom:14px!important}
.sv-section-tabs a{flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;border-radius:11px!important;padding:9px 14px!important;font-size:.86rem!important;font-weight:650!important;white-space:nowrap}

/* Barras de filtros: una sola superficie compacta, sin cajas gigantes. */
.ui-form.ui-filterbar,.r2-toolbar,.ui-collection-toolbar{
  box-sizing:border-box!important;display:flex!important;align-items:flex-end!important;flex-wrap:wrap!important;
  gap:12px!important;margin:0 0 18px!important;padding:14px!important;border:1px solid var(--ux-line)!important;
  border-radius:var(--ux-radius)!important;background:rgba(255,255,255,.78)!important;box-shadow:var(--ux-shadow)!important;
}
.ui-filterbar .ui-field,.r2-toolbar-field{flex:0 1 190px!important;min-width:120px!important;margin:0!important}
.ui-filterbar .ui-field-wide,.r2-search,.ui-search-field{flex:1 1 300px!important}
.ui-filterbar .ui-field-action{flex:0 0 auto!important;min-width:0!important}
.ui-filterbar .ui-help{display:none!important}
.ui-label,.r2-label,.r2-native-field label{display:block!important;margin:0 0 6px!important;color:#45647d!important;font-size:.76rem!important;font-weight:700!important;line-height:1.25!important;text-transform:none!important}
.sv-body [class*="dxeButtonEditSys"],.sv-body [class*="dxeTextBoxSys"],.sv-body [class*="dxeMemoSys"],
.ui-filterbar input,.r2-toolbar input,.r2-toolbar select{
  box-sizing:border-box!important;min-height:42px!important;border-color:#cbdbe7!important;border-radius:10px!important;
  background:#fff!important;color:var(--ux-ink)!important;font-size:.9rem!important;box-shadow:none!important;
}
.sv-body [class*="dxeFocused"]{border-color:#6ea9d3!important;box-shadow:0 0 0 3px rgba(6,103,173,.10)!important}
.sv-body [class*="dxbButton"],.ui-primary-action,.r2-button-compact{
  width:auto!important;min-width:0!important;min-height:42px!important;height:auto!important;border-radius:10px!important;
  padding:8px 15px!important;font-size:.84rem!important;font-weight:700!important;box-shadow:none!important;
}

/* Pestañas DevExpress con apariencia de navegación, no de tabla. */
.sv-body [class*="dxtcLite"]{border:0!important;background:transparent!important;box-shadow:none!important}
.sv-body [class*="dxtc-strip"]{display:flex!important;gap:6px!important;overflow-x:auto!important;padding:4px 0 12px!important;background:transparent!important;border:0!important}
.sv-body [class*="dxtc-tab"],.sv-body [class*="dxtc-activeTab"]{
  flex:0 0 auto!important;border:1px solid var(--ux-line)!important;border-radius:10px!important;background:#fff!important;
  color:#315672!important;padding:9px 13px!important;font-size:.84rem!important;font-weight:650!important;white-space:nowrap!important;
}
.sv-body [class*="dxtc-activeTab"]{border-color:var(--ux-primary)!important;background:var(--ux-primary)!important;color:#fff!important}
.sv-body [class*="dxtc-content"]{padding:16px 0!important;border:0!important;background:transparent!important}

/* Formularios heredados: grupos visuales fluidos y editores con ancho útil. */
.sv-body [class*="dxflGroupBox"]{margin:0 0 16px!important;padding:20px!important;border:1px solid var(--ux-line)!important;border-radius:var(--ux-radius)!important;background:#fff!important;box-shadow:var(--ux-shadow)!important}
.sv-body [class*="dxflGroupBoxCaption"]{color:var(--ux-ink)!important;font-size:1rem!important;font-weight:740!important;letter-spacing:-.012em!important}
.sv-body [class*="dxflCaption"]{color:#48657d!important;font-size:.78rem!important;font-weight:680!important;text-transform:none!important}
.sv-body [class*="dxflNestedControlCell"]{padding:5px 12px 12px 0!important}
.sv-body [class*="dxflEmptyItem"]{display:none!important}

/* Todos los grids se leen como fichas, con una retícula interna amplia. */
.ui-records [id$="_DXMainTable"]>tbody>.ui-record{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px 26px!important;
  padding:20px 22px!important;border-radius:var(--ux-radius)!important;background:var(--ux-card)!important;
}
.ui-records .ui-record>td{font-family:var(--ux-font)!important;font-size:.9rem!important;font-weight:620!important;line-height:1.45!important}
.ui-records .ui-record .ui-record-label{margin-bottom:4px!important;color:var(--ux-muted)!important;font-size:.73rem!important;font-weight:650!important}
.ui-records .ui-record .ui-record-lead{grid-column:span 2;color:var(--ux-ink)!important;font-size:1.02rem!important;font-weight:740!important}
.ui-records .ui-record .ui-record-actions{padding-top:12px!important}
.ui-records .ui-record .ui-record-actions [class*="dxbButton"],.ui-records .ui-record .ui-record-actions a{
  min-height:38px!important;border-radius:999px!important;padding:7px 13px!important;font-size:.8rem!important;
}
.ui-records [class*="SearchPanel"]{margin-bottom:13px!important}
.ui-records [class*="SearchPanel"] table{max-width:520px!important;border-radius:12px!important}
.ui-records [class*="EmptyDataRow"]{font-family:var(--ux-font)!important}

/* Colecciones construidas a medida: misma métrica, tipografía y foco. */
.r2-record-card,.activity-card,.sv-case-card,.fluid-declaration-entry,.ui-guard,.sv-list-item,.gc-event{
  font-family:var(--ux-font)!important;border-radius:var(--ux-radius)!important;box-shadow:var(--ux-shadow)!important;
}
.r2-record-card h2,.activity-card h2,.sv-case-card h2,.ui-guard h2{color:var(--ux-ink)!important;font-weight:750!important;letter-spacing:-.018em!important}
.r2-record-card:hover,.activity-card:hover,.sv-case-card:hover,.ui-guard:hover,.sv-list-item:hover{box-shadow:var(--ux-shadow-hover)!important}
.r2-empty,.ui-empty,.attendance-empty{border:1px dashed #bfd2e0!important;border-radius:var(--ux-radius)!important;background:#fff!important}

/* Elimina huecos residuales procedentes de wrappers Bootstrap antiguos. */
.sv-workspace>.row:first-child{margin-top:0!important;margin-bottom:0!important}
.sv-workspace>.row:first-child .text-center:empty{display:none!important}
.sv-workspace br+br{display:none}

@media(max-width:980px){
  .ui-records [id$="_DXMainTable"]>tbody>.ui-record{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .ui-form.ui-filterbar,.r2-toolbar,.ui-collection-toolbar{padding:12px!important;gap:10px!important}
  .ui-filterbar .ui-field,.r2-toolbar-field{flex:1 1 140px!important;min-width:0!important}
  .ui-filterbar .ui-field-wide,.r2-search,.ui-search-field{flex-basis:100%!important}
  .ui-records [id$="_DXMainTable"]>tbody>.ui-record{grid-template-columns:minmax(0,1fr)!important;padding:16px!important}
  .ui-records .ui-record .ui-record-lead{grid-column:auto}
  .sv-body [class*="dxflGroupBox"]{padding:16px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
