.obpd{
	--obp-primary:#0e7490;--obp-accent:#14b8a6;--obp-heading:#0f2c33;--obp-ink:#37525c;--obp-muted:#6f8a95;
	--obp-line:#d7e8ea;--obp-bg:#ffffff;--obp-soft:#eef7f8;
	--ink:var(--obp-ink);--muted:var(--obp-muted);--line:var(--obp-line);--soft:var(--obp-soft);
	--radius:18px;--shadow:0 10px 30px -16px rgba(15,40,50,.3);
	max-width:820px;margin:0 auto;
	font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)
}
.obpd *{box-sizing:border-box}
.obpd [hidden]{display:none !important}

/* Auth */
.obpd-auth{max-width:420px;margin:0 auto;background:var(--obp-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.obpd-auth-tabs{display:flex;background:var(--soft);border-bottom:1px solid var(--line)}
.obpd-auth-tab{flex:1;border:none;background:transparent;padding:16px;font-weight:600;font-size:15px;cursor:pointer;color:var(--muted);font-family:inherit}
.obpd-auth-tab.is-active{color:var(--obp-primary);box-shadow:inset 0 -3px 0 var(--obp-primary);background:var(--obp-bg)}
.obpd-auth-form{display:none;flex-direction:column;padding:26px}
.obpd-auth-form.is-active{display:flex}
.obpd-auth-form h3{margin:0 0 16px;font-size:19px}
.obpd-auth-form label{font-weight:600;font-size:13px;margin:12px 0 5px}
.obpd-auth-form input{padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit}
.obpd-auth-form input:focus{outline:none;border-color:var(--obp-primary);box-shadow:0 0 0 4px rgba(37,99,168,.12)}
.obpd-auth-msg{margin-top:12px;font-size:13.5px;font-weight:600}
.obpd-auth-msg.is-err{color:#e0526a}
.obpd-auth-msg.is-ok{color:#18a566}

/* Buttons */
.obpd-btn{appearance:none;border:none;border-radius:11px;font-weight:600;font-size:15px;padding:13px 20px;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.obpd-btn-primary{margin-top:18px;background:linear-gradient(120deg,var(--obp-primary),var(--obp-accent));color:#fff}
.obpd-btn-primary:hover{filter:brightness(1.05)}
.obpd-btn-ghost{background:var(--obp-bg);border:1.5px solid var(--obp-primary);color:var(--obp-primary);padding:9px 16px;font-size:13.5px}

/* Head */
.obpd-head{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(120deg,var(--obp-primary),var(--obp-accent));color:#fff;border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}
.obpd-head h2{margin:0;font-size:20px;color:#fff}
.obpd-head p{margin:3px 0 0;opacity:.9;font-size:13px}
.obpd-head .obpd-btn-ghost{background:rgba(255,255,255,.16);border-color:transparent;color:#fff}

/* Stats */
.obpd-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:18px 0}
.obpd-stat{background:var(--obp-bg);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px -10px rgba(20,50,80,.3)}
.obpd-stat b{display:block;font-size:24px;line-height:1.1}
.obpd-stat small{color:var(--muted);font-size:12.5px}

.obpd-section-title{font-size:16px;font-weight:700;margin:22px 0 12px}
.obpd-card{background:var(--obp-bg);border:1px solid var(--line);border-radius:14px;padding:20px}
.obpd-empty{color:var(--muted);text-align:center}

/* Booking list */
.obpd-list{display:grid;gap:12px}
.obpd-booking{background:var(--obp-bg);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px -12px rgba(20,50,80,.3)}
.obpd-booking-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.obpd-ref{font-family:monospace;font-size:12.5px;color:var(--muted);letter-spacing:.5px}
.obpd-booking-title{font-weight:700;font-size:16px}
.obpd-booking-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:13.5px;margin-top:6px}
.obpd-booking-note{margin-top:8px;font-size:13.5px;color:var(--ink);background:var(--soft);padding:8px 12px;border-radius:9px}
.obpd-booking-status{display:flex;gap:8px;margin-top:10px}

.obpd-tag{font-size:11px;font-weight:700;padding:3px 11px;border-radius:20px;text-transform:capitalize;background:#eef2f6;color:#33505f}
.obpd-tag-appointment{background:#e3f0f6;color:#2563a8}
.obpd-tag-service{background:#fdeef3;color:#c0396b}
.obpd-tag-package{background:#efe7fb;color:#7141c9}
.obpd-tag-course{background:#eaf4ff;color:#1d6fd0}
.obpd-pill{font-size:11px;font-weight:700;padding:3px 11px;border-radius:20px;text-transform:capitalize;background:#eef2f6;color:#5a6b78}
.obpd-st-confirmed{background:#e6f7ee;color:#18a566}
.obpd-st-completed{background:#e3f0f6;color:#2563a8}
.obpd-st-cancelled{background:#fdeaea;color:#c0392b}
.obpd-pay-paid{background:#e6f7ee;color:#18a566}
.obpd-pay-failed{background:#fdeaea;color:#c0392b}
.obpd-pay-awaiting_verification{background:#fdf3e0;color:#c98a00}

/* Doctor actions */
.obpd-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.obpd-mini{border:1.5px solid var(--line);background:var(--obp-bg);border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:.12s}
.obpd-mini:hover{border-color:var(--obp-primary);color:var(--obp-primary)}
.obpd-mini.is-danger:hover{border-color:#e0526a;color:#e0526a}

@media(max-width:560px){
	.obpd-head{flex-direction:row;align-items:center}
	.obpd-head h2{font-size:18px}
	.obpd-booking-title{font-size:15px}
}


/* Dark mode */
.obpd.obp-mode-dark{--obp-heading:#f0f7f8;--obp-ink:#c9d8de;--obp-muted:#8fa8b1;--obp-bg:#141f26;--obp-soft:#1b2a32;--obp-line:#2a3b44;--ink:var(--obp-ink);--muted:var(--obp-muted);--line:var(--obp-line);--soft:var(--obp-soft)}
@media (prefers-color-scheme: dark){
	.obpd.obp-mode-auto{--obp-heading:#f0f7f8;--obp-ink:#c9d8de;--obp-muted:#8fa8b1;--obp-bg:#141f26;--obp-soft:#1b2a32;--obp-line:#2a3b44;--ink:var(--obp-ink);--muted:var(--obp-muted);--line:var(--obp-line);--soft:var(--obp-soft)}
}
.obpd{color:var(--obp-ink)}
.obpd .obpd-section-title,.obpd .obpd-booking-title,.obpd .obpd-stat b,.obpd .obpd-auth-form h3{color:var(--obp-heading)}
