.rv{background:var(--rv-bg,#fff);color:var(--rv-ink,#16202a);border:1px solid var(--rv-line,#dde3e8);border-radius:var(--rv-radius,14px);padding:16px;font:15px/1.4 var(--rv-font,system-ui,sans-serif);width:100%}
.rv *{box-sizing:border-box}
.rv select,.rv button{font:inherit;color:inherit}
.rv-unit{width:100%;padding:10px 12px;border:1px solid var(--rv-line,#dde3e8);border-radius:calc(var(--rv-radius,14px)/1.6);background:transparent;margin-bottom:12px}
.rv-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:600}
.rv-nav span::first-letter{text-transform:uppercase}
.rv-nav button{background:none;border:1px solid var(--rv-line,#dde3e8);border-radius:50%;width:32px;height:32px;cursor:pointer}
.rv-nav button:disabled{opacity:.3;cursor:default}
.rv-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.rv-dow{font-size:.72rem;opacity:.55;padding:4px 0}
.rv-d{border:0;background:transparent;padding:9px 0;border-radius:8px;cursor:pointer}
.rv-d:hover:not(.off):not(.sel){background:var(--rv-soft,#eef3f6)}
.rv-d.off{opacity:.3;text-decoration:line-through;cursor:not-allowed}
.rv-d.in{background:var(--rv-soft,#eef3f6)}
.rv-d.sel{background:var(--rv-accent,#0a7fc2);color:var(--rv-on-accent,#fff);font-weight:600}
.rv-guests{display:flex;align-items:center;justify-content:space-between;margin:12px 0}
.rv-guests div{display:flex;align-items:center;gap:12px}
.rv-guests button{width:30px;height:30px;border-radius:50%;border:1px solid var(--rv-line,#dde3e8);background:none;cursor:pointer}
.rv-sum{min-height:2.6em;font-size:.9rem;opacity:.85;margin-bottom:10px}
.rv-sum b{font-size:1.15rem;opacity:1}
.rv-btn{display:block;text-align:center;width:100%;padding:13px;border:0;border-radius:calc(var(--rv-radius,14px)/1.4);background:var(--rv-accent,#0a7fc2);color:var(--rv-on-accent,#fff);font-weight:600;text-decoration:none;cursor:pointer}
.rv-btn[aria-disabled=true]{opacity:.4;pointer-events:none}
.rv-fine{font-size:.75rem;opacity:.6;margin-top:8px;text-align:center}
.rv-in{width:100%;margin-bottom:8px;padding:10px 12px;border:1px solid var(--rv-line,#dde3e8);border-radius:calc(var(--rv-radius,14px)/1.6);background:transparent;font:inherit;color:inherit}
.rv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.rv-btn:disabled{opacity:.4;pointer-events:none}
.rv-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
