.bbp-wrap{max-width:1100px;margin:24px auto;padding:0 14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.bbp-card{background:#fff;border:1px solid #e7e7e7;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.06);overflow:hidden;}
.bbp-header{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee;flex-wrap:wrap;}
.bbp-title{font-weight:800;font-size:18px;}
.bbp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.bbp-select{min-width:220px;max-width:100%;padding:10px 12px;border:1px solid #d7d7d7;border-radius:12px;background:#fff;font-size:14px;}
.bbp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 12px;border:1px solid #111;background:#111;color:#fff;font-weight:700;cursor:pointer;font-size:14px;text-decoration:none;}
.bbp-btn-secondary{background:#fff;color:#111;}
.bbp-body{padding:14px 16px;}
.bbp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.bbp-tab{padding:10px 12px;border-radius:999px;border:1px solid #d8d8d8;background:#fff;cursor:pointer;font-weight:700;font-size:13px;}
.bbp-tab[aria-selected="true"]{background:#111;color:#fff;border-color:#111;}
.bbp-panel{display:none;}
.bbp-panel.is-active{display:block;}
.bbp-sub{color:#666;margin:0 0 12px;}
.bbp-alert{border:1px solid #f3c7c7;background:#fff5f5;color:#8a1f1f;padding:10px 12px;border-radius:12px;margin:0 0 12px;}

.bbp-form label{display:block;font-weight:700;margin:12px 0 6px;}
.bbp-form input,.bbp-form select,.bbp-form textarea{width:100%;padding:10px 12px;border:1px solid #d7d7d7;border-radius:12px;font-size:14px;box-sizing:border-box;}

/* Modal */
.bbp-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:18px;z-index:99999;}
.bbp-modal.is-open{display:flex;}
.bbp-modal-card{width:min(560px,100%);background:#fff;border-radius:16px;overflow:hidden;border:1px solid #eee;}
.bbp-modal-head{padding:12px 14px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.bbp-modal-head strong{font-size:15px;}
.bbp-x{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;padding:6px 8px;}
.bbp-modal-body{padding:14px;}
.bbp-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}

/* Responsive FullCalendar tweaks */
#bbp-calendar .fc-toolbar{flex-wrap:wrap;gap:8px;}
#bbp-calendar .fc-toolbar-title{font-size:16px;}
#bbp-calendar .fc-button{border-radius:10px;}

/* Tables (time off / variations) */
.bbp-table{width:100%;border-collapse:collapse;border:1px solid #eee;border-radius:12px;overflow:hidden;}
.bbp-table th,.bbp-table td{padding:10px;border-bottom:1px solid #f0f0f0;font-size:13px;vertical-align:top;}
.bbp-table th{background:#fafafa;text-align:left;font-weight:800;}
.bbp-small{font-size:12px;color:#666;}

@media (max-width:640px){
  .bbp-select{min-width:100%;}
  .bbp-btn{width:100%;}
  .bbp-tabs{gap:6px;}
  .bbp-tab{flex:1;text-align:center;}
}
