/* Anualidades: escala de Inicio y controles alineados con Cotizaciones enviadas. */
.canvas.ren-canvas { padding:0; overflow-y:auto; scrollbar-gutter:stable; }
#asApp[data-pro-page="renovaciones"] { transition:none; }
.ren-wrap { --ren-control-ink:#52637b; width:100%; max-width:880px; margin-inline:auto; padding:28px 0 36px; color:var(--ink); container:ren / inline-size; flex-shrink:0; }
.ren-wrap * { box-sizing:border-box; }
.ren-wrap h1, .ren-wrap h2, .ren-wrap p { margin:0; }
.ren-wrap button { appearance:none; -webkit-appearance:none; font:inherit; cursor:pointer; box-shadow:none; }
.ren-wrap button:disabled { cursor:default; opacity:.65; }
.ren-wrap :is(button,input):focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.ren-wrap svg { width:16px; height:16px; flex-shrink:0; stroke-width:2; }
.ren-head { margin-bottom:24px; }
.ren-mascot { position:absolute; right:40px; bottom:calc(100% - 2px); display:block; width:120px; height:auto; pointer-events:none; }
.ren-head h1 { font-size:26px; font-weight:700; letter-spacing:-.03em; line-height:1.2; }
.ren-head p { font-size:14px; line-height:1.5; color:var(--mut); margin-top:8px; max-width:48ch; }
.ren-primary { min-width:0; }
.ren-controls { display:grid; gap:16px; margin-bottom:16px; }
.ren-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.ren-search { display:flex; align-items:center; gap:8px; flex:0 1 320px; width:320px; max-width:100%; min-width:0; padding-inline:12px; min-height:36px; background:var(--card); border:1px solid var(--line); border-radius:12px; color:var(--mut); }
.ren-search input { appearance:none; -webkit-appearance:none; width:100%; min-width:0; border:0; background:transparent; color:var(--ink); font:inherit; font-size:13px; line-height:18px; min-height:34px; padding-block:7px; }
.ren-search input::placeholder { color:var(--mut); opacity:1; }
.ren-search input::-webkit-search-cancel-button { appearance:none; }
.ren-search:focus-within { outline:2px solid var(--brand); outline-offset:3px; }
.ren-search input:focus-visible { outline:0; }
.ren-toolbar .ac-select { flex:0 1 auto; max-width:100%; }
.ren-toolbar .ac-trigger { min-height:36px; padding:7px 12px; font-size:13px; font-weight:500; }
.ren-toolbar > div { min-width:0; max-width:100%; }
/* Mismo grupo segmentado que Todas / Para hoy en Cotizaciones. */
.ren-periods { display:inline-flex; justify-self:start; max-width:100%; padding:2px; gap:0; border:1px solid transparent; border-radius:var(--r-pill); background:var(--pro-segment-surface); }
.ren-periods button { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:4px 10px; border:0; border-radius:var(--r-pill); background:transparent; color:var(--ren-control-ink); font-size:13px; font-weight:500; line-height:1.5; white-space:nowrap; }
.ren-periods button:not([aria-pressed="true"]):hover { color:var(--ink); background:var(--qv-neutral-hover,#e5e7eb); }
.ren-periods button[aria-pressed="true"] { color:var(--ink); background:var(--card); box-shadow:inset 0 0 0 1px var(--line); }
.ren-status { color:var(--mut); font-size:13px; line-height:1.5; margin-bottom:12px !important; }
.ren-status:empty { display:none; }
.ren-status:not(:empty) ~ #renList .ren-mascot { display:none; }
.ren-month, .ren-empty { background:var(--card); border:1px solid var(--line); border-radius:var(--pro-card-radius); }
.ren-month { overflow:hidden; }
.ren-month--mascot { position:relative; overflow:visible; }
.ren-month--mascot ul { overflow:hidden; border-radius:0 0 16px 16px; }
.ren-month + .ren-month { margin-top:20px; }
.ren-month > header { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 20px 12px; }
.ren-month h2 { display:flex; align-items:center; gap:8px; font-size:16px; font-weight:600; line-height:1.4; text-transform:capitalize; }
.ren-month h2 svg { width:18px; height:18px; color:var(--mut); }
.ren-month > header > span { font-size:12px; color:var(--mut); white-space:nowrap; }
.ren-month ul { list-style:none; margin:0; padding:0; }
.ren-row { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(112px,.65fr) auto; align-items:center; gap:28px; padding:12px 20px; min-height:76px; }
.ren-row + .ren-row { border-top:1px solid var(--line); }
.ren-row-main { min-width:0; }
.ren-row-top { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px; }
.ren-row-name { font-size:14px; line-height:20px; font-weight:600; overflow-wrap:anywhere; }
.ren-isapre { font-size:12px; font-weight:400; line-height:18px; color:var(--mut); }
.ren-row-aniv { color:var(--mut); font-size:12px; line-height:18px; margin-top:3px !important; }
.ren-row-when { display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; }
.ren-row-when strong { color:var(--ink); font-size:16px; font-weight:600; line-height:1.25; font-variant-numeric:tabular-nums; }
.ren-row-when span { color:var(--mut); font-size:12px; line-height:18px; }
.ren-row-when.is-soon strong { color:var(--brand); }
.ren-row-acts { display:flex; align-items:center; gap:8px; }
.ren-act { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; min-height:36px; padding:7px 12px; font-size:13px; font-weight:500; line-height:1.4; border:1px solid var(--line); border-radius:var(--r-pill); color:var(--ren-control-ink); background:var(--card); }
.ren-act:hover { background:var(--bg); }
.ren-empty { padding:20px; font-size:14px; line-height:1.5; color:var(--mut); }
.ren-empty .ren-act { display:flex; margin-top:16px; width:fit-content; }
.ren-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Acciones de lectura: mismo peso; Redactar conserva el brillo canónico. */
.ren-row-acts { gap:32px; }
.ren-row-acts .ren-act { border:0; border-radius:0; background:transparent; color:var(--ren-control-ink); padding:4px; min-height:36px; font-size:12px; font-weight:400; line-height:1.5; }
.ren-row-acts .ren-act:hover { color:var(--brand); background:transparent; }
.ren-row-acts .ren-message { color:var(--brand); gap:6px; white-space:nowrap; }
.ren-row-acts .ren-act[data-ren="quote"] { border-left:1px solid var(--line); padding-left:16px; white-space:nowrap; }
.ren-more { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:20px; color:var(--mut); font-size:12px; }
.ren-more:empty { display:none; }
.ren-status .ren-act { border:0; background:transparent; padding:0; min-height:0; color:var(--brand); }
.ren-total { margin:0; }
.ren-note { color:var(--mut); font-size:12px; line-height:18px; margin-top:20px !important; }
.ren-note:empty { display:none; }

@container ren (max-width:700px) {
  .ren-row { grid-template-columns:minmax(0,1fr) 96px; }
  .ren-row-acts { grid-column:1 / -1; flex-wrap:wrap; }
}
@container ren (max-width:520px) {
  .ren-mascot { right:28px; width:80px; bottom:calc(100% - 1px); }
  .ren-head h1 { font-size:24px; }
  .ren-row { gap:12px; padding:16px; }
  .ren-month > header { padding-inline:16px; }
  .ren-search input { font-size:16px; }
  .ren-periods { flex-wrap:wrap; gap:8px; border:0; padding:0; border-radius:0; background:transparent; }
  .ren-periods button { padding:7px 12px; border:1px solid transparent; background:var(--qv-neutral-surface,#f3f4f6); }
  .ren-row-acts { gap:20px; }
  .ren-wrap .ren-act, .ren-periods button, .ren-toolbar .ac-trigger { min-height:44px; }
  .ren-search { min-height:44px; }
  .ren-search input { min-height:42px; }
}
@media (pointer:coarse) {
  .ren-wrap .ren-act, .ren-periods button, .ren-toolbar .ac-trigger { min-height:44px; }
  .ren-search { min-height:44px; }
  .ren-search input { min-height:42px; font-size:16px; }
}

/* Nombre enlaza a la ficha central conservando jerarquía de la fila. */
.ren-row-top .ren-client { border:0; border-radius:4px; background:transparent; padding:0; color:var(--ink); font-size:14px; font-weight:600; line-height:20px; text-align:left; overflow-wrap:anywhere; }
.ren-row-top .ren-client:hover { color:var(--brand); }
