/* Tema de la app: minimalista, pasteles y naranjo de acento, denso (base 14px).
   Sin fuentes externas: la CSP solo permite font-src 'self'; DM Sans solo si está instalada.
   Los alias --un-* se conservan para los componentes antiguos; los valores nuevos son --ui-*. */
:root {
  --ui-bg: #FBF8F5; --ui-surface: #fff; --ui-alt: #F6F1EC; --ui-border: #EDE6DF;
  --ui-text: #2B2622; --ui-muted: #7A716A;
  --ui-accent: #F28C4B; --ui-accent-h: #E0763A; --ui-accent-soft: #FDE6D4; --ui-accent-text: #C2571A; --ui-on-accent: #4A2410;
  --ui-peach-fg: #7A3A12; --ui-mint: #DDF0E6; --ui-mint-fg: #1F5A43; --ui-sky: #DCEAF5; --ui-sky-fg: #1F4A6E;
  --ui-lilac: #E8E0F3; --ui-lilac-fg: #47347A; --ui-rose: #F9DEDF; --ui-rose-fg: #8A2C2C; --ui-sun: #FBF0CC; --ui-sun-fg: #6B5200;
  --ui-font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* alias de los componentes antiguos */
  --un-navy: var(--ui-text); --un-navy-dark: var(--ui-surface); --un-navy-mid: var(--ui-accent-soft);
  --un-cream: var(--ui-bg); --un-cream-dark: var(--ui-alt);
  --un-gold: var(--ui-accent); --un-gold-hover: var(--ui-accent-text); --un-gold-light: var(--ui-accent-soft);
  --un-text: var(--ui-text); --un-muted: var(--ui-muted); --un-border: var(--ui-border);
  --un-display: var(--ui-font);
  --un-ease: .15s ease;

  --bs-body-bg: var(--ui-bg);
  --bs-tertiary-bg: var(--ui-bg);
  --bs-tertiary-bg-rgb: 251, 248, 245;
  --bs-body-color: var(--ui-text);
  --bs-secondary-color: var(--ui-muted);
  --bs-border-color: var(--ui-border);
  --bs-body-font-family: var(--ui-font);
  --bs-body-font-size: .875rem;
  --bs-body-line-height: 1.45;
  --bs-link-color: var(--ui-accent-text);
  --bs-link-color-rgb: 194, 87, 26;
  --bs-link-hover-color: var(--ui-accent-h);
  --bs-link-hover-color-rgb: 224, 118, 58;
  --bs-primary: var(--ui-accent); --bs-primary-rgb: 242, 140, 75;
  --bs-border-radius: 6px; --bs-border-radius-lg: 8px;
}

body { background: var(--ui-bg); }

/* Títulos: misma sans, sin filete */
h1, h2, h3, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--ui-font); font-weight: 600; color: var(--ui-text); letter-spacing: 0; }
h1, .h1, .h4 { font-size: 1.35rem; }
h2, .h2, .h5 { font-size: 1.15rem; }
h3, .h3, .h6 { font-size: 1rem; }
.small, small { font-size: .8125rem; }

/* Barra superior: blanca, 48px */
.navbar.bg-body { background: var(--ui-surface) !important; border-bottom: 1px solid var(--ui-border) !important; padding-block: .3rem; min-height: 48px; margin-bottom: 1rem !important; }
.navbar > .container { max-width: none; padding-inline: 1rem; gap: .25rem; }
.navbar .navbar-brand { color: var(--ui-text); font-size: 1rem; margin-right: .75rem; }
.navbar .nav-link, .navbar .navbar-text { color: var(--ui-muted); }
.navbar .nav-link { padding: .25rem .6rem; border-radius: 6px; font-size: .875rem; transition: background var(--un-ease), color var(--un-ease); }
.navbar .nav-link:hover { color: var(--ui-text); background: var(--ui-alt); }
.navbar .nav-link.active { color: var(--ui-on-accent); background: var(--ui-accent-soft); font-weight: 600; }
.navbar .badge.text-bg-dark { background: var(--ui-mint) !important; color: var(--ui-mint-fg) !important; font-variant-numeric: tabular-nums; }
.navbar .badge.text-bg-danger { background: var(--ui-accent) !important; color: var(--ui-on-accent) !important; }
.navbar .dropdown-toggle::after { margin-left: .4rem; }
.navbar .dropdown-menu form { margin: 0; }

