:root{--bg:#ffffff;--card:#ffffff;--accent:#111827;--line:#e5e7eb;--text:#0b1418;--muted:#6b7280}
*{box-sizing:border-box}
.rr-agenda-wrap{max-width:980px;margin:40px auto;padding:28px;border-radius:18px;background:var(--bg);color:var(--text);box-shadow:0 12px 30px rgba(2,6,23,.06)}
.rr-agenda-logo img{max-height:56px;margin:0 0 12px 0}
.rr-agenda-wrap h2{font-size:28px;margin:6px 0 16px 0;font-weight:800}
.rr-agenda-step{font-size:16px;margin:14px 0 8px 0;opacity:.9;color:#0b1418}
.rr-agenda-form .row{margin-bottom:16px}
.rr-agenda-form .row.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rr-agenda-form label{display:block;font-size:14px;margin-bottom:6px;opacity:.9}
.rr-agenda-form input,.rr-agenda-form select,.rr-agenda-form textarea{width:100%;display:block;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);outline:none}
.rr-agenda-form input:focus,.rr-agenda-form select:focus,.rr-agenda-form textarea:focus{box-shadow:0 0 0 3px rgba(17,24,39,.12);border-color:var(--accent)}
.rr-agenda-form textarea{min-height:100px;resize:vertical}
.rr-agenda-form .slots{display:block}
.rr-agenda-form .slot-btn{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#f8fafc;color:#0b1418;cursor:pointer;line-height:1}
.rr-agenda-form .slot-btn.on{outline:2px solid var(--accent);background:rgba(17,24,39,.06)}
.rr-agenda-form .slot-btn[disabled]{opacity:.5;cursor:not-allowed}
.rr-agenda-price{font-weight:800;opacity:.95}
.rr-agenda-btn{background:var(--accent);color:#fff;border:none;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer}
.rr-agenda-btn:hover{filter:brightness(1.05)}
.rr-agenda-legal{font-size:12px;opacity:.8;margin-top:8px}
.mode-tabs{display:flex;gap:8px}
.mode-tab{border:1px solid var(--line);background:#f8fafc;color:#0b1418;padding:10px 14px;border-radius:999px;cursor:pointer;font-weight:700}
.mode-tab.on{background:rgba(17,24,39,.06);border-color:rgba(17,24,39,.18)}
.calendar-box{border:1px solid var(--line);background:#ffffff;border-radius:12px;padding:6px;color:#0b1418}
.flatpickr-calendar.inline{background:transparent;box-shadow:none;width:100%}
.flatpickr-months{padding:8px}
.flatpickr-current-month{display:flex;gap:8px;align-items:center;justify-content:center;color:#0b1418}
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month .numInput.cur-year{font-size:16px;font-weight:800;background:#f8fafc;border:1px solid var(--line);color:#0b1418;border-radius:10px;padding:6px 10px}
.flatpickr-prev-month,.flatpickr-next-month{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:#0b1418}
.flatpickr-prev-month:hover,.flatpickr-next-month:hover{background:#f8fafc}
.flatpickr-weekday{color:#334155;font-weight:700}
.flatpickr-day{border-radius:8px;color:#0b1418}
.flatpickr-day.today{border:1px solid var(--accent);color:#075985}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:var(--accent)!important;color:#ffffff!important}
.flatpickr-day.disabled,.flatpickr-disabled{opacity:.4;color:#94a3b8}
@media(max-width:640px){.rr-agenda-form .row.two{grid-template-columns:1fr}}

/* --- OLIVARES & SC premium layout --- */
.rr-agenda-head{margin:8px 0 18px 0}
.rr-agenda-sub{margin:6px 0 0 0;color:var(--muted);line-height:1.4}
.rr-agenda-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
.rr-card{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:16px 16px;margin:0 0 14px 0}
.rr-agenda-steps{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px 0}
.rr-step{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:8px 10px;font-weight:700;color:#0b1418}
.rr-step .n{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:12px}
.rr-step .t{font-size:13px}
.rr-step.on{box-shadow:0 0 0 2px rgba(17,24,39,.12)}
.rr-agenda-summary{position:sticky;top:16px}
.rr-summary-card{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:16px}
.rr-summary-title{font-weight:900;font-size:16px;margin-bottom:10px}
.rr-summary-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed #eef2f7}
.rr-summary-row span{color:var(--muted);font-size:13px}
.rr-summary-row strong{font-size:13px}
.rr-summary-sep{height:10px}
.rr-agenda-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.rr-agenda-btn[disabled]{opacity:.6;cursor:not-allowed}

/* Slots grouping */
.slot-group{margin:10px 0 6px 0}
.slot-group-title{font-size:13px;font-weight:900;color:#111827;margin:0 0 8px 0}
.slot-group-slots{display:flex;flex-wrap:wrap;gap:10px}

/* Calendar enabled day dot */
.flatpickr-day{position:relative}
.flatpickr-day.rr-day-enabled:not(.disabled):after{content:'';position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:5px;height:5px;border-radius:999px;background:var(--accent);opacity:.85}
.rr-cal-legend{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--muted);font-size:12px}
.rr-cal-legend .dot{width:8px;height:8px;border-radius:999px;background:var(--accent);display:inline-block}

@media(max-width:900px){.rr-agenda-layout{grid-template-columns:1fr}.rr-agenda-summary{position:static}}
