/* Patrón: shadcn Area Chart Interactive; composición editorial y tokens Vecindario.
 * Geometría SVG servida en dos tamaños, sin recorte ni texto escalado en móvil. */
.vec-prose .vec-graf,.vec-graf{--vg-primary:#076e72;--vg-secondary:#92515f;--vg-ink:#172f32;--vg-muted:#52686a;--vg-line:#dcddd5;position:relative;margin:32px 0;padding:22px 20px;border:1px solid var(--vg-line);border-radius:20px;background:#fff;color:var(--vg-ink);font-family:Manrope,Arial,sans-serif;overflow:clip;isolation:isolate}
.vec-graf *{box-sizing:border-box}
.vec-prose .vec-graf__header,.vec-graf__header{position:static;display:block;margin:0 0 16px;padding:0;color:inherit;text-align:left}
.vec-prose .vec-graf .vec-graf__eyebrow,.vec-graf .vec-graf__eyebrow{margin:0 0 10px;color:var(--vg-primary);font-size:16px;font-weight:800;letter-spacing:.06em;line-height:1.5;text-transform:uppercase}
.vec-prose .vec-graf .vec-graf__title,.vec-graf .vec-graf__title{margin:0;font-size:23px;font-weight:800;line-height:1.3;letter-spacing:0;text-wrap:pretty}
.vec-graf__metric{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 10px;margin:0 0 10px;font-variant-numeric:tabular-nums lining-nums}
.vec-graf__number{position:relative;display:inline-grid;font-size:48px;font-weight:800;line-height:1.15;letter-spacing:0;color:var(--vg-primary);white-space:nowrap}
.vec-graf__number-final,.vec-graf__number-animated{grid-area:1/1}
.vec-graf__number-animated{position:absolute;inset:0 auto auto 0;white-space:nowrap;pointer-events:none}
.vec-graf__number.is-counting .vec-graf__number-final{color:transparent}
.vec-graf__unit{font-size:16px;font-weight:600;color:var(--vg-muted);line-height:1.5}
.vec-prose .vec-graf .vec-graf__context,.vec-graf .vec-graf__context{margin:0 0 22px;color:var(--vg-muted);font-size:16px;line-height:1.65}
.vec-graf__plot{position:relative;min-width:0}
.vec-graf .vec-graf__plot--wide{display:none}
.vec-graf .vec-graf__plot--small{display:block}
.vec-graf__svg{display:block;width:100%;height:auto;overflow:visible;font-family:Manrope,Arial,sans-serif;font-variant-numeric:tabular-nums;touch-action:pan-y}
.vec-graf__svg text{font-family:inherit;font-variant-numeric:tabular-nums}
.vec-graf__grid{stroke:var(--vg-line);stroke-width:1;stroke-dasharray:3 5;fill:none}
.vec-graf__axis{fill:var(--vg-muted);font-size:16px;font-weight:500}
.vec-graf__line{fill:none;stroke:var(--vg-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.vec-graf__area{fill:var(--vg-primary);fill-opacity:.08;stroke:none}
.vec-graf__line--secondary{stroke:var(--vg-secondary)}
.vec-graf__area--secondary{fill:var(--vg-secondary)}
.vec-graf__point{fill:#fff;stroke:var(--vg-primary);stroke-width:2;vector-effect:non-scaling-stroke}
.vec-graf__last,.vec-graf__end-label{fill:var(--vg-primary);font-size:16px;font-weight:800}
.vec-graf__rail{fill:#edf0eb}
.vec-graf__gap{fill:none;stroke:var(--vg-secondary);stroke-width:2;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.vec-prose .vec-graf .vec-graf__hint,.vec-graf .vec-graf__hint{margin:12px 0;color:var(--vg-muted);font-size:16px;line-height:1.65}
.vec-prose .vec-graf .vec-graf__subtitle,.vec-graf .vec-graf__subtitle{margin:24px 0 16px;font-size:18px;font-weight:800;line-height:1.4;letter-spacing:0}
.vec-graf__hit{cursor:crosshair;outline:none}
.vec-graf__hit circle{transition:stroke-width .15s,fill .15s}
.vec-graf__hit.is-active .vec-graf__point,.vec-graf__hit:focus-visible .vec-graf__point{fill:var(--vg-primary);stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 2px #076e72)}
.vec-graf__svg:focus-visible{outline:3px solid var(--vg-primary);outline-offset:5px;border-radius:4px}
.vec-prose .vec-graf .vec-graf__tooltip,.vec-graf .vec-graf__tooltip{display:flex;align-items:center;height:64px;min-height:64px;margin:10px 0 18px;padding:6px 12px;border-radius:10px;background:#e8efeb;color:var(--vg-ink);font-size:16px;font-weight:700;line-height:24px;font-variant-numeric:tabular-nums}
.vec-prose .vec-graf .vec-graf__bars,.vec-graf .vec-graf__bars{display:grid;gap:20px;list-style:none;margin:24px 0;padding:0}
.vec-prose .vec-graf .vec-graf__row,.vec-graf .vec-graf__row{margin:0;padding:0;list-style:none}
.vec-graf__row-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:9px;font-size:16px;line-height:1.45}
.vec-graf__row-head>:last-child{flex:none;font-variant-numeric:tabular-nums;font-weight:800}
.vec-graf__row-head a{display:inline-flex;align-items:center;min-height:44px;margin-block:-9px;color:var(--vg-primary);text-decoration:underline;text-underline-offset:3px}
.vec-graf__track{display:block;width:100%;height:12px;overflow:hidden;border-radius:4px;background:#edf0eb}
.vec-graf__bar,.vec-graf__column{fill:var(--vg-primary);transform-box:view-box}
.vec-graf__bar--secondary,.vec-graf__column--secondary{fill:var(--vg-secondary)}
.vec-graf__legend{display:flex;align-items:center;flex-wrap:wrap;gap:9px 22px;margin:16px 0;color:var(--vg-muted);font-size:16px;line-height:1.5}
.vec-graf__legend>span{display:inline-flex;align-items:center;gap:8px}
.vec-graf__legend i{display:inline-block;flex:none;width:12px;height:12px;border-radius:3px;background:var(--vg-primary)}
.vec-graf__legend i[data-color=secondary]{background:var(--vg-secondary)}
.vec-graf__data{margin-top:22px;border-top:1px solid var(--vg-line)}
.vec-prose .vec-graf .vec-graf__data summary,.vec-graf .vec-graf__data summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:12px 0;color:var(--vg-primary);font-size:16px;font-weight:800;list-style:none;cursor:pointer}
.vec-graf__data summary::-webkit-details-marker{display:none}
.vec-graf__data summary::after{content:"+";font-size:22px;font-weight:500}
.vec-graf__data[open] summary::after{content:"−"}
.vec-graf__table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.vec-prose .vec-graf table,.vec-graf table{width:100%;border-collapse:collapse;border:0;margin:0 0 12px;background:#fff;font-size:16px;line-height:1.6;font-variant-numeric:tabular-nums}
.vec-prose .vec-graf :is(td,th),.vec-graf :is(td,th){padding:10px 12px;border:0;border-bottom:1px solid var(--vg-line);text-align:right;vertical-align:top;white-space:nowrap}
.vec-prose .vec-graf :is(td,th):first-child,.vec-graf :is(td,th):first-child{text-align:left;white-space:normal}
.vec-prose .vec-graf th,.vec-graf th{background:#f7f3ef;color:var(--vg-ink);font-weight:800}
.vec-graf__source{display:block;margin-top:16px;padding-top:16px;border-top:1px solid var(--vg-line);color:var(--vg-muted);font-size:16px;line-height:1.7}
.vec-prose .vec-graf .vec-graf__source p,.vec-graf .vec-graf__source p{margin:0 0 5px;font-size:inherit;line-height:inherit}
.vec-graf__source a{color:var(--vg-primary);text-decoration:underline;text-underline-offset:3px}
.vec-graf__method>summary{min-height:44px;padding:10px 0;cursor:pointer}
.vec-graf :is(a,summary):focus-visible{outline:3px solid var(--vg-primary);outline-offset:4px;border-radius:2px}
@media(min-width:600px){.vec-prose .vec-graf,.vec-graf{padding:28px}.vec-graf .vec-graf__plot--small{display:none}.vec-graf .vec-graf__plot--wide{display:block}.vec-prose .vec-graf .vec-graf__title,.vec-graf .vec-graf__title{font-size:27px}.vec-graf__number{font-size:64px}.vec-graf__axis{font-size:15px}}
@media(prefers-reduced-motion:reduce){.vec-graf *{animation:none!important;transition:none!important}.vec-graf__line{stroke-dashoffset:0!important}.vec-graf__bar,.vec-graf__column{transform:none!important}.vec-graf__number.is-counting .vec-graf__number-final{color:inherit}.vec-graf__number-animated{display:none}}
@media(forced-colors:active){.vec-graf__line,.vec-graf__point{stroke:CanvasText}.vec-graf__bar,.vec-graf__column,.vec-graf__legend i{fill:CanvasText;background:CanvasText}.vec-graf__area{fill:CanvasText;fill-opacity:.1}}