main.container { max-width: 1280px; padding-bottom: 2rem !important; }

/* Tarjetas: borde fino, sin sombra ni salto */
.card { --bs-card-border-color: var(--ui-border); --bs-card-border-radius: 8px; --bs-card-inner-border-radius: 7px; --bs-card-bg: var(--ui-surface); --bs-card-cap-bg: var(--ui-alt); --bs-card-spacer-y: .75rem; --bs-card-spacer-x: 1rem; --bs-card-cap-padding-y: .5rem; box-shadow: none; transition: border-color var(--un-ease); }
a.card:hover, .card.card-hover:hover { border-color: var(--ui-accent); }
.card-header { color: var(--ui-text); font-weight: 600; border-bottom-color: var(--ui-border); }

/* Botones */
.btn { --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .75rem; --bs-btn-font-size: .8125rem; border-radius: 6px; font-weight: 500; transition: background var(--un-ease), border-color var(--un-ease); }
.btn-sm { --bs-btn-padding-y: .15rem; --bs-btn-padding-x: .55rem; --bs-btn-font-size: .78rem; }
.btn-primary { --bs-btn-bg: var(--ui-accent); --bs-btn-border-color: var(--ui-accent); --bs-btn-color: var(--ui-on-accent); --bs-btn-hover-bg: var(--ui-accent-h); --bs-btn-hover-border-color: var(--ui-accent-h); --bs-btn-hover-color: var(--ui-on-accent); --bs-btn-active-bg: var(--ui-accent-h); --bs-btn-active-border-color: var(--ui-accent-h); --bs-btn-active-color: var(--ui-on-accent); --bs-btn-focus-shadow-rgb: 242,140,75; --bs-btn-disabled-bg: var(--ui-accent); --bs-btn-disabled-border-color: var(--ui-accent); --bs-btn-disabled-color: var(--ui-on-accent); font-weight: 600; }
.btn-outline-primary { --bs-btn-color: var(--ui-accent-text); --bs-btn-border-color: var(--ui-accent); --bs-btn-hover-bg: var(--ui-accent); --bs-btn-hover-border-color: var(--ui-accent); --bs-btn-hover-color: var(--ui-on-accent); --bs-btn-active-bg: var(--ui-accent-h); --bs-btn-active-border-color: var(--ui-accent-h); --bs-btn-active-color: var(--ui-on-accent); }
.btn-outline-secondary { --bs-btn-color: var(--ui-text); --bs-btn-border-color: var(--ui-border); --bs-btn-bg: var(--ui-surface); --bs-btn-hover-bg: var(--ui-alt); --bs-btn-hover-border-color: var(--ui-border); --bs-btn-hover-color: var(--ui-text); --bs-btn-active-bg: var(--ui-accent-soft); --bs-btn-active-border-color: var(--ui-accent); --bs-btn-active-color: var(--ui-on-accent); }
.btn-link { color: var(--ui-accent-text); }

