:root{--green:#064e3b;--orange:#f97316;--line:#e2e8f0;--bg:#f8fafc;--muted:#64748b;--shadow:0 12px 30px rgba(2,6,23,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#0f172a}a{text-decoration:none;color:inherit}
.appbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.appbar-inner{max-width:1280px;margin:auto;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;position:relative}
.brand{display:flex;align-items:center;gap:10px;font-weight:950;color:var(--green)}.brand img{width:42px;height:42px}.brand small{display:block;color:var(--muted);font-size:11px}
.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a,.btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px;cursor:pointer;display:inline-block}.nav a.nav-hidden,.nav a[hidden]{display:none!important}.nav a.primary,.btn.primary{background:var(--green);color:#fff}.btn.danger{background:#fee2e2;color:#991b1b}
.container{max-width:1280px;margin:auto;padding:18px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:16px;margin:12px 0}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid .wide{grid-column:1/-1}
.settings-collapse{border:1px solid var(--line);border-radius:14px;padding:10px;background:#f8fafc}.settings-collapse summary{font-weight:950;cursor:pointer;color:#064e3b}.settings-collapse label{margin-top:10px}
.settings-field{display:grid;gap:6px;font-weight:850;color:#24364f}
.settings-switch{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:8px 10px;cursor:pointer}
.settings-switch input{position:absolute;opacity:0;pointer-events:none}
.settings-switch strong{min-width:54px;text-align:center;border-radius:999px;padding:6px 10px;background:#e5e7eb;color:#475569;font-size:12px}
.settings-switch.on{border-color:#86efac;background:#ecfdf5;color:#064e3b}
.settings-switch.on strong{background:#047857;color:#fff}
.settings-checkbox{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:8px 10px;cursor:pointer}
.settings-checkbox input{width:20px;height:20px;min-height:0;accent-color:#047857}
.settings-checkbox span{font-weight:950;color:#475569}
.settings-checkbox.on{border-color:#86efac;background:#ecfdf5}
.settings-checkbox.on span{color:#064e3b}
.op-payment-plan,.v81-payment-plan{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:14px;padding:12px;margin:10px 0;color:#14532d;font-weight:850}.op-payment-plan label{color:#14532d}.v81-payment-option-editor{border-left:4px solid var(--pulse-green)}
.op-convert-panel{border-left:4px solid #f97316;background:#fff7ed}
.op-convert-panel summary{color:#7c2d12}
.v81-balance-checklist{border:1px solid var(--line);border-radius:14px;padding:12px;margin:12px 0;background:#fff}.v81-balance-check{display:flex;align-items:center;gap:8px;margin:8px 0;font-weight:850}.v81-balance-check input{width:auto;min-height:0;margin:0}.v81-balance-check small{color:var(--muted);font-weight:700}.v81-balance-check.readonly{opacity:.9}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center}.hero h1{font-size:46px;line-height:1.02;margin:10px 0;color:var(--green)}
.badge{display:inline-block;background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.notice{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px;margin:10px 0;font-weight:850}.ok{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:14px;padding:12px;margin:10px 0;font-weight:850}.error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;border-radius:14px;padding:12px;margin:10px 0;font-weight:850}
label{font-weight:900;font-size:13px;color:#334155;display:block}input,select,textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:12px;padding:9px;margin-top:5px;font:inherit;background:#fff}textarea{min-height:100px}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}th{background:#f1f5f9}
.identity{background:#0f172a;color:#fff}.identity-inner{max-width:1280px;margin:auto;padding:7px 18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:900}.identity span{color:#a7f3d0}
@media(max-width:850px){.hero,.grid.two,.grid.three{grid-template-columns:1fr}.hero h1{font-size:34px}}
/* V602 Home Page Builder */
:root{--pulse-green:#7ED321;--pulse-dark:#1F2937;--pulse-gray:#6B7280;--pulse-terracotta:#C96F4A;--pulse-bg:#F3F4F6}
body{background:var(--pulse-bg)}.brand img{border-radius:999px;object-fit:cover;background:#000}.nav a.primary,.btn.primary{background:var(--pulse-green);border-color:var(--pulse-green);color:#111827}.btn.secondary{background:var(--pulse-terracotta);border-color:var(--pulse-terracotta);color:#fff}
.hero-v602{background:linear-gradient(135deg,#1F2937,#064e3b);color:#fff;border-radius:28px;padding:28px;display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:center}.hero-v602 h1{font-size:46px;line-height:1.02;margin:12px 0;color:#fff}.hero-v602 p{color:#e5e7eb}
.media-placeholder{background:#111827;border:2px dashed rgba(126,211,33,.55);border-radius:24px;min-height:260px;display:grid;place-items:center;color:#9CA3AF;text-align:center;padding:18px;overflow:hidden}.media-placeholder img,.media-placeholder video{width:100%;height:100%;object-fit:cover;border-radius:20px}
.builder-row{display:grid;grid-template-columns:40px 1fr 100px 130px 160px;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}.builder-row .drag{font-size:22px;color:var(--pulse-gray);font-weight:900}.v602-step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.v602-step strong{color:#064e3b}.v602-media-admin{background:#f9fafb;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0}
.terracotta-card{border-top:4px solid var(--pulse-terracotta)}.green-card{border-top:4px solid var(--pulse-green)}.gray-card{border-top:4px solid var(--pulse-dark)}
@media(max-width:900px){.hero-v602{grid-template-columns:1fr}.builder-row{grid-template-columns:1fr}.hero-v602 h1{font-size:34px}}

/* V603 Identity & Navigation Cleanup */
.identity{background:#0f172a;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.identity-inner{max-width:1280px;margin:auto;padding:8px 18px;display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}
.identity-status{margin-right:auto;font-weight:900;font-size:13px}
.identity-chip-wrap{position:relative}
.identity-chip{background:#fff;color:#1F2937;border:1px solid #d1d5db;border-radius:999px;padding:8px 12px;font-weight:950;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.identity-chip small{display:block;color:#6B7280;font-size:10px;line-height:1.05}
.role-badge{border-radius:999px;padding:3px 7px;font-size:10px;font-weight:950;white-space:nowrap}
.role-booker{background:#e5e7eb;color:#1F2937}
.role-op{background:#C96F4A;color:#fff}
.role-admin{background:#7ED321;color:#111827}
.role-super{background:#064e3b;color:#fff}
.identity-dropdown{display:none;position:absolute;right:0;top:calc(100% + 8px);background:#fff;color:#1F2937;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 18px 45px rgba(2,6,23,.18);min-width:235px;z-index:999;padding:8px}
.identity-dropdown.open{display:block}
.identity-dropdown a,.identity-dropdown button{width:100%;text-align:left;background:#fff;border:0;border-radius:10px;padding:9px 10px;font-weight:850;color:#1F2937;display:block;cursor:pointer}
.identity-dropdown a:hover,.identity-dropdown button:hover{background:#f3f4f6}
.identity-dropdown .danger{color:#991b1b}
.identity .quick-logout{background:#fff;color:#1F2937;border:1px solid #d1d5db;border-radius:999px;padding:8px 13px;font-weight:950;cursor:pointer}
.identity .quick-logout:hover,.identity-chip:hover{border-color:#7ED321}
.mobile-prompt-overlay{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:5000;display:grid;place-items:center;padding:16px}
.mobile-prompt-card{width:min(460px,100%);background:#fff;border:2px solid #7ED321;border-radius:18px;box-shadow:0 24px 80px rgba(2,6,23,.34);padding:18px}
.mobile-prompt-card h2{margin:0 0 8px;color:#064e3b}
.mobile-prompt-card p{margin:0 0 12px;color:#475569;font-weight:800;line-height:1.45}
.mobile-prompt-card .btn{width:100%;margin-top:10px}
.mobile-prompt-card input{font-size:18px;font-weight:900}
/* V604 Booker Calendar Upgrade */
.booker-layout{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
.calendar-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}
.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.calendar-head{display:grid;grid-template-columns:90px repeat(3,1fr);background:#1F2937;color:#fff;font-weight:950}
.calendar-head div{padding:12px;border-right:1px solid rgba(255,255,255,.12);text-align:center}
.calendar-row{display:grid;grid-template-columns:90px repeat(3,1fr);border-top:1px solid var(--line);min-height:58px}
.calendar-time{background:#f9fafb;color:#475569;font-weight:900;padding:10px;border-right:1px solid var(--line);font-size:12px}
.slot{padding:7px;border-right:1px solid var(--line);cursor:pointer;transition:.15s;position:relative}
.slot.available{background:#ecfdf5}
.slot.available:hover{outline:3px solid rgba(126,211,33,.5);z-index:2}
.slot.selected{background:#7ED321;color:#111827;font-weight:950}
.slot.reserved{background:#fff7ed;color:#9a3412;cursor:not-allowed}
.slot.booked{background:#fee2e2;color:#991b1b;cursor:not-allowed}
.slot.blocked{background:#e5e7eb;color:#6b7280;cursor:not-allowed}
.slot small{display:block;font-size:10px;font-weight:800;opacity:.75}
.status-legend{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.legend-pill{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;border:1px solid var(--line)}
.legend-available{background:#ecfdf5;color:#065f46}
.legend-selected{background:#7ED321;color:#111827}
.legend-reserved{background:#fff7ed;color:#9a3412}
.legend-booked{background:#fee2e2;color:#991b1b}
.legend-blocked{background:#e5e7eb;color:#374151}
.selection-card{position:sticky;top:96px}
.selected-item{border:1px solid var(--line);border-radius:12px;padding:9px;margin:8px 0;background:#f8fafc}
.selected-item strong{color:#064e3b}
.remove-mini{float:right;border:0;background:#fee2e2;color:#991b1b;border-radius:999px;padding:3px 7px;font-weight:950;cursor:pointer}
.fee-box{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:14px;padding:11px;margin:10px 0;font-weight:850}
.requirement-box{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:11px;margin:10px 0;font-weight:850}
@media(max-width:980px){.booker-layout{grid-template-columns:1fr}.selection-card{position:static}.calendar-head,.calendar-row{grid-template-columns:74px repeat(3,1fr)}}
/* V605 Monthly Calendar + Cart + OP Renewal */
.month-layout{display:grid;grid-template-columns:1fr 390px;gap:16px;align-items:start}
.month-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}
.month-calendar{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.month-head,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.month-head div{background:#1F2937;color:#fff;padding:10px;text-align:center;font-weight:950}
.month-day{min-height:105px;border-right:1px solid var(--line);border-top:1px solid var(--line);padding:8px;cursor:pointer;background:#fff}
.month-day:hover{outline:3px solid rgba(126,211,33,.45);z-index:2}
.month-day.muted{background:#f3f4f6;color:#9ca3af}
.month-day.selected-date{background:#ecfdf5;outline:3px solid rgba(126,211,33,.65)}
.day-number{font-weight:950}.day-status{display:inline-block;margin-top:6px;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:950}
.day-available{background:#ecfdf5;color:#065f46}.day-partial{background:#fff7ed;color:#9a3412}.day-full{background:#fee2e2;color:#991b1b}.day-blocked{background:#e5e7eb;color:#374151}
.day-count{font-size:11px;color:#64748b;margin-top:5px}.day-grid-card{margin-top:14px}.calendar-shell.compact .calendar-row{min-height:48px}
.cart-sticky{position:sticky;top:96px}.cart-item{border:1px solid var(--line);border-radius:14px;background:#f8fafc;margin:9px 0;padding:10px}.cart-item strong{color:#064e3b}.cart-remove{float:right;background:#fee2e2;color:#991b1b;border:0;border-radius:999px;font-weight:950;padding:3px 8px;cursor:pointer}
.cart-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0}.btn.green-big{background:#7ED321;color:#111827;border-color:#7ED321;font-size:15px;padding:12px 14px}.btn.terra-big{background:#C96F4A;color:#fff;border-color:#C96F4A;font-size:15px;padding:12px 14px}.btn.blue-big{background:#2563eb;color:#fff;border-color:#2563eb;font-size:15px;padding:12px 14px}
.op-meter{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:16px;padding:12px;margin:10px 0;font-weight:850}.timer-box{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:16px;padding:12px;margin:10px 0;font-weight:950}.proof-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0}
@media(max-width:1050px){.month-layout{grid-template-columns:1fr}.cart-sticky{position:static}.month-day{min-height:88px}}

/* V606 Booker Single Calendar + Court Picker */
.v606-layout{display:grid;grid-template-columns:1fr 390px;gap:16px;align-items:start}
.v606-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}
.v606-date-title{font-size:20px;font-weight:950;color:#064e3b;margin:8px 0}
.v606-hour-list{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.v606-hour-row{display:grid;grid-template-columns:160px 1fr 150px;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px;cursor:pointer}
.v606-hour-row:first-child{border-top:0}.v606-hour-row:hover{background:#f8fafc}.v606-hour-row.selected{background:#ecfdf5;outline:2px solid rgba(126,211,33,.55)}
.v606-time{font-weight:950;color:#1F2937}.v606-availability{display:flex;gap:6px;flex-wrap:wrap}.court-pill{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;border:1px solid var(--line)}
.court-available{background:#ecfdf5;color:#065f46}.court-selected{background:#7ED321;color:#111827}.court-reserved{background:#fff7ed;color:#9a3412}.court-booked{background:#fee2e2;color:#991b1b}.court-blocked{background:#e5e7eb;color:#374151}
.v606-rate{text-align:right;font-weight:950;color:#64748b}.court-picker{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0}.court-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.court-check{border:1px solid var(--line);border-radius:14px;padding:10px;background:#f8fafc;font-weight:900}.court-check.disabled{opacity:.45;background:#f3f4f6}
.v606-cart-item{border:1px solid var(--line);border-radius:14px;background:#f8fafc;margin:9px 0;padding:10px}.v606-cart-item strong{color:#064e3b}.v606-remove{float:right;background:#fee2e2;color:#991b1b;border:0;border-radius:999px;font-weight:950;padding:3px 8px;cursor:pointer}
.v606-submit-zone{border-top:2px solid var(--line);margin-top:12px;padding-top:12px}.v606-countdown{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:16px;padding:12px;margin:10px 0;font-weight:950;font-size:16px;text-align:center}.v606-admin-actions{display:flex;gap:6px;flex-wrap:wrap}.v606-admin-actions button{font-size:11px;padding:6px 9px}
@media(max-width:1050px){.v606-layout{grid-template-columns:1fr}.v606-hour-row{grid-template-columns:1fr}.v606-rate{text-align:left}.court-checks{grid-template-columns:1fr}}

/* V607 Weekly Hourly Calendar */
.v607-layout{display:grid;grid-template-columns:1fr 390px;gap:16px;align-items:start}
.v607-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}
.v607-week-title{font-size:20px;font-weight:950;color:#064e3b;margin:8px 0}
.week-calendar{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:auto}
.week-head,.week-row{display:grid;grid-template-columns:130px repeat(7,minmax(125px,1fr));min-width:1050px}
.week-head div{background:#1F2937;color:#fff;padding:10px;text-align:center;font-weight:950;border-right:1px solid rgba(255,255,255,.12)}
.week-time{background:#f9fafb;color:#475569;font-weight:950;padding:10px;border-top:1px solid var(--line);border-right:1px solid var(--line);font-size:12px}
.week-cell{min-height:72px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:8px;background:#fff}
.week-cell:hover{background:#f8fafc}
.week-court-buttons{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.court-dot{width:30px;height:30px;border-radius:999px;border:1px solid var(--line);font-size:10px;font-weight:950;cursor:pointer;display:grid;place-items:center}
.court-dot.available{background:#ecfdf5;color:#065f46}
.court-dot.selected{background:#7ED321;color:#111827;border-color:#7ED321}
.court-dot.reserved{background:#fff7ed;color:#9a3412;cursor:not-allowed}
.court-dot.booked{background:#fee2e2;color:#991b1b;cursor:not-allowed}
.court-dot.blocked{background:#e5e7eb;color:#374151;cursor:not-allowed}
.cell-rate{font-size:10px;color:#64748b;text-align:center;margin-top:5px;font-weight:850}
.v607-cart-item{border:1px solid var(--line);border-radius:14px;background:#f8fafc;margin:9px 0;padding:10px}
.v607-cart-item strong{color:#064e3b}
.v607-remove{float:right;background:#fee2e2;color:#991b1b;border:0;border-radius:999px;font-weight:950;padding:3px 8px;cursor:pointer}
.v607-submit-zone{border-top:2px solid var(--line);margin-top:12px;padding-top:12px}
.v607-countdown{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:16px;padding:12px;margin:10px 0;font-weight:950;font-size:16px;text-align:center}
@media(max-width:1050px){.v607-layout{grid-template-columns:1fr}.week-calendar{overflow-x:auto}}

/* V608 Compact Weekly Calendar */
.container{max-width:1180px}
.v607-layout{grid-template-columns:minmax(0,1fr) 330px;gap:12px}
.v607-toolbar{gap:6px;margin-bottom:8px}
.v607-toolbar .btn{padding:6px 9px;font-size:11px}
.v607-toolbar label{font-size:11px}
.v607-toolbar input{min-height:34px;padding:6px 8px;font-size:12px}
.v607-week-title{font-size:17px;margin:6px 0}
.week-calendar{overflow-x:hidden}
.week-head,.week-row{grid-template-columns:96px repeat(7,minmax(72px,1fr));min-width:0}
.week-head div{padding:7px 4px;font-size:11px;line-height:1.15}
.week-head small{font-size:9px}
.week-time{padding:7px 5px;font-size:10px;line-height:1.2}
.week-time small{font-size:9px}
.week-cell{min-height:56px;padding:5px 3px}
.week-court-buttons{gap:3px}
.court-dot{width:23px;height:23px;font-size:8px;border-width:1px}
.cell-rate{font-size:8px;margin-top:3px}
.cart-sticky{top:86px}
.cart-sticky h2{font-size:18px;margin:6px 0}
.cart-sticky h3{font-size:15px;margin:8px 0}
.cart-sticky .notice,.cart-sticky .op-meter,.cart-sticky .fee-box{font-size:11px;padding:8px;margin:7px 0}
.v607-cart-item{padding:8px;margin:7px 0;font-size:11px}
.v607-remove{padding:2px 6px}
.v607-submit-zone .card{padding:10px;margin:8px 0}
.v607-submit-zone h3{font-size:14px}
.v607-submit-zone label{font-size:11px}
.v607-submit-zone .btn{width:100%;margin-top:6px}
.status-legend{gap:5px;margin:7px 0}
.legend-pill{padding:4px 7px;font-size:10px}
@media(max-width:1100px){
  .container{max-width:100%;padding:12px}
  .v607-layout{grid-template-columns:1fr}
  .cart-sticky{position:static}
  .week-calendar{overflow-x:auto}
  .week-head,.week-row{min-width:820px}
}

.impersonation-banner,.impersonation-workspace{
  border:2px solid #f59e0b;
  background:#fffbeb;
  color:#78350f;
  border-radius:12px;
  padding:10px 14px;
  margin:8px 0;
  box-shadow:0 8px 24px rgba(245,158,11,.16);
}
.impersonation-banner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  font-weight:900;
}
.impersonation-banner small,.impersonation-workspace small{color:#92400e}

/* V611 Booking Guardrails + OP Prompt */
.v611-player-helper{background:#ecfdf5;border:1px solid #86efac;color:#064e3b;border-radius:14px;padding:10px;margin:8px 0;font-size:12px;font-weight:850}
.v611-player-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:10px;margin:8px 0;font-size:12px;font-weight:850}
.v611-op-prompt{background:#fff7ed;border:2px solid #C96F4A;color:#7c2d12;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 12px 26px rgba(201,111,74,.18)}
.v611-op-prompt h3{margin:0 0 8px;color:#7c2d12}
.v611-op-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v611-op-actions .yes{background:#7ED321;color:#111827;border-color:#7ED321}
.v611-op-actions .no{background:#fff;color:#7c2d12;border-color:#C96F4A}
.v611-op-actions .active{outline:3px solid rgba(6,78,59,.22);box-shadow:0 0 0 3px rgba(255,255,255,.8),0 8px 18px rgba(0,0,0,.16)}
.v611-op-choice{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:8px;margin-top:10px;font-size:12px;font-weight:950}
.court-past{background:#f3f4f6!important;color:#9ca3af!important;cursor:not-allowed!important}
.week-cell.past-cell{background:#f8fafc;opacity:.58}
.v611-disabled-note{font-size:9px;color:#9ca3af;text-align:center;margin-top:4px}

/* V612 OP counting + multiple proof uploads */
.v612-submitted-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0;box-shadow:var(--shadow)}
.v612-submitted-box h3{margin:0 0 8px;color:#064e3b}
.v612-submitted-item{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:8px;margin:6px 0;font-size:12px}
.v612-proof-complete{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:8px;margin-top:8px;font-weight:850}

/* V613 Auto Reservation Release */
.v613-expired{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;border-radius:14px;padding:10px;margin:8px 0;font-weight:850}
.v613-released{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:14px;padding:10px;margin:8px 0;font-weight:850}

/* V614 Booker UX Refinement */
.v614-player-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;margin:10px 0;box-shadow:var(--shadow)}
.v614-rec-card{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;background:#ecfdf5;border:1px solid #86efac;color:#064e3b;border-radius:16px;padding:12px;margin:10px 0}
.v614-rec-number{text-align:center;background:#7ED321;color:#111827;border-radius:16px;padding:12px;font-weight:950}.v614-rec-number b{display:block;font-size:42px;line-height:1}.v614-rec-number span{font-size:12px}.v614-rec-text{font-size:12px;font-weight:850;line-height:1.45}
.week-cell{cursor:pointer}.week-cell:hover{background:#ecfdf5}.v614-cell-status{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.v614-mini-dot{width:16px;height:16px;border-radius:999px;border:1px solid var(--line);font-size:0}.v614-mini-dot.available{background:#ecfdf5}.v614-mini-dot.selected{background:#7ED321}.v614-mini-dot.reserved{background:#fff7ed}.v614-mini-dot.booked{background:#fee2e2}.v614-mini-dot.blocked{background:#e5e7eb}.v614-mini-dot.past{background:#f3f4f6}.v614-cell-label{text-align:center;font-size:9px;color:#64748b;margin-top:4px;font-weight:850}
.v614-picker-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);display:none;z-index:999}.v614-picker-backdrop.open{display:grid;place-items:center}.v614-picker{width:min(420px,92vw);background:#fff;border-radius:22px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(2,6,23,.28);padding:18px}.v614-picker h2{margin:0;color:#064e3b}.v614-picker-time{font-weight:950;color:#1F2937;margin:6px 0 12px}.v614-court-option{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:11px;margin:7px 0;background:#f8fafc;font-weight:900}.v614-court-option.disabled{opacity:.55;background:#f3f4f6}.v614-picker-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.v614-block-length{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;margin:10px 0;color:#064e3b}
.v614-block-length select{margin-top:7px;font-weight:950}
.v614-receipt{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}.v614-receipt h3{margin:0 0 8px;color:#064e3b}.v614-receipt-status{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.v614-status-pill{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950}.v614-reserved{background:#fff7ed;color:#9a3412}.v614-review{background:#ecfdf5;color:#065f46}.v614-receipt-line{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:8px;margin:6px 0;font-size:12px}.v614-total{font-size:18px;font-weight:950;color:#064e3b;text-align:right;margin:10px 0}
@media(max-width:850px){.v614-rec-card{grid-template-columns:1fr}.v614-rec-number b{font-size:34px}}

/* V615 Booking History + Admin Review Center */
.v615-history-card,.v615-admin-review-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}
.v615-history-card h3,.v615-admin-review-card h3{margin:0 0 8px;color:#064e3b}
.v615-status-row{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.v615-pill{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950;background:#e5e7eb;color:#374151}
.v615-pill.reserved{background:#fff7ed;color:#9a3412}.v615-pill.pending{background:#eff6ff;color:#1d4ed8}.v615-pill.booked,.v615-pill.paid{background:#ecfdf5;color:#065f46}.v615-pill.bad{background:#fee2e2;color:#991b1b}
.v615-schedule-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12px}
.v615-schedule-table th,.v615-schedule-table td{border:1px solid var(--line);padding:6px;text-align:left}
.v615-schedule-table th{background:#f1f5f9}
.v615-proof-box{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;margin:8px 0;font-size:12px}
.v615-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v615-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v615-money{font-size:18px;font-weight:950;color:#064e3b}
.v615-note{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:9px;margin:8px 0;font-weight:850;font-size:12px}
@media(max-width:900px){.v615-admin-grid{grid-template-columns:1fr}}

/* V616 Player Capacity + Clearer Court Selection */
.v616-rec-card{background:#fff;border:2px solid #7ED321;border-radius:18px;padding:14px;margin:10px 0;box-shadow:0 12px 28px rgba(126,211,33,.16)}
.v616-rec-top{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}
.v616-rec-number{background:#7ED321;color:#111827;border-radius:18px;text-align:center;padding:14px;font-weight:950}
.v616-rec-number b{display:block;font-size:44px;line-height:1}
.v616-rec-number span{font-size:12px}
.v616-breakdown{font-size:13px;line-height:1.45;font-weight:850;color:#064e3b}
.v616-alert{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:10px;margin-top:10px;font-weight:850;font-size:12px}
.v616-danger{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:14px;padding:10px;margin-top:10px;font-weight:850;font-size:12px}
.week-cell{position:relative;border:1px solid #d1d5db!important;transition:.12s;background:#fff}
.week-cell:hover{background:#ecfdf5!important;outline:3px solid rgba(126,211,33,.65);z-index:3;transform:scale(1.015)}
.week-cell::after{content:"Click";position:absolute;right:4px;top:4px;font-size:8px;background:#1F2937;color:#fff;border-radius:999px;padding:2px 5px;opacity:.75}
.week-cell.past-cell::after{content:"Closed";background:#9ca3af}
.v614-cell-status{margin-top:10px}
.v614-mini-dot{width:18px!important;height:18px!important;border:2px solid #fff;box-shadow:0 0 0 1px rgba(15,23,42,.18)}
.v614-cell-label{font-size:10px!important;color:#1F2937!important;font-weight:950!important}
.v614-picker{border:3px solid #7ED321}
.v614-court-option{font-size:15px;cursor:pointer;border-width:2px}
.v614-court-option:hover{border-color:#7ED321;background:#ecfdf5}
.v614-court-option input{width:22px;height:22px;accent-color:#7ED321}
.v614-picker-actions .btn{font-size:14px;padding:11px 14px}
@media(max-width:850px){.v616-rec-top{grid-template-columns:1fr}.v616-rec-number b{font-size:36px}}

/* V617 Booker Workflow Redesign */
.v617-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.v617-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;font-weight:950;text-align:center;font-size:12px}
.v617-step.active{background:#7ED321;color:#111827;border-color:#7ED321}
.v617-booker-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}
.v617-rec-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}
.v617-rec-option{background:#fff;border:2px solid var(--line);border-radius:18px;padding:12px;cursor:pointer;transition:.12s}
.v617-rec-option:hover{border-color:#7ED321;transform:translateY(-2px)}
.v617-rec-option.selected{border-color:#7ED321;background:#ecfdf5;box-shadow:0 10px 24px rgba(126,211,33,.18)}
.v617-rec-option h3{margin:0 0 6px;color:#064e3b}
.v617-rec-courts{font-size:34px;font-weight:950;color:#111827;line-height:1}
.v617-rec-breakdown{font-size:12px;line-height:1.4;margin:8px 0}
.v617-extra{font-size:11px;font-weight:900;border-radius:999px;padding:5px 8px;display:inline-block;background:#e5e7eb;color:#374151}
.v617-extra.warn{background:#fff7ed;color:#9a3412}
.v617-extra.bad{background:#fee2e2;color:#991b1b}
.v617-cart-header{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}
.v617-cart-body.collapsed{display:none}
.v617-cart-count{background:#7ED321;color:#111827;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:950}
.v617-cart-group{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;margin:8px 0;font-size:12px}
.v617-cart-row{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px dashed #e5e7eb}
.v617-cart-row:first-of-type{border-top:0}
.v617-remove{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;font-weight:950;padding:2px 7px;cursor:pointer}
.v617-payment-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0}
.v617-method{border:1px solid var(--line);border-radius:12px;padding:9px;background:#f8fafc;font-weight:900;cursor:pointer}
.v617-method input{width:auto;margin-right:6px}
.v617-receipt{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}
.v617-activity{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}
.v617-activity-item{border-left:4px solid #7ED321;padding:8px 10px;margin:8px 0;background:#f8fafc;border-radius:10px;font-size:12px}
.v617-payment-guide{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:10px;margin:8px 0;font-size:12px;font-weight:850}
.week-cell{cursor:pointer}
@media(max-width:1050px){.v617-booker-layout{grid-template-columns:1fr}.v617-rec-options{grid-template-columns:1fr}.v617-steps{grid-template-columns:1fr 1fr}}

/* V618 Fixes */
.v618-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}
.v618-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;font-weight:950;text-align:center;font-size:12px}
.v618-step.active{background:#7ED321;color:#111827;border-color:#7ED321}
.v618-activity-item{border-left:4px solid #7ED321;padding:9px 11px;margin:8px 0;background:#f8fafc;border-radius:10px;font-size:12px}
.v618-activity-item.bad{border-left-color:#ef4444}
.v618-activity-item.pending{border-left-color:#2563eb}
.v618-admin-filter{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}

/* V619 Submit/Admin/Content Fix */
.v619-safe-submit-note{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:9px;margin:8px 0;font-size:12px;font-weight:850}
.v619-content-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}
.v619-content-card h3{margin:0 0 8px;color:#064e3b}
.v619-content-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v619-upload-row{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;margin:8px 0}
.v619-upload-row input[type=file]{display:block;margin:7px 0}
.v619-admin-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:9px;margin:8px 0;font-size:12px;font-weight:850}
/* V7 Booking Engine */
.v7-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.v7-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;font-weight:950;text-align:center;font-size:12px}.v7-step.active{background:#7ED321;color:#111827;border-color:#7ED321}.v7-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}.v7-rec-card{background:#fff;border:2px solid #7ED321;border-radius:18px;padding:14px;margin:10px 0;box-shadow:0 12px 28px rgba(126,211,33,.16)}.v7-rec-main{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}.v7-rec-number{background:#7ED321;color:#111827;border-radius:18px;text-align:center;padding:14px;font-weight:950}.v7-rec-number b{display:block;font-size:42px;line-height:1}.v7-breakdown{font-size:13px;line-height:1.45;font-weight:850;color:#064e3b}.v7-danger,.v7-note{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:9px;margin:8px 0;font-weight:850;font-size:12px}.v7-calendar-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:12px;padding:9px;margin:8px 0;font-size:12px;font-weight:850}.v7-cart-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.v7-cart-count{background:#7ED321;color:#111827;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:950}.v7-cart-group{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;margin:8px 0;font-size:12px}.v7-cart-row{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px dashed #e5e7eb}.v7-cart-row:first-of-type{border-top:0}.v7-remove{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;font-weight:950;padding:2px 7px;cursor:pointer}.v7-receipt{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}.v7-proof-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0}.v7-method{border:1px solid var(--line);border-radius:12px;padding:9px;background:#f8fafc;font-weight:900;cursor:pointer}.v7-activity,.v7-admin-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}.v7-activity-item{border-left:4px solid #7ED321;padding:9px 11px;margin:8px 0;background:#f8fafc;border-radius:10px;font-size:12px}.v7-activity-item.pending{border-left-color:#2563eb}.v7-activity-item.bad{border-left-color:#ef4444}.v7-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v7-pill{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950;background:#e5e7eb;color:#374151;display:inline-block;margin:2px}.v7-pill.reserved{background:#fff7ed;color:#9a3412}.v7-pill.pending{background:#eff6ff;color:#1d4ed8}.v7-pill.booked,.v7-pill.paid{background:#ecfdf5;color:#065f46}.v7-pill.bad{background:#fee2e2;color:#991b1b}.v7-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.v7-schedule-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12px}.v7-schedule-table th,.v7-schedule-table td{border:1px solid var(--line);padding:6px;text-align:left}.v7-schedule-table th{background:#f1f5f9}@media(max-width:1050px){.v7-layout{grid-template-columns:1fr}.v7-steps{grid-template-columns:1fr 1fr}.v7-admin-grid,.v7-rec-main{grid-template-columns:1fr}}

/* V7.0.2 Sync + Court Selection Fix */
.v7-rec-number{min-width:100px;padding:12px 10px}
.v7-rec-number b{font-size:26px!important;line-height:1.1!important}
.v7-rec-number span{display:block;font-size:10px!important;line-height:1.1;letter-spacing:.3px}
.v702-capacity-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:12px;padding:9px;margin:8px 0;font-weight:850;font-size:12px}
.v702-sync-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:12px;padding:9px;margin:8px 0;font-weight:850;font-size:12px}
.v702-admin-empty{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:10px;margin:10px 0;font-weight:850}
.v614-picker-backdrop.open{display:grid!important}
.v614-court-option input{width:22px;height:22px;accent-color:#7ED321}
.v614-court-option{cursor:pointer}
@media(max-width:768px){.v7-rec-number b{font-size:22px!important}}

/* V7.0.3 Cart / Review / Proof / Payment Methods */
.v703-cart-shell{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;margin:12px 0;box-shadow:var(--shadow)}
.v703-cart-grid{display:grid;grid-template-columns:1fr;gap:8px}
.v703-cart-item{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;font-size:12px}
.v703-cart-item strong{color:#064e3b}
.v703-cart-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.v703-proof-list{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.v703-proof-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.v703-proof-card.expired{opacity:.65;background:#f8fafc}
.v703-proof-status{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950;background:#fff7ed;color:#9a3412;margin:4px 0}
.v703-proof-status.proof-upload-jump{border:2px solid #fb923c;cursor:pointer;box-shadow:0 4px 0 rgba(0,0,0,.12)}
.v703-proof-status.uploaded{background:#ecfdf5;color:#065f46}
.v703-proof-status.expired{background:#fee2e2;color:#991b1b}
.v81-proof-countdown{background:#fff7ed;border:2px solid #f59e0b;color:#9a3412;border-radius:14px;padding:12px;margin:10px 0;font-size:18px;font-weight:950;text-align:center;box-shadow:0 8px 18px rgba(245,158,11,.18)}
.v81-proof-countdown strong{font-size:26px;color:#7c2d12}
.v81-proof-countdown.urgent{background:#fef2f2;border-color:#ef4444;color:#991b1b;animation:pulseProofDue 1s ease-in-out infinite}
.v81-proof-countdown.expired{background:#f3f4f6;border-color:#9ca3af;color:#374151;animation:none}
@keyframes pulseProofDue{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}
.v703-pay-methods{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.v703-pay-method{border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#f8fafc;font-size:12px;font-weight:900;cursor:pointer}
.v703-pay-method input{width:auto;margin-right:4px}
.v703-pay-method:has(input:checked){background:#7ED321;color:#111827;border-color:#7ED321}
.v703-payment-admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0;box-shadow:var(--shadow)}
.v703-payment-admin-card h3{margin:0 0 8px;color:#064e3b}
.v703-admin-relationship-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:12px;padding:10px;margin:10px 0;font-size:12px;font-weight:850}
@media(min-width:1051px){
  .v7-layout{grid-template-columns:minmax(0,1fr) 420px}
}
@media(max-width:1050px){
  .v7-layout{grid-template-columns:1fr!important}
  .cart-sticky{position:static!important}
  .v703-cart-meta{grid-template-columns:1fr}
  .v7-steps{grid-template-columns:1fr!important}
}

/* V7.0.4 Core Sync + Admin Control Fix */
.btn.primary,.btn.green-big,#addCourtsBtn,#submitBooking,[data-upload-proof],[data-save-section],[data-upload-section]{
  cursor:pointer!important;box-shadow:0 5px 0 rgba(0,0,0,.18),0 10px 22px rgba(0,0,0,.12);border-width:2px!important;
}
.btn.primary:hover,.btn.green-big:hover,#addCourtsBtn:hover,#submitBooking:hover,[data-upload-proof]:hover,[data-save-section]:hover,[data-upload-section]:hover{transform:translateY(-1px);filter:brightness(1.03)}
.week-cell::after{content:"CLICK"!important;font-size:9px!important;background:#064e3b!important;color:#fff!important;opacity:1!important}
.v614-court-option{border:2px solid #cbd5e1!important;cursor:pointer}
.v614-court-option:hover{border-color:#7ED321!important;background:#ecfdf5!important}
.v614-court-option input{width:24px!important;height:24px!important}
.v704-content-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}
.v704-content-section h3{margin:0 0 8px;color:#064e3b}
.v704-upload-box{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;margin:8px 0}
.v704-content-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v704-superadmin-note{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:10px;margin:10px 0;font-size:12px;font-weight:850}

/* V7.0.5 UI Submit Feedback + Vivid Calendar Colors */
#submitBooking{transition:transform .08s ease,filter .08s ease,box-shadow .08s ease;position:relative}
#submitBooking:active,#submitBooking.submitting{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.22)!important;filter:brightness(.96)}
#submitBooking.submitting::after{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:999px;display:inline-block;margin-left:8px;vertical-align:-2px;animation:v705spin .7s linear infinite}
@keyframes v705spin{to{transform:rotate(360deg)}}

.week-cell{border-width:2px!important;font-weight:900}
.week-cell.status-available{background:#dcfce7!important;border-color:#86efac!important;color:#064e3b!important}
.week-cell.status-selected{background:#84cc16!important;border-color:#4d7c0f!important;color:#111827!important}
.week-cell.status-reserved{background:#fed7aa!important;border-color:#fb923c!important;color:#7c2d12!important}
.week-cell.status-review{background:#bfdbfe!important;border-color:#3b82f6!important;color:#1e3a8a!important}
.week-cell.status-booked,.week-cell.status-blocked,.week-cell.status-op_hold,.week-cell.status-locked{background:#fecaca!important;border-color:#ef4444!important;color:#7f1d1d!important}
.week-cell.status-own_op_hold{background:#dcfce7!important;border-color:#22c55e!important;color:#064e3b!important}
.week-cell.status-past{background:#e5e7eb!important;border-color:#9ca3af!important;color:#6b7280!important}
.week-cell.status-available::after{content:"AVAILABLE"!important;background:#15803d!important}
.week-cell.status-selected::after{content:"SELECTED"!important;background:#365314!important}
.week-cell.status-reserved::after{content:"RESERVED"!important;background:#c2410c!important}
.week-cell.status-review::after{content:"REVIEW"!important;background:#1d4ed8!important}
.week-cell.status-booked::after{content:"BOOKED"!important;background:#991b1b!important}
.week-cell.status-blocked::after{content:"BLOCKED"!important;background:#991b1b!important}
.week-cell.status-op_hold::after{content:"OP PARTNER"!important;background:#991b1b!important}
.week-cell.status-own_op_hold::after{content:"YOUR OP HOLD"!important;background:#15803d!important}
.week-cell.status-past::after{content:"CLOSED"!important;background:#6b7280!important}
.v705-status-text{display:block;text-align:center;font-size:10px;font-weight:950;margin-top:4px;letter-spacing:.4px}

/* V8 Stability Booking Sync */
.v8-sync-banner,.v8-admin-sync-note{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:10px;margin:10px 0;font-size:12px;font-weight:850}
.v8-activity-entry{border-left:4px solid #7ED321;padding:9px 11px;margin:8px 0;background:#f8fafc;border-radius:10px;font-size:12px}
.v8-activity-entry.pending{border-left-color:#2563eb}
.v8-activity-entry.bad{border-left-color:#ef4444}
.v8-review-empty{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:10px;margin:10px 0;font-weight:850}

/* V8.1 Cart / Archive / Content Fix */
.v81-cart-debug{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:12px;padding:8px;margin:8px 0;font-size:12px;font-weight:850}
.v81-archive-btn{background:#fff!important;color:#374151!important;border:2px solid #9ca3af!important}
.v81-archive-btn:hover{background:#f3f4f6!important}
.v81-content-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.v81-content-tab{border:1px solid var(--line);border-radius:999px;padding:7px 12px;background:#f8fafc;font-size:12px;font-weight:950;cursor:pointer}
.v81-content-tab.active{background:#7ED321;border-color:#7ED321;color:#111827}
.v81-content-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}
.v81-content-section h3{margin:0 0 8px;color:#064e3b}
.v81-upload-box{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;margin:8px 0}
.v81-upload-box input[type=file]{display:block;margin:8px 0}
.v81-section-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v81-save-btn,.v81-upload-btn{box-shadow:0 5px 0 rgba(0,0,0,.16),0 10px 22px rgba(0,0,0,.10)!important}
.v81-admin-note{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:10px;margin:10px 0;font-size:12px;font-weight:850}
.content-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.content-editor-head h1{margin:0;color:#064e3b}
.content-mode-toggle{display:flex;gap:8px;flex-wrap:wrap}
.content-editor-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.content-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.content-section-title h3{margin:0!important}
.content-section-title span{background:#f1f5f9;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:950;color:#475569}
.content-visible-toggle{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:9px;margin:8px 0;font-weight:950;color:#064e3b}
.content-visible-toggle input{width:auto;min-height:0;margin:0;accent-color:#7ED321}
.content-advanced-panel{border:1px dashed #cbd5e1;border-radius:12px;padding:8px;margin:8px 0;background:#f8fafc}
.content-advanced-panel summary{cursor:pointer;font-weight:950;color:#475569}
.content-mode-simple .content-advanced-panel{display:none}
.content-mode-advanced .content-advanced-panel{display:block}
.nav-editor-list{display:grid;gap:10px;margin:12px 0}
.nav-editor-row{display:grid;grid-template-columns:auto minmax(200px,1fr) minmax(180px,.75fr) minmax(220px,.8fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 6px 16px rgba(2,6,23,.06)}
.nav-editor-order{display:flex;gap:6px;flex-wrap:wrap}
.nav-editor-order .btn{min-height:36px;padding:7px 10px}
.nav-editor-meta{display:grid;gap:3px;font-size:12px;color:#475569;font-weight:850}
.nav-editor-meta strong{color:#064e3b;font-size:13px}
.nav-editor-meta small{color:#64748b}
.nav-editor-audience{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nav-editor-audience label{display:flex;align-items:center;gap:5px;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:6px 8px;font-size:12px;font-weight:950;color:#064e3b}
.nav-editor-audience input{width:auto;min-height:0;margin:0;accent-color:#7ED321}
.nav-editor-audience.locked{display:block;color:#64748b;font-weight:900}
.nav-editor-visible{margin:0;white-space:nowrap}
.v81-activity-note{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:8px;margin:8px 0;font-size:12px;font-weight:850}
.admin-booking-mode label{display:flex;align-items:flex-start;gap:8px;color:#7c2d12}
.admin-booking-mode input{width:auto;min-height:0;margin:2px 0 0;accent-color:#7ED321}
.admin-booking-mode small{display:block;margin:6px 0;color:#9a3412;line-height:1.35}
.v81-pricing-note{margin-top:8px;padding-top:8px;border-top:1px dashed #fdba74;line-height:1.35}
.v81-pricing-note-small{font-size:11px}
.v81-pricing-note-standard{font-size:12px}
.v81-pricing-note-large{font-size:14px}
.admin-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.admin-metric{display:block;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px;color:#0f172a}
.admin-metric span{display:block;font-size:12px;font-weight:950;color:#475569}
.admin-metric strong{display:block;font-size:30px;line-height:1.1;color:#064e3b;margin:6px 0}
.admin-metric small{display:block;color:#64748b;font-weight:850}
.oauth-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.oauth-grid.single{grid-template-columns:1fr}
.v81-review-timer,.v81-time-details{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:12px;padding:9px;margin:8px 0;font-size:12px;font-weight:850}
.v81-review-timer.expired{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
.v81-transaction-timeline{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0}
.v81-transaction-timeline summary{cursor:pointer;font-weight:950;color:#064e3b;list-style:none}
.v81-transaction-timeline summary::-webkit-details-marker{display:none}
.v81-transaction-row{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(220px,1fr);gap:4px 10px;border-top:1px dashed #cbd5e1;padding:7px 0;font-size:12px}
.v81-transaction-row:first-of-type{border-top:0}
.v81-transaction-row span{font-weight:900;color:#1d4ed8}
.v81-transaction-row small{grid-column:1/-1;color:#475569;font-weight:800}
@media(max-width:850px){.admin-dashboard-grid,.oauth-grid{grid-template-columns:1fr}}
.debug-pre{background:#0f172a;color:#e5e7eb;border-radius:12px;padding:12px;overflow:auto;font-size:11px;line-height:1.4;max-height:320px}
.v7-cart-count{font-size:18px!important;min-width:38px;min-height:38px;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(126,211,33,.22),0 8px 18px rgba(0,0,0,.16)}
.v81-edit-booking{border:1px solid var(--line);border-radius:14px;padding:10px;margin:10px 0;background:#f8fafc}
.v81-edit-booking summary{display:inline-block;margin-bottom:10px}
.v81-status-converter,.v81-endorse-booking{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end;background:#ecfdf5;border:1px solid #86efac;border-radius:12px;padding:10px;margin:6px 0 12px}
.v81-endorse-booking{background:#f0f9ff;border-color:#93c5fd}
.v81-status-converter .v81-admin-note,.v81-status-converter [data-status-convert-msg],.v81-endorse-booking .v81-admin-note,.v81-endorse-booking [data-endorse-msg]{grid-column:1/-1}
.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.v81-edit-item{border-top:1px dashed #cbd5e1;padding-top:8px;margin-top:8px}
.report-total strong{display:block;font-size:30px;color:#064e3b;line-height:1.1}
.report-total small{display:block;color:#64748b;margin-top:6px;font-weight:850}
.v81-select-booking{display:inline-flex;align-items:center;gap:6px;margin-right:10px;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:12px}
.v81-select-booking input{width:auto;min-height:0;margin:0}
.inline-content{position:relative}
.inline-edit-btn{display:inline-block;margin-left:8px;border:2px solid #064e3b;background:#ecfdf5;color:#064e3b;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:950;cursor:pointer;vertical-align:middle}
.inline-edit-status{position:fixed;right:14px;bottom:14px;z-index:1200;background:#064e3b;color:#fff;border:2px solid #86efac;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;box-shadow:0 12px 28px rgba(2,6,23,.22)}
.inline-edit-backdrop{position:fixed;inset:0;z-index:4200;background:rgba(15,23,42,.52);display:grid;place-items:center;padding:16px}
.inline-edit-dialog{width:min(720px,100%);max-height:min(86vh,760px);overflow:auto;background:#fff;border:3px solid #7ED321;border-radius:18px;box-shadow:0 28px 80px rgba(2,6,23,.34);padding:12px;color:#0f172a}
.inline-edit-dialog-head{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0 10px;margin-bottom:10px}
.inline-edit-dialog-head strong{font-size:16px;color:#064e3b}
.inline-edit-panel{background:#fff;border:0;border-radius:14px;padding:0;margin-top:0;box-shadow:none;color:#0f172a}
.inline-edit-panel textarea{min-height:150px;background:#fff;color:#0f172a}
.inline-edit-dialog input,.inline-edit-dialog select,.inline-edit-dialog textarea{font-weight:750;color:#0f172a}
.inline-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.inline-edit-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding-top:10px;margin-top:10px}
.inline-edit-actions .btn{min-height:42px}
.inline-text-font-system [data-inline-value]{font-family:Arial,Helvetica,sans-serif}
.inline-text-font-rounded [data-inline-value]{font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif}
.inline-text-font-serif [data-inline-value]{font-family:Georgia,"Times New Roman",serif}
.inline-text-font-mono [data-inline-value]{font-family:"Courier New",Consolas,monospace}
.inline-text-font-condensed [data-inline-value]{font-family:"Arial Narrow",Arial,sans-serif}
.inline-text-size-small [data-inline-value]{font-size:.88em}
.inline-text-size-standard [data-inline-value]{font-size:1em}
.inline-text-size-large [data-inline-value]{font-size:1.18em}
.inline-text-size-xlarge [data-inline-value]{font-size:1.42em}
.inline-text-weight-bold [data-inline-value]{font-weight:950}
.inline-text-weight-normal [data-inline-value]{font-weight:inherit}
.inline-text-align-left{text-align:left}
.inline-text-align-center{text-align:center}
.inline-text-align-right{text-align:right}
.inline-text-spacing-compact [data-inline-value]{line-height:1.15}
.inline-text-spacing-normal [data-inline-value]{line-height:1.45}
.inline-text-spacing-relaxed [data-inline-value]{line-height:1.8}
.inline-text-paragraph-preserve [data-inline-value]{white-space:pre-line}
.inline-text-paragraph-normal [data-inline-value]{white-space:normal}
.inline-button-text{font-size:12px;color:#64748b;margin-top:8px}
.inline-media{position:relative;width:100%}
.inline-media img,.inline-media video{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:14px}
.inline-media-size-small{max-width:420px;margin-left:auto;margin-right:auto}
.inline-media-size-small img,.inline-media-size-small video{max-height:220px}
.inline-media-size-standard img,.inline-media-size-standard video{max-height:360px}
.inline-media-size-large img,.inline-media-size-large video{max-height:520px}
.inline-media-size-full{max-width:none}
.inline-media-size-full img,.inline-media-size-full video{max-height:none}
.inline-media-btn{position:absolute;right:10px;top:10px;z-index:4;background:#fff}
.page-media-edit{background:#111827;border-radius:18px;margin:12px 0;overflow:hidden}
.page-media-edit:empty{display:none}
.inline-logo-btn{margin-left:4px;background:#fff}
.inline-logo-panel{position:absolute;left:12px;top:calc(100% + 8px);z-index:1000;min-width:320px;max-width:min(92vw,440px)}
.inline-nav-btn{background:#fff;margin-left:4px}
.inline-nav-panel{position:absolute;right:12px;top:calc(100% + 8px);z-index:1000;min-width:320px;max-width:min(92vw,460px)}
.admin-edit-toggle{position:fixed;left:14px;bottom:14px;z-index:1900;border:2px solid #7ED321;border-radius:999px;padding:10px 14px;font-weight:950;box-shadow:0 12px 30px rgba(2,6,23,.18);cursor:pointer}
.admin-edit-toggle.off{background:#fff;color:#064e3b}
.admin-edit-toggle.on{background:#047857;color:#fff;border-color:#047857}
.inline-edit-disabled .inline-edit-btn,.inline-edit-disabled .inline-edit-status{display:none!important}
.permission-list{display:grid;gap:6px;min-width:210px}
.permission-list>strong{margin-top:4px;color:#064e3b;font-size:12px;text-transform:uppercase}
.permission-list label{display:flex;align-items:center;gap:7px;font-size:12px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:6px}
.permission-list input{width:auto;min-height:0;margin:0}
.permission-switch{justify-content:space-between;cursor:pointer}
.permission-switch input{position:absolute;opacity:0;pointer-events:none}
.permission-switch strong{min-width:46px;text-align:center;border-radius:999px;padding:5px 8px;background:#e5e7eb;color:#475569;font-size:11px}
.permission-switch.on{border-color:#86efac;background:#ecfdf5;color:#064e3b}
.permission-switch.on strong{background:#047857;color:#fff}
.permission-switch.off strong{background:#e5e7eb;color:#475569}
.admin-user-tools{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto auto;gap:10px;align-items:end;margin:12px 0}
.admin-user-list{display:grid;gap:10px}
.admin-user-card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.admin-user-card[hidden]{display:none!important}
.admin-user-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:12px 14px;cursor:pointer;font-weight:950;list-style:none}
.admin-user-summary::-webkit-details-marker{display:none}
.admin-user-summary strong{display:block;color:#064e3b}
.admin-user-summary small{display:block;color:#64748b;font-size:11px;overflow:hidden;text-overflow:ellipsis}
.admin-user-detail{border-top:1px solid var(--line);padding:12px;background:#f8fafc}
.admin-user-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.permission-sections{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;margin-top:10px}
.permission-sections>strong{grid-column:1/-1}
.admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}
.admin-sidebar{position:sticky;top:10px;display:grid;gap:10px;max-height:calc(100vh - 20px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}
.admin-sidebar::-webkit-scrollbar{width:8px}
.admin-sidebar::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}
.admin-sidebar::-webkit-scrollbar-thumb{background:#bbf7d0;border-radius:999px;border:2px solid #f1f5f9}
.admin-panel{min-width:0}
.admin-module-group{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.admin-module-group summary{cursor:pointer;list-style:none;padding:10px 12px;background:#f8fafc;color:#064e3b;font-weight:950}
.admin-module-group summary::-webkit-details-marker{display:none}
.admin-module-group summary span,.admin-module-group summary small{display:block}
.admin-module-group summary small{font-size:10px;color:#64748b;font-weight:800;line-height:1.25;margin-top:2px}
.admin-module-links{display:grid;gap:4px;padding:8px}
.admin-module-links a{display:block;border:1px solid transparent;border-radius:8px;padding:8px 10px;color:#0f172a;text-decoration:none;font-weight:900;font-size:13px}
.admin-module-links a:hover,.admin-module-links a.active{border-color:#86efac;background:#ecfdf5;color:#064e3b}
.admin-command-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.booking-review-shell{display:grid;gap:10px}
.booking-review-section{border:1px solid var(--line);border-radius:10px;background:#fff;margin:8px 0;padding:0;overflow:hidden}
.booking-review-section>summary{cursor:pointer;list-style:none;font-weight:950;color:#064e3b;padding:10px 12px;background:#f8fafc;border-bottom:1px solid transparent}
.booking-review-section[open]>summary{border-bottom-color:var(--line)}
.booking-review-section>summary::-webkit-details-marker{display:none}
.booking-review-section>summary span,.booking-review-section>summary small{display:block}
.booking-review-section>summary small{margin-top:2px;color:#64748b;font-size:10px;font-weight:800;line-height:1.25}
.booking-review-command-panel .admin-command-row,.booking-review-filter-panel .booking-review-tools,.booking-review-bulk-panel>.bulk-price-panel,.booking-review-bulk-panel>.v81-admin-note{margin:10px}
.booking-review-list-title{margin:14px 0 8px;color:#064e3b}
.v81-proof-editor{border-top:1px dashed #cbd5e1;margin-top:10px;padding-top:10px}
.v81-proof-editor summary{display:inline-block;margin-bottom:8px}
.booking-review-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin:12px 0}
.booking-review-tools label:first-child{grid-column:span 2}
.bulk-price-panel{border:1px solid #86efac;background:#f0fdf4;border-radius:14px;padding:10px;margin:12px 0}
.bulk-price-panel summary{cursor:pointer;font-weight:950;color:#064e3b;list-style:none}
.bulk-price-panel summary::-webkit-details-marker{display:none}
.bulk-price-panel .grid{margin-top:10px}
.booking-review-list{display:block}
.booking-review-card{padding:0;overflow:hidden}
.booking-review-calendar-panel{box-shadow:var(--shadow)}
.booking-review-calendar-panel>summary{font-size:16px}
.booking-review-calendar-panel>summary::-webkit-details-marker{display:none}
.booking-review-calendar-toolbar{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:5px;margin:10px}
.booking-review-calendar-toolbar .btn{padding:7px 9px;min-height:36px}
.booking-review-calendar-toolbar label{min-width:0;font-size:10px;grid-column:span 2;margin:0}
.booking-review-calendar-toolbar label:nth-of-type(2){grid-column:span 3}
.booking-review-calendar-toolbar label:nth-of-type(3){grid-column:span 3}
.booking-review-calendar-toolbar input,.booking-review-calendar-toolbar select{min-height:34px;padding:7px 9px;font-size:12px}
.booking-review-calendar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px}
.booking-review-calendar-actions .btn{min-height:42px;padding:10px 18px;white-space:nowrap;border-radius:12px}
.booking-review-calendar-actions .green-big{min-width:190px}
.booking-review-calendar-grid{border:1px solid var(--line);border-radius:10px;overflow:auto;background:#fff;max-height:min(70vh,720px);scrollbar-gutter:stable;margin:10px}
.review-cal-head,.review-cal-row{display:grid;grid-template-columns:72px repeat(7,minmax(88px,1fr));min-width:700px}
.review-cal-head{position:sticky;top:0;z-index:5}
.review-cal-head div{background:#1F2937;color:#fff;padding:5px 3px;text-align:center;font-size:9px;font-weight:950;border-right:1px solid rgba(255,255,255,.12);line-height:1.08}
.review-cal-head div:first-child,.review-cal-time{position:sticky;left:0;z-index:4}
.review-cal-head div:first-child{z-index:6}
.review-cal-head small{display:block;color:#bbf7d0;font-size:8px;font-weight:900;margin-top:1px}
.review-cal-time{background:#f8fafc;color:#334155;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:5px 4px;font-size:9px;font-weight:950;line-height:1.08}
.review-cal-time small{display:block;margin-top:2px;color:#b45309;font-size:7px;text-transform:uppercase}
.review-cal-cell{min-height:28px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:2px;background:#fff;display:flex;flex-direction:column;gap:2px}
.review-cal-row.hour-shade-0 .review-cal-cell{background:#fff}
.review-cal-row.hour-shade-1 .review-cal-cell{background:#f3f6fa}
.review-cal-row.hour-shade-0 .review-cal-time{background:#f8fafc}
.review-cal-row.hour-shade-1 .review-cal-time{background:#e8eef6}
.review-cal-row.prime-hour .review-cal-time{color:#9a3412}
.review-cal-row.hour-shade-0 .review-cal-cell.has-bookings{background:#fff}
.review-cal-row.hour-shade-1 .review-cal-cell.has-bookings{background:#f3f6fa}
.review-cal-chip{width:100%;text-align:left;border:1px solid #86efac;background:#ecfdf5;color:#064e3b;border-radius:8px;padding:4px 5px;cursor:pointer;font-size:10px;font-weight:900;line-height:1.08}
.review-cal-chip:hover{outline:2px solid rgba(126,211,33,.45)}
.review-cal-chip strong,.review-cal-chip span,.review-cal-chip small,.review-cal-chip em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-cal-chip small{color:#475569;font-size:9px}
.review-cal-chip .review-cal-club{color:#005c4e;font-weight:950}
.review-cal-chip em{color:#1d4ed8;font-style:normal;font-size:8px;text-transform:uppercase}
.review-cal-chip.status-booked{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d}
.review-cal-chip.status-pending_review,.review-cal-chip.status-proof_uploaded,.review-cal-chip.status-op_pending{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}
.review-cal-chip.status-op_hold,.review-cal-chip.status-reserved{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.review-cal-chip.status-op_booked{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d}
.review-cal-chip.status-released,.review-cal-chip.status-rejected,.review-cal-chip.status-expired{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}
.review-calendar-view-toggle{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:auto}
.review-calendar-view-toggle .btn{min-height:38px;padding:8px 12px;border-radius:10px}
.booking-review-calendar-grid.compact .review-cal-head,.booking-review-calendar-grid.compact .review-cal-row{grid-template-columns:68px repeat(7,minmax(74px,1fr));min-width:640px}
.booking-review-calendar-grid.compact .review-cal-cell{min-height:72px;padding:4px;gap:3px}
.review-cal-hour-open{width:100%;border:0;background:transparent;color:#334155;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 1px 2px;cursor:pointer;font-size:8px;font-weight:950;line-height:1}
.review-cal-hour-open strong{color:#064e3b;font-size:10px}
.review-cal-hour-open span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;color:#64748b}
.review-cal-summary{width:100%;height:100%;min-height:64px;border:1px solid #86efac;background:#ecfdf5;color:#064e3b;border-radius:9px;padding:5px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;cursor:pointer;font-weight:950;line-height:1.05}
.review-cal-summary:hover{outline:2px solid rgba(126,211,33,.45)}
.review-cal-summary strong,.review-cal-summary small,.review-cal-summary em{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-cal-summary strong{font-size:12px;color:inherit}
.review-cal-summary small{font-size:9px;color:#334155;font-weight:900}
.review-cal-summary em{font-size:8px;color:#64748b;font-style:normal;font-weight:900}
.review-cal-summary .review-cal-badge{display:inline-flex;align-items:center;max-width:100%;border-radius:999px;padding:3px 6px;background:#16a34a;color:#fff;font-size:8px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}
.review-cal-summary.status-available{background:#ecfdf5;border-color:#86efac;color:#064e3b}
.review-cal-summary.status-pending_review,.review-cal-summary.status-proof_uploaded,.review-cal-summary.status-op_pending{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}
.review-cal-summary.status-booked,.review-cal-summary.status-op_booked{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d}
.review-cal-summary.status-reserved,.review-cal-summary.status-op_hold{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.review-cal-summary.status-mixed{background:#fef9c3;border-color:#fde68a;color:#854d0e}
.review-cal-summary.selected{box-shadow:inset 0 0 0 2px rgba(22,163,74,.35)}
.review-cal-summary.status-pending_review .review-cal-badge,.review-cal-summary.status-proof_uploaded .review-cal-badge,.review-cal-summary.status-op_pending .review-cal-badge{background:#2563eb;color:#fff}
.review-cal-summary.status-booked .review-cal-badge,.review-cal-summary.status-op_booked .review-cal-badge{background:#dc2626;color:#fff}
.review-cal-summary.status-reserved .review-cal-badge,.review-cal-summary.status-op_hold .review-cal-badge{background:#f97316;color:#111827}
.review-cal-summary.status-mixed .review-cal-badge{background:#eab308;color:#111827}
.review-cal-chip-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.review-cal-chip{min-width:0;text-align:center;padding:3px 2px;border-radius:6px;font-size:8px}
.review-cal-chip strong{font-size:10px;line-height:1}
.review-cal-chip span{font-size:7px;line-height:1.05;text-transform:uppercase}
.review-cal-chip.available{background:#ecfdf5;border-color:#86efac;color:#064e3b}
.review-cal-chip.available.selected{background:#16a34a;border-color:#15803d;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.review-cal-cell.has-selected{box-shadow:inset 0 0 0 2px rgba(22,163,74,.28)}
.review-calendar-detail{border:1px solid var(--line);border-radius:12px;background:#fff;margin:10px;padding:10px;box-shadow:var(--shadow)}
.review-calendar-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.review-calendar-detail-head strong{color:#064e3b}
.review-calendar-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #bbf7d0;background:#ecfdf5;border-radius:12px;padding:10px;margin:8px 0}
.review-calendar-detail-actions span{font-weight:900;color:#064e3b;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-calendar-detail-actions.multi{align-items:flex-start;background:#f8fafc;border-color:var(--line)}
.review-calendar-detail-actions.multi strong{width:100%;color:#064e3b}
.review-calendar-detail-actions.multi .btn{border-radius:12px;text-align:left;white-space:normal}
.review-calendar-hour-actions{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) auto auto;align-items:center;gap:8px;border:1px solid #bbf7d0;background:#ecfdf5;border-radius:12px;padding:10px;margin:8px 0}
.review-calendar-hour-actions strong{color:#064e3b;font-weight:950}
.review-calendar-hour-actions span{color:#334155;font-size:12px;font-weight:850;min-width:0}
.review-calendar-hour-actions.blocked{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr);background:#f8fafc;border-color:var(--line)}
.review-calendar-op-extend{border:1px solid #fdba74;background:#fff7ed;border-radius:12px;padding:10px;margin:8px 0;display:grid;gap:8px}
.review-calendar-op-extend>strong{color:#9a3412}
.review-calendar-op-extend>span{color:#7c2d12;font-weight:850}
.review-calendar-op-extend-row{display:grid;grid-template-columns:110px auto auto minmax(0,1fr);gap:8px;align-items:end}
.review-calendar-op-extend-row label{margin:0}
.review-calendar-op-extend-row input{min-height:38px}
.review-calendar-op-extend-row small{font-weight:900;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:9px}
.review-calendar-detail-row{display:grid;grid-template-columns:72px minmax(0,1fr) 92px 82px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:6px;background:#f8fafc}
.review-calendar-detail-row strong,.review-calendar-detail-row span,.review-calendar-detail-row small,.review-calendar-detail-row em{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-calendar-detail-row small{display:block;color:#64748b;font-size:11px}
.review-calendar-detail-row em{font-style:normal;font-size:11px;font-weight:950;text-transform:uppercase;color:#1d4ed8}
.review-calendar-detail-row.available{background:#ecfdf5;border-color:#86efac;color:#064e3b}
.review-calendar-detail-row.selected{background:#dcfce7;border-color:#16a34a}
.review-calendar-detail-row.status-booked,.review-calendar-detail-row.status-op_booked{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d}
.review-calendar-detail-row.status-pending_review,.review-calendar-detail-row.status-proof_uploaded,.review-calendar-detail-row.status-op_pending{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}
.review-calendar-detail-row.status-op_hold{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.review-cal-empty{color:#cbd5e1;font-weight:950;text-align:center;margin:auto}
.review-cal-court{width:100%;min-height:24px;text-align:left;border:1px solid var(--line);border-radius:6px;padding:3px 4px;font-size:9px;font-weight:900;line-height:1.03;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr);gap:1px 4px;align-items:center}
.review-cal-court strong,.review-cal-court span,.review-cal-court small,.review-cal-court em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-cal-court strong{grid-row:1/4;color:inherit;font-size:10px}
.review-cal-court span,.review-cal-court small,.review-cal-court em{grid-column:2}
.review-cal-court small{font-size:8px;color:#475569}
.review-cal-court.available{background:#fff;color:#064e3b;border-color:#bbf7d0}
.review-cal-court.available:hover{background:#ecfdf5;outline:2px solid rgba(126,211,33,.35)}
.review-cal-court.available.selected{background:#16a34a;color:#fff;border-color:#15803d;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}
.review-cal-court.occupied{background:#f1f5f9;color:#334155;border-color:#cbd5e1}
.review-cal-court.occupied em{color:#1d4ed8;font-style:normal;font-size:7px;text-transform:uppercase}
.review-cal-court.occupied.status-booked{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d}
.review-cal-court.occupied.status-pending_review,.review-cal-court.occupied.status-proof_uploaded{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}
.review-cal-court.occupied.status-op_hold{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.booking-review-card-focus{outline:4px solid rgba(126,211,33,.75);box-shadow:0 0 0 8px rgba(126,211,33,.18)}
.booking-review-summary{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(160px,.9fr) minmax(180px,1fr) minmax(150px,.8fr) auto;gap:10px;align-items:center;padding:14px 14px 14px 50px;cursor:pointer;list-style:none;position:relative}
.booking-review-summary::-webkit-details-marker{display:none}
.booking-review-summary::before{content:"+";position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:999px;background:#ecfdf5;color:#064e3b;border:1px solid #86efac;display:grid;place-items:center;font-weight:950}
.booking-review-card[open] .booking-review-summary::before{content:"-"}
.booking-review-main{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center}
.booking-review-main strong{color:#064e3b;font-size:17px}
.booking-review-main small{grid-column:1/-1;color:#64748b;font-weight:850}
.booking-review-meta{display:grid;gap:3px;color:#334155;font-weight:900;font-size:12px}
.booking-review-status{display:flex;gap:4px;flex-wrap:wrap}
.booking-review-countdown{display:grid;gap:2px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:10px;padding:7px 9px;font-size:11px;font-weight:900;line-height:1.2}
.booking-review-countdown small{color:#475569;font-size:10px;text-transform:uppercase;letter-spacing:.02em}
.booking-review-countdown.expired{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
.booking-review-total{font-size:18px;font-weight:950;color:#064e3b;text-align:right}
.booking-review-body{border-top:1px solid var(--line);padding:14px}
.booking-review-top-floating{position:fixed;right:16px;bottom:76px;z-index:85;background:#064e3b;color:#fff;border-color:#064e3b;box-shadow:var(--shadow)}
.v81-pricing-audit{border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;margin:10px 0;overflow:hidden}
.v81-pricing-audit summary{cursor:pointer;padding:9px 12px;color:#1d4ed8;font-weight:950;list-style:none;background:#dbeafe}
.v81-pricing-audit summary::-webkit-details-marker{display:none}
.v81-pricing-audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:#bfdbfe;margin:10px;border:1px solid #bfdbfe;border-radius:8px;overflow:hidden}
.v81-pricing-audit-grid div{background:#fff;padding:8px 10px;min-width:0}
.v81-pricing-audit-grid strong,.v81-pricing-audit-grid span{display:block}
.v81-pricing-audit-grid strong{font-size:10px;color:#475569;text-transform:uppercase}
.v81-pricing-audit-grid span{font-weight:950;color:#0f172a;overflow-wrap:anywhere}
.report-excluded-card{border-color:#f59e0b;background:#fffbeb}
.report-excluded-card .booking-review-summary{background:#fffbeb}
@media(max-width:900px){.grid.five{grid-template-columns:1fr}}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;max-height:none;overflow:visible;padding-right:0;scrollbar-gutter:auto}.admin-module-group{border-radius:10px}.admin-module-links{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-tools,.booking-review-tools,.booking-review-summary,.v81-status-converter,.v81-endorse-booking,.v81-transaction-row{grid-template-columns:1fr}.admin-user-summary{grid-template-columns:1fr}.permission-sections{grid-template-columns:1fr}.booking-review-total{text-align:left}.review-cal-head,.review-cal-row{min-width:640px;grid-template-columns:62px repeat(7,minmax(78px,1fr))}.review-cal-cell{min-height:26px}.booking-review-calendar-grid{max-height:64vh}.booking-review-calendar-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-review-calendar-toolbar label,.booking-review-calendar-toolbar label:nth-of-type(2),.booking-review-calendar-toolbar label:nth-of-type(3){grid-column:span 1}.booking-review-calendar-toolbar .btn{width:100%}}
@media(max-width:900px){.booking-review-top-floating{right:10px;bottom:68px;padding:8px 12px;border-radius:12px}}
@media(max-width:900px){.booking-review-calendar-actions{display:grid;grid-template-columns:1fr;margin:10px}.booking-review-calendar-actions .btn,.booking-review-calendar-actions .green-big{width:100%;min-width:0}}
@media(max-width:900px){.review-calendar-view-toggle{display:grid;grid-template-columns:1fr 1fr;margin-left:0}.booking-review-calendar-grid.compact .review-cal-head,.booking-review-calendar-grid.compact .review-cal-row{min-width:590px;grid-template-columns:58px repeat(7,minmax(76px,1fr))}.review-calendar-detail-row{grid-template-columns:58px minmax(0,1fr);gap:6px}.review-calendar-detail-row em,.review-calendar-detail-row .btn{grid-column:2}.review-calendar-detail-row .btn{width:100%}}
@media(max-width:900px){.review-calendar-hour-actions,.review-calendar-hour-actions.blocked{grid-template-columns:1fr}.review-calendar-hour-actions .btn{width:100%}}
@media(max-width:900px){.review-calendar-op-extend-row{grid-template-columns:1fr}.review-calendar-op-extend-row small{padding-bottom:0;white-space:normal}.review-calendar-op-extend-row .btn{width:100%}}

/* Mobile booking usability */
.booking-log-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.booking-log-head h2{margin:0}
#history[hidden]{display:none!important}
.booking-log-open #history{max-height:360px;overflow:auto;padding-right:4px}
.week-cell.status-future_limit{background:#e5e7eb!important;border-color:#9ca3af!important;color:#6b7280!important}
.week-cell.status-future_limit::after{content:"ADMIN ONLY"!important;background:#475569!important}
.v614-mini-dot.op_hold{background:#fecaca}
.v614-mini-dot.own_op_hold{background:#22c55e}
.v614-mini-dot.review,.v614-mini-dot.op_pending{background:#60a5fa}
.v614-mini-dot.op_booked{background:#ef4444}
.week-cell.status-op_pending{background:#bfdbfe!important;border-color:#3b82f6!important;color:#1e3a8a!important}
.week-cell.status-op_booked{background:#fecaca!important;border-color:#ef4444!important;color:#7f1d1d!important}
.week-cell.status-own_reserved,.week-cell.status-own_review,.week-cell.status-own_booked,.week-cell.status-own_op_pending,.week-cell.status-own_op_booked{background:#dcfce7!important;border-color:#16a34a!important;color:#064e3b!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.week-cell.status-op_pending::after{content:"OP REVIEW"!important;background:#1d4ed8!important}
.week-cell.status-op_booked::after{content:"BOOKED OP"!important;background:#991b1b!important}
.week-cell.status-own_reserved::after{content:"YOUR HOLD"!important;background:#15803d!important}
.week-cell.status-own_review::after{content:"YOUR REVIEW"!important;background:#15803d!important}
.week-cell.status-own_booked::after{content:"YOUR BOOKING"!important;background:#15803d!important}
.week-cell.status-own_op_pending::after{content:"YOUR OP REVIEW"!important;background:#15803d!important}
.week-cell.status-own_op_booked::after{content:"YOUR OP BOOKING"!important;background:#15803d!important}
.review-cal-court.occupied.status-op_pending{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}
.review-cal-court.occupied.status-op_booked{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d}
.v614-mini-dot.own_reserved,.v614-mini-dot.own_review,.v614-mini-dot.own_booked,.v614-mini-dot.own_op_pending,.v614-mini-dot.own_op_booked{background:#16a34a}
.v8-own-booking-label{text-align:center;font-size:10px;color:#064e3b;margin-top:4px;font-weight:950;line-height:1.15;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.v614-court-option.own-op-hold{border-color:#22c55e!important;background:#ecfdf5!important}
.locked-page{max-width:720px;margin:48px auto;text-align:center}
.op-agreement-gate{max-width:860px;margin:18px auto}
.op-agreement-check{display:flex;align-items:flex-start;gap:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px;margin:12px 0;font-weight:900}
.op-agreement-check input{width:auto;min-height:0;margin-top:3px}
.policy-scroll{max-height:min(48vh,520px);overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:12px;margin:10px 0;line-height:1.45;scrollbar-gutter:stable}
.policy-scroll p{margin:0 0 10px}
.policy-scroll h3{position:sticky;top:0;z-index:1;background:#f8fafc;color:#064e3b;margin:12px -12px 8px;padding:8px 12px;border-bottom:1px solid var(--line)}
.policy-scroll h3:first-child{margin-top:-12px}
.policy-acceptance-card details,.op-agreement-gate details{border:1px solid var(--line);border-radius:14px;background:#fff;margin:8px 0;padding:10px}
.policy-acceptance-card summary,.op-agreement-gate summary{cursor:pointer;color:#064e3b}
.policy-collapse{border:1px solid var(--line);border-radius:14px;background:#fff;margin:10px 0;overflow:hidden}
.policy-collapse summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:950;color:#064e3b;background:#ecfdf5;border-bottom:1px solid transparent;position:relative}
.policy-collapse summary::-webkit-details-marker{display:none}
.policy-collapse summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:999px;background:#fff;border:1px solid #86efac;display:grid;place-items:center;color:#064e3b}
.policy-collapse[open] summary{border-bottom-color:var(--line)}
.policy-collapse[open] summary::after{content:"-"}
.policy-collapse>p{padding:10px 14px;margin:0}
.policy-collapse .policy-scroll{border:0;border-radius:0;margin:0}
.policy-page-scroll{max-height:min(62vh,680px)}
.op-policy-scroll{max-height:min(54vh,560px)}
.op-arrangement-card{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0;font-size:12px;line-height:1.45}
.op-arrangement-card strong{display:block;color:#064e3b;font-size:14px;margin-bottom:4px}
.op-arrangement-count{display:inline-flex;align-items:center;background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:999px;padding:7px 11px;margin:8px 0;font-size:12px;font-weight:950}
.op-arrangement-list{display:grid;gap:10px;margin-top:8px}
.op-arrangement-item{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.op-arrangement-item summary{cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:10px 12px;list-style:none;background:#f8fafc;color:#0f172a;font-size:12px;font-weight:950}
.op-arrangement-item summary::-webkit-details-marker{display:none}
.op-arrangement-item summary span{background:#7ED321;color:#111827;border-radius:999px;padding:4px 8px;white-space:nowrap}
.op-arrangement-item summary strong{overflow-wrap:anywhere;color:#064e3b}
.op-arrangement-item .op-arrangement-card{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}
.submitted-bookings-card{border-left:5px solid #0ea5e9}
.submitted-booking-count{display:inline-flex;align-items:center;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:999px;padding:7px 11px;margin:8px 0;font-size:12px;font-weight:950}
.submitted-booking-detail{border:1px solid var(--line);border-radius:14px;background:#fff;margin:10px 0;overflow:hidden}
.submitted-booking-detail summary{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;list-style:none;background:#f8fafc;color:#0f172a;font-size:12px;font-weight:950}
.submitted-booking-detail summary::-webkit-details-marker{display:none}
.submitted-booking-detail summary span,.submitted-booking-detail summary strong,.submitted-booking-detail summary small{display:block;min-width:0;overflow-wrap:anywhere}
.submitted-booking-detail summary strong{color:#064e3b;font-size:14px}
.submitted-booking-detail summary small{color:#475569}
.submitted-booking-detail summary em{font-style:normal;background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:999px;padding:5px 8px;text-align:center}
.submitted-booking-body{display:grid;gap:10px;padding:12px}
.submitted-booking-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 12px;font-size:12px}
.submitted-booking-money{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:10px;font-size:12px;font-weight:850;line-height:1.45}
.submitted-total-warning{display:inline-block;margin:4px 0;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:6px 8px;font-weight:950}
.submitted-payment-checklist{margin-top:8px;border-top:1px dashed #86efac;padding-top:8px}
.submitted-booking-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
.submitted-booking-table{width:100%;border-collapse:collapse;font-size:12px;min-width:560px}
.submitted-booking-table th,.submitted-booking-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left}
.submitted-booking-table th{background:#f1f5f9;color:#0f172a}
.submitted-booking-archive{border:1px dashed #cbd5e1;border-radius:14px;padding:10px;margin-top:12px}
.op-request-panel{border-left:5px solid #7ED321}
.op-arrangement-picker{display:grid;gap:6px;margin:10px 0;font-size:12px;font-weight:950;color:#064e3b}
.op-arrangement-picker select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff;color:#0f172a;font-weight:850}
.op-renewal-countdown{border-left:5px solid #C96F4A}
.op-countdown-value{background:#111827;color:#fff;border-radius:14px;padding:14px;margin:10px 0;font-size:22px;font-weight:950;text-align:center}
.v81-admin-booking-active{background:#ecfdf5;border:1px solid #86efac;color:#065f46;border-radius:12px;padding:9px;margin:8px 0;font-size:12px;font-weight:900}
.training-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:12px 0;box-shadow:var(--shadow)}
.training-hero h1{margin:0 0 8px;color:#064e3b;font-size:38px;line-height:1.08}
.training-hero p{font-size:16px;line-height:1.55;color:#334155;font-weight:800}
.training-hero-media{min-height:220px;background:#f8fafc;border:1px dashed #86efac;border-radius:16px;display:grid;place-items:center;overflow:hidden}
.training-card h2,.coach-card h2{color:#064e3b;margin-top:0}
.training-card p,.coach-card p{line-height:1.5;color:#334155;font-weight:800}
.training-cta{border-left:5px solid #7ED321}
.coach-admin-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-left:5px solid #0ea5e9}
.coach-admin-panel strong{color:#064e3b;font-size:18px}
.coach-admin-panel small{font-weight:900;color:#475569}
.public-preview .inline-edit-btn,.public-preview .inline-edit-status,.public-preview .coach-admin-row,.public-preview #addCoachProfileBtn,.public-preview .coach-admin-panel strong,.public-preview .coach-admin-panel small,.public-preview .inline-button-text{display:none!important}
.public-preview #addOPPartnerProfileBtn{display:none!important}
.public-preview .coach-admin-panel{position:sticky;top:8px;z-index:1000;margin-left:auto;max-width:max-content;padding:8px}
.coach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:12px 0;align-items:start}
.coach-grid.coach-count-1{grid-template-columns:minmax(0,980px);justify-content:center}
.coach-grid.coach-count-2{grid-template-columns:repeat(2,minmax(0,min(100%,420px)));justify-content:center}
.coach-card{display:flex;flex-direction:column;gap:8px;min-width:0;height:100%}
.coach-profile-shell{display:grid;grid-template-columns:1fr;gap:12px;min-width:0}
.coach-featured .coach-profile-shell{grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);align-items:center}
.coach-profile-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.coach-admin-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:950;color:#064e3b}
.coach-admin-row .btn{width:auto;min-height:36px;padding:8px 10px;font-size:12px}
.coach-photo{width:100%;aspect-ratio:4/3;min-height:0;background:#f8fafc;border:1px dashed #86efac;border-radius:14px;display:grid;place-items:center;overflow:hidden}
.coach-featured .coach-photo{aspect-ratio:4/5;max-height:520px}
.coach-photo [data-inline-media-value],.training-hero-media [data-inline-media-value]{width:100%;height:100%;display:grid;place-items:center}
.coach-photo img,.coach-photo video,.training-hero-media img,.training-hero-media video{width:100%;height:100%;object-fit:cover}
.inline-media-fit-contain img,.inline-media-fit-contain video{object-fit:contain!important;background:#0f172a}
.inline-media-fit-cover img,.inline-media-fit-cover video{object-fit:cover!important}
.inline-media-position-top img,.inline-media-position-top video{object-position:center top}
.inline-media-position-center img,.inline-media-position-center video{object-position:center center}
.inline-media-position-bottom img,.inline-media-position-bottom video{object-position:center bottom}
.coach-card .badge{align-self:flex-start}
.coach-card h2{font-size:clamp(24px,3vw,38px);line-height:1.05;margin:0}
.coach-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.coach-meta-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}
.coach-meta-grid small{display:block;color:#64748b;font-size:11px;font-weight:950;text-transform:uppercase;margin-top:4px}
.coach-meta-value{display:block;color:#064e3b;font-size:14px;font-weight:950;line-height:1.25;overflow-wrap:anywhere}
.coach-bio{font-size:15px}
.coach-book-btn{align-self:flex-start}
.op-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;margin:12px 0;align-items:start}
.op-public-grid.op-public-count-1{grid-template-columns:minmax(0,1040px);justify-content:center}
.op-public-grid.op-public-count-2{grid-template-columns:repeat(2,minmax(0,min(100%,520px)));justify-content:center}
.op-public-card{display:flex;flex-direction:column;gap:10px;min-width:0}
.op-public-shell{display:grid;grid-template-columns:minmax(240px,.92fr) minmax(0,1.08fr);gap:14px;align-items:stretch;min-width:0}
.op-public-featured .op-public-shell{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}
.op-public-gallery{display:flex;gap:8px;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;border-radius:14px}
.op-public-media{min-width:100%;min-height:300px;background:#f8fafc;border:1px dashed #86efac;border-radius:14px;display:grid;place-items:center;overflow:hidden;scroll-snap-align:start}
.op-public-media [data-inline-media-value]{width:100%;height:100%;display:grid;place-items:center}
.op-public-media img,.op-public-media video{width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0}
.op-public-body{display:flex;flex-direction:column;gap:9px;min-width:0}
.op-public-body h2{font-size:clamp(25px,3vw,40px);line-height:1.05;margin:0;color:#064e3b}
.op-public-captain{font-size:13px;font-weight:950;color:#475569}
.op-public-schedule{background:#f8fafc;border:1px solid var(--line);border-left:5px solid #7ED321;border-radius:12px;padding:10px;line-height:1.45}
.op-public-schedule strong{display:block;color:#064e3b;margin-bottom:4px}
.op-public-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.op-public-actions .btn{min-height:42px}
.disabled-link{opacity:.65;pointer-events:none}
.op-club-roster,.op-export-panel{overflow-x:auto}
.op-club-roster table{min-width:620px}
.op-export-panel .grid.three{align-items:end}
.mobile-cart-bar{display:none}
@media(max-width:760px){
  body{padding-bottom:92px}
  .container{padding:8px!important}
  .appbar-inner{padding:10px 8px;gap:8px}
  .brand img{width:42px;height:42px}
  .brand span{font-size:14px}
  .brand small{font-size:10px}
  .nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
  .nav a{white-space:nowrap;padding:7px 10px;font-size:12px}
  .identity-inner{padding:7px 8px;justify-content:flex-start}
  .card,.panel{border-radius:12px;padding:10px;margin:8px 0}
  .v7-steps{display:flex!important;overflow-x:auto;gap:6px;margin:8px 0;padding-bottom:3px}
  .v7-step{min-width:112px;padding:8px 7px;font-size:11px;border-radius:10px}
  .v7-layout{display:flex!important;flex-direction:column;gap:8px}
  .v7-rec-card{padding:10px;border-radius:12px}
  .v7-rec-main{grid-template-columns:72px minmax(0,1fr)!important;gap:8px}
  .v7-rec-number{padding:9px 6px;border-radius:12px;min-width:0}
  .v7-breakdown{font-size:11px}
  .v607-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .v607-toolbar label{grid-column:1/-1}
  .v607-toolbar .btn,.v607-toolbar input{width:100%;min-height:40px}
  .v607-week-title{font-size:14px;line-height:1.25}
  .week-calendar{border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .week-head,.week-row{grid-template-columns:76px repeat(7,68px);min-width:552px}
  .week-head div{padding:6px 2px;font-size:10px}
  .week-time{position:sticky;left:0;z-index:2;padding:6px 3px;font-size:9px}
  .week-time small{font-size:8px}
  .week-cell{min-height:58px;padding:4px 2px}
  .v705-status-text{font-size:8px;margin-top:2px}
  .v614-cell-label,.cell-rate{font-size:8px}
  .week-cell::after{font-size:7px!important}
  .cart-sticky{position:static!important;order:3}
  .v7-cart-header h2{font-size:17px}
  .v7-cart-count{min-width:34px;min-height:34px;font-size:16px!important}
  .v703-cart-shell{padding:8px;border-radius:12px}
  .v703-cart-item{font-size:11px;padding:8px}
  .v703-cart-meta{grid-template-columns:1fr!important}
  .v607-submit-zone .btn,#clearCart,#submitBooking,[data-upload-proof]{width:100%;min-height:44px}
  .v703-pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .v703-pay-method{border-radius:12px;text-align:center}
  .v703-proof-card{padding:10px;border-radius:12px}
  .v7-activity{padding:10px;border-radius:12px}
  .booking-log-head .btn{min-height:38px}
  .booking-log-open #history{max-height:260px}
  .v8-activity-entry{font-size:11px;padding:8px;margin:6px 0}
  .op-countdown-value{font-size:16px;padding:11px}
  .v614-picker-backdrop.open{align-items:end!important;place-items:end stretch!important}
  .v614-picker{width:100vw;max-height:88vh;overflow:auto;border-radius:20px 20px 0 0;padding:14px}
  .v614-picker-actions{display:grid;grid-template-columns:1fr;gap:7px}
  .v614-picker-actions .btn{width:100%;min-height:44px}
  .training-hero{grid-template-columns:1fr;padding:12px;border-radius:12px}
  .training-hero h1{font-size:30px}
  .training-hero p{font-size:14px}
  .training-hero-media{min-height:180px}
  .coach-photo{aspect-ratio:16/11}
  .coach-featured .coach-profile-shell{grid-template-columns:1fr}
  .coach-featured .coach-photo{aspect-ratio:16/11;max-height:none}
  .coach-meta-grid{grid-template-columns:1fr}
  .coach-book-btn{width:100%;text-align:center}
  .coach-grid,.coach-grid.coach-count-1,.coach-grid.coach-count-2{grid-template-columns:1fr}
  .op-public-grid,.op-public-grid.op-public-count-1,.op-public-grid.op-public-count-2{grid-template-columns:1fr}
  .op-public-shell,.op-public-featured .op-public-shell{grid-template-columns:1fr}
  .op-public-media{min-height:210px}
  .op-public-actions{display:grid;grid-template-columns:1fr}
  .op-public-actions .btn{width:100%;text-align:center}
  .coach-admin-panel{align-items:stretch}
  .coach-admin-panel .btn{width:100%}
  .public-preview .coach-admin-panel{max-width:none;width:auto}
  .inline-edit-backdrop{place-items:end stretch;padding:8px}
  .inline-edit-dialog{width:100%;max-height:92vh;border-radius:18px 18px 0 0}
  .inline-style-grid{grid-template-columns:1fr}
  .inline-edit-actions .btn{width:100%}
  .content-editor-head{display:grid}
  .content-mode-toggle,.content-editor-shortcuts{display:grid;grid-template-columns:1fr 1fr}
  .content-mode-toggle .btn,.content-editor-shortcuts .btn{width:100%;text-align:center}
  .nav-editor-row{grid-template-columns:1fr;align-items:stretch}
  .nav-editor-order{display:grid;grid-template-columns:1fr 1fr}
  .nav-editor-visible{justify-content:flex-start}
  .v81-content-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .v81-content-tab{white-space:nowrap}
  .mobile-cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:1800;background:#fff;border-top:2px solid #7ED321;box-shadow:0 -12px 34px rgba(2,6,23,.18);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}
  .mobile-cart-bar div{display:grid;gap:2px;color:#0f172a;font-weight:950}
  .mobile-cart-bar span{font-size:12px;color:#475569}
  .mobile-cart-bar strong{font-size:18px;color:#064e3b}
  .mobile-cart-bar .btn{width:auto;min-height:42px;padding:10px 12px;white-space:nowrap}
  .mobile-cart-bar:not(.has-items){opacity:.92}
}

/* Booking right-side panel independent scroll */
.cart-sticky{
  max-height:calc(100vh - 108px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.booking-cart-scroll{
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.booking-cart-scroll .v703-cart-shell{
  margin-bottom:8px;
}
@media(max-width:1050px){
  .cart-sticky{
    max-height:min(78vh,720px);
    overflow-y:auto;
    overflow-x:hidden;
  }
  .booking-cart-scroll{
    max-height:none;
    overflow:visible;
    border-bottom:0;
    margin-bottom:0;
    padding-bottom:0;
  }
}
@media(max-width:760px){
  .cart-sticky{
    max-height:70vh;
  }
}
