.pmx-bb-wrap{max-width:720px;border:1px solid #ddd;padding:16px;border-radius:12px}
.pmx-bb-wrap label{display:block;margin-top:10px;font-weight:600}
.pmx-bb-wrap input,.pmx-bb-wrap select, .pmx-bb-wrap textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:8px}
.pmx-bb-row{display:flex;gap:12px}
.pmx-bb-row>div{flex:1}
.pmx-bb-price{margin-top:12px;padding:12px;background:#f7f7f7;border-radius:10px}
.pmx-bb-wrap button,
.pmx-bb-wrap #pmx-book-now-btn,
.pmx-bb-wrap .pmx-book-now-button{
  margin-top:14px;
  padding:12px 24px;
  border-radius:10px;
  background:#2271b1;
  color:#fff;
  border:none;
  cursor:pointer;
  font-size:16px;
  font-weight:600;
  width:100%;
  transition:background 0.2s;
  pointer-events:auto;
  position:relative;
  z-index:10;
}
.pmx-bb-wrap button:hover,
.pmx-bb-wrap #pmx-book-now-btn:hover,
.pmx-bb-wrap .pmx-book-now-button:hover{
  background:#135e96;
}
.pmx-bb-wrap button:disabled,
.pmx-bb-wrap #pmx-book-now-btn:disabled,
.pmx-bb-wrap .pmx-book-now-button:disabled{
  background:#ccc;
  cursor:not-allowed;
  opacity:0.6;
  pointer-events:none;
}
.pmx-success{margin-top:12px;padding:10px;border-left:4px solid #2e7d32;background:#e8f5e9}
.pmx-error{margin-top:12px;padding:10px;border-left:4px solid #c62828;background:#ffebee}
.pmx-bb-note{font-size:12px;color:#444}

/* User Dashboard Styles */
.pmx-user-dashboard{max-width:1200px;margin:0 auto;padding:20px}
.pmx-dashboard-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}
.pmx-dashboard-header h2{margin:0 0 10px;color:#333;font-size:28px}
.pmx-dashboard-header p{margin:0;color:#666;font-size:16px}

.pmx-empty-state{text-align:center;padding:60px 20px;background:#f9f9f9;border-radius:12px}
.pmx-empty-state p{margin-bottom:20px;font-size:18px;color:#666}

.pmx-bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:20px}

.pmx-booking-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:transform 0.2s,box-shadow 0.2s}
.pmx-booking-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,0.12)}

.pmx-booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e0e0e0}
.pmx-booking-id{display:flex;align-items:center;gap:12px;flex:1}
.pmx-booking-id strong{font-size:18px;color:#333}
.pmx-status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}
.pmx-status-badge.status-pending{background:#fff3cd;color:#856404}
.pmx-status-badge.status-confirmed{background:#d1ecf1;color:#0c5460}
.pmx-status-badge.status-in_event{background:#d4edda;color:#155724}
.pmx-status-badge.status-completed{background:#d4edda;color:#155724}
.pmx-status-badge.status-cancelled{background:#f8d7da;color:#721c24}
.pmx-booking-date{color:#666;font-size:14px}

.pmx-booking-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}
.pmx-detail-item{display:flex;flex-direction:column;gap:4px}
.pmx-label{font-size:12px;color:#999;text-transform:uppercase;letter-spacing:0.5px}
.pmx-value{font-size:15px;color:#333;font-weight:500}

.pmx-booking-pricing{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:20px}
.pmx-price-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}
.pmx-price-row:not(:last-child){border-bottom:1px solid #e0e0e0}
.pmx-price-row span{color:#666}
.pmx-price-row strong{color:#333;font-size:16px}

.pmx-invoice-section,.pmx-payments-section{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}
.pmx-invoice-section h4,.pmx-payments-section h4{margin:0 0 16px;font-size:16px;color:#333}
.pmx-invoice-items{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.pmx-invoice-item{display:flex;justify-content:space-between;padding:8px 12px;background:#f8f9fa;border-radius:6px;font-size:14px}
.pmx-invoice-totals{margin-top:16px;padding-top:16px;border-top:2px solid #e0e0e0}
.pmx-total-row{display:flex;justify-content:space-between;padding:10px 0;font-size:15px}
.pmx-total-row.pmx-balance{font-size:18px;font-weight:600;padding-top:16px;border-top:2px solid #e0e0e0}

.pmx-payments-list{display:flex;flex-direction:column;gap:8px}
.pmx-payment-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f8f9fa;border-radius:6px;font-size:14px}
.pmx-payment-method{color:#666;font-size:12px;text-transform:uppercase}
.pmx-payment-date{color:#999;font-size:12px}

.pmx-payment-summary{margin-top:20px;padding:20px;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-radius:12px;border:2px solid #dee2e6}
.pmx-summary-header{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #dee2e6}
.pmx-summary-header h4{margin:0;font-size:18px;color:#333;font-weight:600}
.pmx-summary-items{display:flex;flex-direction:column;gap:12px}
.pmx-summary-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:8px;border-left:4px solid #2271b1}
.pmx-summary-item.pmx-remaining-item{border-left-color:#c62828;background:#fff5f5;font-weight:600}
.pmx-summary-label{font-size:15px;color:#666;font-weight:500}
.pmx-summary-value{font-size:16px;color:#333;font-weight:600}
.pmx-summary-value.pmx-total-amount{color:#2271b1;font-size:18px}
.pmx-summary-value.pmx-paid-amount{color:#2e7d32;font-size:18px}
.pmx-summary-value.pmx-remaining-amount{color:#c62828;font-size:20px;font-weight:700}

.pmx-booking-actions{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}
.pmx-btn{display:inline-block;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;text-align:center;transition:all 0.2s;border:none;cursor:pointer;font-size:14px}
.pmx-btn-primary{background:#2271b1;color:#fff}
.pmx-btn-primary:hover{background:#135e96;color:#fff}
.pmx-btn-secondary{background:#f0f0f1;color:#2c3338}
.pmx-btn-secondary:hover{background:#dcdcde}