/* Tablas: cabecera clara y filas bajas */
.table { --bs-table-bg: transparent; --bs-table-hover-bg: #FEF5ED; --bs-table-border-color: var(--ui-border); --bs-table-cell-padding-y: .35rem; --bs-table-cell-padding-x: .6rem; }
.table > thead > tr > * { background: var(--ui-alt); color: var(--ui-muted); font-weight: 500; font-size: .75rem; border-bottom: 1px solid var(--ui-border); }
.table-responsive, .card > .table { border-radius: 8px; }

/* Formularios */
.form-control, .form-select { padding: .25rem .6rem; font-size: .875rem; border-color: var(--ui-border); border-radius: 6px; background-color: #fff; }
.form-control:focus, .form-select:focus { border-color: var(--ui-accent); box-shadow: 0 0 0 .2rem rgba(242,140,75,.2); }
.form-check-input:checked { background-color: var(--ui-accent); border-color: var(--ui-accent); }
.form-label { font-weight: 500; margin-bottom: .2rem; }

/* Pestañas, badges, alertas, menús */
.nav-tabs { --bs-nav-tabs-link-active-color: var(--ui-text); --bs-nav-tabs-link-active-border-color: var(--ui-border) var(--ui-border) var(--ui-bg); --bs-nav-tabs-border-color: var(--ui-border); }
.nav-tabs .nav-link { color: var(--ui-muted); padding: .4rem .8rem; }
.nav-tabs .nav-link.active { color: var(--ui-text); border-top: 2px solid var(--ui-accent); background: var(--ui-bg); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--ui-accent-soft); --bs-nav-pills-link-active-color: var(--ui-on-accent); }
.badge { font-weight: 500; }
.alert { --bs-alert-padding-y: .5rem; --bs-alert-padding-x: .85rem; border-radius: 8px; }
.alert-info, .alert-primary { --bs-alert-bg: var(--ui-accent-soft); --bs-alert-color: var(--ui-on-accent); --bs-alert-border-color: #F7CFAE; }
.alert-success { --bs-alert-bg: var(--ui-mint); --bs-alert-color: var(--ui-mint-fg); --bs-alert-border-color: #BFE0CF; }
.alert-warning { --bs-alert-bg: var(--ui-sun); --bs-alert-color: var(--ui-sun-fg); --bs-alert-border-color: #EBDDA5; }
.alert-danger { --bs-alert-bg: var(--ui-rose); --bs-alert-color: var(--ui-rose-fg); --bs-alert-border-color: #EFC3C5; }
.dropdown-menu { --bs-dropdown-font-size: .875rem; border-color: var(--ui-border); border-radius: 8px; box-shadow: 0 6px 20px rgba(43,38,34,.1); }
.dropdown-item:hover, .dropdown-item:focus { background: var(--ui-alt); }
.list-group { --bs-list-group-border-color: var(--ui-border); --bs-list-group-border-radius: 8px; }
.page-link { color: var(--ui-text); }
.active > .page-link, .page-link.active { background: var(--ui-accent-soft); border-color: var(--ui-accent); color: var(--ui-on-accent); }

/* Páginas sin barra (login y pública): fondo crema con tarjeta */
body:not(:has(nav.navbar)) .row.justify-content-center { padding-top: 3rem; }
body:not(:has(nav.navbar)) .row.justify-content-center > .col-md-4 { flex: 0 0 auto; width: min(24rem, 100%); }
body:not(:has(nav.navbar)) .row.justify-content-center h1 { text-align: center; }
body:not(:has(nav.navbar)) .row.justify-content-center .card { padding: 1rem; }
body:not(:has(nav.navbar)) main.container[style] { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: 12px; margin-top: 2rem; margin-bottom: 2rem; padding: 2rem !important; }
@media (max-width: 767.98px) {
  .navbar .container { gap: .5rem; }
  .navbar .navbar-nav { flex-wrap: wrap; }
  body:not(:has(nav.navbar)) main.container[style] { margin-top: 1rem; padding: 1.25rem !important; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Acentos azules de Bootstrap -> naranjo suave */
.bg-primary-subtle { background-color: var(--ui-accent-soft) !important; }
.text-primary, .text-primary-emphasis { color: var(--ui-accent-text) !important; }
.border-primary-subtle { border-color: #F7CFAE !important; }
.badge.text-bg-primary { background-color: var(--ui-accent-soft) !important; color: var(--ui-peach-fg) !important; }

/* «Mis procesos» (2C-1): insignias de estado, contadores, aviso y listas laterales — solo paleta del tema */
.estado { display: inline-block; padding: .2rem .65rem; border-radius: 999px; font-size: .78rem; font-weight: 500; letter-spacing: .02em; border: 1px solid transparent; white-space: nowrap; }
.estado-creada { background: #fff; border-color: var(--un-gold); color: var(--un-navy-mid); }
.estado-en_progreso { background: var(--un-navy-mid); color: var(--ui-peach-fg); }
.estado-detenida { background: var(--ui-sun); color: var(--ui-sun-fg); border-color: var(--un-gold); }
.estado-cerrada { background: #E7E5E0; color: #55524B; }
.estado-archivada { background: transparent; color: var(--un-muted); border: 1px dashed #9A948A; }

.contador { display: flex; flex-direction: column; gap: .15rem; padding: .6rem .9rem; background: #fff; border: 1px solid var(--un-border); border-top: 3px solid var(--un-border); border-radius: 8px; text-decoration: none; color: var(--un-text); box-shadow: 0 1px 2px rgba(43,38,34,.04); transition: border-color var(--un-ease), box-shadow var(--un-ease); }
.contador:hover { border-top-color: var(--ui-peach-fg); box-shadow: 0 8px 22px rgba(43,38,34,.09); color: var(--un-text); }
.contador.activo { border-top-color: var(--un-gold); }
.contador-cifra { font-family: var(--un-display); font-size: 1.5rem; line-height: 1.1; color: var(--un-navy); font-variant-numeric: tabular-nums; }
.contador-nombre { font-size: .85rem; color: var(--un-muted); }

.aviso-un { display: flex; gap: .75rem; flex-wrap: wrap; align-items: baseline; padding: .75rem 1rem; background: #FEF5ED; border: 1px solid var(--un-gold-light); border-left: 4px solid var(--un-gold); border-radius: 8px; color: var(--un-navy); }

.tarjeta-lista .list-group-item { display: flex; flex-direction: column; gap: .1rem; padding: .65rem 1rem; }
.tarjeta-lista small { font-size: .8rem; color: var(--un-muted); }

.tabla-procesos td { vertical-align: top; }
.iniciales { display: inline-flex; align-items: center; justify-content: center; min-width: 1.9rem; height: 1.9rem; margin-right: .25rem; padding-inline: .3rem; border-radius: 50%; background: var(--un-navy-mid); color: var(--ui-peach-fg); font-size: .72rem; font-weight: 600; }
.atributo { display: inline-block; margin: 0 .25rem .25rem 0; padding: .1rem .5rem; border-radius: 6px; background: var(--un-cream-dark); font-size: .8rem; }

.estados-ayuda dt { margin-top: .85rem; }
.estados-ayuda dd { margin: .25rem 0 0; color: var(--un-text); }
.titulo-serif { font-family: var(--un-display); }

/* Detalle del proceso (2C-2): General y Causas judiciales armadas en el navegador. La fecha en serif grande es el eje de cada columna. */
:root { --un-verde: #2F6F5E; --un-burdeos: #8A2C2C; --un-burdeos-claro: #F4E1DE; }
.pd-estado { display: flex; gap: .75rem; align-items: center; margin: 1rem 0; color: var(--un-muted); }
.pd-error { padding: .75rem 1rem; background: var(--un-burdeos-claro); border: 1px solid var(--un-burdeos); border-radius: 8px; color: var(--un-burdeos); }
.pd-error-texto { margin: 0 0 .5rem; color: var(--un-burdeos); font-size: .88rem; }
.pd-vacio { margin: .5rem 0 0; color: var(--un-muted); font-size: .92rem; }

.pd-resumen { margin-bottom: 1.5rem; padding: .75rem 1rem; background: #FEF5ED; border: 1px solid var(--un-gold-light); border-left: 4px solid var(--un-gold); border-radius: 8px; }
.pd-resumen-titulo { margin: 0 0 .5rem; font-size: 1.15rem; }
.pd-resumen-texto { margin: 0 0 .5rem; max-width: 70ch; font-family: var(--un-display); font-size: 1rem; line-height: 1.5; color: var(--un-navy); overflow-wrap: anywhere; }
.pd-hito { margin: 0 0 .75rem; font-weight: 500; color: var(--un-navy); }
.pd-contadores { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin: 0; padding: 0; list-style: none; font-size: .88rem; color: var(--un-muted); }

.pd-columnas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; align-items: start; }
.pd-col { padding: .7rem .9rem .8rem; background: #fff; border: 1px solid var(--un-border); border-top: 3px solid var(--un-navy); border-radius: 8px; box-shadow: 0 1px 2px rgba(43,38,34,.04); }
.pd-col-trabajar { border-top-color: var(--un-gold); }
.pd-col-proximos { border-top-color: var(--un-verde); }
.pd-col-titulo { margin: 0 0 .75rem; font-size: 1.05rem; }
.pd-lista { margin: 0; padding: 0; list-style: none; }

.pd-item { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr) auto; gap: .25rem .75rem; padding: .5rem 0; border-top: 1px solid var(--un-border); }
.pd-item:first-child { border-top: 0; padding-top: .25rem; }
.pd-fecha { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.pd-dia { font-family: var(--un-display); font-size: 1.35rem; font-weight: 600; color: var(--un-navy); font-variant-numeric: tabular-nums; }
.pd-mes { margin-top: .2rem; font-size: .72rem; letter-spacing: .08em; color: var(--un-muted); }
.pd-col-proximos .pd-dia { color: var(--un-verde); }
.pd-cuerpo { min-width: 0; }
.pd-cuerpo p { margin: 0 0 .25rem; overflow-wrap: anywhere; }
.pd-titulo { font-weight: 600; color: var(--un-navy); }
.pd-enlace-titulo { color: var(--un-navy); text-decoration-color: var(--un-gold); text-underline-offset: 3px; }
.pd-enlace-titulo:hover { color: var(--un-gold-hover); }
.pd-detalle { font-size: .9rem; color: var(--un-text); }
.pd-meta { font-size: .8rem; color: var(--un-muted); }
.pd-escalada .pd-dia { color: var(--un-burdeos); }

.pd-insignia, .pd-cuenta { display: inline-block; margin-left: .5rem; padding: .05rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 500; vertical-align: .1em; white-space: nowrap; }
.pd-insignia-novedad { background: var(--un-navy-mid); color: var(--ui-peach-fg); }
.pd-insignia-escalada { background: var(--un-burdeos-claro); color: var(--un-burdeos); border: 1px solid var(--un-burdeos); }
.pd-cuenta { background: var(--un-cream-dark); color: var(--un-navy); }
.pd-cuenta.pd-urg-hoy { background: var(--un-burdeos); color: #fff; }
.pd-cuenta.pd-urg-pronto { background: var(--ui-sun); color: var(--ui-sun-fg); }
p.pd-urg-vencida { color: var(--un-burdeos); font-weight: 500; }
.pd-detectada { font-size: .85rem; color: var(--un-text); }
.pd-marca { display: inline-block; margin-right: .4rem; padding: 0 .45rem; border-radius: 4px; background: #FEF5ED; border: 1px solid var(--un-gold); color: var(--un-navy); font-size: .72rem; font-weight: 500; }
.pd-detectada q { font-style: italic; color: var(--un-muted); }
.pd-archivos { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }
.pd-archivo { max-width: 100%; padding: .1rem .55rem; border-radius: 6px; background: var(--un-cream-dark); color: var(--un-navy); font-size: .78rem; overflow-wrap: anywhere; text-decoration: none; }
a.pd-archivo:hover { background: var(--un-gold-light); }
.pd-no-disponible { background: transparent; border: 1px dashed #9A948A; color: var(--un-muted); }
.pd-acciones { display: flex; flex-direction: column; align-items: flex-end; gap: .4rem; }
.pd-casilla { margin: 0; }
.pd-masivo { margin-bottom: .5rem; }
.pd-aviso:empty { display: none; }

.pd-pie { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .75rem; margin-top: 1.5rem; }
.pd-ficha { padding: .75rem 1rem; background: #fff; border: 1px solid var(--un-border); border-radius: 8px; }
.pd-dl { display: grid; grid-template-columns: minmax(7rem, 11rem) minmax(0, 1fr); gap: .35rem 1rem; margin: 0; font-size: .92rem; }
.pd-dl dt { font-weight: 500; color: var(--un-muted); }
.pd-dl dd { margin: 0; overflow-wrap: anywhere; }
.pd-cliente-nombre { margin: 0 0 .25rem; font-weight: 600; }

/* Causas judiciales: acordeón por causa y subpestañas con carga perezosa */
.pd-causas-cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: 1rem; }
.pd-causas-cab .pd-col-titulo { margin: 0; }
.pd-acordeon { display: grid; gap: .75rem; }
.pd-causa { background: #fff; border: 1px solid var(--un-border); border-radius: 8px; overflow: hidden; }
.pd-causa-h { margin: 0; font-family: inherit; font-size: 1rem; font-weight: 400; }
.pd-causa-boton { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; width: 100%; padding: .5rem .9rem; border: 0; background: transparent; color: var(--un-navy); text-align: left; }
.pd-causa-boton::after { content: "+"; margin-left: auto; font-family: var(--un-display); font-size: 1.4rem; line-height: 1; color: var(--un-gold-hover); }
.pd-causa-boton[aria-expanded="true"]::after { content: "–"; }
.pd-causa-boton[aria-expanded="true"] { background: var(--un-cream-dark); border-bottom: 1px solid var(--un-border); }
.pd-causa-boton:hover { background: var(--un-cream-dark); }
.pd-causa-estado { padding: .1rem .65rem; border-radius: 999px; background: var(--un-navy-mid); color: var(--ui-peach-fg); font-size: .78rem; font-weight: 500; white-space: nowrap; }
.pd-causa-estado.pd-inactiva { background: #E7E5E0; color: #55524B; }
.pd-causa-titulo { flex: 1 1 18rem; min-width: 0; font-family: var(--un-display); font-weight: 600; overflow-wrap: anywhere; }
.pd-causa-ruc { font-size: .8rem; color: var(--un-muted); }
.pd-causa-panel { padding: .75rem 1rem 1.25rem; }
.pd-cabecera { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .75rem 1.5rem; margin: 0 0 1.25rem; }
.pd-par dt { font-size: .75rem; font-weight: 500; color: var(--un-muted); }
.pd-par dd { margin: 0; overflow-wrap: anywhere; }
.pd-subtabs { display: flex; flex-wrap: wrap; gap: .25rem; margin-bottom: 1rem; border-bottom: 1px solid var(--un-border); }
.pd-subtab { margin-bottom: -1px; padding: .5rem .9rem; border: 1px solid transparent; border-radius: 6px 6px 0 0; background: transparent; color: var(--un-muted); font-size: .9rem; }
.pd-subtab[aria-selected="true"] { border-color: var(--un-border); border-bottom-color: #fff; border-top: 2px solid var(--un-gold); background: #fff; color: var(--un-navy); font-weight: 500; }
.pd-subtab:hover { color: var(--un-navy); }
.pd-tabla { max-height: 34rem; }
.pd-tabla table { font-size: .86rem; }
.pd-celda-larga { display: block; min-width: 14rem; max-width: 34rem; overflow-wrap: anywhere; }
.pd-movimientos td:first-child { white-space: nowrap; }
.pd-sueltos { margin: 0 0 .75rem; }
details.pd-sueltos summary { cursor: pointer; }
details.pd-sueltos .pd-archivos { margin-top: .4rem; }
.pd-subtitulo { margin: 1.25rem 0 .5rem; font-family: var(--un-display); font-size: 1rem; color: var(--un-navy); }
.pd-subtitulo:first-child { margin-top: 0; }
#proceso-detalle button.pd-causa-boton:focus-visible, #proceso-detalle .pd-subtab:focus-visible { outline-offset: -2px; }

#proceso-detalle a:focus-visible, #proceso-detalle button:focus-visible, #proceso-detalle input:focus-visible { outline: 2px solid var(--un-gold); outline-offset: 2px; }
@media (max-width: 991.98px) {
  .pd-columnas, .pd-pie { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
  .pd-item { grid-template-columns: 2.9rem minmax(0, 1fr); }
  .pd-acciones { grid-column: 2; flex-direction: row; align-items: center; justify-content: flex-start; }
  .pd-dl { grid-template-columns: minmax(0, 1fr); }
}

/* Estados en pasteles (reemplazan a los oscuros) */
.estado { padding: .1rem .6rem; font-size: .75rem; }
.estado-creada { background: var(--ui-lilac); border-color: transparent; color: var(--ui-lilac-fg); }
.estado-en_progreso { background: var(--ui-sky); border-color: transparent; color: var(--ui-sky-fg); }
.estado-detenida { background: var(--ui-sun); border-color: transparent; color: var(--ui-sun-fg); }
.estado-cerrada { background: var(--ui-mint); border-color: transparent; color: var(--ui-mint-fg); }
.pd-col { border-top-color: var(--ui-accent-soft); }
.pd-col-trabajar { border-top-color: var(--ui-accent); }
.pd-causa-estado { background: var(--ui-sky); color: var(--ui-sky-fg); }
.pd-causa-estado.pd-inactiva { background: var(--ui-alt); color: var(--ui-muted); }
.pd-insignia-novedad { background: var(--ui-accent-soft); }

/* Insignias neutras y sin sombras sobrantes */
.badge.text-bg-secondary { background-color: var(--ui-sky) !important; color: var(--ui-sky-fg) !important; }
.badge.text-bg-success { background-color: var(--ui-mint) !important; color: var(--ui-mint-fg) !important; }
.badge.text-bg-warning { background-color: var(--ui-sun) !important; color: var(--ui-sun-fg) !important; }
.badge.text-bg-danger { background-color: var(--ui-rose) !important; color: var(--ui-rose-fg) !important; }
.badge.text-bg-light { background-color: var(--ui-alt) !important; color: var(--ui-muted) !important; }
.contador, .pd-col, .pd-ficha, .pd-causa { box-shadow: none; }
.contador:hover { box-shadow: none; border-top-color: var(--ui-accent); }

/* Calendario: enlaces de día y eventos en texto neutro; el naranjo queda para hoy y el hover */
.table-bordered td a.text-decoration-none:not(.badge) { color: var(--ui-text); }
.table-bordered td a.text-decoration-none:not(.badge):hover { color: var(--ui-accent-text); }

/* Restos de azul de Bootstrap: lista activa, insignia info y barras de progreso */
.list-group { --bs-list-group-active-bg: var(--ui-accent-soft); --bs-list-group-active-border-color: var(--ui-accent); --bs-list-group-active-color: var(--ui-on-accent); }
.list-group-item-action:hover { background: var(--ui-alt); }
.badge.text-bg-info { background-color: var(--ui-lilac) !important; color: var(--ui-lilac-fg) !important; }
.progress { --bs-progress-bg: var(--ui-alt); --bs-progress-bar-bg: var(--ui-accent); --bs-progress-height: .5rem; }
