/* RR Scheduler v2 — Universal Frontend Styles */
:root{
  --rr-accent:#1A3A6B; --rr-dim:rgba(26,58,107,0.09);
  --rr-gold:#D4820A; --rr-green:#1E6B4A; --rr-red:#C0392B;
  --rr-canvas:#F2F4F8; --rr-surface:#fff;
  --rr-border:rgba(30,40,60,0.12);
  --rr-text:#0E1520; --rr-body:rgba(14,21,32,0.68); --rr-muted:rgba(14,21,32,0.40);
  --rr-font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --rr-font-d:'Fraunces',Georgia,serif;
  --rr-ease:cubic-bezier(0.22,1,0.36,1);
  --rr-r:10px;
}
.rr-sched-wrap{max-width:760px;margin:0 auto;font-family:var(--rr-font);-webkit-font-smoothing:antialiased}

/* Steps */
.rr-step{animation:rrIn .38s var(--rr-ease) both}
.rr-hidden{display:none!important}
@keyframes rrIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* Step header */
.rr-step-head{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:18px;border-bottom:1.5px solid var(--rr-border)}
.rr-step-badge{width:30px;height:30px;border-radius:50%;background:var(--rr-accent);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rr-step-title{font-family:var(--rr-font-d);font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--rr-text);line-height:1.2}
.rr-step-sub{font-size:12px;color:var(--rr-muted);margin-top:2px}
.rr-back-btn{margin-right:auto;background:none;border:none;font-size:13px;color:var(--rr-muted);cursor:pointer;padding:5px 8px;border-radius:6px;font-family:var(--rr-font);transition:all .2s}
.rr-back-btn:hover{background:var(--rr-canvas);color:var(--rr-accent)}

/* Meeting type cards */
.rr-mt-list{display:flex;flex-direction:column;gap:10px}
.rr-mt-card{display:flex;align-items:stretch;background:var(--rr-surface);border:1.5px solid var(--rr-border);border-radius:var(--rr-r);cursor:pointer;overflow:hidden;transition:all .22s var(--rr-ease);text-align:left;width:100%;padding:0;font-family:var(--rr-font)}
.rr-mt-card:hover{box-shadow:0 6px 24px rgba(26,58,107,0.10);transform:translateY(-2px);border-color:rgba(26,58,107,0.22)}
.rr-mt-card.rr-selected{border-color:var(--rr-accent);background:var(--rr-dim)}
.rr-mt-stripe{width:5px;flex-shrink:0}
.rr-mt-body{flex:1;padding:16px 18px}
.rr-mt-name{font-family:var(--rr-font-d);font-size:17px;font-weight:700;letter-spacing:-.025em;color:var(--rr-text);margin-bottom:4px}
.rr-mt-desc{font-size:12.5px;color:var(--rr-body);line-height:1.55;margin-bottom:10px}
.rr-mt-chips{display:flex;gap:7px;flex-wrap:wrap}
.rr-chip{padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;border:1px solid var(--rr-border);color:var(--rr-muted)}
.rr-chip-gold{background:rgba(212,130,10,0.08);color:var(--rr-gold);border-color:rgba(212,130,10,0.25)}
.rr-chip-green{background:rgba(30,107,74,0.08);color:var(--rr-green);border-color:rgba(30,107,74,0.22)}
.rr-mt-arrow{padding:0 18px;font-size:18px;color:var(--rr-muted);display:flex;align-items:center;transition:all .2s}
.rr-mt-card:hover .rr-mt-arrow{color:var(--rr-accent);transform:translateX(3px)}

/* Calendar & slots */
.rr-datetime-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rr-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.rr-cal-arrow{background:var(--rr-canvas);border:1px solid var(--rr-border);border-radius:6px;width:30px;height:30px;cursor:pointer;font-size:16px;transition:all .2s}
.rr-cal-arrow:hover{background:var(--rr-accent);color:#fff;border-color:var(--rr-accent)}
.rr-cal-heading{font-family:var(--rr-font-d);font-size:16px;font-weight:700;letter-spacing:-.03em;color:var(--rr-text)}
.rr-cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.rr-dow{text-align:center;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rr-muted);padding:5px 0}
.rr-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.rr-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:13px;font-weight:500;border:1.5px solid transparent;transition:all .16s}
.rr-cal-day.empty,.rr-cal-day.past{color:var(--rr-muted);opacity:.35;cursor:not-allowed}
.rr-cal-day.unavail{color:var(--rr-muted);cursor:not-allowed}
.rr-cal-day.avail{color:var(--rr-accent);background:var(--rr-dim);font-weight:700;cursor:pointer}
.rr-cal-day.avail:hover{background:var(--rr-accent);color:#fff;transform:scale(1.06)}
.rr-cal-day.picked{background:var(--rr-accent)!important;color:#fff!important}
.rr-cal-day.today{border-color:var(--rr-gold)}
.rr-cal-loader{text-align:center;font-size:12px;color:var(--rr-muted);padding:16px 0}
.rr-slots-heading{font-family:var(--rr-font-d);font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--rr-text);margin-bottom:12px}
.rr-slots-scroll{display:flex;flex-direction:column;gap:7px;max-height:320px;overflow-y:auto}
.rr-slots-prompt{font-size:12px;color:var(--rr-muted);text-align:center;padding:32px 12px;background:var(--rr-canvas);border-radius:8px}
.rr-slot{padding:11px 14px;border:1.5px solid var(--rr-border);border-radius:7px;font-size:13px;font-weight:700;color:var(--rr-accent);cursor:pointer;background:var(--rr-surface);transition:all .18s;text-align:center}
.rr-slot:hover{background:var(--rr-accent);color:#fff;border-color:var(--rr-accent);transform:scale(1.02)}

/* Summary bar */
.rr-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--rr-dim);border:1px solid rgba(26,58,107,0.14);border-radius:8px;padding:10px 14px;margin-bottom:20px;font-size:13px}
.rr-sum-mt{font-weight:700;color:var(--rr-accent)}
.rr-sum-date,.rr-sum-time{color:var(--rr-body);font-weight:500}
.rr-sum-sep{color:var(--rr-muted);opacity:.5}

