/*
 * Gestión SL · Sistema visual transversal inspirado en shadcn/ui.
 * Esta hoja sólo modifica presentación: no altera lógica, eventos ni datos.
 * El color de interacción se hereda de --municipality-color para respetar la identidad de cada municipio.
 */
:root{
  --sl-primary:var(--municipality-color,var(--accent,#18b8f2));
  --sl-primary-foreground:var(--municipality-on-color,#fff);
  --sl-background:#f8fafc;
  --sl-card:#fff;
  --sl-foreground:#0f172a;
  --sl-muted:#64748b;
  --sl-border:#e2e8f0;
  --sl-input:#cbd5e1;
  --sl-ring:color-mix(in srgb,var(--sl-primary) 38%,transparent);
  --sl-radius:12px;
  --sl-radius-sm:9px;
  --sl-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.04);
  --sl-shadow-pop:0 18px 45px rgba(15,23,42,.14);
}

/* Base neutra y tipografía compacta: el municipio aporta el acento, no un fondo invasivo. */
html,body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body:not(.login){background:var(--sl-background);color:var(--sl-foreground)}

/* Tarjetas y contenedores principales comparten borde, radio y sombra discretos. */
.card,.panel,.box,.section,.block,.item,.tile,.stat,.stat-card,.metric,.metric-card,.filter-card,.filters,.toolbar-card,
.municipality-block,.general-scope,.users-manager,.user-row,.sug-card,.agenda-card,.visit-card,.case-card,.intervention-card,
[class*="-card"]:not(.loader-card):not(.login-card){border-color:var(--sl-border);border-radius:var(--sl-radius);box-shadow:var(--sl-shadow)}

/* Botones: misma altura visual, foco accesible y acento municipal para la acción primaria. */
button,.btn,[role="button"],a.button,a.btn{border-radius:var(--sl-radius-sm);font-weight:650;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}
button:focus-visible,.btn:focus-visible,[role="button"]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--sl-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--sl-ring)
}
button:active,.btn:active,[role="button"]:active{transform:translateY(1px)}
button.primary,.btn.primary,.primary:not(.tag):not(.badge),button.enter,.enter.btn,.action-primary,[data-variant="primary"]{
  background:var(--sl-primary)!important;border-color:var(--sl-primary)!important;color:var(--sl-primary-foreground)!important
}
button.primary:hover,.btn.primary:hover,.primary:not(.tag):not(.badge):hover,button.enter:hover,.action-primary:hover{
  background:color-mix(in srgb,var(--sl-primary) 88%,#000)!important;border-color:color-mix(in srgb,var(--sl-primary) 88%,#000)!important
}

/* Campos: superficie blanca, borde único y anillo municipal al editar. */
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea{
  border:1px solid var(--sl-input);border-radius:var(--sl-radius-sm);background:var(--sl-card);color:var(--sl-foreground);box-shadow:0 1px 2px rgba(15,23,42,.03)
}
input::placeholder,textarea::placeholder{color:#94a3b8}
input:focus,select:focus,textarea:focus{border-color:var(--sl-primary)}

/* Tablas: cabecera sobria y filas legibles sin bloques de color innecesarios. */
table{border-color:var(--sl-border);background:var(--sl-card);border-radius:var(--sl-radius);overflow:hidden}
th{background:#f8fafc;color:#475569;font-size:.78rem;font-weight:700;letter-spacing:.01em}
th,td{border-color:var(--sl-border)}
tbody tr:hover{background:color-mix(in srgb,var(--sl-primary) 4%,#fff)}

/* Etiquetas y estados neutros; los estados funcionales existentes conservan sus colores semánticos. */
.tag,.badge,.pill,.chip{border-radius:999px}

/* Diálogos y flotantes: misma superficie que las Cards del sistema. */
dialog,.modal,.modal-card,.popover,.dropdown,.floating-card{
  border-color:var(--sl-border);border-radius:calc(var(--sl-radius) + 4px);box-shadow:var(--sl-shadow-pop)
}
dialog::backdrop,.modal-backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}

/* Details funciona como Accordion nativo: una fila clara, chevron y contenido separado por borde. */
details{border-color:var(--sl-border);border-radius:var(--sl-radius);background:var(--sl-card)}
details>summary{position:relative;cursor:pointer;border-radius:inherit;font-weight:650}
details>summary:hover{background:color-mix(in srgb,var(--sl-primary) 5%,#fff)}
details[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
.users-manager>summary{background:var(--sl-card)}
.users-manager[open]>summary{border-bottom:1px solid var(--sl-border)}
.summary-arrow{color:var(--sl-muted)}

/* Navegación y selección: el estado activo utiliza el color municipal. */
.active,[aria-current="page"],.is-active,.selected,.tab.active,.nav-active{
  --sl-active-color:var(--sl-primary)
}
nav a.active,.module-nav a.active,.modules a.active,.tab.active,[role="tab"][aria-selected="true"]{
  background:var(--sl-primary)!important;border-color:var(--sl-primary)!important;color:var(--sl-primary-foreground)!important
}

/* Administración: cada municipio conserva su propio --municipality-color dentro de la ficha. */
.municipality-block{background:var(--sl-card);border:1px solid var(--sl-border);border-top:3px solid var(--municipality-color,var(--sl-primary));box-shadow:var(--sl-shadow)}
.municipality-block button.enter{background:var(--municipality-color,var(--sl-primary))!important;border-color:var(--municipality-color,var(--sl-primary))!important}
.municipality-block .users-manager,.municipality-block .item,.municipality-block .user-row{background:#fff;border-color:var(--sl-border)}

/* Dirección y Estado del sistema reciben el mismo lenguaje aunque sean páginas externas a la SPA. */
.dir-card,.dir-panel,.status-card,.test-card,.check-card{background:var(--sl-card);border-color:var(--sl-border);border-radius:var(--sl-radius);box-shadow:var(--sl-shadow)}

/* Responsive: no se fuerza densidad desktop en móvil; se conservan los layouts específicos ya desarrollados. */
@media(max-width:650px){
  :root{--sl-radius:11px;--sl-radius-sm:9px}
  button,.btn,[role="button"]{min-height:38px}
  dialog,.modal,.modal-card{border-radius:14px}
}

/* Movimiento reducido para usuarios que lo solicitan sin alterar funcionalidad. */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* ========================================================================== */
/* REDISEÑO SHADCN CONTUNDENTE · 26/09/2026                                  */
/* Este bloque reemplaza el lenguaje visual histórico sin alterar la lógica. */
/* ========================================================================== */
:root{
  --sl-background:#f7f7f8;
  --sl-card:#ffffff;
  --sl-foreground:#09090b;
  --sl-muted:#71717a;
  --sl-border:#e4e4e7;
  --sl-input:#d4d4d8;
  --sl-secondary:#f4f4f5;
  --sl-secondary-foreground:#18181b;
  --sl-radius:10px;
  --sl-radius-sm:8px;
  --sl-shadow:none;
  --sl-shadow-pop:0 16px 48px rgba(0,0,0,.12);
}

/* La página pierde los paneles azulados heredados y usa una base neutra continua. */
body:not(.login),.app,.page,.main,.content,.landing-shell{background:var(--sl-background)!important;color:var(--sl-foreground)!important}
.wrap{max-width:1440px!important}
.paper{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:18px 0!important}

/* Cabecera: una barra sobria, sin cápsulas decorativas ni sombras. */
.hdr{background:#fff!important;border-bottom:1px solid var(--sl-border)!important;box-shadow:none!important}
.hdr-inner{max-width:1440px!important}
.brand .title{color:var(--sl-foreground)!important;font-weight:700!important;letter-spacing:-.025em!important}
.brand .sub,.hdr .sub{color:var(--sl-muted)!important}
.hdr-actions .pill-mini,.sl-shell-date{background:transparent!important;border:0!important;color:var(--sl-muted)!important;border-radius:6px!important;box-shadow:none!important}
.sl-shell-home,.sl-shell-exit,.hdr-actions a,.hdr-actions button{border-radius:8px!important;box-shadow:none!important}

/* Navegación principal: deja de ser una colección de píldoras celestes. */
.modbar-wrap{background:#fff!important;border-bottom:1px solid var(--sl-border)!important;box-shadow:none!important}
.modbar{gap:4px!important;padding-top:8px!important;padding-bottom:8px!important}
.modlink,.modlink.dom,.modlink.sede,.modlink.abrigos,.modlink.legajos,.modlink.llamados,.modlink.seguimientos,.modlink.oficios,.modlink.intervenciones{
  min-height:34px!important;padding:7px 11px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#52525b!important;font-weight:550!important;box-shadow:none!important;text-decoration:none!important
}
.modlink:hover{background:var(--sl-secondary)!important;color:var(--sl-foreground)!important}
.modlink.active,.modlink[aria-current="page"]{background:color-mix(in srgb,var(--sl-primary) 12%,#fff)!important;color:color-mix(in srgb,var(--sl-primary) 78%,#000)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sl-primary) 28%,transparent)!important}

/* Títulos y descripciones usan la jerarquía tipográfica compacta de shadcn. */
h1,h2,h3,.dashboard-title{color:var(--sl-foreground)!important;letter-spacing:-.02em!important}
.dashboard-title{font-size:18px!important;font-weight:650!important}
.dashboard-sub,.muted,.helper,.hint{color:var(--sl-muted)!important}

/* Cards: superficie blanca única, borde gris y sin bloques de color de módulo. */
.card,.panel,.box,.section,.block,.item,.tile,.stat,.stat-card,.metric,.metric-card,.filter-card,.filters,.toolbar-card,
.dash-box,.dash-box.abrigos,.dash-box.dom,.dash-box.sede,.dash-box.seguimientos,.dash-box.llamados,.dash-box.oficios,
.sug-card,.agenda-card,.visit-card,.case-card,.intervention-card,.mini-row,.reuna-row,.municipality-block,.general-scope,.users-manager,.user-row,
[class*="-card"]:not(.loader-card):not(.login-card){
  background:#fff!important;border:1px solid var(--sl-border)!important;border-radius:var(--sl-radius)!important;box-shadow:none!important;color:var(--sl-foreground)!important
}
.dash-grid{gap:12px!important}
.dash-box{padding:16px!important}
.dash-head{border:0!important;padding:0!important;margin:0 0 12px!important;background:transparent!important}
.dash-head h3{font-size:14px!important;font-weight:650!important;color:var(--sl-foreground)!important}
.dash-head small{color:var(--sl-muted)!important;font-weight:500!important}

/* KPI: tarjetas neutras. El color municipal sólo identifica interacción/selección. */
.kpi-strip{gap:8px!important}
.kpi,.kpi.warn,.kpi.clickable{background:#fff!important;border:1px solid var(--sl-border)!important;border-radius:9px!important;box-shadow:none!important;padding:12px 14px!important}
.kpi-label{color:var(--sl-muted)!important;font-size:12px!important;font-weight:500!important}
.kpi-value,.kpi.warn .kpi-value{color:var(--sl-foreground)!important;font-size:20px!important;font-weight:650!important}
.kpi.clickable:hover{background:var(--sl-secondary)!important;border-color:#d4d4d8!important}

/* Listados pendientes: filas simples; se eliminan fondos celestes/azules por módulo. */
.mini-list{gap:6px!important}
.mini-row,.abr-row,.seg-row,.call-row,.oficio-row,.sede-row,.dom-row{background:#fff!important;border:1px solid var(--sl-border)!important;border-radius:8px!important;box-shadow:none!important}
.mini-row:hover{background:#fafafa!important;border-color:#d4d4d8!important}
.mini-name{color:var(--sl-foreground)!important;font-weight:600!important}
.mini-time,.mini-date,.mini-days,.mini-addr,.sede-sub,.seg-sub{color:var(--sl-muted)!important}

/* Botones: variantes shadcn. El primario toma exclusivamente el color municipal. */
button,.btn,a.btn,[role="button"]{min-height:34px!important;padding:7px 12px!important;border-radius:8px!important;font-size:13px!important;font-weight:550!important;box-shadow:none!important}
.btn:not(.primary):not(.danger):not(.destructive),button:not(.primary):not(.danger):not(.destructive):not(.kpi){background:#fff!important;border:1px solid var(--sl-border)!important;color:var(--sl-foreground)!important}
.btn:not(.primary):not(.danger):hover,button:not(.primary):not(.danger):not(.kpi):hover{background:var(--sl-secondary)!important;border-color:#d4d4d8!important}
.btn.primary,button.primary,.action-primary,.btn.enter{background:var(--sl-primary)!important;border:1px solid var(--sl-primary)!important;color:var(--sl-primary-foreground)!important}
.btn.secondary{background:#fff!important;border:1px solid var(--sl-border)!important;color:var(--sl-foreground)!important}
.btn.danger,.btn.destructive,button.danger{background:#fff!important;border:1px solid #fecaca!important;color:#dc2626!important}

/* Badges compactos: dejan de parecer botones o grandes etiquetas de color. */
.badge,.tag,.pill,.chip,.status,.risk,.state{border-radius:6px!important;box-shadow:none!important;font-size:11px!important;font-weight:550!important;padding:2px 6px!important}

/* Formularios: controles bajos y neutros, con ring municipal sólo durante foco. */
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea{
  background:#fff!important;border:1px solid var(--sl-input)!important;border-radius:8px!important;box-shadow:none!important;color:var(--sl-foreground)!important
}
input:focus,select:focus,textarea:focus{border-color:var(--sl-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--sl-primary) 14%,transparent)!important;outline:0!important}

/* Accordions/details: una sola superficie con separadores, como el componente de referencia. */
details,.users-manager{background:#fff!important;border:1px solid var(--sl-border)!important;border-radius:10px!important;box-shadow:none!important;overflow:hidden}
details>summary,.users-manager>summary{background:#fff!important;border:0!important;border-radius:0!important;padding:12px 14px!important;color:var(--sl-foreground)!important;font-weight:600!important}
details>summary:hover,.users-manager>summary:hover{background:#fafafa!important}
details[open]>summary,.users-manager[open]>summary{border-bottom:1px solid var(--sl-border)!important}

/* Tablas y diálogos: sin gradientes ni bordes cromáticos heredados. */
table{background:#fff!important;border:1px solid var(--sl-border)!important;border-radius:10px!important;box-shadow:none!important}
th{background:#fafafa!important;color:#71717a!important;font-weight:550!important}
td,th{border-color:var(--sl-border)!important}
dialog,.modal,.modal-card,.popover,.dropdown,.floating-card{background:#fff!important;border:1px solid var(--sl-border)!important;border-radius:12px!important;box-shadow:var(--sl-shadow-pop)!important}

/* Alertas conservan semántica pero con tratamiento sobrio y no como grandes paneles saturados. */
.alert,.warning,.error,.success,[class*="alert-"]{box-shadow:none!important;border-radius:9px!important}

/* En móvil se mantiene el mismo lenguaje, reduciendo padding sin recuperar la estética vieja. */
@media(max-width:720px){
  .paper{padding:8px 0!important}
  .dash-box{padding:12px!important}
  .modbar{gap:3px!important}
  .modlink{padding:7px 9px!important}
  button,.btn,a.btn,[role="button"]{min-height:36px!important}
}

/* =========================================================
   Acceso y estados de carga · lenguaje shadcn
   Mantiene Google como autenticación y reserva el color municipal
   para cuando el usuario ya tiene un ámbito de trabajo identificado.
   ========================================================= */
body:has(> .login){overflow:auto!important;background:#f8fafc!important;color:#0f172a!important}
.login{min-height:100vh!important;display:grid!important;place-items:center!important;padding:24px!important;background:#f8fafc!important}
.login-card{width:min(430px,100%)!important;padding:32px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#fff!important;color:#0f172a!important;text-align:left!important;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px rgba(15,23,42,.05)!important}
.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid #e2e8f0}
.login-brand img{width:46px;height:46px;object-fit:contain;flex:none}
.login-brand div{display:grid;gap:2px}.login-brand strong{font-size:20px;line-height:1.1;letter-spacing:-.02em}.login-brand span{font-size:12px;color:#64748b;font-weight:600}
.login-copy h1{margin:0 0 8px;font-size:24px;line-height:1.2;letter-spacing:-.025em}.login-copy p{margin:0;color:#64748b!important;font-size:14px;line-height:1.55}
.login-google{display:flex;justify-content:flex-start;margin-top:24px!important;min-height:44px}.login-card #googleButton{justify-content:flex-start!important}
.login-foot{margin:22px 0 0!important;padding-top:18px;border-top:1px solid #e2e8f0;color:#94a3b8!important;font-size:12px!important;line-height:1.5!important}
.login-card .error{margin-top:14px;padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c!important;font-size:13px}
.login-card code{padding:2px 5px;border-radius:5px;background:#f1f5f9;color:#0f172a}

/* La carga deja de usar una pantalla oscura ajena al nuevo sistema visual. */
#spa-loader{background:rgba(248,250,252,.98)!important;backdrop-filter:blur(8px)}
.loader-card{width:min(380px,calc(100vw - 32px))!important;padding:26px!important;gap:13px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#fff!important;color:#0f172a!important;box-shadow:0 1px 2px rgba(15,23,42,.04),0 16px 44px rgba(15,23,42,.07)!important}
.loader-brand{display:flex;align-items:center;gap:9px;width:100%;padding-bottom:16px;margin-bottom:3px;border-bottom:1px solid #e2e8f0}.loader-brand img{width:30px;height:30px;object-fit:contain}.loader-brand strong{font-size:14px;letter-spacing:-.01em}
.loader-wheel{width:28px!important;height:28px!important;margin-top:3px;background:conic-gradient(var(--municipality-color,var(--sl-primary)) var(--loader-progress,8%),#e2e8f0 0)!important;box-shadow:none!important}.loader-wheel:after{inset:4px!important;background:#fff!important}.loader-mark{font-size:0!important}
.loader-title{font-size:15px!important;font-weight:700!important;color:#0f172a!important}.loader-detail,.loader-time{color:#64748b!important;font-size:12px!important;text-align:center}.loader-track{width:100%;height:4px!important;border-radius:999px!important;background:#e2e8f0!important;overflow:hidden}.loader-track i{display:block;height:100%;background:var(--municipality-color,var(--sl-primary))!important;border-radius:inherit}
#spa-activity{border:1px solid #e2e8f0!important;border-radius:10px!important;background:#fff!important;color:#0f172a!important;box-shadow:0 8px 24px rgba(15,23,42,.08)!important}

@media(max-width:560px){.login{padding:16px!important;align-items:center!important}.login-card{padding:24px!important}.login-brand{padding-bottom:20px;margin-bottom:22px}.login-google,.login-card #googleButton{justify-content:center!important}.loader-card{padding:22px!important}}

/* ========================================================================== */
/* UNIFICACIÓN VISUAL GLOBAL · 26/09/2026                                    */
/* Normaliza retícula, cabeceras, navegación, tarjetas, toolbars y estados.  */
/* Mantiene intacta la lógica: sólo corrige presentación y jerarquía visual. */
/* ========================================================================== */
:root{
  --sl-page-max:1440px;
  --sl-page-x:24px;
  --sl-space-1:4px;
  --sl-space-2:8px;
  --sl-space-3:12px;
  --sl-space-4:16px;
  --sl-space-5:20px;
  --sl-space-6:24px;
  --sl-control-h:36px;
  --sl-card-pad:16px;
  --sl-destructive:#dc2626;
  --sl-warning:#d97706;
  --sl-success:#16a34a;
}

/* Todas las pantallas operativas comparten el mismo ancho y gutters. */
.wrap,.hdr-inner,.modbar,.tabs,.foot{width:min(100%,var(--sl-page-max))!important;max-width:var(--sl-page-max)!important;margin-inline:auto!important;padding-left:var(--sl-page-x)!important;padding-right:var(--sl-page-x)!important;box-sizing:border-box!important}
body:not(.login){font-size:14px!important;line-height:1.45!important}
.paper{margin:0 auto!important;padding:var(--sl-space-6) var(--sl-page-x)!important;max-width:var(--sl-page-max)!important;box-sizing:border-box!important}

/* Cabecera común: misma altura, separación y escala en todos los módulos. */
.hdr{min-height:72px!important}
.hdr-inner{min-height:72px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
.brand{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}
.brand img{width:52px!important;height:52px!important;object-fit:contain!important}
.brand .title{font-size:22px!important;line-height:1.05!important}
.brand .sub{font-size:12px!important;line-height:1.25!important;margin-top:2px!important}
.hdr-actions{display:flex!important;align-items:center!important;gap:8px!important}

/* Navegación única: tabs sobrios, sin botón macizo para el módulo activo. */
.modbar-wrap{position:relative!important}
.modbar{min-height:48px!important;display:flex!important;align-items:center!important;gap:2px!important;overflow-x:auto!important;scrollbar-width:none!important}
.modbar::-webkit-scrollbar{display:none!important}
.modlink,.modlink.dom,.modlink.sede,.modlink.abrigos,.modlink.legajos,.modlink.llamados,.modlink.seguimientos,.modlink.oficios,.modlink.intervenciones{
  height:36px!important;min-height:36px!important;padding:0 12px!important;border-radius:7px!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important;font-size:14px!important;font-weight:550!important
}
.modlink.active,.modlink[aria-current="page"]{
  background:color-mix(in srgb,var(--sl-primary) 10%,#fff)!important;
  color:color-mix(in srgb,var(--sl-primary) 75%,#111)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sl-primary) 22%,var(--sl-border))!important
}

/* Cabecera de contenido: título, descripción y acciones mantienen una escala única. */
.section-title,.int-headbar h1,.int-headbar h2{font-size:20px!important;line-height:1.2!important;font-weight:650!important;letter-spacing:-.02em!important;margin:0!important;color:var(--sl-foreground)!important}
.paper>.muted,.section-title+.muted{font-size:14px!important;color:var(--sl-muted)!important;margin-top:4px!important}
.toolbar,.int-headbar,.sede-agenda-compactbar{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:20px!important}
.toolbar .left,.toolbar .right,.int-head-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}

/* Un solo lenguaje de botones, incluidos grupos segmentados. */
button,.btn,a.btn,[role="button"],.segmented button,.segmented .active,.tabs .tab{
  min-height:var(--sl-control-h)!important;height:auto!important;border-radius:8px!important;font-size:13px!important;font-weight:550!important;padding:7px 12px!important;box-shadow:none!important
}
.segmented{display:inline-flex!important;align-items:center!important;padding:2px!important;border:1px solid var(--sl-border)!important;border-radius:9px!important;background:var(--sl-secondary)!important;gap:0!important}
.segmented button,.segmented>*{border:0!important;background:transparent!important;min-height:30px!important;padding:5px 10px!important;border-radius:7px!important}
.segmented .active,.segmented [aria-pressed="true"]{background:#fff!important;color:var(--sl-foreground)!important;box-shadow:0 1px 2px rgba(0,0,0,.06)!important}

/* Cards y filas: misma superficie, borde y padding en todos los módulos. */
.card,.ofi-card,.seg-item,.calls-column,.call-card,.sede-step,.periodbar,.filterbar,.results-strip,.legajo-workspace,.previous-intervention,.ofi-item,.table-wrap{
  border:1px solid var(--sl-border)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important
}
.ofi-card,.seg-item,.sede-step,.results-strip{padding:var(--sl-card-pad)!important}

/* Formularios y filtros usan alturas y etiquetas consistentes. */
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea{min-height:var(--sl-control-h)!important;font-size:14px!important}
label,.field>label,.filter-field>label{font-size:12px!important;font-weight:600!important;color:#52525b!important;margin-bottom:6px!important}
.filterbar,.periodbar{padding:14px!important;gap:12px!important;margin-bottom:12px!important}

/* Llamados: dos columnas coherentes y encabezados neutros; advertencia sólo como badge/estado. */
.calls-split{gap:14px!important;align-items:start!important}
.calls-column{overflow:hidden!important}
.calls-column-head{min-height:46px!important;padding:12px 14px!important;border-bottom:1px solid var(--sl-border)!important;background:#fff!important;color:var(--sl-foreground)!important;border-radius:0!important}
.calls-column-title{font-size:14px!important;font-weight:650!important;color:var(--sl-foreground)!important}
.calls-column-count{background:var(--sl-secondary)!important;color:var(--sl-foreground)!important;border:1px solid var(--sl-border)!important;border-radius:999px!important;padding:2px 8px!important}
.calls-grid{padding:10px!important;gap:8px!important}

/* Seguimientos: la intervención anterior deja de ser un gran panel amarillo. */
.seg-list{display:grid!important;gap:10px!important}
.seg-item{padding:14px!important}
.seg-layout{gap:16px!important}
.seg-title{font-size:15px!important;font-weight:650!important;color:var(--sl-foreground)!important}
.seg-meta{color:var(--sl-muted)!important}
.previous-intervention{background:#fafafa!important;border-color:var(--sl-border)!important;padding:12px!important;color:var(--sl-foreground)!important}
.previous-intervention::before{color:var(--sl-muted)!important}
.seg-due{background:var(--sl-secondary)!important;color:#3f3f46!important;border:0!important;border-radius:7px!important;padding:6px 10px!important;font-weight:600!important}
.seg-actions{gap:6px!important}

/* Oficios: formulario y listado usan la misma Card y densidad que el resto. */
.ofi-grid{gap:14px!important;align-items:start!important}
.ofi-card{padding:16px!important}
.ofi-list{display:grid!important;gap:8px!important}
.ofi-item{padding:14px!important}
.ofi-title{font-size:14px!important;font-weight:650!important;color:var(--sl-foreground)!important}
.ofi-meta{font-size:13px!important;color:var(--sl-muted)!important}
.ofi-req-box{background:#fafafa!important;border:1px solid var(--sl-border)!important;border-radius:8px!important}

/* Intervenciones: KPI y tabla vuelven al sistema neutro; se elimina el violeta decorativo. */
.int-headbar{margin-bottom:14px!important}
.today-count,.result-count{background:#fff!important;color:var(--sl-foreground)!important;border:1px solid var(--sl-border)!important;border-radius:9px!important;box-shadow:none!important;font-weight:650!important}
.today-count strong,.today-count b{color:var(--sl-primary)!important}
.table-wrap{overflow:auto!important}
.int-table{border:0!important;border-radius:0!important}
.int-table th{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--sl-muted)!important}
.int-table td{vertical-align:top!important}
.type-chip{background:color-mix(in srgb,var(--sl-primary) 9%,#fff)!important;color:color-mix(in srgb,var(--sl-primary) 78%,#111)!important;border:1px solid color-mix(in srgb,var(--sl-primary) 18%,var(--sl-border))!important}

/* Sede: la grilla temporal conserva su función, pero toolbar y citas comparten el sistema. */
.tabs-wrap{background:#fff!important;border-bottom:1px solid var(--sl-border)!important}
.tabs{display:flex!important;gap:4px!important;padding-top:6px!important;padding-bottom:6px!important}
.tabs .tab{background:transparent!important;border:0!important;color:var(--sl-muted)!important}
.tabs .tab.active{background:var(--sl-secondary)!important;color:var(--sl-foreground)!important}
.sede-agenda-paper{padding-top:20px!important}
.sede-agenda-compactbar{margin-bottom:14px!important}
.sede-step{margin-bottom:10px!important}

/* Legajos: el buscador y resultados se organizan como una superficie de trabajo, evitando vacío sin jerarquía. */
.legajo-workspace{margin-top:12px!important;padding:0!important;border:0!important;background:transparent!important}
.results-strip{padding:12px!important;margin-top:12px!important}
.results-strip select{width:100%!important}
.geo-panel{border:1px solid var(--sl-border)!important;border-radius:10px!important;background:#fff!important}

/* Estados semánticos: sólo riesgo/éxito/advertencia/destructivo usan color propio. */
.badge.bad,.risk.high,.danger,.destructive{--state-color:var(--sl-destructive)}
.badge.warn,.risk.medium,.warning{--state-color:var(--sl-warning)}
.badge.ok,.risk.low,.success{--state-color:var(--sl-success)}
.badge.bad,.badge.warn,.badge.ok{background:color-mix(in srgb,var(--state-color) 9%,#fff)!important;color:color-mix(in srgb,var(--state-color) 82%,#111)!important;border:1px solid color-mix(in srgb,var(--state-color) 20%,var(--sl-border))!important}

/* Administración usa la misma retícula clara; la barra oscura deja de ser un subsistema visual aparte. */
body.admin-page,.admin-shell{background:var(--sl-background)!important;color:var(--sl-foreground)!important}
.admin-header{background:#fff!important;color:var(--sl-foreground)!important;border-bottom:1px solid var(--sl-border)!important;box-shadow:none!important}
.admin-brand-text,.admin-header a,.admin-header button{color:var(--sl-foreground)!important}
.hero{max-width:var(--sl-page-max)!important;margin:0 auto!important;padding:28px var(--sl-page-x) 14px!important}
.hero h1{font-size:32px!important;line-height:1.1!important}
.admin-toolbar{background:#fff!important;color:var(--sl-foreground)!important;border:1px solid var(--sl-border)!important;border-radius:10px!important;box-shadow:none!important}
.municipality-groups{gap:14px!important}
.municipality-block{border-top-width:1px!important;position:relative!important}
.municipality-block::before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--municipality-color,var(--sl-primary))}

/* Ayuda y widgets flotantes adoptan IconButton/Card del sistema. */
.help-fab,.help-button,.assistant-fab,[class*="help-"][role="button"]{background:#fff!important;color:var(--sl-foreground)!important;border:1px solid var(--sl-border)!important;border-radius:9px!important;box-shadow:0 4px 14px rgba(0,0,0,.06)!important}

/* Móvil: misma gramática con gutters menores y toolbars que pueden envolver. */
@media(max-width:760px){
  :root{--sl-page-x:12px;--sl-card-pad:12px}
  .hdr,.hdr-inner{min-height:64px!important}
  .brand img{width:42px!important;height:42px!important}
  .brand .title{font-size:19px!important}
  .paper{padding-top:16px!important;padding-bottom:16px!important}
  .toolbar,.int-headbar,.sede-agenda-compactbar{flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  .toolbar .right,.int-head-actions{justify-content:flex-start!important}
  .calls-split,.ofi-grid{grid-template-columns:1fr!important;display:grid!important}
  .seg-layout{grid-template-columns:1fr!important}
  .hero{padding-top:20px!important}
  .hero h1{font-size:26px!important}
}

/* ========================================================================== */
/* PASADA DE UNIFORMIDAD PROFUNDA · 26/09/2026                               */
/* Corrige capas, separación de fichas, flotantes y modales sin tocar lógica. */
/* ========================================================================== */

/* Los desplegables operativos deben quedar por encima de grillas y tarjetas. */
body[data-module="sede"] .sede-agenda-compactbar{position:relative!important;z-index:120!important;overflow:visible!important}
body[data-module="sede"] .sede-agenda-options{position:relative!important;z-index:130!important;overflow:visible!important}
body[data-module="sede"] .sede-agenda-options[open]{z-index:5000!important;overflow:visible!important}
body[data-module="sede"] .sede-agenda-options[open]>summary{position:relative!important;z-index:5002!important}
body[data-module="sede"] .sede-agenda-options-panel{z-index:5001!important;overflow:visible!important;box-shadow:0 18px 48px rgba(15,23,42,.20)!important}
body[data-module="sede"] .agenda-gcal,body[data-module="sede"] .agenda-grid,body[data-module="sede"] .agenda-week{position:relative!important;z-index:1!important}

/* Abrigos: cada medida vuelve a ser una unidad visual inequívoca. */
body[data-module="abrigos"] #list.cards-list{display:grid!important;gap:16px!important;padding-top:4px!important}
body[data-module="abrigos"] #list.cards-list>.paper{margin:0!important;padding:18px!important;background:#fff!important;border:1px solid var(--sl-border)!important;border-radius:12px!important;box-shadow:0 1px 2px rgba(15,23,42,.035)!important}
body[data-module="abrigos"] #list.cards-list>.paper+.paper{margin-top:0!important}
body[data-module="abrigos"] #list .abr-head{padding-bottom:12px!important;border-bottom:1px solid #eef0f3!important}
body[data-module="abrigos"] #list .tl-wrap{margin-top:14px!important;padding:0 2px 8px!important}
body[data-module="abrigos"] #list .expand:not(.hide){margin:14px -18px -18px!important;padding:16px 18px 18px!important;border-top:1px solid var(--sl-border)!important;background:#fafafa!important;border-radius:0 0 12px 12px!important}
body[data-module="abrigos"] #list .abr-meta .pill-mini{background:#fafafa!important;border-color:#e4e4e7!important;box-shadow:none!important}

/* Sugerencias: flotante reconocible sobre cualquier módulo, sin confundirse con el fondo. */
.sug-fab{min-width:auto!important;width:auto!important;height:44px!important;min-height:44px!important;padding:0 16px!important;border:1px solid #cbd5e1!important;border-radius:11px!important;background:#fff!important;color:#0f172a!important;box-shadow:0 10px 30px rgba(15,23,42,.16)!important;font-size:13px!important;font-weight:750!important}
.sug-fab::after{content:" Sugerencias";margin-left:7px}
.sug-fab:hover{background:#f8fafc!important;border-color:#94a3b8!important}
.sug-fab b{right:-7px!important;top:-8px!important}
.sug-panel{border:1px solid #cbd5e1!important;background:#fff!important;box-shadow:0 24px 70px rgba(15,23,42,.28)!important;border-radius:14px!important}
.sug-panel.open{isolation:isolate!important}
.sug-panel.open::before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(15,23,42,.12);pointer-events:none}
.sug-head{background:#f8fafc!important;border-bottom:1px solid #dbe1e8!important}
.sug-list{background:#fff!important;padding:10px!important}
.sug-card{border:1px solid #dbe1e8!important;background:#fff!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important}

/* Ayuda comparte escala y presencia con Sugerencias. */
.sl-help-trigger{min-height:44px!important;height:44px!important;padding:0 14px 0 10px!important;border:1px solid #cbd5e1!important;border-radius:11px!important;background:#fff!important;color:#0f172a!important;box-shadow:0 10px 30px rgba(15,23,42,.16)!important}
.sl-help-trigger:hover{background:#f8fafc!important;border-color:#94a3b8!important;transform:none!important}
.sl-help-trigger-mark{width:24px!important;height:24px!important;font-size:13px!important}

/* Todos los modales comparten geometría, contraste y pie de acciones. */
.modal-backdrop,.news-backdrop,.sl-help-layer{backdrop-filter:blur(3px)!important}
.modal-backdrop{background:rgba(15,23,42,.46)!important}
.modal-backdrop>.modal,dialog,.modal-card{border:1px solid #dbe1e8!important;border-radius:14px!important;background:#fff!important;color:#0f172a!important;box-shadow:0 28px 80px rgba(15,23,42,.28)!important}
.modal-backdrop>.modal>header,.modal-card>header{padding-bottom:10px!important;border-bottom:1px solid #eef0f3!important;color:#0f172a!important}
.modal-backdrop>.modal>.actions,.modal-backdrop>.modal>.seg-actions,.modal .modal-actions,dialog .modal-actions{background:rgba(255,255,255,.98)!important;border-top:1px solid #e4e4e7!important}

/* Estados vacíos no reservan una superficie desproporcionada. */
.empty,.empty-state,.sug-empty{min-height:0!important}

@media(max-width:600px){
  .sug-fab{width:44px!important;padding:0!important;justify-content:center!important;font-size:16px!important}
  .sug-fab::after{display:none!important}
  .sl-help-trigger{width:44px!important;padding:0!important;justify-content:center!important}
}


/* ========================================================================== */
/* NORMALIZACIÓN VISUAL FINAL · 26/09/2026                                    */
/* Unifica densidad, controles, modales y jerarquías sin modificar la lógica. */
/* ========================================================================== */

/* Una sola escala para controles equivalentes en todos los módulos. */
input:not([type="checkbox"]):not([type="radio"]),select,.btn,button{box-sizing:border-box}
input:not([type="checkbox"]):not([type="radio"]),select{min-height:38px!important;height:38px!important;padding:7px 11px!important;font-size:14px!important;line-height:1.2!important;border-radius:8px!important}
textarea{font-size:14px!important;line-height:1.4!important;border-radius:8px!important}
.btn,button.btn{min-height:36px!important;padding:7px 12px!important;font-size:13px!important;line-height:1.15!important;border-radius:8px!important}
label,.muted{line-height:1.3}

/* Legajos: búsqueda y acciones comparten eje y altura; el campo deja de dominar la pantalla. */
body[data-module="legajos"] .toolbar{align-items:flex-end!important;gap:10px!important}
body[data-module="legajos"] .toolbar>.left,body[data-module="legajos"] .toolbar>.right{align-items:flex-end!important;gap:8px!important}
body[data-module="legajos"] #qLeg{width:280px!important;max-width:42vw!important}
body[data-module="legajos"] #btnBuscar,body[data-module="legajos"] #btnNuevo,body[data-module="legajos"] #btnCargar{height:38px!important;min-height:38px!important}
body[data-module="legajos"] .hint{margin-top:10px!important}

/* Intervenciones: filtros y referencia temporal usan la misma escala de formulario. */
body[data-module="intervenciones"] .periodbar,body[data-module="intervenciones"] .filterbar{align-items:end!important;gap:10px!important}
body[data-module="intervenciones"] .periodbar input,body[data-module="intervenciones"] .periodbar select,body[data-module="intervenciones"] .filterbar input,body[data-module="intervenciones"] .filterbar select{height:38px!important;min-height:38px!important}
body[data-module="intervenciones"] .result-count,body[data-module="intervenciones"] .today-count{min-height:38px!important;padding:8px 12px!important}

/* Sede: la barra nunca invade la cabecera y puede envolver antes de superponerse. */
body[data-module="sede"] .sede-agenda-paper{padding-top:10px!important}
body[data-module="sede"] .sede-agenda-compactbar{display:grid!important;grid-template-columns:minmax(240px,1fr) auto auto auto!important;align-items:center!important;gap:8px!important;min-height:42px!important;position:relative!important;z-index:300!important}
body[data-module="sede"] .sede-agenda-ident{min-width:0!important}
body[data-module="sede"] .sede-agenda-options{z-index:6000!important}
body[data-module="sede"] .sede-agenda-options-panel{z-index:6001!important}
@media(max-width:1100px){body[data-module="sede"] .sede-agenda-compactbar{grid-template-columns:minmax(220px,1fr) auto auto!important}body[data-module="sede"] .sede-agenda-options{grid-column:auto!important}}

/* Modal de Sede: primero la cita; la ficha personal es sólo contexto y ocupa menos alto. */
body[data-module="sede"] #mdFicha>.modal{width:min(560px,calc(100vw - 28px))!important;padding:16px!important}
body[data-module="sede"] #mdFicha .md-ficha-cita-title{margin:10px 0 6px!important;font-size:17px!important}
body[data-module="sede"] #mdFicha .md-ficha-cita-info{margin-bottom:8px!important}
body[data-module="sede"] #mdFicha .md-ficha-contexto{margin:10px 0!important;padding-top:10px!important;border-top:1px solid var(--sl-border)!important}
body[data-module="sede"] #mdFicha .md-ficha-contexto>#mdFichaTitle{font-size:12px!important;margin-bottom:6px!important}
body[data-module="sede"] #mdFicha .ficha{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:0!important;border-radius:9px!important}
body[data-module="sede"] #mdFicha .ficha .r{display:block!important;padding:7px 10px!important;border-top:0!important;border-right:1px solid var(--sl-border)!important;border-bottom:1px solid var(--sl-border)!important;min-width:0!important}
body[data-module="sede"] #mdFicha .ficha .r:nth-child(2n){border-right:0!important}
body[data-module="sede"] #mdFicha .ficha .k{display:block!important;font-size:10px!important;line-height:1.2!important;text-transform:uppercase!important;letter-spacing:.035em!important}
body[data-module="sede"] #mdFicha .ficha .v{display:block!important;margin-top:2px!important;font-size:13px!important;line-height:1.25!important;font-weight:650!important}
body[data-module="sede"] #mdFicha .md-ficha-cita-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:10px!important;padding-top:10px!important;border-top:1px solid var(--sl-border)!important}
body[data-module="sede"] #mdFicha .actions{margin-top:10px!important}
@media(max-width:560px){body[data-module="sede"] #mdFicha .ficha{grid-template-columns:1fr!important}body[data-module="sede"] #mdFicha .ficha .r{border-right:0!important}}

/* Novedades usa el mismo Dialog claro que el resto del sistema. */
.news-backdrop{position:fixed!important;inset:0!important;z-index:99999!important;display:grid!important;place-items:center!important;padding:18px!important;background:rgba(15,23,42,.46)!important;backdrop-filter:blur(3px)!important}
.news-backdrop[hidden]{display:none!important}
.news-modal{position:relative!important;width:min(600px,calc(100vw - 28px))!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;padding:20px!important;border:1px solid #dbe1e8!important;border-radius:14px!important;background:#fff!important;color:#0f172a!important;box-shadow:0 28px 80px rgba(15,23,42,.28)!important}
.news-kicker{color:var(--sl-primary)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important}
.news-modal h2{margin:6px 42px 14px 0!important;font-size:22px!important;line-height:1.2!important;color:#0f172a!important}
.news-slide{display:none!important;min-height:0!important;padding:2px 0 8px!important}.news-slide.active{display:block!important}
.news-slide h3{margin:4px 0 8px!important;font-size:16px!important;color:#0f172a!important}.news-slide p{margin:0!important;color:#475569!important;font-size:14px!important;line-height:1.5!important}
.news-close{position:absolute!important;right:14px!important;top:14px!important;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border:1px solid #d4d4d8!important;border-radius:8px!important;background:#fff!important;color:#0f172a!important}
.news-footer{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important;margin-top:12px!important;padding-top:12px!important;border-top:1px solid #e4e4e7!important}.news-footer span{text-align:center!important;font-size:12px!important;color:#64748b!important}
.news-dismiss{width:auto!important;display:block!important;margin:8px auto 0!important;padding:6px 8px!important;min-height:30px!important;background:transparent!important;border:0!important;color:#64748b!important;font-size:12px!important;text-decoration:underline!important;text-underline-offset:3px!important}

/* Landing: evita reservas verticales decorativas entre cabecera, módulos y contenido. */
body[data-module="landing"] .hdr,body[data-module="landing"] .hdr-inner{min-height:72px!important;height:72px!important}
body[data-module="landing"] .modbar{min-height:50px!important;padding-top:6px!important;padding-bottom:6px!important}
body[data-module="landing"] main>.paper{padding-top:10px!important}

/* ========================================================================== */
/* CORRECCIÓN VISUAL EFECTIVA · 26/09/2026                                   */
/* Ajusta las fallas verificadas en las capturas sin alterar lógica ni datos. */
/* ========================================================================== */

/* Cabecera y navegación participan del flujo normal: no reservan un segundo
   alto invisible ni pasan por encima del primer bloque de contenido. */
body .hdr,body .modbar-wrap,body .tabs-wrap{position:relative!important;top:auto!important}
body .hdr+ .modbar-wrap,body .hdr.mini+ .modbar-wrap{top:auto!important}
body .modbar-wrap+ .tabs-wrap,body .hdr.mini+ .modbar-wrap+ .tabs-wrap{top:auto!important}
body main.wrap{padding-top:0!important}
body main.wrap>.paper:first-child{margin-top:12px!important}
body[data-module="landing"] main.wrap>.paper:first-child{margin-top:0!important;padding-top:10px!important}

/* Tipografía única para contenido operativo; elimina remanentes de estilos
   heredados con pesos/tamaños que hacían parecer cada módulo un sistema distinto. */
.abr-head,.abr-meta,.tl-wrap,.expand,.history-item,.call-card,.int-table,.agenda-gcal-event,
.modal,.modal input,.modal select,.modal textarea,.modal button{font-family:inherit!important}

/* Abrigos: ficha más densa, sin estética de tarjeta antigua ni barra pesada. */
body[data-module="abrigos"] #list.cards-list{gap:10px!important}
body[data-module="abrigos"] #list.cards-list>.paper{padding:13px 14px!important;border-radius:10px!important;box-shadow:none!important}
body[data-module="abrigos"] #list .abr-head{padding-bottom:8px!important}
body[data-module="abrigos"] #list .abr-title{font-size:14px!important;line-height:1.2!important;font-weight:700!important}
body[data-module="abrigos"] #list .abr-sub,body[data-module="abrigos"] #list .abr-meta{font-size:12px!important;font-weight:500!important}
body[data-module="abrigos"] #list .tl-wrap{margin-top:9px!important;padding-bottom:3px!important}
body[data-module="abrigos"] #list .tl-line{height:4px!important;border-radius:999px!important;box-shadow:none!important;background:#e4e4e7!important}
body[data-module="abrigos"] #list .tl-progress{height:4px!important;border-radius:999px!important;box-shadow:none!important}
body[data-module="abrigos"] #list .tl-dot{width:12px!important;height:12px!important;box-shadow:0 0 0 2px #fff!important}
body[data-module="abrigos"] #list .tl-chip{font-size:11px!important;border-radius:6px!important;box-shadow:none!important}
body[data-module="abrigos"] #list .expand:not(.hide){margin:10px -14px -13px!important;padding:12px 14px 14px!important}
body[data-module="abrigos"] #list .expand input,body[data-module="abrigos"] #list .expand select{height:34px!important;min-height:34px!important;padding:5px 9px!important}
body[data-module="abrigos"] #list .expand textarea{min-height:62px!important;padding:7px 9px!important}
body[data-module="abrigos"] #list .expand .row{gap:7px!important;margin-top:6px!important}
body[data-module="abrigos"] #list .expand label{font-size:12px!important;min-width:104px!important}

/* Domicilios y Sede: Planificar/Agenda no son una segunda barra flotante. */
body[data-module="dom"] .tabs-wrap,body[data-module="sede"] .tabs-wrap{position:relative!important;top:auto!important;z-index:5!important}
body[data-module="dom"] .tabs,body[data-module="sede"] .tabs{min-height:42px!important;padding-top:4px!important;padding-bottom:4px!important}

/* Sede semanal: la cabecera deja de tapar el primer horario y la grilla entra
   mejor en desktop. Las citas no tienen un segundo recuadro interior. */
body[data-module="sede"] .agenda-gcal-wrap{margin-top:6px!important;border-radius:10px!important}
body[data-module="sede"] .agenda-gcal{min-width:900px!important}
body[data-module="sede"] .agenda-gcal-head{position:relative!important;top:auto!important;z-index:2!important}
body[data-module="sede"] .agenda-gcal-corner,body[data-module="sede"] .agenda-gcal-dayhead{min-height:44px!important;padding-top:5px!important;padding-bottom:5px!important}
body[data-module="sede"] .agenda-gcal-event{padding:2px 3px!important}
body[data-module="sede"] .agenda-gcal-event .ev-chip--slot{border:0!important;border-left:4px solid #94a3b8!important;border-radius:7px!important;box-shadow:none!important;padding:6px 7px 26px 8px!important}
body[data-module="sede"] .agenda-gcal-event .ev-chip--slot.ev-risk--alto{border-left-color:#ef4444!important}
body[data-module="sede"] .agenda-gcal-event .ev-chip--slot.ev-risk--moderado{border-left-color:#f59e0b!important}
body[data-module="sede"] .agenda-gcal-event .ev-chip--slot.ev-risk--bajo{border-left-color:#22c55e!important}
body[data-module="sede"] .agenda-gcal-event .ev-name-main{font-size:12px!important;font-weight:700!important;line-height:1.05!important}
body[data-module="sede"] .agenda-gcal-event .ev-leg,body[data-module="sede"] .agenda-gcal-event .ev-motivo{font-weight:500!important}

/* Sede: controles de estado actuales, sin aspecto de botones heredados. */
body[data-module="sede"] #mdAsis .pills{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
body[data-module="sede"] #mdAsis .pill-radio{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:34px!important;padding:6px 8px!important;border:1px solid #d4d4d8!important;border-radius:8px!important;background:#fff!important;color:#18181b!important;font-size:12px!important;font-weight:650!important;box-shadow:none!important}
body[data-module="sede"] #mdAsis .pill-radio:has(input:checked){border-color:var(--sl-primary)!important;background:color-mix(in srgb,var(--sl-primary) 8%,#fff)!important;color:var(--sl-foreground)!important}
body[data-module="sede"] #mdAsis .pill-radio input{width:14px!important;height:14px!important;margin:0!important}

/* Modal/ficha de Sede: la cita es el bloque principal y los datos personales
   quedan como contexto compacto de lectura. */
body[data-module="sede"] #mdFicha>.modal{width:min(540px,calc(100vw - 28px))!important;padding:14px!important}
body[data-module="sede"] #mdFicha .md-ficha-cita-title{order:1!important;margin:0 0 5px!important}
body[data-module="sede"] #mdFicha .md-ficha-cita-info{order:2!important;padding:9px 10px!important;border-radius:8px!important}
body[data-module="sede"] #mdFicha .md-ficha-contexto{order:3!important;margin:8px 0 0!important;padding-top:8px!important}
body[data-module="sede"] #mdFicha .ficha{grid-template-columns:repeat(3,minmax(0,1fr))!important;border:0!important;gap:1px!important;background:#e4e4e7!important}
body[data-module="sede"] #mdFicha .ficha .r{padding:6px 8px!important;border:0!important;background:#fff!important}
body[data-module="sede"] #mdFicha .ficha .k{font-size:10px!important;font-weight:600!important}
body[data-module="sede"] #mdFicha .ficha .v{font-size:12px!important;font-weight:600!important}

/* Legajos: buscador proporcional y el historial deja la estética antigua. */
body[data-module="legajos"] #qLeg{width:240px!important;max-width:36vw!important;height:38px!important}
body[data-module="legajos"] .history-list{gap:6px!important}
body[data-module="legajos"] .history-item{border:1px solid #e4e4e7!important;border-left:3px solid var(--sl-primary)!important;border-radius:8px!important;padding:9px 10px!important;background:#fff!important;box-shadow:none!important}
body[data-module="legajos"] .history-type{font-size:13px!important;font-weight:650!important}
body[data-module="legajos"] .history-date,body[data-module="legajos"] .history-detail,body[data-module="legajos"] .history-meta{font-size:12px!important;font-weight:500!important}
body[data-module="legajos"] .history-result{margin-top:4px!important;padding:2px 6px!important;border:1px solid #e4e4e7!important;border-radius:6px!important;background:#fafafa!important;color:#3f3f46!important;font-size:11px!important;font-weight:600!important}

/* Llamados: elimina aire y organiza cada llamada como una fila compacta. */
body[data-module="llamados"] main{padding-top:0!important}
body[data-module="llamados"] .calls-split{gap:10px!important}
body[data-module="llamados"] .calls-grid{gap:6px!important;padding:8px!important}
body[data-module="llamados"] .call-card{padding:10px 11px!important;border-radius:9px!important;box-shadow:none!important}
body[data-module="llamados"] .call-top{grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
body[data-module="llamados"] .call-time,body[data-module="llamados"] .call-name{font-size:13px!important;font-weight:650!important}
body[data-module="llamados"] .call-sub,body[data-module="llamados"] .call-meta{margin-top:2px!important;font-size:12px!important;font-weight:500!important;line-height:1.3!important}
body[data-module="llamados"] .status-block{margin-top:6px!important}
body[data-module="llamados"] .call-card .status-actions.fixed-2x2{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
body[data-module="llamados"] .call-card .status-actions .btn{width:auto!important;height:30px!important;min-height:30px!important;padding:5px 9px!important;color:#334155!important;border-color:#d4d4d8!important;background:#fff!important;font-weight:600!important}

/* Intervenciones: listado compacto, legible y coherente con el resto. */
body[data-module="intervenciones"] .table-wrap{margin-top:10px!important;border-radius:9px!important;box-shadow:none!important}
body[data-module="intervenciones"] .int-table{min-width:980px!important}
body[data-module="intervenciones"] .int-table th{position:relative!important;top:auto!important;padding:8px 9px!important;background:#fafafa!important;font-size:10px!important;font-weight:650!important;letter-spacing:.03em!important}
body[data-module="intervenciones"] .int-table td{padding:9px!important;font-size:12px!important;line-height:1.35!important}
body[data-module="intervenciones"] .int-table tbody tr:nth-child(even){background:#fff!important}
body[data-module="intervenciones"] .int-table tbody tr:hover{background:#fafafa!important}
body[data-module="intervenciones"] .col-summary{min-width:300px!important}
body[data-module="intervenciones"] .type-chip{padding:2px 6px!important;border-radius:6px!important;font-size:11px!important;font-weight:600!important}

@media(max-width:760px){
  body[data-module="sede"] #mdAsis .pills{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-module="sede"] #mdFicha .ficha{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-module="legajos"] #qLeg{width:100%!important;max-width:none!important}
}

/* ========================================================================== */
/* NORMALIZACIÓN DE DENSIDAD Y JERARQUÍA · 26/09/2026                        */
/* Unifica controles equivalentes y reduce espacio vacío sin tocar la lógica. */
/* ========================================================================== */

/* Los controles equivalentes conservan tamaño; el estado activo se comunica
   por color y contraste, nunca agrandando el botón seleccionado. */
body .btn,body .pill,body .segmented button,body .tabs button,body .modlink{
  box-sizing:border-box!important;font-family:inherit!important;font-weight:650!important
}
body .btn{min-height:36px!important;height:36px!important;padding:0 12px!important;border-radius:8px!important;line-height:34px!important}
body .segmented button,body .tabs button{min-height:34px!important;height:34px!important;padding:0 11px!important;border-radius:7px!important;line-height:32px!important}
body .segmented button.active,body .tabs button.active,body .modlink.active{
  background:var(--sl-primary,var(--accent,#20b7e8))!important;
  border-color:var(--sl-primary,var(--accent,#20b7e8))!important;
  color:#fff!important;box-shadow:none!important;transform:none!important
}
body input:not([type="checkbox"]):not([type="radio"]),body select{min-height:36px!important;height:36px!important;padding:6px 10px!important}

/* Inicio: los cuatro indicadores contienen sólo etiqueta + cifra; por eso se
   presentan en una única línea compacta en desktop y dejan de reservar aire. */
body[data-module="landing"] .dashboard-summary{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(560px,1.35fr)!important;align-items:center!important;gap:16px!important;margin-bottom:10px!important}
body[data-module="landing"] .kpi-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;max-width:none!important;width:100%!important;margin:0!important}
body[data-module="landing"] .kpi,body[data-module="landing"] button.kpi{height:46px!important;min-height:46px!important;padding:6px 10px!important;border-radius:9px!important;gap:8px!important}
body[data-module="landing"] .kpi-label{font-size:11px!important;font-weight:600!important;line-height:1.15!important;white-space:normal!important}
body[data-module="landing"] .kpi-value{font-size:19px!important;font-weight:750!important;line-height:1!important}
body[data-module="landing"] .dash-grid{margin-top:0!important}

/* Intervenciones: “realizadas hoy” es un indicador secundario, no otra familia
   visual. Se alinea con el botón vecino y mantiene la misma altura. */
body[data-module="intervenciones"] .int-head-actions{gap:8px!important}
body[data-module="intervenciones"] .today-count{height:36px!important;min-height:36px!important;box-sizing:border-box!important;padding:0 11px!important;border:1px solid #d4d4d8!important;border-radius:8px!important;background:#fff!important;color:#334155!important;gap:6px!important}
body[data-module="intervenciones"] .today-count strong{font-size:15px!important;font-weight:750!important;line-height:1!important;color:var(--sl-primary,var(--accent,#20b7e8))!important}
body[data-module="intervenciones"] .today-count span{font-size:12px!important;font-weight:650!important;line-height:1!important}
body[data-module="intervenciones"] .int-table th{font-size:10px!important;font-weight:700!important;color:#64748b!important;text-transform:uppercase!important}
body[data-module="intervenciones"] .int-table td{font-size:12px!important;font-weight:500!important;color:#172033!important}
body[data-module="intervenciones"] .int-table .col-date,body[data-module="intervenciones"] .int-table .col-name{font-weight:700!important}

/* Fichas de legajo: son de consulta, no formularios. Los datos se distribuyen
   como información compacta en dos columnas y Observaciones usa todo el ancho. */
body #mdFicha .ficha{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border:1px solid #e4e4e7!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important}
body #mdFicha .ficha .r{display:grid!important;grid-template-columns:minmax(74px,auto) 1fr!important;align-items:start!important;gap:8px!important;padding:7px 9px!important;border:0!important;border-bottom:1px solid #eef0f3!important;background:#fff!important;min-width:0!important}
body #mdFicha .ficha .r:nth-child(odd){border-right:1px solid #eef0f3!important}
body #mdFicha .ficha .r:last-child{grid-column:1/-1!important;border-bottom:0!important;border-right:0!important}
body #mdFicha .ficha .k{font-size:11px!important;font-weight:600!important;color:#64748b!important}
body #mdFicha .ficha .v{font-size:12px!important;font-weight:650!important;color:#172033!important;line-height:1.3!important}
body #mdFicha .modal>header{font-size:15px!important;font-weight:700!important}
body #mdFichaTitle{font-size:12px!important;margin:3px 0 8px!important}

/* Abrigos: el formulario editable adopta la misma densidad del resto. Los PERD
   dejan de comportarse como tarjetas altas cuando sólo muestran estado y fecha. */
body[data-module="abrigos"] #list .expand{font-size:13px!important}
body[data-module="abrigos"] #list .expand .section-title{font-size:17px!important;line-height:1.2!important;margin:10px 0 7px!important}
body[data-module="abrigos"] #list .expand input:not([type="checkbox"]):not([type="radio"]),body[data-module="abrigos"] #list .expand select{height:34px!important;min-height:34px!important}
body[data-module="abrigos"] #list .expand .perd-row,body[data-module="abrigos"] #list .expand [class*="perd-row"]{min-height:48px!important;padding-top:8px!important;padding-bottom:8px!important}

@media(max-width:980px){
  body[data-module="landing"] .dashboard-summary{grid-template-columns:1fr!important}
  body[data-module="landing"] .kpi-strip{grid-template-columns:repeat(4,minmax(120px,1fr))!important;overflow-x:auto!important}
}
@media(max-width:620px){
  body[data-module="landing"] .kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  body #mdFicha .ficha{grid-template-columns:1fr!important}
  body #mdFicha .ficha .r{border-right:0!important}
  body #mdFicha .ficha .r:last-child{grid-column:auto!important}
}

/* ========================================================================== */
/* SISTEMA VISUAL ÚNICO · v8814 · 26/09/2026                                 */
/* Regla transversal: una tipografía, una escala, controles equivalentes y   */
/* estados activos sin cambios de tamaño. No modifica lógica ni datos.        */
/* ========================================================================== */
:root{
  --sl-font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sl-text-xs:11px;
  --sl-text-sm:12px;
  --sl-text-md:13px;
  --sl-text-lg:15px;
  --sl-text-xl:18px;
  --sl-text-2xl:22px;
  --sl-weight-normal:400;
  --sl-weight-medium:550;
  --sl-weight-semibold:650;
  --sl-weight-bold:750;
  --sl-control-h:36px;
  --sl-control-h-sm:32px;
}

/* Una sola familia tipográfica real para toda la interfaz, incluidos controles. */
html,body,button,input,select,textarea,optgroup,option,table,th,td,dialog,summary,
.btn,.pill,.badge,.chip,.tag,.modal,.card,.paper,.panel,.kpi,.metric-card,
.hdr,.modbar,.tabs,.toolbar,.section-title,.dashboard-title,.int-table{
  font-family:var(--sl-font)!important;
}
body:not(.login){font-size:var(--sl-text-md)!important;line-height:1.4!important;font-weight:var(--sl-weight-normal)!important}

/* Escala tipográfica cerrada: la jerarquía depende de la función, no del módulo. */
h1,.page-title,.hero h1{font-size:var(--sl-text-2xl)!important;line-height:1.15!important;font-weight:var(--sl-weight-bold)!important;letter-spacing:-.025em!important}
h2,.dashboard-title,.int-headbar h2{font-size:var(--sl-text-xl)!important;line-height:1.2!important;font-weight:var(--sl-weight-bold)!important;letter-spacing:-.02em!important}
h3,.section-title,.card-title,.panel-title{font-size:var(--sl-text-lg)!important;line-height:1.25!important;font-weight:var(--sl-weight-semibold)!important;letter-spacing:-.01em!important}
p,td,.body-text,.content-text{font-size:var(--sl-text-md)!important}
label,.label,.field>label,.filter-field>label,.muted,.helper,.hint,.meta,.sub{font-size:var(--sl-text-sm)!important;line-height:1.35!important}
.badge,.chip,.tag,.pill-mini{font-size:var(--sl-text-xs)!important;line-height:1.2!important}

/* Botones equivalentes mantienen exactamente la misma geometría. */
button,.btn,a.btn,[role="button"]{
  box-sizing:border-box!important;min-height:var(--sl-control-h)!important;height:var(--sl-control-h)!important;
  padding:0 12px!important;border-radius:8px!important;font-size:var(--sl-text-md)!important;
  line-height:calc(var(--sl-control-h) - 2px)!important;font-weight:var(--sl-weight-semibold)!important;
  transform:none!important;white-space:nowrap!important
}
button:hover,.btn:hover,a.btn:hover,[role="button"]:hover,
button:active,.btn:active,a.btn:active,[role="button"]:active{transform:none!important}

/* Activo = contraste, nunca aumento, desplazamiento ni cambio de padding. */
button.active,.btn.active,.tab.active,.segmented .active,.segmented [aria-pressed="true"],
[role="tab"][aria-selected="true"],.modlink.active,.modlink[aria-current="page"],header nav button.active{
  min-height:var(--sl-control-h)!important;height:var(--sl-control-h)!important;padding:0 12px!important;
  transform:none!important;scale:1!important;background:var(--sl-primary)!important;
  border-color:var(--sl-primary)!important;color:var(--sl-primary-foreground,#fff)!important;
  box-shadow:none!important;font-size:var(--sl-text-md)!important
}
.segmented,.tabs{align-items:center!important}
.segmented button,.tabs .tab{min-height:var(--sl-control-h)!important;height:var(--sl-control-h)!important}

/* Inputs y selects comparten escala con los botones. */
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select{
  box-sizing:border-box!important;height:var(--sl-control-h)!important;min-height:var(--sl-control-h)!important;
  padding:0 10px!important;font-size:var(--sl-text-md)!important;line-height:normal!important
}
textarea{font-size:var(--sl-text-md)!important;line-height:1.4!important;padding:9px 10px!important}

/* Landing: los KPI son metadatos compactos, no tarjetas protagonistas. */
body[data-module="landing"] .dashboard-summary{grid-template-columns:minmax(260px,1fr) auto!important;gap:12px!important;align-items:center!important}
body[data-module="landing"] .kpi-strip{display:flex!important;align-items:center!important;gap:6px!important;width:auto!important;max-width:none!important;justify-content:flex-end!important}
body[data-module="landing"] .kpi,body[data-module="landing"] button.kpi{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;
  width:auto!important;min-width:0!important;height:34px!important;min-height:34px!important;padding:0 9px!important;
  border-radius:8px!important;box-shadow:none!important
}
body[data-module="landing"] .kpi-label{font-size:var(--sl-text-xs)!important;line-height:1!important;font-weight:var(--sl-weight-medium)!important;white-space:nowrap!important;color:var(--sl-muted)!important}
body[data-module="landing"] .kpi-value{font-size:var(--sl-text-lg)!important;line-height:1!important;font-weight:var(--sl-weight-bold)!important;color:var(--sl-foreground)!important}

/* Abrigos: el nombre del NNyA manda; “Ver / Editar” es sólo título de sección. */
body[data-module="abrigos"] #list .abr-title{font-size:var(--sl-text-lg)!important;line-height:1.2!important;font-weight:var(--sl-weight-bold)!important;letter-spacing:-.01em!important}
body[data-module="abrigos"] #list .expand .section-title{font-size:var(--sl-text-md)!important;line-height:1.25!important;font-weight:var(--sl-weight-semibold)!important;margin:12px 0 8px!important}
body[data-module="abrigos"] #list .abr-sub,body[data-module="abrigos"] #list .abr-meta{font-size:var(--sl-text-sm)!important;font-weight:var(--sl-weight-normal)!important}
body[data-module="abrigos"] #list .expand input:not([type="checkbox"]):not([type="radio"]),body[data-module="abrigos"] #list .expand select{height:var(--sl-control-h)!important;min-height:var(--sl-control-h)!important}

/* Intervenciones: el contador diario usa el mismo lenguaje de metadato compacto. */
body[data-module="intervenciones"] .today-count,body[data-module="intervenciones"] .result-count{
  height:var(--sl-control-h)!important;min-height:var(--sl-control-h)!important;padding:0 10px!important;display:inline-flex!important;align-items:center!important;gap:6px!important
}
body[data-module="intervenciones"] .today-count strong{font-size:var(--sl-text-lg)!important;font-weight:var(--sl-weight-bold)!important;line-height:1!important}
body[data-module="intervenciones"] .today-count span{font-size:var(--sl-text-sm)!important;font-weight:var(--sl-weight-medium)!important;line-height:1!important}

/* Sede: encabezado temporal en una sola línea y primer horario completamente visible. */
body[data-module="sede"] .agenda-gcal-head{position:relative!important;top:auto!important;z-index:3!important}
body[data-module="sede"] .agenda-gcal-corner,body[data-module="sede"] .agenda-gcal-dayhead{height:36px!important;min-height:36px!important}
body[data-module="sede"] .agenda-gcal-dayhead{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;padding:0 9px!important;white-space:nowrap!important}
body[data-module="sede"] .agenda-gcal-dayhead b,body[data-module="sede"] .agenda-gcal-dayhead small{display:inline!important;margin:0!important;font-size:var(--sl-text-sm)!important;line-height:1!important;font-weight:var(--sl-weight-semibold)!important;color:#334155!important;text-transform:none!important}
body[data-module="sede"] .agenda-gcal-time:first-child{transform:none!important;padding-top:4px!important}
body[data-module="sede"] .agenda-gcal-event .ev-name-main{font-family:inherit!important;font-size:var(--sl-text-sm)!important;font-weight:var(--sl-weight-semibold)!important;line-height:1.15!important}

/* Dirección: misma altura para toda la navegación y filtros; activo sólo por color. */
body header nav button,body header nav a,body .range-shortcuts button,body .head-actions button,body .clear-btn{
  box-sizing:border-box!important;min-height:var(--sl-control-h)!important;height:var(--sl-control-h)!important;
  padding:0 12px!important;font-family:var(--sl-font)!important;font-size:var(--sl-text-md)!important;
  line-height:calc(var(--sl-control-h) - 2px)!important;font-weight:var(--sl-weight-semibold)!important;transform:none!important
}
body header nav button.active,body .range-shortcuts button.active{
  min-height:var(--sl-control-h)!important;height:var(--sl-control-h)!important;padding:0 12px!important;
  background:var(--sl-primary,var(--municipality-color))!important;border-color:var(--sl-primary,var(--municipality-color))!important;
  color:var(--sl-primary-foreground,var(--municipality-on-color,#fff))!important;transform:none!important;box-shadow:none!important
}

@media(max-width:980px){
  body[data-module="landing"] .dashboard-summary{grid-template-columns:1fr!important}
  body[data-module="landing"] .kpi-strip{justify-content:flex-start!important;flex-wrap:wrap!important}
}
@media(max-width:620px){
  body[data-module="landing"] .kpi-strip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  body[data-module="landing"] .kpi,body[data-module="landing"] button.kpi{width:100%!important}
}
body[data-module="sede"] .agenda-gcal-daylabel{display:inline!important;font-family:var(--sl-font)!important;font-size:var(--sl-text-sm)!important;font-weight:var(--sl-weight-semibold)!important;line-height:1!important;color:#334155!important;white-space:nowrap!important}

/* ========================================================================== */
/* AJUSTES DE CONSISTENCIA · v8815 · 26/09/2026                              */
/* Corrige excepciones detectadas tras aplicar el sistema visual común.       */
/* ========================================================================== */

/* Inicio y Salir son acciones equivalentes en geometría; sólo cambia su rol cromático. */
.sl-shell-home,.sl-shell-exit{
  width:64px!important;min-width:64px!important;max-width:64px!important;
  height:var(--sl-control-h)!important;min-height:var(--sl-control-h)!important;
  padding:0 10px!important;justify-content:center!important;text-align:center!important
}

/* Los selectores segmentados necesitan un estado activo inequívoco sin alterar dimensiones. */
.segmented button.active,.segmented button[aria-pressed="true"],
.tabs .tab.active,[role="tab"][aria-selected="true"]{
  background:var(--sl-primary,var(--accent,#18b8f2))!important;
  border-color:var(--sl-primary,var(--accent,#18b8f2))!important;
  color:var(--sl-primary-foreground,#fff)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sl-primary,var(--accent,#18b8f2)) 78%,#000 22%)!important;
  font-weight:var(--sl-weight-bold)!important
}
.segmented button:not(.active):not([aria-pressed="true"]),
.tabs .tab:not(.active):not([aria-selected="true"]){
  background:#fff!important;color:#18181b!important;border-color:transparent!important
}

/* Llamados: las tres acciones de una tarjeta permanecen en una sola fila también en móvil. */
body[data-module="llamados"] .call-card .status-actions.fixed-2x2{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:6px!important;align-items:center!important
}
body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="resultado"]{
  grid-column:auto!important;min-width:0!important;width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important
}
body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="reprog"],
body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="del"]{
  width:auto!important;min-width:max-content!important
}
@media(max-width:520px){
  body[data-module="llamados"] .call-card .status-actions.fixed-2x2{grid-template-columns:minmax(0,1fr) auto auto!important}
  body[data-module="llamados"] .call-card .status-actions.fixed-2x2 .btn{padding-inline:8px!important;font-size:12px!important}
}

/* Dirección: los gráficos son paneles informativos, no botones. Nunca deben heredar
   la altura fija de los controles ni mostrar una falsa interacción de ampliación. */
body .chart-card,body .abrigo-chart-card{
  height:auto!important;min-height:0!important;line-height:normal!important;transform:none!important;cursor:default!important
}
body .chart-card::after,body .abrigo-chart-card::after{content:none!important;display:none!important}
body .chart-card:hover,body .chart-card:focus-visible,
body .abrigo-chart-card:hover,body .abrigo-chart-card:focus-visible{
  transform:none!important;box-shadow:none!important;outline:none!important
}

/* ========================================================================== */
/* AJUSTES QUIRÚRGICOS · v8816 · 26/09/2026                                  */
/* Mantiene el sistema visual común y corrige cuatro excepciones observadas.  */
/* ========================================================================== */

/* Selectores: el activo conserva la geometría y los inactivos quedan apagados. */
.segmented{background:#eef1f4!important;border-color:#d9dee5!important}
.segmented button:not(.active):not([aria-pressed="true"]),
.tabs .tab:not(.active):not([aria-selected="true"]){
  background:#e7eaee!important;color:#6b7280!important;border-color:transparent!important;
  box-shadow:none!important;font-weight:var(--sl-weight-semibold)!important
}
.segmented button.active,.segmented button[aria-pressed="true"],
.tabs .tab.active,[role="tab"][aria-selected="true"]{
  background:#fff!important;color:#111827!important;border-color:#cfd6df!important;
  box-shadow:0 1px 2px rgba(15,23,42,.10)!important;font-weight:var(--sl-weight-bold)!important
}

/* Llamados: la acción principal muestra el texto completo sin bajar las secundarias. */
body[data-module="llamados"] .call-card .status-actions.fixed-2x2{
  display:grid!important;grid-template-columns:minmax(250px,1fr) max-content max-content!important;
  gap:7px!important;align-items:center!important
}
body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="resultado"]{
  width:auto!important;min-width:250px!important;overflow:visible!important;text-overflow:clip!important;
  white-space:nowrap!important;padding-inline:12px!important
}
body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="reprog"],
body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="del"]{
  width:auto!important;min-width:max-content!important;white-space:nowrap!important
}
@media(max-width:560px){
  body[data-module="llamados"] .call-card .status-actions.fixed-2x2{grid-template-columns:minmax(205px,1fr) max-content max-content!important;gap:5px!important}
  body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="resultado"]{min-width:205px!important;font-size:11px!important;padding-inline:8px!important}
  body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="reprog"],
  body[data-module="llamados"] .call-card .status-actions.fixed-2x2 [data-act="del"]{font-size:11px!important;padding-inline:7px!important}
}

/* Landing: los semáforos de Seguimientos usan la misma escala discreta de riesgo. */
body[data-module="landing"] .mini-row.seg .u-dot{width:9px!important;height:9px!important;box-shadow:none!important}
body[data-module="landing"] .priority-alert .blink-dot{width:9px!important;height:9px!important;animation:none!important;box-shadow:none!important}

/* ========================================================================== */
/* AJUSTES VERIFICADOS · v8817 · 26/09/2026                                  */
/* Corrige las tres excepciones visibles sin alterar lógica ni eventos.       */
/* ========================================================================== */

/* Selectores: el estado no elegido debe leerse como apagado de forma inequívoca. */
.segmented > button:not(.active):not([aria-pressed="true"]),
.segmented > [role="tab"]:not(.active):not([aria-selected="true"]),
.tabs > .tab:not(.active):not([aria-selected="true"]){
  background:#e5e7eb!important;
  color:#6b7280!important;
  border-color:#d1d5db!important;
  box-shadow:none!important;
  opacity:1!important;
}
.segmented > button.active,.segmented > button[aria-pressed="true"],
.segmented > [role="tab"].active,.segmented > [role="tab"][aria-selected="true"],
.tabs > .tab.active,.tabs > .tab[aria-selected="true"]{
  background:#fff!important;
  color:#111827!important;
  border-color:#cbd5e1!important;
  box-shadow:0 1px 2px rgba(15,23,42,.12)!important;
  opacity:1!important;
}

/* Landing: Seguimientos usa el mismo punto discreto que el resto de estados. */
body[data-module="landing"] #listSeguimientos .pillU{
  width:9px!important;height:9px!important;min-width:9px!important;min-height:9px!important;
  border:0!important;box-shadow:none!important;align-self:center!important;justify-self:center!important;
}
body[data-module="landing"] #alertSeguimientosMuyAtrasados .blink-dot{
  width:9px!important;height:9px!important;min-width:9px!important;min-height:9px!important;
  box-shadow:none!important;animation:none!important;
}

/* ========================================================================== */
/* SELECTORES VERIFICADOS · v8818 · 26/09/2026                               */
/* Apunta a los componentes reales (#segView/#segModo) y evita que reglas     */
/* históricas de cada módulo vuelvan a dejar todos los botones en blanco.      */
/* ========================================================================== */

/* La bandeja común queda en gris para que las opciones no elegidas se lean apagadas. */
#segView.segmented,
#segModo.segmented,
#reunaView.segmented,
body .segmented{
  background:#e5e7eb!important;
  border-color:#d1d5db!important;
}

/* Estado inactivo real: gris visible, misma geometría y sin desplazamientos. */
#segView.segmented > button:not(.active),
#segModo.segmented > button:not(.active),
#reunaView.segmented > button:not(.active),
body .segmented > button:not(.active):not([aria-pressed="true"]):not([aria-selected="true"]){
  background:#e5e7eb!important;
  color:#6b7280!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  transform:none!important;
  opacity:1!important;
}

/* Estado activo real: blanco y texto oscuro; sólo cambia el estado cromático. */
#segView.segmented > button.active,
#segModo.segmented > button.active,
#reunaView.segmented > button.active,
body .segmented > button.active,
body .segmented > button[aria-pressed="true"],
body .segmented > button[aria-selected="true"]{
  background:#fff!important;
  color:#111827!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 1px 2px rgba(15,23,42,.12)!important;
  transform:none!important;
  opacity:1!important;
}


/* v8819 · Loader Gestión SL: la rueda se reemplaza por la grilla 3×3 del isotipo. */
.sl-logo-loader,
.loader-wheel.sl-logo-loader,
.activity-wheel.sl-logo-loader,
.dir-loader-wheel.sl-logo-loader{
  --sl-loader-light:#18b8f2;
  --sl-loader-dark:#075985;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  grid-template-rows:repeat(3,1fr)!important;
  gap:3px!important;
  width:45px!important;
  height:45px!important;
  padding:0!important;
  margin:3px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  transform:none!important;
  animation:none!important;
}
.sl-logo-loader::before,.sl-logo-loader::after{content:none!important;display:none!important}
.sl-logo-loader>i{
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  border-radius:4px!important;
  background:var(--sl-loader-dark)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;
  opacity:1!important;
  animation:slLogoLoad 1.05s ease-in-out infinite!important;
}
.sl-logo-loader>i:nth-child(1),.sl-logo-loader>i:nth-child(3),.sl-logo-loader>i:nth-child(5),.sl-logo-loader>i:nth-child(7),.sl-logo-loader>i:nth-child(9){background:var(--sl-loader-light)!important}
.sl-logo-loader>i:nth-child(1){animation-delay:0s!important}.sl-logo-loader>i:nth-child(2){animation-delay:.09s!important}.sl-logo-loader>i:nth-child(3){animation-delay:.18s!important}.sl-logo-loader>i:nth-child(6){animation-delay:.27s!important}.sl-logo-loader>i:nth-child(9){animation-delay:.36s!important}.sl-logo-loader>i:nth-child(8){animation-delay:.45s!important}.sl-logo-loader>i:nth-child(7){animation-delay:.54s!important}.sl-logo-loader>i:nth-child(4){animation-delay:.63s!important}.sl-logo-loader>i:nth-child(5){animation-delay:.72s!important}
.sl-logo-loader--small,.activity-wheel.sl-logo-loader--small{width:27px!important;height:27px!important;gap:2px!important;margin:0!important;flex:0 0 27px!important}
.sl-logo-loader--small>i{border-radius:3px!important}
@keyframes slLogoLoad{0%,100%{filter:brightness(.78);transform:scale(.90)}45%{background:#22d3ee!important;filter:brightness(1.18);transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.sl-logo-loader>i{animation:none!important;transform:none!important;filter:none!important}}


/* 8.5.8 · Utilidades flotantes: iconografía SVG institucional. */
.sug-fab{gap:8px!important;color:#0f172a!important}
.sug-fab::after{content:"Sugerencias"!important;margin-left:0!important}
.sug-icon-wrap{position:relative;display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;color:var(--municipality-color)!important}
.sug-icon{display:block;width:29px;height:29px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}
.sug-icon-wrap #sugCount{position:absolute!important;left:5px!important;top:5px!important;right:auto!important;width:17px!important;min-width:17px!important;height:17px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;color:var(--municipality-color)!important;box-shadow:none!important;display:grid!important;place-items:center!important;font-size:9px!important;font-weight:950!important;line-height:1!important;font-variant-numeric:tabular-nums}
.sl-help-trigger{gap:8px!important;color:#0f172a!important}
.sl-help-trigger-mark{width:29px!important;height:29px!important;border:0!important;border-radius:0!important;color:var(--municipality-color)!important}
.sl-help-trigger-mark svg{display:block;width:29px;height:29px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
.sl-help-trigger-mark .sl-help-bubble{fill:#fff;stroke-width:2.1}
@media(max-width:600px){.sug-icon-wrap,.sl-help-trigger-mark{width:27px!important;height:27px!important;flex-basis:27px}.sug-icon,.sl-help-trigger-mark svg{width:27px;height:27px}.sug-icon-wrap #sugCount{left:5px!important;top:5px!important;width:16px!important;min-width:16px!important;height:16px!important;font-size:8.5px!important}}


/* 8.5.9 · Utilidades flotantes circulares en negativo + rótulo sólo al rollover. */
.sug-fab,.sl-help-trigger{
  width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important;padding:0!important;
  display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;
  background:var(--municipality-color)!important;color:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.18)!important;overflow:visible!important;
}
.sug-fab:hover,.sl-help-trigger:hover{background:var(--municipality-color-dark,var(--municipality-color))!important;color:#fff!important;transform:translateY(-1px)!important}
.sug-icon-wrap,.sl-help-trigger-mark{width:36px!important;height:36px!important;flex:0 0 36px!important;color:#fff!important;display:grid!important;place-items:center!important}
.sug-icon,.sl-help-trigger-mark svg{width:36px!important;height:36px!important;display:block!important;overflow:visible!important;fill:none!important;stroke:#fff!important;stroke-width:3.4!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.sl-help-trigger-mark .sl-help-bubble{fill:var(--municipality-color)!important;stroke:#fff!important;stroke-width:3.2!important}
.sl-help-trigger-mark .sl-help-bubble-lines{stroke:#fff!important;stroke-width:2.6!important}
.sug-icon-wrap #sugCount{
  position:absolute!important;left:7px!important;top:7px!important;right:auto!important;width:20px!important;min-width:20px!important;height:20px!important;padding:0!important;
  border:0!important;border-radius:50%!important;background:transparent!important;color:#fff!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;font-size:11px!important;font-weight:950!important;line-height:1!important;letter-spacing:-.04em!important;font-variant-numeric:tabular-nums!important;
}
.sl-help-trigger-label{
  position:absolute!important;left:calc(100% + 9px)!important;bottom:50%!important;transform:translate(-4px,50%)!important;
  display:block!important;width:max-content!important;padding:7px 10px!important;border-radius:8px!important;
  background:var(--municipality-color)!important;color:#fff!important;box-shadow:0 8px 20px rgba(15,23,42,.16)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .14s ease,transform .14s ease!important;font-size:12px!important;font-weight:850!important;
}
.sl-help-trigger-label::before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--municipality-color)}
.sl-help-trigger:hover .sl-help-trigger-label,.sl-help-trigger:focus-visible .sl-help-trigger-label{opacity:1!important;visibility:visible!important;transform:translate(0,50%)!important}
.sug-fab::after{
  content:"Sugerencias"!important;position:absolute!important;right:calc(100% + 9px)!important;bottom:50%!important;transform:translate(4px,50%)!important;
  display:block!important;width:max-content!important;margin:0!important;padding:7px 10px!important;border-radius:8px!important;
  background:var(--municipality-color)!important;color:#fff!important;box-shadow:0 8px 20px rgba(15,23,42,.16)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .14s ease,transform .14s ease!important;font-size:12px!important;font-weight:850!important;
}
.sug-fab::before{content:"";position:absolute;left:-9px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--municipality-color);opacity:0;visibility:hidden;transition:opacity .14s ease}
.sug-fab:hover::after,.sug-fab:focus-visible::after,.sug-fab:hover::before,.sug-fab:focus-visible::before{opacity:1!important;visibility:visible!important}.sug-fab:hover::after,.sug-fab:focus-visible::after{transform:translate(0,50%)!important}
@media(max-width:600px){.sug-fab,.sl-help-trigger{width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important}.sug-icon-wrap,.sl-help-trigger-mark,.sug-icon,.sl-help-trigger-mark svg{width:34px!important;height:34px!important}.sug-icon-wrap #sugCount{left:7px!important;top:7px!important;width:18px!important;min-width:18px!important;height:18px!important;font-size:10px!important}.sug-fab::after,.sug-fab::before,.sl-help-trigger-label{display:none!important}}

/* 8.5.9.3 · Sugerencias: lupa óptica simple y contador legible a 50 px. */
.sug-icon-wrap{position:relative!important;width:38px!important;height:38px!important;display:block!important;color:#fff!important}
.sug-icon-wrap .sug-icon{display:none!important}
.sug-icon-wrap::before{
  content:""!important;position:absolute!important;left:3px!important;top:3px!important;width:24px!important;height:24px!important;
  box-sizing:border-box!important;border:4px solid #fff!important;border-radius:50%!important;background:transparent!important;
}
.sug-icon-wrap::after{
  content:""!important;position:absolute!important;left:25px!important;top:25px!important;width:13px!important;height:4px!important;
  border-radius:4px!important;background:#fff!important;transform:rotate(45deg)!important;transform-origin:left center!important;
}
.sug-icon-wrap #sugCount{
  position:absolute!important;left:3px!important;top:3px!important;right:auto!important;width:24px!important;min-width:24px!important;height:24px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important;font-weight:950!important;line-height:24px!important;
  letter-spacing:-.03em!important;font-variant-numeric:tabular-nums!important;z-index:2!important;
}
@media(max-width:600px){
  .sug-icon-wrap{width:36px!important;height:36px!important}
  .sug-icon-wrap::before{left:3px!important;top:3px!important;width:23px!important;height:23px!important;border-width:4px!important}
  .sug-icon-wrap::after{left:24px!important;top:24px!important;width:12px!important;height:4px!important}
  .sug-icon-wrap #sugCount{left:3px!important;top:3px!important;width:23px!important;min-width:23px!important;height:23px!important;font-size:11.5px!important;line-height:23px!important}
}

/* Gestión SL · Lucide icon system */
.sl-icon{display:inline-block;width:1.08em;height:1.08em;min-width:1.08em;vertical-align:-.16em;margin-right:.38em;background-color:currentColor;-webkit-mask:var(--sl-icon) center/contain no-repeat;mask:var(--sl-icon) center/contain no-repeat;color:var(--municipality-color,var(--sl-primary,#18b8f2));}
.btn .sl-icon,button .sl-icon,a.btn .sl-icon{color:var(--municipality-color,var(--sl-primary,#18b8f2));}
.btn.primary .sl-icon,button.primary .sl-icon,.btn.danger .sl-icon,button.danger .sl-icon,.btn.destructive .sl-icon,button.destructive .sl-icon{color:inherit;}
.btn.icon .sl-icon,button.icon .sl-icon,.sl-icon.icon-only{margin-right:0;width:18px;height:18px;min-width:18px;vertical-align:middle;}
.sub .sl-icon,h1 .sl-icon,h2 .sl-icon,h3 .sl-icon,strong .sl-icon,.calls-column-title .sl-icon{color:var(--municipality-color,var(--sl-primary,#18b8f2));}
.sl-icon.is-warning{color:var(--sl-warning,#f59e0b)!important}.sl-icon.is-danger{color:var(--sl-destructive,#ef4444)!important}
@media(max-width:600px){.sl-icon{width:1.02em;height:1.02em;min-width:1.02em}}
.sl-icon[data-icon="file-text"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%2022a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h8a2.4%202.4%200%200%201%201.704.706l3.588%203.588A2.4%202.4%200%200%201%2020%208v12a2%202%200%200%201-2%202z%22%2F%3E%3Cpath%20d%3D%22M14%202v5a1%201%200%200%200%201%201h5%22%2F%3E%3Cpath%20d%3D%22M10%209H8%22%2F%3E%3Cpath%20d%3D%22M16%2013H8%22%2F%3E%3Cpath%20d%3D%22M16%2017H8%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="phone"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M13.832%2016.568a1%201%200%200%200%201.213-.303l.355-.465A2%202%200%200%201%2017%2015h3a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202A18%2018%200%200%201%202%204a2%202%200%200%201%202-2h3a2%202%200%200%201%202%202v3a2%202%200%200%201-.8%201.6l-.468.351a1%201%200%200%200-.292%201.233%2014%2014%200%200%200%206.392%206.384%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="calendar-days"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202v3%22%2F%3E%3Cpath%20d%3D%22M16%202v3%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%209h18%22%2F%3E%3Cpath%20d%3D%22M8%2013h.01%22%2F%3E%3Cpath%20d%3D%22M12%2013h.01%22%2F%3E%3Cpath%20d%3D%22M16%2013h.01%22%2F%3E%3Cpath%20d%3D%22M8%2017h.01%22%2F%3E%3Cpath%20d%3D%22M12%2017h.01%22%2F%3E%3Cpath%20d%3D%22M16%2017h.01%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="map-pin-house"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%2022a1%201%200%200%201-1-1v-4a1%201%200%200%201%20.445-.832l3-2a1%201%200%200%201%201.11%200l3%202A1%201%200%200%201%2022%2017v4a1%201%200%200%201-1%201z%22%2F%3E%3Cpath%20d%3D%22M18%2010a8%208%200%200%200-16%200c0%204.993%205.539%2010.193%207.399%2011.799a1%201%200%200%200%20.601.2%22%2F%3E%3Cpath%20d%3D%22M18%2022v-3%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="mail"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m22%207-8.991%205.727a2%202%200%200%201-2.009%200L2%207%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%2220%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="triangle-alert"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4%22%2F%3E%3Cpath%20d%3D%22M12%2017h.01%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="map-pinned"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%208c0%203.613-3.869%207.429-5.393%208.795a1%201%200%2001-1.214%200C9.87%2015.429%206%2011.613%206%208a6%206%200%200112%200%22%2F%3E%3Cpath%20d%3D%22M4.474%2015h-.197a1%201%200%2000-.969.753l-1.097%204.35a1.5%201.5%200%20001.444%201.898L20.344%2022a1.5%201.5%200%20001.446-1.897l-1.098-4.35a1%201%200%2000-.969-.753h-.197%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="shield"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2013c0%205-3.5%207.5-7.66%208.95a1%201%200%200%201-.67-.01C7.5%2020.5%204%2018%204%2013V6a1%201%200%200%201%201-1c2%200%204.5-1.2%206.24-2.72a1.17%201.17%200%200%201%201.52%200C14.51%203.81%2017%205%2019%205a1%201%200%200%201%201%201z%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="search"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21%2021-4.34-4.34%22%2F%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="map-pin-check"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19.43%2012.935c.357-.967.57-1.955.57-2.935a8%208%200%200%200-16%200c0%204.993%205.539%2010.193%207.399%2011.799a1%201%200%200%200%201.202%200%2032.197%2032.197%200%200%200%20.813-.728%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22m16%2018%202%202%204-4%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="refresh-ccw"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2012a9%209%200%200%200-9-9%209.75%209.75%200%200%200-6.74%202.74L3%208%22%2F%3E%3Cpath%20d%3D%22M3%203v5h5%22%2F%3E%3Cpath%20d%3D%22M3%2012a9%209%200%200%200%209%209%209.75%209.75%200%200%200%206.74-2.74L21%2016%22%2F%3E%3Cpath%20d%3D%22M16%2016h5v5%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="save"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15.2%203a2%202%200%200%201%201.4.6l3.8%203.8a2%202%200%200%201%20.6%201.4V19a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2z%22%2F%3E%3Cpath%20d%3D%22M17%2021v-7a1%201%200%200%200-1-1H8a1%201%200%200%200-1%201v7%22%2F%3E%3Cpath%20d%3D%22M7%203v4a1%201%200%200%200%201%201h7%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="trash"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%2011v6%22%2F%3E%3Cpath%20d%3D%22M14%2011v6%22%2F%3E%3Cpath%20d%3D%22M19%206v14a2%202%200%200%201-2%202H7a2%202%200%200%201-2-2V6%22%2F%3E%3Cpath%20d%3D%22M3%206h18%22%2F%3E%3Cpath%20d%3D%22M8%206V4a2%202%200%200%201%202-2h4a2%202%200%200%201%202%202v2%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="settings"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9.671%204.136a2.34%202.34%200%200%201%204.659%200%202.34%202.34%200%200%200%203.319%201.915%202.34%202.34%200%200%201%202.33%204.033%202.34%202.34%200%200%200%200%203.831%202.34%202.34%200%200%201-2.33%204.033%202.34%202.34%200%200%200-3.319%201.915%202.34%202.34%200%200%201-4.659%200%202.34%202.34%200%200%200-3.32-1.915%202.34%202.34%200%200%201-2.33-4.033%202.34%202.34%200%200%200%200-3.831A2.34%202.34%200%200%201%206.35%206.051a2.34%202.34%200%200%200%203.319-1.915%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="printer"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%2018H4a2%202%200%200%201-2-2v-5a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202v5a2%202%200%200%201-2%202h-2%22%2F%3E%3Cpath%20d%3D%22M6%209V3a1%201%200%200%201%201-1h10a1%201%200%200%201%201%201v6%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%2214%22%20width%3D%2212%22%20height%3D%228%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="file-down"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%2022a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h8a2.4%202.4%200%200%201%201.704.706l3.588%203.588A2.4%202.4%200%200%201%2020%208v12a2%202%200%200%201-2%202z%22%2F%3E%3Cpath%20d%3D%22M14%202v5a1%201%200%200%200%201%201h5%22%2F%3E%3Cpath%20d%3D%22M12%2018v-6%22%2F%3E%3Cpath%20d%3D%22m9%2015%203%203%203-3%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="book-open"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v16%22%2F%3E%3Cpath%20d%3D%22M20.001%2019A2%202%200%200022%2017V5a2%202%200%2000-1.999-2L16%203.002A5%205%200%200012%205a5%205%200%2000-4-2H4a2%202%200%2000-2%202v12a2%202%200%20001.999%202H8a5%205%200%20014%202%205%205%200%20014-2z%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="clock"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%206v6l4%202%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="clipboard-list"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%228%22%20height%3D%224%22%20x%3D%228%22%20y%3D%222%22%20rx%3D%221%22%20ry%3D%221%22%2F%3E%3Cpath%20d%3D%22M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2%22%2F%3E%3Cpath%20d%3D%22M12%2011h4%22%2F%3E%3Cpath%20d%3D%22M12%2016h4%22%2F%3E%3Cpath%20d%3D%22M8%2011h.01%22%2F%3E%3Cpath%20d%3D%22M8%2016h.01%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="building"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2010h.01%22%2F%3E%3Cpath%20d%3D%22M12%2014h.01%22%2F%3E%3Cpath%20d%3D%22M12%206h.01%22%2F%3E%3Cpath%20d%3D%22M16%2010h.01%22%2F%3E%3Cpath%20d%3D%22M16%2014h.01%22%2F%3E%3Cpath%20d%3D%22M16%206h.01%22%2F%3E%3Cpath%20d%3D%22M8%2010h.01%22%2F%3E%3Cpath%20d%3D%22M8%2014h.01%22%2F%3E%3Cpath%20d%3D%22M8%206h.01%22%2F%3E%3Cpath%20d%3D%22M9%2022v-3a1%201%200%200%201%201-1h4a1%201%200%200%201%201%201v3%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%2216%22%20height%3D%2220%22%20rx%3D%222%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="route"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%226%22%20cy%3D%2219%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M9%2019h8.5a3.5%203.5%200%200%200%200-7h-11a3.5%203.5%200%200%201%200-7H15%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%225%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="map"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.106%205.553a2%202%200%200%200%201.788%200l3.659-1.83A1%201%200%200%201%2021%204.619v12.764a1%201%200%200%201-.553.894l-4.553%202.277a2%202%200%200%201-1.788%200l-4.212-2.106a2%202%200%200%200-1.788%200l-3.659%201.83A1%201%200%200%201%203%2019.381V6.618a1%201%200%200%201%20.553-.894l4.553-2.277a2%202%200%200%201%201.788%200z%22%2F%3E%3Cpath%20d%3D%22M15%205.764v15%22%2F%3E%3Cpath%20d%3D%22M9%203.236v15%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="circle-plus"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M8%2012h8%22%2F%3E%3Cpath%20d%3D%22M12%208v8%22%2F%3E%3C%2Fsvg%3E")}
.sl-icon[data-icon="check"]{--sl-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E")}
