/* XCO My Bookings — my-bookings-style.css v3.3.0 — Apple Design */

/* ── Tabs (Bookings / Move Stock) — v3.2.0 ─────────────────── */
.xmb-tabs { display:flex; gap:6px; flex-basis:100%; order:99; margin-top:6px; border-bottom:1px solid rgba(0,0,0,.08); padding-bottom:0; }
.xmb-tab { background:transparent; border:0; padding:10px 16px; font-size:14px; font-weight:600; color:#6e6e73; cursor:pointer; border-radius:10px 10px 0 0; border-bottom:2px solid transparent; margin-bottom:-1px; transition:all .15s ease; }
.xmb-tab:hover { color:#1d1d1f; }
.xmb-tab.is-active { color:#1d1d1f; border-bottom-color:#1d1d1f; }
.xmb-tab-panel { display:none; }
.xmb-tab-panel.is-active { display:block; }

/* ── Move Stock panel ──────────────────────────────────────── */
.xmb-move { background:#fff; border-radius:18px; padding:24px; border:1px solid rgba(0,0,0,.08); }
.xmb-move-intro h3 { margin:0 0 6px; font-size:18px; font-weight:700; letter-spacing:-.3px; }
.xmb-move-intro p  { margin:0 0 20px; color:#6e6e73; font-size:14px; line-height:1.5; }
.xmb-move-company { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.xmb-move-company label { font-size:13px; font-weight:600; color:#6e6e73; }
.xmb-move-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:680px) { .xmb-move-grid { grid-template-columns:1fr; } }
.xmb-move-col { background:#f5f5f7; border-radius:12px; padding:14px; }
.xmb-move-label { display:block; font-size:13px; font-weight:700; color:#1d1d1f; text-transform:uppercase; letter-spacing:.4px; margin-bottom:8px; }
.xmb-move-items { margin-top:12px; }
.xmb-move-tbl { width:100%; border-collapse:collapse; background:#fff; border-radius:8px; overflow:hidden; }
.xmb-move-tbl th, .xmb-move-tbl td { padding:8px 10px; border-bottom:1px solid #f2f2f5; font-size:13px; text-align:left; }
.xmb-move-tbl th { background:#fafafa; font-size:11px; color:#6e6e73; text-transform:uppercase; letter-spacing:.4px; }
.xmb-move-tbl td.num, .xmb-move-tbl th.num { text-align:right; font-variant-numeric:tabular-nums; }
.xmb-move-qty { width:60px; padding:4px 6px; border:1px solid rgba(0,0,0,.12); border-radius:6px; font-size:13px; text-align:right; -moz-appearance:textfield; }
.xmb-move-qty::-webkit-outer-spin-button,
.xmb-move-qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.xmb-move-actions { display:flex; align-items:center; gap:14px; margin-top:20px; }
.xmb-move-status { font-size:13px; }
.xmb-move-status.ok  { color:#248a3d; font-weight:600; }
.xmb-move-status.err { color:#ff3b30; font-weight:600; }
.xmb-loading-mini,.xmb-empty-mini { color:#6e6e73; font-size:13px; padding:14px; text-align:center; }
.xmb-error-mini { color:#ff3b30; font-size:13px; padding:14px; text-align:center; }
.xmb-btn { padding:10px 18px; border-radius:10px; border:0; font-size:14px; font-weight:600; cursor:pointer; transition:all .15s ease; }
.xmb-btn-primary { background:#1d1d1f; color:#fff; }
.xmb-btn-primary:hover:not(:disabled) { background:#000; transform:translateY(-1px); }
.xmb-btn:disabled { opacity:.45; cursor:not-allowed; }


.xmb-wrap { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif; color:#1d1d1f; max-width:900px; margin:0 auto; -webkit-font-smoothing:antialiased; }

/* Header */
.xmb-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:12px; }
.xmb-title { font-size:24px; font-weight:700; letter-spacing:-.4px; margin:0; }
.xmb-filters { display:flex; gap:10px; flex-wrap:wrap; }
.xmb-inp { padding:9px 14px; border:1px solid rgba(0,0,0,.1); border-radius:10px; font-size:14px; background:#fff; color:#1d1d1f; -webkit-appearance:none; }
.xmb-inp:focus { border-color:#1d1d1f; outline:none; box-shadow:0 0 0 3px rgba(0,0,0,.07); }

/* Stats */
.xmb-stats { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.xmb-stat { background:#fff; border-radius:14px; padding:16px 20px; box-shadow:0 2px 16px rgba(0,0,0,.06); display:flex; flex-direction:column; align-items:center; min-width:82px; border:1px solid rgba(0,0,0,.06); }
.xmb-stat-confirmed .xmb-stat-n { color:#1d1d1f; }
.xmb-stat-pickedup .xmb-stat-n  { color:#1565c0; }
.xmb-stat-returned .xmb-stat-n  { color:#34c759; }
.xmb-stat-upcoming .xmb-stat-n  { color:#ff9500; }
.xmb-stat-n { font-size:26px; font-weight:700; letter-spacing:-.5px; }
.xmb-stat-l { font-size:11px; color:#6e6e73; font-weight:600; margin-top:2px; text-transform:uppercase; letter-spacing:.3px; white-space:nowrap; }

/* Booking cards — Apple product card style */
.xmb-card { background:#fff; border-radius:18px; padding:24px; border:1px solid rgba(0,0,0,.08); margin-bottom:14px; transition:all .22s cubic-bezier(.25,.46,.45,.94); }
.xmb-card:hover { box-shadow:0 8px 28px rgba(0,0,0,.1); transform:translateY(-1px); }
.xmb-card-confirmed { border-left:3px solid #1d1d1f; }
.xmb-card-picked_up { border-left:3px solid #1565c0; }
.xmb-card-returned  { border-left:3px solid #34c759; }
.xmb-card-cancelled { opacity:.6; }
.xmb-card-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:16px; gap:12px; }
.xmb-ref { font-size:12px; font-weight:600; color:#aeaeb2; letter-spacing:.8px; margin-bottom:4px; text-transform:uppercase; }
.xmb-event-name { font-size:18px; font-weight:600; letter-spacing:-.3px; margin:0 0 4px; }
.xmb-company { font-size:13px; color:#6e6e73; }
.xmb-card-dates { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }
.xmb-date-item { display:flex; flex-direction:column; gap:3px; }
.xmb-date-item span { font-size:11px; color:#aeaeb2; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.xmb-date-item strong { font-size:14px; color:#1d1d1f; font-weight:500; }
.xmb-card-actions { display:flex; gap:8px; flex-wrap:wrap; }

/* Badges */
.xmb-badge { display:inline-flex; align-items:center; gap:4px; padding:4px 12px; border-radius:980px; font-size:12px; font-weight:600; white-space:nowrap; }
.xmb-badge-lg { font-size:14px; padding:6px 16px; }
.xmb-badge-confirmed { background:rgba(0,0,0,.07); color:#1d1d1f; }
.xmb-badge-picked_up { background:rgba(21,101,192,.1); color:#1565c0; }
.xmb-badge-returned  { background:rgba(52,199,89,.1); color:#248a3d; }
.xmb-badge-cancelled { background:rgba(0,0,0,.06); color:#6e6e73; }
.xmb-badge-pending   { background:rgba(255,149,0,.1); color:#c87800; }

/* Buttons — Apple pill */
.xmb-btn { display:inline-flex; align-items:center; gap:6px; padding:9px 18px; border-radius:980px; border:none; cursor:pointer; font-size:14px; font-weight:400; font-family:inherit; transition:all .2s; -webkit-font-smoothing:antialiased; }
.xmb-btn-sm { padding:7px 14px; font-size:13px; }
.xmb-btn-primary { background:#1d1d1f; color:#fff; }
.xmb-btn-primary:hover { background:#3a3a3c; }
.xmb-btn-secondary { background:#f5f5f7; color:#1d1d1f; border:1px solid rgba(0,0,0,.08); }
.xmb-btn-secondary:hover { background:#e8e8ed; }
.xmb-btn-danger { background:rgba(255,59,48,.08); color:#ff3b30; border:1px solid rgba(255,59,48,.2); }
.xmb-btn-danger:hover { background:rgba(255,59,48,.14); }

/* Modal */
.xmb-modal { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:16px; }
.xmb-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.4); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.xmb-modal-box { position:relative; background:#fff; border-radius:20px; width:100%; max-width:820px; max-height:90vh; overflow-y:auto; box-shadow:0 24px 72px rgba(0,0,0,.22); border:1px solid rgba(0,0,0,.08); }
.xmb-modal-header { position:sticky; top:0; background:rgba(255,255,255,.92); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid rgba(0,0,0,.08); z-index:1; }
.xmb-modal-header h3 { margin:0; font-size:18px; font-weight:700; letter-spacing:-.3px; }
.xmb-modal-close { background:rgba(0,0,0,.06); border:none; border-radius:50%; width:30px; height:30px; cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; color:#6e6e73; transition:background .2s; }
.xmb-modal-close:hover { background:rgba(255,59,48,.1); color:#ff3b30; }
.xmb-modal-body { padding:24px; }
.xmb-modal-status { margin-bottom:20px; }

/* Detail grid */
.xmb-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.xmb-detail-col h4 { margin:0 0 12px; font-size:11px; font-weight:700; color:#aeaeb2; text-transform:uppercase; letter-spacing:.8px; }
.xmb-detail-rows { display:flex; flex-direction:column; gap:0; }
.xmb-dr { display:flex; gap:12px; font-size:14px; padding:9px 0; border-bottom:1px solid #f5f5f7; }
.xmb-dr:last-child { border-bottom:none; }
.xmb-dr span { color:#6e6e73; min-width:90px; font-size:13px; }
.xmb-dr strong { color:#1d1d1f; font-weight:500; }

/* Items */
.xmb-items-list { display:flex; flex-direction:column; }
.xmb-item { display:flex; align-items:center; gap:14px; padding:10px 0; border-bottom:1px solid #f5f5f7; }
.xmb-item:last-child { border-bottom:none; }
.xmb-item-img { width:48px; height:48px; border-radius:10px; object-fit:cover; flex-shrink:0; background:#f5f5f7; }
.xmb-item-img-ph { width:48px; height:48px; border-radius:10px; background:#f5f5f7; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.xmb-item-info { display:flex; flex-direction:column; gap:2px; font-size:13px; }
.xmb-item-info strong { font-size:15px; font-weight:500; }
.xmb-item-info span { color:#6e6e73; }

/* Admin actions */
.xmb-admin-actions { background:#f5f5f7; border-radius:12px; padding:16px 20px; margin-bottom:20px; border:1px solid rgba(0,0,0,.06); }
.xmb-admin-actions h4 { margin:0 0 12px; font-size:11px; color:#aeaeb2; font-weight:700; text-transform:uppercase; letter-spacing:.8px; }
.xmb-status-btns { display:flex; gap:10px; flex-wrap:wrap; }

/* Log */
.xmb-log { margin-top:20px; }
.xmb-log h4 { margin:0 0 12px; font-size:11px; color:#aeaeb2; font-weight:700; text-transform:uppercase; letter-spacing:.8px; }
.xmb-log-item { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid #f5f5f7; font-size:13px; flex-wrap:wrap; }
.xmb-log-item:last-child { border-bottom:none; }
.xmb-log-date { color:#aeaeb2; font-size:12px; white-space:nowrap; }
.xmb-log-note { color:#1d1d1f; }
.xmb-log-user { color:#6e6e73; font-size:12px; }

/* States */
.xmb-loading { text-align:center; padding:56px; color:#aeaeb2; font-size:15px; }
.xmb-empty   { text-align:center; padding:56px; color:#aeaeb2; font-size:15px; background:#fff; border-radius:18px; border:1px solid rgba(0,0,0,.08); }
.xmb-error   { padding:14px 18px; background:rgba(255,59,48,.07); color:#ff3b30; border-radius:10px; border:1px solid rgba(255,59,48,.15); font-size:14px; }
.xmb-spinner { display:inline-block; width:18px; height:18px; border:2px solid rgba(0,0,0,.1); border-top-color:#1d1d1f; border-radius:50%; animation:xmbSpin .7s linear infinite; vertical-align:middle; margin-right:8px; }
@keyframes xmbSpin { to{transform:rotate(360deg)} }

@media(max-width:640px) {
    .xmb-card-dates { grid-template-columns:1fr 1fr; }
    .xmb-detail-grid { grid-template-columns:1fr; }
    .xmb-stats { gap:8px; }
    .xmb-stat { min-width:64px; padding:12px; }
    .xmb-header { flex-direction:column; align-items:flex-start; }
    .xmb-modal-box { max-height:95vh; border-radius:14px; }
}