/* Form */
.rr-form{display:flex;flex-direction:column;gap:14px}
.rr-fields-core,.rr-fields-custom{display:flex;flex-direction:column;gap:14px}
.rr-fields-custom:not(:empty){padding-top:14px;border-top:1px solid var(--rr-border)}
.rr-field-row{display:flex;gap:14px}
.rr-two-col>*{flex:1}
.rr-field{display:flex;flex-direction:column;gap:5px}
.rr-label{font-size:12.5px;font-weight:600;color:var(--rr-text);display:flex;align-items:center;gap:5px}
.rr-req{color:var(--rr-red);font-weight:400}
.rr-opt{color:var(--rr-muted);font-weight:400;font-size:11px}
.rr-input,.rr-select,.rr-textarea{
  padding:10px 13px;border:1.5px solid var(--rr-border);border-radius:7px;
  font-size:13.5px;color:var(--rr-text);font-family:var(--rr-font);
  background:var(--rr-surface);transition:border-color .2s;width:100%;
}
.rr-input:focus,.rr-select:focus,.rr-textarea:focus{outline:none;border-color:var(--rr-accent);box-shadow:0 0 0 3px var(--rr-dim)}
.rr-textarea{resize:vertical;min-height:80px}
.rr-form-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.rr-submit{padding:13px 30px;background:var(--rr-accent);color:#fff;border:none;border-radius:7px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:var(--rr-font);transition:all .22s;box-shadow:0 4px 14px rgba(26,58,107,0.20)}
.rr-submit:hover{background:#14305A;transform:translateY(-1px)}
.rr-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.rr-form-note{font-size:11.5px;color:var(--rr-muted);line-height:1.55;max-width:280px}
.rr-form-err{background:rgba(192,57,43,0.07);border:1px solid rgba(192,57,43,0.20);border-radius:7px;padding:11px 14px;font-size:13px;color:var(--rr-red);margin-top:4px}

/* Confirmation */
.rr-confirmed{text-align:center;padding:40px 20px}
.rr-confirmed-icon{width:60px;height:60px;border-radius:50%;background:rgba(30,107,74,0.12);color:var(--rr-green);font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-weight:700}
.rr-confirmed-title{font-family:var(--rr-font-d);font-size:26px;font-weight:700;letter-spacing:-.04em;color:var(--rr-text);margin-bottom:6px}
.rr-confirmed-sub{font-size:14px;color:var(--rr-body);margin-bottom:24px}
.rr-confirmed-box{background:var(--rr-canvas);border-radius:10px;padding:18px 22px;text-align:left;margin-bottom:18px;font-size:13.5px;color:var(--rr-body);line-height:1.75}
.rr-confirmed-box strong{color:var(--rr-text)}
.rr-meet-btn{display:inline-block;padding:12px 24px;background:var(--rr-accent);color:#fff;border-radius:7px;font-weight:700;font-size:13.5px;margin-bottom:14px;transition:all .2s;text-decoration:none}
.rr-meet-btn:hover{background:#14305A}
.rr-book-another{background:none;border:1.5px solid var(--rr-border);border-radius:7px;padding:9px 18px;font-size:13px;color:var(--rr-muted);cursor:pointer;font-family:var(--rr-font);transition:all .2s;display:block;margin:0 auto}
.rr-book-another:hover{border-color:var(--rr-accent);color:var(--rr-accent)}

/* Credit */
.rr-credit{text-align:center;padding:14px 0 2px;font-size:11px;color:var(--rr-muted);border-top:1px solid var(--rr-border);margin-top:20px}
.rr-credit a{color:var(--rr-accent);text-decoration:none;font-weight:600}
.rr-credit a:hover{color:var(--rr-gold)}

/* Responsive */
@media(max-width:600px){
  .rr-datetime-grid{grid-template-columns:1fr}
  .rr-two-col{flex-direction:column}
  .rr-form-footer{flex-direction:column;align-items:stretch}
  .rr-submit{width:100%;text-align:center}
}
