.pbc-portal { max-width:1100px; margin:24px auto; padding:24px; color:#332b30; background:#fff; border:1px solid #e4dce0; border-radius:16px; }
.pbc-portal h2,.pbc-portal h3 { color:#332b30; margin:16px 0; }
.pbc-portal form { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin:14px 0; }
.pbc-portal label { display:flex; flex-direction:column; gap:6px; font-size:14px; }
.pbc-portal input,.pbc-portal select { border:1px solid #ccc; border-radius:6px; padding:8px; min-height:40px; color:#332b30; background:#fff; }
.pbc-portal button,.pbc-portal input[type=submit] { padding:9px 16px; border:0; border-radius:6px; background:#9d5574; color:#fff; cursor:pointer; }
.pbc-portal a { color:#80435d; }
.pbc-schedule-section { padding:20px 0; border-top:1px solid #e4dce0; }
.pbc-schedule-row { display:flex; flex-wrap:wrap; gap:16px; border-bottom:1px solid #eee; }
.pbc-portal details { padding:14px; background:#faf5f7; border-radius:8px; }
.pbc-portal summary { cursor:pointer; font-weight:600; }
.pbc-portal small { display:block; width:100%; }
.pbc-error { color:#aa2222; }
.pbc-therapist-link { display:inline-block; font-size:13px; margin-top:18px; }
@media(max-width:600px) { .pbc-portal { padding:16px; } .pbc-portal form,.pbc-portal label { width:100%; } }
