.pp-ml-wrap{max-width:760px;margin:18px auto;padding:0 12px;}
.pp-ml-card{border:1px solid #e5e5e5;border-radius:12px;padding:16px;background:#fff;}
.pp-ml-title{font-size:20px;font-weight:800;margin-bottom:6px;}
.pp-ml-sub{color:#333;margin-bottom:12px;}
.pp-ml-row{display:flex;gap:10px;align-items:center;margin:10px 0;}
.pp-ml-row label{min-width:90px;font-weight:700;}
.pp-ml-row input,.pp-ml-row select{flex:1;padding:10px;border:1px solid #d9d9d9;border-radius:10px;}
.pp-ml-btn{padding:10px 14px;border-radius:10px;border:0;background:#111;color:#fff;font-weight:800;cursor:pointer;}
.pp-ml-btn:disabled{opacity:.6;cursor:not-allowed;}
.pp-ml-small{padding:8px 10px;border-radius:10px;}
.pp-ml-link{background:transparent;border:0;color:#0b57d0;text-decoration:underline;cursor:pointer;padding:8px 0;}
.pp-ml-result{margin-top:10px;font-weight:700;}
.pp-ml-error{color:#b00020;}
.pp-ml-ok{color:#0a7;}
.pp-ml-list{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.pp-ml-res{border:1px solid #ececec;border-radius:12px;padding:12px;}
.pp-ml-actions{display:flex;gap:10px;align-items:center;}
.pp-ml-panel{margin-top:10px;padding-top:10px;border-top:1px dashed #e7e7e7;}
.pp-ml-banner{border:1px solid #bfe8d3;background:#f3fff8;border-radius:12px;padding:10px 12px;font-weight:800;margin-bottom:10px;color:#0a7;}
.pp-ml-empty{color:#666;}
.pp-ml-note{margin-left:10px;font-size:12px;color:#666;}


.pp-ml-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;}
.pp-ml-meta strong{font-weight:800;}

.pp-ml-timepicker{width:100%;}
.pp-ml-timepicker-head{padding:10px;border:1px solid #d9d9d9;border-radius:10px;cursor:pointer;background:#fff;}
.pp-ml-timepicker-list{margin-top:8px;border:1px solid #b9dfb9;border-radius:8px;max-height:260px;overflow:auto;display:none;}
.pp-ml-timepicker-list.is-open{display:block;}
.pp-ml-timepicker-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid #cfe9cf;font-size:13px;}
.pp-ml-timepicker-item:last-child{border-bottom:0;}
.pp-ml-timepicker-item.is-available{background:#eaf7ea;}
.pp-ml-timepicker-item.is-booked{background:#f8d7da;color:#8a1f2b;}
.pp-ml-timepicker-item.is-disabled{opacity:0.75;cursor:not-allowed;}
.pp-ml-timepicker-item.is-available:hover{filter:brightness(0.98);cursor:pointer;}
.pp-ml-timepicker-item.is-selected{outline:2px solid #2e8b57;}
.pp-ml-timepicker-right{font-size:12px;opacity:0.85;}

.pp-ml-timepicker-item.is-past{background:#f1f1f1;color:#777;}


/* Slot loading state */
.pp-ml-loading-slots .pp-ml-timepicker-head,
.pp-ml-loading-slots .pp-ml-timepicker-list{display:none !important;}
.pp-ml-loading-slots .pp-ml-timepicker{position:relative;min-height:44px;}
.pp-ml-loading-slots .pp-ml-timepicker:before{content:'Loading…';display:flex;align-items:center;justify-content:center;border:1px solid #d9d9d9;border-radius:10px;height:44px;background:#fff;color:#555;font-weight:600;}

/* Patch A: disable interactions + loading states */
.pp-ml-loading-slots{cursor:wait;}
.pp-ml-loading-slots .pp-ml-date{opacity:.65;}
.pp-ml-date.pp-ml-disabled{opacity:.65;}
.pp-ml-apply.is-loading{opacity:.8;}


.pp-ml-confirmline{
  margin: 10px 0 8px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(0,0,0,0.04);
  font-size: 14px;
  line-height: 1.35;
}


.pp-ml-timepicker-head.pp-ml-disabled{opacity:.65;cursor:not-allowed;pointer-events:none;}

.pp-ml-extras{font-size:13px;color:#444;}
