.nehsb-app{max-width:900px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1a1a3d;}
.nehsb-loading,.nehsb-error{padding:40px;text-align:center;color:#666;}
.nehsb-error{color:#b32d2e;}

/* Header card */
.nehsb-header{display:flex;gap:24px;align-items:flex-start;padding:24px 0;flex-wrap:wrap;}
.nehsb-header img.nehsb-photo{width:150px;height:150px;object-fit:cover;border-radius:16px;background:#eee;}
.nehsb-photo-placeholder{width:150px;height:150px;border-radius:16px;background:#e9ecf5;display:flex;align-items:center;justify-content:center;font-size:42px;color:#8a8fb8;font-weight:600;}
.nehsb-header-info{flex:1;min-width:240px;}
.nehsb-doctor-name{font-size:28px;font-weight:700;color:#1a1a6e;margin:0 0 4px;}
.nehsb-designation{font-size:16px;color:#777;margin:0 0 12px;}
.nehsb-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.nehsb-tag{display:inline-block;padding:5px 12px;border-radius:20px;font-size:13px;font-weight:600;}
.nehsb-tag-speciality{background:#dff5f0;color:#0f8a72;}
.nehsb-tag-qual{background:#eef0f5;color:#555;}
.nehsb-stats{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px;font-size:13px;color:#555;}
.nehsb-stats span.nehsb-stat-value{display:block;font-weight:700;color:#1a1a3d;font-size:14px;}
.nehsb-appt-type-label{font-weight:600;font-size:14px;margin-bottom:8px;}
.nehsb-appt-toggle{display:flex;gap:10px;}
.nehsb-appt-btn{padding:9px 18px;border-radius:24px;border:1.5px solid #cfd4e6;background:#fff;font-size:14px;font-weight:600;color:#555;cursor:pointer;}
.nehsb-appt-btn.active{border-color:#2f6fed;color:#2f6fed;background:#eaf1ff;}

/* Booking card */
.nehsb-booking-card{background:#f3f5fb;border-radius:20px;padding:24px;box-shadow:0 6px 24px rgba(20,20,60,.06);}
.nehsb-date-row,.nehsb-slot-heading{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;position:relative;}
.nehsb-arrow{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #dde1ef;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nehsb-arrow:disabled{opacity:.35;cursor:not-allowed;}
.nehsb-date-strip{display:flex;gap:8px;overflow-x:auto;flex:1;}
.nehsb-date-btn{flex:1;min-width:64px;background:#fff;border:1px solid #dde1ef;border-radius:10px;padding:8px 4px;text-align:center;cursor:pointer;font-size:12px;color:#444;}
.nehsb-date-btn .dow{display:block;font-size:10px;letter-spacing:.5px;color:#999;font-weight:700;}
.nehsb-date-btn .dom{display:block;font-size:16px;font-weight:700;margin-top:2px;}
.nehsb-date-btn.selected{background:#2f6fed;border-color:#2f6fed;color:#fff;}
.nehsb-date-btn.selected .dow{color:#dbe6ff;}
.nehsb-date-btn.muted{opacity:.4;}
.nehsb-date-btn:disabled{opacity:.25;cursor:not-allowed;}

.nehsb-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin:16px 0;}
.nehsb-slot-btn{background:#fff;border:1px solid #dde1ef;border-radius:8px;padding:10px 6px;font-size:13px;font-weight:600;color:#333;cursor:pointer;text-align:center;}
.nehsb-slot-btn.selected{background:#2f6fed;border-color:#2f6fed;color:#fff;}
.nehsb-slot-btn.past-disabled,.nehsb-slot-btn:disabled.past-disabled{background:#e5e5e5;border-color:#d0d0d0;color:#999;cursor:not-allowed;opacity:1;text-decoration:none;}

.nehsb-no-slots{text-align:center;padding:30px 10px;color:#555;}
.nehsb-no-slots svg{opacity:.5;margin-bottom:12px;}

.nehsb-primary-btn{display:block;width:100%;padding:14px;border:none;border-radius:30px;background:#2f6fed;color:#fff;font-size:15px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;}
.nehsb-primary-btn:disabled{opacity:.45;cursor:not-allowed;}
.nehsb-primary-btn.secondary{background:#1a1a6e;}

/* Modal */
.nehsb-overlay{position:fixed;inset:0;background:rgba(20,20,50,.55);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;}
.nehsb-modal{background:#fff;border-radius:16px;padding:28px;max-width:720px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.nehsb-modal h2{margin:0 0 4px;font-size:22px;color:#1a1a6e;}
.nehsb-modal .nehsb-sub{color:#777;font-size:14px;margin:0 0 20px;}
.nehsb-modal label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:#333;}
.nehsb-modal input,.nehsb-modal select,.nehsb-modal textarea{width:100%;padding:11px 12px;border:1px solid #d6d9e6;border-radius:8px;font-size:14px;box-sizing:border-box;}
.nehsb-field-row{display:flex;gap:12px;}
.nehsb-field-row > div{flex:1;}
.nehsb-or-divider{text-align:center;color:#999;font-size:12px;margin:18px 0;position:relative;}
.nehsb-link{color:#2f6fed;text-decoration:none;font-weight:600;cursor:pointer;}
.nehsb-modal-footnote{text-align:center;margin-top:16px;font-size:13px;color:#555;}
.nehsb-back-row{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.nehsb-back-row button{background:none;border:none;font-size:18px;cursor:pointer;color:#333;padding:0;}
.nehsb-otp-boxes{display:flex;gap:8px;margin:8px 0 18px;}
.nehsb-otp-boxes input{text-align:center;font-size:20px;padding:12px 0;}
.nehsb-patient-option{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:10px;border:1.5px solid #dde1ef;background:#f6f8fc;margin-bottom:10px;cursor:pointer;font-size:14px;}
.nehsb-patient-option strong{display:block;font-size:15px;}
.nehsb-patient-option.selected{background:#2f6fed;border-color:#2f6fed;color:#fff;}
.nehsb-modal-error{background:#fdecec;color:#b32d2e;padding:10px 12px;border-radius:8px;font-size:13px;margin-top:12px;}
.nehsb-close-x{position:absolute;top:16px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#999;}
.nehsb-modal{position:relative;}

/* Thank you */
.nehsb-thankyou{text-align:center;padding:80px 20px;}
.nehsb-thankyou .nehsb-check{width:64px;height:64px;border-radius:50%;background:#e6f7ec;color:#1fa855;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 24px;}
.nehsb-thankyou h2{font-size:26px;color:#1a1a6e;margin:0 0 10px;}
.nehsb-thankyou p{color:#666;margin:0 0 24px;}
.nehsb-thankyou .nehsb-primary-btn{max-width:220px;margin:0 auto;}

@media (max-width:600px){
	.nehsb-header{flex-direction:column;align-items:center;text-align:center;}
	.nehsb-stats{justify-content:center;}
	.nehsb-appt-toggle{justify-content:center;}
}

.nehsb-modal textarea{resize:vertical;min-height:70px;}
@media (max-width:600px){.nehsb-field-row{flex-direction:column;gap:0;}.nehsb-modal{padding:20px;max-width:calc(100% - 20px);}}

/* Calendar + 15-day date strip */
.nehsb-calendar-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:12px;}
.nehsb-calendar-row label{font-size:14px;font-weight:600;}
.nehsb-date-picker{height:42px;padding:0 10px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;font:inherit;}
@media (max-width:600px){.nehsb-calendar-row{justify-content:space-between;}.nehsb-date-picker{max-width:180px;}}

.nehsb-thankyou-card{max-width:720px;margin:30px auto;padding:45px 30px;background:#fff;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.08);text-align:left;}
.nehsb-thankyou-card .nehsb-check,.nehsb-thankyou-card h2,.nehsb-thankyou-message{text-align:center;}
.nehsb-thankyou-message{line-height:1.6;margin-bottom:28px;}
.nehsb-thankyou-details{border:1px solid #e4e7ef;border-radius:10px;overflow:hidden;margin-bottom:24px;}
.nehsb-thankyou-details>div{display:grid;grid-template-columns:190px 1fr;gap:15px;padding:12px 16px;border-bottom:1px solid #edf0f5;}
.nehsb-thankyou-details>div:last-child{border-bottom:0;}
.nehsb-thankyou-details strong{font-weight:600;}
@media(max-width:600px){.nehsb-thankyou-card{padding:30px 18px}.nehsb-thankyou-details>div{grid-template-columns:1fr;gap:4px;}}
