.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}
/* Calendario (2.0): líneas de 1 px, el día elegido en el color oscuro del universo, sin brillos. */
.vv-calendar{--cal-accent:var(--qp-accent,#e6d9b8);--cal-deep:var(--qp-dark,#11231c);padding:20px;border-radius:18px;border:1px solid var(--qp-line,#1f2d2622);background:#fffdf7;margin-top:18px}
.vv-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}.vv-calendar-heading>button{width:38px;height:38px;border:1px solid var(--qp-line,#1f2d2622);border-radius:50%;background:transparent;color:var(--cal-deep);font-size:26px;line-height:1}.vv-calendar-heading>div{display:flex;gap:3px;align-items:center;min-width:0}.vv-calendar-heading select{border:0;background:transparent;width:auto;max-width:150px;padding:6px;font-weight:650;color:var(--cal-deep);font-size:15px}.vv-calendar-heading label{margin:0}
.vv-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.vv-weekday{text-align:center;font-size:12px;color:#78786b;font-weight:600;padding-bottom:8px}.vv-calendar-grid>button{border:1px solid transparent;background:var(--qp-soft,#e9e4d5);border-radius:12px;min-width:0;min-height:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:14px;color:#354031;position:relative}.vv-calendar-grid>button:hover:not(:disabled){border-color:var(--cal-deep)}.vv-calendar-grid>button.today{border-color:#a7ac96}.vv-calendar-grid>button.selected{background:var(--cal-deep);color:white;border-color:var(--cal-deep)}.vv-calendar-grid>button:disabled{opacity:1;color:#b2b2a7;background:transparent;cursor:default}.vv-calendar-grid>button.occupied{background:#f3e7df;color:#8c6050}.vv-calendar-grid>button.occupied>span{text-decoration:line-through}.vv-calendar-grid>button small{font-size:12px;line-height:1.2}.vv-calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;color:#6d7265;font-size:12px}.vv-calendar-legend span{display:flex;align-items:center;gap:5px}.vv-calendar-legend i{width:8px;height:8px;border-radius:50%;background:#d9dfc8}.vv-calendar-legend i.occupied{background:#cda48e}.vv-calendar-legend i.selected{background:var(--cal-deep)}.vv-day-dot{width:4px;height:4px;background:currentColor;border-radius:50%}
.qc-review-heading{position:relative;padding:28px 0 34px;margin-bottom:22px;border-bottom:1px solid color-mix(in srgb,var(--qp-accent) 45%,transparent)}.qc-review-heading:before{content:none}.qc-compact .qc-review .qc-summary{background:#fffdf7;border-color:var(--qp-line)}.qc-summary-chips article{border-color:var(--qp-line);background:#fffdf7}.qc-review-block{border-color:var(--qp-line)}.qc-review-block input:focus,.qc-review-block select:focus{outline:2px solid var(--qp-ink);outline-offset:2px}.qc-date-chosen{font-weight:600;margin:16px 0 0;color:var(--qp-ink)!important}
.qc-visit-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}.qc-visit-layout .qc-review-block{margin:0}.qc-visit-layout h2{font-size:26px}.qc-slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.qc-slot-grid button{min-height:50px;border-radius:13px;border:1px solid var(--qp-line);background:#fffdf7;color:var(--qp-ink);font-size:16px}.qc-slot-grid button.selected{background:var(--qp-dark);color:var(--qp-accent);border-color:var(--qp-dark)}.qc-visit-selected{font-weight:600}.qc-visit-confirmed{max-width:680px;margin:25px auto;text-align:center;padding:40px;background:#fffdf7;border:1px solid var(--qp-line);border-radius:20px}.qc-confirm-check{display:grid;place-items:center;margin:0 auto 24px;width:70px;height:70px;background:var(--qp-dark);color:var(--qp-accent);font-size:35px;border-radius:50%}.qc-visit-confirmed h1{font-size:42px;margin:18px 0}.qc-visit-confirmed .qc-visit-when{font-size:24px;line-height:1.7;color:var(--qp-dark);margin:22px 0}.qc-visit-confirmed .qp-button{margin:25px 0}.qc-compact .qp-footer-actions>.qp-button{font-weight:650;font-size:13px;padding:15px 24px;color:var(--qp-dark)}
.agenda-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}.agenda-layout .vv-calendar{margin:0;}.agenda-item{padding:22px 0;border-bottom:1px solid var(--line)}.agenda-item h3{margin:12px 0 5px}.agenda-item .note{margin-top:12px}
@media(max-width:700px){.vv-calendar{padding:14px;border-radius:18px}.vv-calendar-grid{gap:3px}.vv-calendar-grid>button{min-height:43px;border-radius:10px;font-size:13px}.vv-calendar-grid>button small{font-size:12px}.vv-calendar-heading select{font-size:13px;padding:4px;max-width:112px}.vv-calendar-heading>button{width:32px;height:32px}.qc-visit-layout,.agenda-layout{grid-template-columns:1fr}.qc-visit-layout{gap:16px}.qc-review-heading{padding:18px 0 26px}.qc-visit-confirmed{padding:24px}.qc-visit-confirmed h1{font-size:32px}.qc-visit-confirmed .qc-visit-when{font-size:20px}.qc-compact .qp-footer-actions>.qp-button{font-size:12px;padding:12px 20px}.qc-review-date>div{min-width:0}.qc-summary-heading a{max-width:none;font-size:12px}}
.qc-review-heading>*{position:relative;z-index:1}

.vv-calendar-grid>button.restricted{background:#fff3d6;border-color:#c9a24a;color:#795b24}.vv-calendar-grid>button.restricted.selected{background:var(--cal-deep);color:white}.vv-calendar-legend i.restricted{background:#d6b56c}
