/* Verificación de 30 días e informe para el cliente. */
.ver-lectura { --c: var(--accent); }
.ver-lista { --c: var(--warn); }
.ver-comprada { --c: var(--green); }
.ver-retirada { --c: var(--slate); }
.st-retirada, .ins-retirada { --c: var(--slate); }
.task-ico.k-ver { background: var(--accent-soft); color: var(--accent); }

/* ---------- Fila de Instalaciones ---------- */
.ins-state { display: grid; gap: 3px; justify-items: end; }
.ins-serie { font-size: 11px; color: var(--fg3); white-space: nowrap; word-spacing: normal; }
.ins-ver {
  position: relative; display: grid; gap: 1px; width: 100%; min-height: 44px; padding: 6px 10px 7px; overflow: hidden; text-align: left;
  border-radius: var(--r-m); background: var(--n3); box-shadow: inset 0 0 0 1px var(--line); color: var(--fg1);
  transition: background-color .12s, box-shadow .12s, transform .16s var(--ease-out);
}
.ins-ver:hover { background: var(--n4); box-shadow: inset 0 0 0 1px var(--line-2); }
.ins-ver:active { transform: scale(.985); }
.ins-ver small { color: var(--fg3); font-size: 11px; line-height: 1.25; }
.ins-ver-t { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.ins-ver-t .num { margin-left: auto; font-size: 12px; font-weight: 500; color: var(--fg2); word-spacing: normal; }
.ins-ver-t .i { flex: none; width: 11px; height: 11px; margin-left: auto; color: var(--fg3); }
.ins-ver-t .num + .i { margin-left: 0; }
.ins-ver-bar { position: absolute; inset: auto 0 0; height: 2px; background: var(--n5); }
.ins-ver-bar i { display: block; height: 100%; background: var(--accent); transform-origin: left; }
.ver-lista .ins-ver-t { color: var(--warn); }
@container ins (min-width: 860px) {
  .ins-head, .ins-row { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 118px 88px 88px 198px; }
  .ins-state { justify-items: start; }
}

/* ---------- Ficha ---------- */
.ver-drawer { width: min(720px, 100vw); }
#verif .dr-body > .card + .card { margin-top: 2px; }
.ve-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ve-stats dt { color: var(--fg3); font-size: 12.5px; line-height: 1.3; }
.ve-stats dd { font: 850 24px/1.15 var(--display); font-stretch: 106%; letter-spacing: -.01em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ve-stats dd.txt { padding-top: 4px; font-size: 15px; font-weight: 700; letter-spacing: 0; white-space: normal; }
.ve-dias { display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); gap: 2px; margin-top: 14px; }
.ve-dias i { display: block; height: 22px; border-radius: 2px; background: var(--n4); transform-origin: 50% 100%; }
.ve-dias i.on { background: var(--accent); }
.ve-dias i.hoy { background: var(--accent-hi); box-shadow: 0 0 0 1px var(--n2), 0 0 0 2px var(--accent-hi); }
.ve-pasos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-top: 14px; }
.ve-pasos li { display: grid; gap: 6px; min-width: 0; }
.ve-pasos i { display: block; height: 3px; border-radius: 2px; background: var(--n4); }
.ve-pasos .done i { background: color-mix(in srgb, var(--accent) 55%, transparent); }
.ve-pasos .cur i { background: var(--accent); }
.ve-pasos span { color: var(--fg3); font-size: 12px; line-height: 1.25; }
.ve-pasos .cur span { color: var(--fg1); font-weight: 600; }
.ve-curso { font-size: 14px; font-weight: 600; white-space: normal; color: var(--fg2); }
.ve-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 10px; }
.ve-dec h3 { font-size: 14px; }
.ve-dec-a { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ve-dec-a .btn { flex: 1 1 170px; height: 40px; }
.btn-danger { background: rgba(240, 113, 122, .16); color: var(--red); box-shadow: inset 0 0 0 1px rgba(240, 113, 122, .45); }
.btn-danger:hover { background: rgba(240, 113, 122, .26); }
.ve-foot .btn-lg { flex: 1 1 auto; }
.ve-gen { position: relative; overflow: hidden; }
.ve-gen[disabled] { opacity: 1; cursor: progress; }
.ve-gen-bar { position: absolute; inset: auto 0 0; height: 3px; background: var(--accent-ink); opacity: .55; transform-origin: left; animation: ve-gen 1.1s linear both; }
@keyframes ve-gen { from { transform: scaleX(0); } to { transform: none; } }
.dv-ver { margin-top: 12px; width: 100%; height: 36px; }
.cl-ver { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

/* ---------- Curva de 30 días ---------- */
.vc-ley { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 2px; color: var(--fg2); font-size: 12.5px; font-weight: 500; }
.vc-ley i { display: inline-block; width: 16px; height: 3px; margin-right: 6px; border-radius: 2px; background: var(--accent); vertical-align: middle; }
.vc-ley i.an { height: 2px; background: var(--fg2); }
.vc { margin-top: 10px; }
.vc-plot { position: relative; height: 180px; border-bottom: 1px solid var(--line-2); }
.vc-grid { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; }
.vc-grid i { display: block; height: 1px; background: var(--line); }
.vc-plot svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.vc-plot path { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.vc-before path { stroke: var(--fg2); stroke-width: 1.75; opacity: .62; }
.vc-after { position: absolute; inset: 0; }
.vc-after .a { fill: rgba(46, 155, 255, .12); stroke: none; }
.vc-after .l { stroke: var(--accent); stroke-width: 3; }
.vc-hoy { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--line-2); }
.vc-nudo { position: absolute; width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; border-radius: 50%; background: var(--n2); border: 2.5px solid var(--accent-hi); }
.vc.paper .vc-nudo { background: #fff; border-color: #1b6fc4; }
.vc-hoy b { position: absolute; top: 0; right: 9px; padding: 2px 6px; border-radius: 4px; background: var(--n4); color: var(--fg1); font: 600 11px/1.3 var(--mono); white-space: nowrap; }
.vc-hoy.first b { right: auto; left: 9px; }
.vc-x { display: flex; justify-content: space-between; margin-top: 5px; color: var(--fg3); font: 500 11px/1 var(--mono); }

/* ---------- Informe: el papel ---------- */
#report.modal { background: var(--n1); }
@media (min-width: 760px) { #report.modal { width: min(820px, calc(100vw - 48px)); height: min(860px, calc(100dvh - 32px)); } }
.ir-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 12px; background: var(--n0); }
.ir-pdf { position: relative; max-width: 660px; padding: 26px 20px; overflow: hidden; font-size: 13.5px; }
@media (min-width: 640px) { .ir-body { padding: 24px; } .ir-pdf { padding: 36px 40px 30px; } }
.ir-pdf::before { content: "EJEMPLO"; position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%) rotate(-24deg); font: 850 clamp(64px, 16vw, 112px)/1 var(--display); letter-spacing: .04em; color: rgba(2, 37, 85, .04); pointer-events: none; }
.ir-pdf > * { position: relative; }
.pdf .logo-w b, .pdf .logo-w small { color: #022555; }
.pdf .logo-w i { color: #1b6fc4; }
.ir-pdf .pdf-h > div { display: grid; justify-items: end; gap: 2px; }
.ir-ej { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: 4px; background: #fff3d6; color: #7a5200; font: 700 10px/1 var(--mono); letter-spacing: .08em; box-shadow: inset 0 0 0 1px #e8c77a; vertical-align: 1px; }
.ir-pdf h3 { font-size: 22px; }
.ir-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 18px 0 8px; font: 700 13.5px/1.3 var(--body); color: #022555; }
.ir-pdf .vc-ley { color: #4a5d7c; }
.ir-pdf .vc-ley i { background: #1b6fc4; }
.ir-pdf .vc-ley i.an { background: #7f92aa; }
.vc.paper .vc-plot { height: 170px; border-bottom-color: #b9c6d8; }
.vc.paper .vc-grid i { background: #e6ebf2; }
.vc.paper .vc-before path { stroke: #7f92aa; opacity: 1; }
.vc.paper .vc-after .a { fill: rgba(27, 111, 196, .1); }
.vc.paper .vc-after .l { stroke: #1b6fc4; stroke-width: 2.5; }
.vc.paper .vc-hoy { background: #b9c6d8; }
.vc.paper .vc-hoy b { background: #022555; color: #fff; }
.vc.paper .vc-x { color: #4a5d7c; }
.ir-pdf th.r, .ir-pdf td.r { padding-left: 12px; }
.ir-pdf td.num, .ir-pdf .r.num { font-family: var(--mono); font-size: 12.5px; word-spacing: normal; }
.ir-tot td { font-weight: 700; color: #022555; }
.ir-pdf .pdf-hero span .num { font-size: 11.5px; }
.ir-pdf .pdf-f { flex-wrap: wrap; }
.ir-sent { height: 36px; padding: 0 12px; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 759px) {
  #report .pr-foot { flex-wrap: wrap; }
  #report .pr-foot .foot-note { flex: 1 1 100%; margin: 0; }
}

@media (prefers-reduced-motion: reduce) { .ve-gen-bar { animation: none; } }
