/* Doctor portal: private receipt viewer and accountless in-person visitors. */
.hcs-guest-section,.hcs-guest-dashboard{direction:rtl;margin:22px 0;padding:24px;border:1px solid #d6e4f4;border-radius:24px;background:linear-gradient(145deg,#fff,#f5faff);box-shadow:0 12px 30px rgba(12,51,93,.055)}
.hcs-guest-section[hidden],.hcs-guest-dashboard[hidden],.hcs-guest-details[hidden]{display:none!important}
.hcs-guest-section h3,.hcs-guest-dash-head h3{margin:0 0 7px;color:#103966;font-size:20px;font-weight:850}
.hcs-guest-section h3 small{font-size:13px;color:#657b94}
.hcs-guest-lead{margin:4px 0 17px;color:#61748a;font-size:13px;line-height:1.9}
.hcs-guest-grid,.hcs-guest-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:14px}
.hcs-guest-person,.hcs-guest-dash-card{min-width:0;padding:19px;border:1px solid #e0e9f3;border-radius:19px;background:#fff}
.hcs-guest-person-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:center}
.hcs-guest-person-head strong,.hcs-guest-dash-card strong{font-size:16px;color:#153e70}
.hcs-guest-person-head span{font-size:10px;color:#b34c61;background:#fff0f3;border-radius:99px;padding:5px 9px}
.hcs-guest-person p,.hcs-guest-dash-card span,.hcs-guest-dash-card p{font-size:12px;color:#536c88;line-height:1.85;overflow-wrap:anywhere}
.hcs-guest-person a,.hcs-guest-dash-card a,.hcs-guest-appointment-detail a{color:#146687;font-size:14px;font-weight:800;text-decoration:none}
.hcs-guest-person button,.hcs-guest-dash-card button,.hcs-appointment-detail-button{cursor:pointer;border:1px solid #cbddef;border-radius:12px;background:#eff7ff;color:#174879;padding:10px 14px;font-size:12px;font-weight:800}
.hcs-guest-person button:hover,.hcs-guest-dash-card button:hover,.hcs-appointment-detail-button:hover{background:#dfedff}
.hcs-guest-details{margin-top:15px;padding-top:12px;border-top:1px solid #e0e9f3}
.hcs-guest-booking{margin:12px 0;padding:13px;border-radius:12px;background:#f4f8fc;border:1px solid #e7edf5}
.hcs-guest-booking div{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;color:#183d69}
.hcs-guest-booking div span{font-size:11px;color:#607691}
.hcs-guest-booking p{margin:5px 0;color:#334e6d;font-size:12px;line-height:1.9}
.hcs-guest-booking details{font-size:12px;color:#244e7b}
.hcs-guest-booking summary{cursor:pointer;font-weight:750}
.hcs-guest-note{white-space:pre-wrap;overflow-wrap:anywhere;max-height:230px;overflow:auto}
.hcs-guest-dash-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.hcs-guest-dash-head span{font-size:12px;color:#71859d}
.hcs-guest-dash-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.hcs-guest-dash-card span{margin:0}
.hcs-guest-appointment-detail{grid-column:1/-1;margin-top:13px;width:100%;padding:15px;border:1px solid #dbe7f3;background:#f5faff;border-radius:16px;overflow-wrap:anywhere}
.hcs-guest-appointment-detail>p{margin:0 0 8px;font-size:13px;color:#214267}
.hcdp-payment-media img{max-width:100%;object-fit:contain}
/* The accountless appointment view is a first-class tab, not a dashboard card. */
.hcdp-panel.hcs-guest-tab-panel{display:none;max-width:100%;min-width:0;margin:12px 0 22px;padding:24px}
.hcdp-panel.hcs-guest-tab-panel.active{display:block}
.hcs-guest-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:19px}
.hcs-guest-page-head h2{margin:5px 0;color:#103966;font-size:clamp(19px,2vw,25px);line-height:1.5}
.hcs-guest-page-head p{margin:0;color:#61748a;font-size:13px;line-height:1.8}
.hcs-guest-page-head>div>span{color:#e51f3d;font-size:10px;font-weight:900;letter-spacing:.08em}
.hcs-guest-search-label{display:flex;flex-direction:column;gap:6px;width:min(320px,100%);color:#284e74;font-size:11px;font-weight:800}
.hcs-guest-search-label input{box-sizing:border-box;width:100%;height:45px;border:1px solid #cbddef;border-radius:12px;background:#fff;color:#113964;padding:10px 12px;font:inherit;font-size:13px;direction:rtl}
.hcs-guest-search-label input:focus{outline:2px solid rgba(16,111,180,.22);border-color:#5393c4}
.hcs-guest-clean-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.hcs-guest-view-switch{display:inline-flex;gap:5px;border:1px solid #dce6ef;border-radius:13px;background:#f0f5fb;padding:4px}
.hcs-guest-view-switch button,.hcs-guest-bulk-clean,.hcs-guest-clean-button,.hcs-guest-booking-actions button{border:1px solid #cbddef;border-radius:10px;background:#fff;color:#244d72;cursor:pointer;font:inherit;font-weight:800;font-size:11px;min-height:36px;padding:7px 11px}
.hcs-guest-view-switch button{border-color:transparent;background:transparent}
.hcs-guest-view-switch button.active{background:#174b78;color:#fff;box-shadow:0 5px 12px rgba(21,65,104,.16)}
.hcs-guest-bulk-clean,.hcs-guest-clean-button{background:#f7fafc}
.hcs-guest-clean-button,.hcs-guest-booking-actions .cleanup{color:#a23a4b;border-color:#f0ccd1;background:#fff9fa}
.hcs-guest-bulk-clean.danger,.hcs-guest-clean-button.danger,.hcs-guest-booking-actions .danger{color:#b12746;border-color:#f1c2cb;background:#fff0f2}
.hcs-guest-booking-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.hcs-guest-person-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.hcs-guest-person-actions button{margin:0}
.hcs-guest-booking-actions .restore{color:#0d745b;border-color:#b6dfd4;background:#ecfaf6}
.hcdp-nav button[data-hcdp-tab="guest-appointments"]{min-width:max-content}
@media(max-width:820px){
  .hcdp-nav button[data-hcdp-tab="guest-appointments"]{flex:0 0 92px!important;min-width:92px!important}
  .hcdp-nav button[data-hcdp-tab="guest-appointments"]:before{content:"▤"!important;font-size:18px!important;line-height:1!important}
  .hcdp-panel.hcs-guest-tab-panel{margin:10px 0 20px;padding:16px;border-radius:19px}
  .hcs-guest-page-head{gap:12px;align-items:stretch}
  .hcs-guest-page-head h2{font-size:20px}
  .hcs-guest-search-label{width:100%}
}
@media(max-width:680px){.hcs-guest-section,.hcs-guest-dashboard{padding:15px;border-radius:17px}.hcs-guest-grid,.hcs-guest-dash-grid{grid-template-columns:1fr}.hcs-guest-person,.hcs-guest-dash-card{padding:14px}}
