.rv{--rv-ink:#0f1a2e;--rv-muted:#4a5468;--rv-bg:#fbf7f0;--rv-surface:#fff;--rv-line:#ece6dc;--rv-band:#f6e3cf;--rv-accent:#b05a0c;--rv-on-accent:#fff;--rv-accent-soft:#f6e3cf;--rv-accent-text:#8a4508;--rv-danger:#9b1c1c;--rv-danger-soft:#f9d9d2;--rv-warn-soft:#fff4d6;--rv-warn-text:#8a4508;--rv-ok:#1f6b3a;--rv-ok-soft:#ddefe3;--rv-info-soft:#dceaf7;--rv-disabled:#eee9e1;--rv-disabled-text:#6b7280;--rv-whatsapp:#1e8a4c;--rv-radius:16px;color:var(--rv-ink);background:var(--rv-bg);font-size:16px}.rv *,.rv :after,.rv :before{box-sizing:border-box}.rv-h1{font-size:1.75rem}.rv-h1,.rv-h2{margin:0;font-weight:800;line-height:1.1}.rv-h2{font-size:1.6rem}.rv-lbl{font-size:.8125rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.rv-lbl,.rv-muted{margin:0;color:var(--rv-muted)}.rv-muted{font-size:.875rem}.rv-small{font-size:.75rem;color:var(--rv-muted)}.rv-chip{min-height:44px;min-width:44px;padding:0 14px;border:2px solid var(--rv-ink);border-radius:999px;background:var(--rv-surface);color:var(--rv-ink);font:inherit;font-size:.9375rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.rv-chip[aria-pressed=true]{background:var(--rv-ink);color:#fff}.rv-chip--soft[aria-pressed=true]{background:var(--rv-accent-soft);color:var(--rv-ink);box-shadow:0 3px 0 var(--rv-ink)}.rv-chips{display:flex;flex-wrap:wrap;gap:8px}.rv-tile{border:2px solid var(--rv-ink);border-radius:var(--rv-radius);background:var(--rv-surface);color:var(--rv-ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px}.rv-tile:disabled,.rv-tile[aria-disabled=true]{background:var(--rv-disabled);color:var(--rv-disabled-text);border-style:dashed;cursor:not-allowed}.rv-card{border:2px solid var(--rv-ink);border-radius:20px;background:var(--rv-surface);padding:12px 14px}.rv-card--shadow{box-shadow:0 4px 0 var(--rv-ink)}.rv-note{border:2px solid var(--rv-ink);border-radius:var(--rv-radius);padding:10px 12px;font-size:.875rem;line-height:1.4}.rv-note--info{background:var(--rv-info-soft)}.rv-note--warn{background:var(--rv-warn-soft);color:var(--rv-warn-text)}.rv-note--ok{background:var(--rv-ok-soft);color:var(--rv-ok)}.rv-note--danger{background:var(--rv-danger-soft);border-color:var(--rv-danger)}.rv-note--dashed{border-style:dashed;color:var(--rv-muted);background:transparent}.rv-btn{min-height:56px;width:100%;border:2px solid var(--rv-ink);border-radius:999px;background:var(--rv-accent);color:var(--rv-on-accent);font:inherit;font-size:1.0625rem;font-weight:800;cursor:pointer;box-shadow:0 4px 0 var(--rv-ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;padding:0 18px;text-align:center}.rv-btn[aria-disabled=true]{background:#e3ded5;color:var(--rv-disabled-text);box-shadow:none}.rv-btn:disabled{opacity:.7;cursor:progress}.rv-btn--ghost{background:var(--rv-surface);color:var(--rv-ink);box-shadow:none;min-height:50px;font-size:.9375rem}.rv-btn--whatsapp{background:var(--rv-whatsapp);color:#fff}.rv-btn--small{min-height:36px;width:auto;font-size:.75rem;padding:0 10px;box-shadow:none;background:var(--rv-surface);color:var(--rv-ink)}.rv-link{border:0;background:transparent;color:var(--rv-accent-text);font:inherit;cursor:pointer;text-decoration:underline;padding:8px 0;min-height:44px}.rv-field,.rv-link{font-weight:800;font-size:.875rem}.rv-field{display:flex;flex-direction:column;gap:6px}.rv-field__optional{font-weight:600;color:var(--rv-muted)}.rv-field__error{font-weight:700;color:var(--rv-danger)}.rv-input,.rv-textarea{width:100%;border:2px solid var(--rv-ink);border-radius:14px;background:var(--rv-surface);color:var(--rv-ink);font:inherit;font-size:1rem;font-weight:600}.rv-input{height:52px;padding:0 14px}.rv-textarea{padding:10px 12px;resize:vertical;min-height:64px}.rv-input[aria-invalid=true],.rv-textarea[aria-invalid=true]{border-color:var(--rv-danger);background:#fff5f2}.rv :focus-visible{outline:3px solid var(--rv-accent);outline-offset:2px}.rv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
