/* Panel de asesorías — sistema Letters (DESIGN.md).
 * Cielo solo en la cabecera (lo pone letters.css), lienzo blanco,
 * tarjetas de 18 px con sombra azulada, botones negros en píldora y el
 * azul #1C3B30 solo en detalles.
 */
.asr { --asr-grave: #b3261e; --asr-grave-f: #fdeceb; --asr-aviso: #8a5a00; --asr-aviso-f: #fff4dc; --asr-info: #187750; --asr-info-f: #f0f3ef; --asr-ok: #1d6b45; --asr-ok-f: #e5f4ec;
  --asr-filete: rgba(7,7,9,.08); --asr-gris: #5C584E; }

.asr .btn--sm { padding: .4rem .85rem !important; font-size: .8125rem !important; min-height: 0 !important; line-height: 1.2 !important; }

/* Cifras de la cabecera */
.asr-cifras { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
.asr-cifras li { background: rgba(255,255,255,.86); border: 1px solid rgba(255,255,255,.95); border-radius: 18px; padding: 1rem 1.2rem; display: grid; gap: .35rem;
  box-shadow: rgba(28, 59, 48,.08) 0 1px 1px 0, rgba(28, 59, 48,.07) 0 3px 3px 0; }
.asr-cifras span { font-size: .8125rem; color: var(--asr-gris); }
.asr-cifras b { white-space: nowrap; font-size: clamp(1.6rem, 2.6vw, 2.25rem); font-weight: 600; letter-spacing: -.04em; color: #211F1C; line-height: 1; }
.asr-cifras li.is-grave { background: #fff; border-color: var(--asr-grave); }
.asr-cifras li.is-grave b { color: var(--asr-grave); }
.asr-hero-acc { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: 1.5rem; }
.asr-inline { display: inline; margin: 0; }

/* Subnavegación del panel */
.asr-subnav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding: .6rem .6rem .6rem 1.2rem;
  background: #fff; border: 1px solid var(--asr-filete); border-radius: 100px; margin-bottom: 2rem; box-shadow: rgba(28, 59, 48,.08) 0 1px 1px 0, rgba(28, 59, 48,.07) 0 3px 3px 0; }
.asr-subnav__quien { display: grid; line-height: 1.2; }
.asr-subnav__quien b { font-size: .9375rem; }
.asr-subnav__quien span { font-size: .75rem; color: var(--asr-gris); }
.asr-subnav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.asr-subnav a { display: block; padding: .5rem .9rem; border-radius: 100px; color: #211F1C; text-decoration: none; font-size: .875rem; }
.asr-subnav a:hover { background: #ECE2CC; }
.asr-subnav a[aria-current], body:not(#_) .asr-subnav a[aria-current] { background: #211F1C; color: #fff !important; }

/* Mensajes */
.asr-flash, .asr-error { padding: .8rem 1.1rem; border-radius: 12px; margin: 0 0 1rem; font-weight: 500; }
.asr-error p { margin: .15rem 0; }
.asr-flash--ok { background: var(--asr-ok-f); color: var(--asr-ok); }
.asr-flash--error, .asr-error { background: var(--asr-grave-f); color: var(--asr-grave); }
.asr-nota { color: var(--asr-gris); font-size: .875rem; max-width: 62rem; }
.asr-tenue { color: #8A8578; }
.asr-vacio { padding: 1.5rem; border: 1px dashed #cddec9; border-radius: 18px; color: var(--asr-gris); background: #fff; }
.asr-vacio h2 { margin-top: 0; }

/* Tarjetas y formularios */
.asr-acceso { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; }
.asr-tarjeta { background: #fff; border: 1px solid var(--asr-filete); border-radius: 18px; padding: 1.6rem;
  box-shadow: rgba(20, 18, 15,.03) 0 17px 37px 0, rgba(20, 18, 15,.03) 0 67px 67px 0, rgba(20, 18, 15,.02) 0 150px 90px 0; }
.asr-tarjeta h2 { margin-top: 0; font-size: 1.375rem; }
.asr-form { display: grid; gap: .9rem; }
.asr-form label, .asr-filtros label { display: grid; gap: .3rem; font-size: .875rem; font-weight: 500; color: #211F1C; }
.asr-form small { font-weight: 400; color: var(--asr-gris); }
.asr-form input, .asr-form select, .asr-filtros select, .asr textarea, .asr-resp select, .asr-matriz select, .asr-inline-f select {
  border: 1px solid rgba(7,7,9,.14); border-radius: 12px; background: #fff; padding: .6rem .75rem; font: inherit; font-size: .9375rem; color: #211F1C; width: 100%; }
.asr-form .btn { justify-self: start; }
.asr-form--fila { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); align-items: end; margin-top: 1rem; }
.asr-lado { background: #f8faf7; box-shadow: none; }
.asr-roles, .asr-lista { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .75rem; }
.asr-roles li { display: grid; gap: .15rem; }
.asr-roles span, .asr-lista li { color: var(--asr-gris); font-size: .9375rem; }
.asr-lista li { padding-left: 1.2rem; position: relative; }
.asr-lista li::before { content: ''; position: absolute; left: 0; top: .55em; width: .45rem; height: .45rem; border-radius: 50%; background: #1C3B30; }
.asr-nuevo { margin: 1rem 0 2.5rem; padding: 1rem 1.4rem; }
.asr-nuevo summary { cursor: pointer; font-weight: 600; }
.asr-filtros { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin: 0 0 1.5rem; }
.asr-filtros label { min-width: 12rem; }

/* Cartera */
.asr-cab-tabla { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .5rem 1rem; }
.asr-cab-tabla h2 { margin: 0; }
.asr-orden { font-size: .875rem; color: var(--asr-gris); display: flex; flex-wrap: wrap; gap: .25rem; align-items: center; }
.asr-orden a { padding: .3rem .7rem; border-radius: 100px; border: 1px solid var(--asr-filete); color: #211F1C; text-decoration: none; background: #fff; }
.asr-orden a[aria-current], body:not(#_) .asr-orden a[aria-current] { background: #211F1C; color: #fff !important; border-color: #211F1C; }
.asr .tabla { border-radius: 18px; }
.asr .tabla tbody th { text-align: left; font-weight: 600; font-size: .9375rem; text-transform: none; letter-spacing: -.01em; color: #211F1C; background: #fff; }
.asr .tabla th small, .asr .tabla td small { display: block; font-weight: 400; color: var(--asr-gris); font-size: .8125rem; margin-top: .15rem; }
.asr .tabla tbody th a { color: #211F1C; }
.asr-cartera { min-width: 64rem; }
.asr-cartera td { vertical-align: middle; }
.asr-cartera tr.is-activa th, .asr-cartera tr.is-activa td { background: #f8faf7; }
.asr-cartera td b.dato-num { font-size: 1.25rem; font-weight: 600; letter-spacing: -.03em; }
.asr-prog { display: block; width: 6rem; height: 6px; margin-top: .35rem; border: 0; border-radius: 100px; background: #edf1ec; appearance: none; -webkit-appearance: none; overflow: hidden; }
.asr-prog::-webkit-progress-bar { background: #edf1ec; border-radius: 100px; }
.asr-prog::-webkit-progress-value { background: #1C3B30; border-radius: 100px; }
.asr-prog::-moz-progress-bar { background: #1C3B30; border-radius: 100px; }
.asr-urgente b { color: var(--asr-grave); }
.asr-acciones { white-space: nowrap; }
.asr-acciones, .asr-acciones form { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin: 0; }

.asr-pill { display: inline-block; font-size: .75rem; font-weight: 600; border-radius: 100px; padding: .2rem .65rem; background: #ECE2CC; color: #211F1C; text-decoration: none; white-space: nowrap; }
.asr-pill--activa, body:not(#_) .asr-pill--activa { background: #211F1C; color: #fff !important; margin-top: .35rem; }
.asr-pill--edicion { background: var(--asr-ok-f); color: var(--asr-ok); }
.asr-pill--lectura { background: var(--asr-info-f); color: var(--asr-info); }
.asr-pill--grave { background: var(--asr-grave-f); color: var(--asr-grave); }
.asr-pill--aceptada { background: var(--asr-ok-f); color: var(--asr-ok); }
.asr-pill--descartada { background: #f1f3f1; color: #5C584E; }
.page-hero .asr-pill--edicion, .page-hero .asr-pill--lectura { background: #fff; }

.asr-fases { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.asr-fase { display: inline-block; font-size: .75rem; border-radius: 100px; padding: .15rem .55rem; background: #ECE2CC; color: #211F1C; white-space: nowrap; }
.asr-fase b { font-weight: 700; }
.asr-fase--subsanacion { background: var(--asr-grave-f); color: var(--asr-grave); }
.asr-fase--concedida, .asr-fase--justificacion { background: var(--asr-ok-f); color: var(--asr-ok); }
.asr-fase--preparando, .asr-fase--estudiando { background: var(--asr-info-f); color: var(--asr-info); }

/* Ficha de cliente */
.asr-exps { min-width: 52rem; }
.asr-resp { display: flex; gap: .35rem; align-items: center; margin: 0; }
.asr-resp select { min-width: 11rem; padding: .4rem .6rem; font-size: .875rem; }
html.asr-js .asr-sinjs { display: none; }
.asr-grupo { margin: 2rem 0 .75rem; font-size: 1.125rem; }
.asr-ops { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.asr-op { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; justify-content: space-between; align-items: flex-start; background: #fff; border: 1px solid var(--asr-filete); border-radius: 18px; padding: 1rem 1.2rem; }
.asr-op__txt { flex: 1 1 28rem; min-width: 0; display: grid; gap: .25rem; }
.asr-op__txt > a { color: #211F1C; font-weight: 600; text-decoration: none; }
.asr-op__txt > a:hover { text-decoration: underline; }
.asr-op__txt small { color: var(--asr-gris); font-size: .8125rem; }
.asr-op__dec { margin: .35rem 0 0; font-size: .875rem; color: #3d3d46; }
.asr-op--aceptada { border-left: 3px solid var(--asr-ok); }
.asr-op--descartada { border-left: 3px solid #c9c9cf; background: #fbfcfb; }
.asr-op--descartada .asr-op__txt > a { color: var(--asr-gris); }
.asr-decidir { flex: 0 1 26rem; }
.asr-decidir summary { list-style: none; cursor: pointer; display: inline-block; }
.asr-decidir summary::-webkit-details-marker { display: none; }
.asr-decidir[open] summary { margin-bottom: .5rem; }
.asr-decidir__f { display: grid; gap: .5rem; }
.asr-decidir__f label { display: grid; gap: .3rem; font-size: .8125rem; color: var(--asr-gris); }
.asr-decidir__b { display: flex; flex-wrap: wrap; gap: .4rem; }
.asr-hist { min-width: 48rem; }

/* Alertas */
.asr-g { display: inline-block; font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; border-radius: 100px; padding: .2rem .6rem; white-space: nowrap; }
.asr-g--grave { background: var(--asr-grave-f); color: var(--asr-grave); }
.asr-g--aviso { background: var(--asr-aviso-f); color: var(--asr-aviso); }
.asr-g--info { background: var(--asr-info-f); color: var(--asr-info); }
.asr-alertas { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.asr-alerta { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; background: #fff; border: 1px solid var(--asr-filete); border-radius: 14px; padding: .85rem 1.1rem; }
.asr-alerta--grave { border-left: 3px solid var(--asr-grave); }
.asr-alerta--aviso { border-left: 3px solid #e0a526; }
.asr-alerta--info { border-left: 3px solid #1C3B30; }
.asr-alerta__txt p { margin: 0; font-size: .875rem; color: var(--asr-gris); }
.asr-alerta__txt p:first-child { color: #211F1C; font-size: .9375rem; margin-bottom: .2rem; }
.asr-alerta__txt a { color: #211F1C; }
.asr-alerta__resp { font-size: .8125rem; background: #f8faf7; border-radius: 100px; padding: .3rem .8rem; white-space: nowrap; }
.asr-alerta__resp.is-sin { background: var(--asr-aviso-f); color: var(--asr-aviso); }

/* Equipo */
.asr-equipo tr.is-baja th, .asr-equipo tr.is-baja td { opacity: .55; }
.asr-inline-f { display: flex; gap: .35rem; align-items: center; margin: 0; }
.asr-inline-f select { width: auto; padding: .4rem .6rem; font-size: .875rem; }
.asr-matriz th small { text-transform: none; letter-spacing: 0; }
.asr-matriz select { min-width: 8rem; padding: .4rem .6rem; font-size: .875rem; }

@media (max-width: 860px) {
  .asr-acceso { grid-template-columns: 1fr; }
  .asr-subnav { border-radius: 18px; padding: .8rem; }
  .asr-subnav ul { width: 100%; }
  .asr-alerta { grid-template-columns: 1fr; gap: .4rem; }
  .asr-alerta__resp { justify-self: start; }
  .asr-tarjeta { padding: 1.2rem; }
  .asr-filtros label { min-width: 0; flex: 1 1 100%; }
}

/* ---------------------------------------------------------------- Informe
 * Documento propio (asesoria/informe.php), sin cabecera ni pie del sitio. */
@font-face { font-family: 'Open Runde'; font-weight: 400; font-display: swap; src: url('/assets/fonts/OpenRunde-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Open Runde'; font-weight: 600; font-display: swap; src: url('/assets/fonts/OpenRunde-Semibold.woff2') format('woff2'); }
body.informe { margin: 0; background: #f2f5f2; color: #211F1C; font-family: 'Open Runde', system-ui, -apple-system, 'Segoe UI', sans-serif; letter-spacing: -.01em; -webkit-font-smoothing: antialiased; }
.informe__barra { display: flex; justify-content: space-between; align-items: center; gap: 1rem; max-width: 60rem; margin: 0 auto; padding: 1rem 1.25rem; }
.informe__barra a { color: #211F1C; }
.informe__imprimir { background: #211F1C; color: #fff; border: 0; border-radius: 100px; padding: .7rem 1.3rem; font: inherit; font-weight: 600; cursor: pointer; }
.informe__hoja { max-width: 60rem; margin: 0 auto 3rem; background: #fff; border-radius: 18px; padding: 3rem 3.25rem;
  box-shadow: rgba(20, 18, 15,.03) 0 17px 37px 0, rgba(20, 18, 15,.03) 0 67px 67px 0; }
.informe__cab { border-bottom: 2px solid #211F1C; padding-bottom: 1.25rem; margin-bottom: 1.5rem; }
.informe__de { font-size: .8125rem; color: #1C3B30; font-weight: 600; margin: 0 0 .5rem; }
.informe h1 { font-size: 2rem; letter-spacing: -.04em; line-height: 1.1; margin: 0 0 .5rem; font-weight: 600; }
.informe h2 { font-size: 1.25rem; letter-spacing: -.03em; margin: 2rem 0 .75rem; font-weight: 600; }
.informe__cab p { margin: 0; color: #5C584E; }
.informe__cifras { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.informe__cifras li { border: 1px solid rgba(7,7,9,.1); border-radius: 12px; padding: .8rem 1rem; display: grid; gap: .25rem; }
.informe__cifras b { font-size: 1.5rem; letter-spacing: -.04em; font-weight: 600; }
.informe__cifras span { font-size: .8125rem; color: #5C584E; }
.informe table { width: 100%; border-collapse: collapse; font-size: .8125rem; }
.informe th { text-align: left; font-size: .6875rem; text-transform: uppercase; letter-spacing: .05em; color: #5C584E; font-weight: 600; border-bottom: 1px solid #211F1C; padding: .45rem .5rem; }
.informe td { border-bottom: 1px solid rgba(7,7,9,.1); padding: .5rem; vertical-align: top; }
.informe__nota { font-size: .75rem; color: #5C584E; }
.informe__inc { font-size: .8125rem; padding-left: 1.1rem; }
.informe__inc li { margin: .25rem 0; }
.informe__pie { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid rgba(7,7,9,.15); font-size: .75rem; color: #5C584E; }
@media (max-width: 700px) {
  .informe__hoja { padding: 1.5rem 1.1rem; border-radius: 0; }
  .informe__cifras { grid-template-columns: 1fr 1fr; }
  .informe table { display: block; overflow-x: auto; }
}
@media print {
  @page { size: A4; margin: 16mm 14mm; }
  body.informe { background: #fff; }
  .informe__barra { display: none; }
  .informe__hoja { box-shadow: none; padding: 0; max-width: none; margin: 0; border-radius: 0; }
  .informe section { break-inside: avoid-page; }
  .informe tr { break-inside: avoid; }
}

/* Las etiquetas .sr-only (position:absolute) dentro de una tabla con
   scroll se salían del contenedor y ensanchaban la página en móvil. */
.asr .tabla-scroll { position: relative; }
