.rr-booking{--rr-ink:#16212b;--rr-blue:#1d5fbf;--rr-blue-d:#154a96;--rr-line:#d9e1ea;--rr-soft:#f3f6fa;--rr-warn:#e9a62b;--rr-off:#e4e7eb;
  font-family:Vazirmatn,"IRANSans",Tahoma,sans-serif;color:var(--rr-ink);max-width:720px;margin:1.5rem auto;line-height:1.8;font-size:16px}
.rr-booking *{box-sizing:border-box}
.rr-booking button{font:inherit;cursor:pointer}
.rr-booking :focus-visible{outline:3px solid #7fb0f5;outline-offset:2px}
.rr-h{margin:1.25rem 0 .6rem;font-size:1.05rem}
.rr-muted{color:#5d6b79}.rr-empty{padding:1rem;background:var(--rr-soft);border-radius:10px}
.rr-error{color:#a32020;background:#fdeeee;border:1px solid #f1c4c4;border-radius:10px;padding:.6rem .9rem;margin:.6rem 0}
.rr-link{background:none;border:0;color:var(--rr-blue);padding:.25rem 0;text-decoration:underline}

.rr-doctors{display:grid;gap:.6rem}
.rr-doc{display:flex;gap:.9rem;align-items:center;text-align:right;background:#fff;border:1px solid var(--rr-line);border-radius:12px;padding:.8rem}
.rr-doc:hover{border-color:var(--rr-blue)}
.rr-doc img,.rr-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--rr-soft);flex:none}
.rr-doc-body{display:flex;flex-direction:column;font-size:.92rem}
.rr-doc-body strong{font-size:1rem}.rr-doc-price{color:var(--rr-blue-d);font-weight:600}

.rr-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;background:var(--rr-soft);border-radius:12px}
.rr-head span{display:block;font-size:.9rem;color:#5d6b79}
.rr-price{text-align:left;font-weight:700;color:var(--rr-blue-d)}.rr-price small{display:block;font-weight:400;color:#5d6b79}
.rr-seg{display:inline-flex;margin:.9rem 0 0;border:1px solid var(--rr-line);border-radius:10px;overflow:hidden}
.rr-seg button{background:#fff;border:0;padding:.45rem 1.2rem}.rr-seg button.on{background:var(--rr-blue);color:#fff}

.rr-days{display:flex;gap:.5rem;overflow-x:auto;padding:.2rem .1rem .6rem;scroll-snap-type:x proximity}
.rr-day{flex:0 0 96px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:0;background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:12px;padding:.55rem .3rem}
.rr-day small{font-size:.75rem;color:#2c6b3c}
.rr-day.sel{background:var(--rr-blue);border-color:var(--rr-blue);color:#fff}.rr-day.sel small{color:#fff}
.rr-day:disabled{background:var(--rr-off);color:#7a838c;cursor:not-allowed}.rr-day:disabled small{color:#7a838c}

.rr-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem}
.rr-slot{display:flex;flex-direction:column;align-items:center;padding:.55rem .2rem;border-radius:10px;border:1px solid var(--rr-line);background:#fff;color:#000}
.rr-slot small{font-size:.72rem}
.rr-slot.rr-free:hover{border-color:var(--rr-blue);box-shadow:0 0 0 2px #cfe0f8}
.rr-slot.rr-booked{background:var(--rr-blue);border-color:var(--rr-blue);color:#fff;cursor:not-allowed}
.rr-slot.rr-pending{background:#fff4d6;border-color:var(--rr-warn);color:#6b4a00;cursor:not-allowed}
.rr-slot.rr-past{background:var(--rr-off);border-color:var(--rr-off);color:#7a838c;cursor:not-allowed}
.rr-slot.busy{opacity:.6}
.rr-legend{display:flex;gap:1rem;margin-top:.9rem;font-size:.82rem;color:#5d6b79}
.rr-legend span::before{content:"";display:inline-block;width:.8rem;height:.8rem;border-radius:3px;margin-left:.35rem;vertical-align:-1px;border:1px solid var(--rr-line)}
.rr-legend .free::before{background:#fff}.rr-legend .pending::before{background:#fff4d6;border-color:var(--rr-warn)}.rr-legend .booked::before{background:var(--rr-blue);border-color:var(--rr-blue)}

.rr-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:.8rem 0;padding:.9rem 1rem;background:var(--rr-soft);border-radius:12px}
.rr-summary span{display:block;font-size:.8rem;color:#5d6b79}
.rr-timer{margin:.2rem 0 .8rem;font-size:.9rem;color:#6b4a00}
.rr-pay{border:1px dashed var(--rr-blue);border-radius:12px;padding:.7rem 1rem;margin-bottom:1rem;background:#f7faff}
.rr-form label{display:block;margin-bottom:.8rem;font-weight:600;font-size:.92rem}
.rr-form input,.rr-form textarea{display:block;width:100%;margin-top:.25rem;padding:.6rem .75rem;border:1px solid var(--rr-line);border-radius:10px;font:inherit;background:#fff}
.rr-primary{width:100%;background:var(--rr-blue);color:#fff;border:0;border-radius:12px;padding:.85rem;font-weight:700;font-size:1rem}
.rr-primary:hover{background:var(--rr-blue-d)}.rr-primary:disabled{opacity:.6}
.rr-done{padding:1.2rem;border-radius:12px;background:#eef8f0;border:1px solid #bfe2c8}
@media (prefers-reduced-motion:no-preference){.rr-day,.rr-slot,.rr-doc{transition:border-color .15s,box-shadow .15s,background .15s}}
