.msb{--msb-bg:#fff;--msb-border:#e9e9ee;--msb-text:#111;--msb-muted:#666;--msb-accent:#2f5cff;--msb-accent-soft:#eef2ff;--msb-radius:16px;--msb-shadow:0 10px 30px rgba(16,24,40,.08);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--msb-text)}
.msb *{box-sizing:border-box}

.msb-card{background:var(--msb-bg);border:1px solid var(--msb-border);border-radius:var(--msb-radius);box-shadow:var(--msb-shadow);display:flex;overflow:hidden;min-height:460px}
.msb-card-single{min-height:auto}
.msb-left{width:34%;padding:28px;border-right:1px solid var(--msb-border);background:#fafbff}
.msb-right{width:66%;padding:28px}

.msb-brand{font-weight:700;letter-spacing:.2px;color:#0b1b3f;margin-bottom:12px}
.msb-title{margin:0 0 10px;font-size:28px;line-height:1.15}
.msb-meta{display:flex;align-items:center;gap:10px;color:var(--msb-muted);margin:10px 0 18px}
.msb-dot{width:8px;height:8px;border-radius:99px;background:var(--msb-accent)}
.msb-desc{margin:0 0 18px;color:var(--msb-muted)}

.msb-kind{margin-top:18px}
.msb-kind-label{font-size:13px;color:var(--msb-muted);margin-bottom:8px}
.msb-radio{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--msb-border);border-radius:12px;background:#fff;margin-bottom:10px;cursor:pointer}
.msb-radio input{margin:0}
.msb-note{margin-top:14px;font-size:12px;color:var(--msb-muted)}

.msb-h{margin:0 0 16px;font-size:20px}

.msb-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}

/* Calendar */
.msb-cal{border:1px solid var(--msb-border);border-radius:14px;padding:16px;background:#fff}
.msb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.msb-month{font-weight:700}
.msb-nav{border:1px solid var(--msb-border);background:#fff;border-radius:10px;width:36px;height:34px;cursor:pointer;font-size:18px;line-height:1}
.msb-nav:hover{background:#f6f7ff}

.msb-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;color:var(--msb-muted);font-size:12px}
.msb-dow div{text-align:center;padding:4px 0}

.msb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.msb-day{border:1px solid transparent;border-radius:12px;min-height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;background:#fff}
.msb-day:hover{background:#f6f7ff}
.msb-day.is-out{color:#bbb;cursor:default}
.msb-day.is-disabled{color:#c9c9d4;background:#fafafa;cursor:not-allowed}
.msb-day.is-selected{background:var(--msb-accent-soft);border-color:rgba(47,92,255,.25);color:var(--msb-accent)}

/* Slots */
.msb-slots{border:1px solid var(--msb-border);border-radius:14px;padding:16px;background:#fff;min-height:330px}
.msb-slots-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.msb-selected{font-weight:700;color:#0b1b3f}
.msb-refresh{border:0;background:transparent;color:var(--msb-accent);font-weight:600;cursor:pointer}
.msb-refresh:hover{text-decoration:underline}

.msb-slot-list{display:flex;flex-direction:column;gap:10px;max-height:285px;overflow:auto;padding-right:4px}
.msb-slot{border:2px solid rgba(47,92,255,.35);border-radius:12px;padding:14px 12px;text-align:center;font-weight:700;color:var(--msb-accent);cursor:pointer;background:#fff}
.msb-slot:hover{background:var(--msb-accent-soft)}
.msb-slot.is-selected{background:var(--msb-accent);color:#fff;border-color:var(--msb-accent)}
.msb-slot.is-disabled{opacity:.45;cursor:not-allowed}

/* Form */
.msb-form{max-width:520px}
.msb-form-row{margin-bottom:12px}
.msb-form-row label{display:block;font-size:13px;color:var(--msb-muted);margin-bottom:6px}
.msb-form-row input,.msb-form-row textarea{width:100%;border:1px solid var(--msb-border);border-radius:12px;padding:10px 12px;font-size:15px}
.msb-form-row input:focus,.msb-form-row textarea:focus{outline:2px solid rgba(47,92,255,.2);border-color:rgba(47,92,255,.35)}

.msb-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.msb-btn{border:1px solid var(--msb-border);background:#fff;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}
.msb-btn:hover{background:#f6f7ff}
.msb-primary{background:#111;color:#fff;border-color:#111}
.msb-primary:hover{background:#000}
.msb-btn:disabled{opacity:.5;cursor:not-allowed}

.msb-msg{margin-top:12px;color:var(--msb-muted)}

/* Cancel/reschedule */
.msb-cancel-details,.msb-reschedule-current{border:1px solid var(--msb-border);border-radius:14px;padding:14px;background:#fff;margin:10px 0 14px}
.msb-kv{display:grid;grid-template-columns:120px 1fr;gap:8px 14px;font-size:14px}
.msb-kv .k{color:var(--msb-muted)}

@media (max-width: 920px){
  .msb-card{flex-direction:column}
  .msb-left,.msb-right{width:100%}
  .msb-left{border-right:0;border-bottom:1px solid var(--msb-border)}
  .msb-grid{grid-template-columns:1fr}
  .msb-slot-list{max-height:220px}
}


/* Step6A-fix8: stronger scoped color overrides (Elementor/theme safe) */
.msb{--msb-accent:#0098D8;--msb-accent-soft:rgba(0,152,216,.10)}
.msb .msb-day:not(.is-disabled):not(.is-out){color:#0098D8 !important;border-color:rgba(0,152,216,.45) !important;}
.msb .msb-day:hover:not(.is-disabled):not(.is-out){background:rgba(0,152,216,.08) !important;border-color:#0098D8 !important;color:#0098D8 !important;}
.msb .msb-day.is-selected{background:#0098D8 !important;border-color:#0098D8 !important;color:#fff !important;}
.msb .msb-day.is-disabled,.msb .msb-day.is-out{color:#b8bcc6 !important;border-color:#eceff3 !important;}
.msb .msb-slot{color:#0098D8 !important;border-color:rgba(0,152,216,.55) !important;background:#fff !important;}
.msb .msb-slot:hover{background:rgba(0,152,216,.08) !important;color:#0098D8 !important;border-color:#0098D8 !important;}
.msb .msb-slot.is-selected{background:#0098D8 !important;color:#fff !important;border-color:#0098D8 !important;}
.msb .msb-nav,.msb .msb-refresh,.msb .msb-btn,.msb .msb-primary{border-color:#0098D8 !important;}
.msb .msb-nav,.msb .msb-refresh{color:#0098D8 !important;}
.msb .msb-nav:hover,.msb .msb-refresh:hover{background:rgba(0,152,216,.08) !important;color:#0098D8 !important;}
.msb .msb-primary{background:#0098D8 !important;color:#fff !important;}
.msb .msb-primary:hover{background:#0087c0 !important;border-color:#0087c0 !important;}
.msb .msb-form-row input,.msb .msb-form-row textarea,.msb .msb-form-row select{border-color:#d7dde5 !important;color:#111 !important;}
.msb .msb-form-row input:focus,.msb .msb-form-row textarea:focus,.msb .msb-form-row select:focus{outline:2px solid rgba(0,152,216,.18) !important;border-color:#0098D8 !important;}
