/* Consistent Waseef layouts for supporting portal pages */
body.portal-screen { padding:0!important; background:#f5f8fc!important; }
.portal-screen>.container,.portal-screen form>.container { width:min(calc(100% - 28px),1050px)!important; max-width:1050px!important; margin:0 auto 48px!important; padding:0 20px 28px!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.portal-screen .navbar { margin:0 -20px 22px!important; border-radius:0 0 16px 16px!important; }
.portal-screen .panel.panel-default { border:0!important; border-radius:16px!important; background:#fff!important; box-shadow:0 14px 40px rgba(17,55,78,.10)!important; }
.portal-screen .panel-heading { border-radius:16px 16px 0 0!important; }
.portal-screen .panel-heading h4 { font-size:clamp(19px,3vw,25px)!important; font-weight:800!important; }
.portal-screen .panel.panel-default>.panel { padding:18px!important; }

/* Authentication and account forms */
.auth-screen { display:flex; min-height:100vh; flex-direction:column; justify-content:center; padding:28px 16px!important; }
.auth-screen::after { content:"Waseef Sports Booking"; display:block; margin:12px auto 0; color:#7b8d99; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.auth-screen>.logo { display:none!important; }
.auth-screen>.container { display:block!important; width:100%!important; max-width:none!important; padding:0!important; }
.auth-screen .form-signin { position:relative; width:calc(100vw - 32px)!important; max-width:470px!important; margin:0 auto!important; padding:34px!important; overflow:hidden; }
.auth-screen .form-signin::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--w-blue) 0 78%,var(--w-burgundy) 78%); }
.auth-screen .form-signin>div:first-child img,.auth-screen .form-signin img { display:block; width:auto!important; max-width:145px!important; max-height:110px; height:auto!important; margin:0 auto 20px; object-fit:contain; }
.auth-screen .form-signin>div:first-child span { display:block; margin:0 0 22px!important; color:var(--w-ink); font-size:23px!important; font-weight:800!important; text-align:center; }
.auth-screen .tooltip { display:block!important; width:100%!important; }
.auth-screen .form-control { width:100%!important; max-width:100%!important; margin:0 0 12px!important; border-radius:10px!important; }
.auth-screen .input-container { position:relative; display:grid!important; grid-template-columns:46px minmax(0,1fr); width:100%!important; max-width:none!important; margin:0 0 12px!important; padding:0!important; align-items:start; }
.auth-screen .input-container .icon { display:flex; align-items:center; justify-content:center; min-width:46px!important; height:46px; padding:0!important; border-radius:10px 0 0 10px; background:var(--w-blue-soft)!important; color:var(--w-blue)!important; }
.auth-screen .input-container .form-control { grid-column:2; margin:0!important; border-radius:0 10px 10px 0!important; }
.auth-screen .input-container span { grid-column:1 / -1; margin:5px 0 0 4px; font-size:12px; }
.auth-screen .button-container { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:8px 0 0!important; }
.auth-screen .button-container .button,.auth-screen .btn,.auth-screen .button { width:100%!important; margin:0!important; }
.auth-screen a>div { color:var(--w-blue-dark)!important; font-size:13px!important; }
.auth-screen [id$="lblError"]:empty { display:none!important; }

/* Data tables, reports and booking lists */
.data-screen .panel.panel-default>.panel { margin:0!important; border:0!important; }
.data-screen .table-responsive { margin:0; border:0!important; border-radius:12px; }
.data-screen .table { margin:0!important; white-space:nowrap; }
.data-screen .table th { position:sticky; top:0; z-index:1; }
.data-screen .table a { display:inline-flex; min-height:34px; align-items:center; padding:6px 10px; border:1px solid #bfd3df; border-radius:8px; background:#fff; font-size:12px; font-weight:700; }
.data-screen .table a:hover { border-color:var(--w-blue); background:var(--w-blue-soft); }
.data-screen .table a[id*="Cancel"] { border-color:#f0c4c0; color:#a62b22; }
.data-screen .table a[id*="Cancel"]:hover { background:#fff0ee; }
.data-screen .panel.panel-default>.panel:not(.panel-heading):first-of-type { padding:18px!important; }
.data-screen input[type="date"],.data-screen input[type="text"],.data-screen select { max-width:260px; }

/* Details, oonfirmations and status pages */
.detail-screen .panel.panel-default { max-width:760px; margin:0 auto; overflow:hidden; }
.detail-screen .panel.panel-default>.panel { display:flex; justify-content:space-between; gap:18px; margin:0!important; padding:14px 20px!important; border:0!important; border-bottom:1px solid #edf2f5!important; border-radius:0!important; }
.detail-screen .panel.panel-default>.panel>span:first-child { color:#6c808d; font-size:13px; font-weight:650!important; }
.detail-screen .panel.panel-default>.panel>span:nth-child(2) { color:var(--w-ink); font-weight:800; text-align:right; }
.detail-screen .panel-button-row { border-bottom:0!important; justify-content:center!important; }
.detail-screen input[type="submit"],.detail-screen input[type="button"] { min-width:160px; }

.status-screen form>.container,.status-screen>.container { max-width:760px!important; }
.status-screen .panel.panel-default { min-height:220px; display:flex; flex-direction:column; justify-content:center; text-align:center; }
.status-screen .panel.panel-default::before { content:"\2713"; display:flex; width:58px; height:58px; align-items:center; justify-content:center; margin:26px auto 12px; border-radius:50%; background:#e8f7f0; color:#14805a; font-size:28px; font-weight:800; }
.status-screen .panel.panel-default>div:not(.panel-heading) { padding:14px 24px 28px!important; color:var(--w-ink); font-size:17px; line-height:1.65; }
.status-screen [id$="lblError"] { background:transparent!important; color:var(--w-ink)!important; }

/* Public pricing page */
.home-screen { padding:0!important; background:#f5f8fc!important; }
.home-screen .topnav { position:sticky; top:0; z-index:20; }
.home-screen form>div[style*="max-width: 900px"] { position:relative; width:calc(100% - 28px)!important; max-width:1080px!important; margin:34px auto 50px!important; padding:clamp(24px,4vw,42px)!important; border:1px solid var(--w-border); border-radius:18px; background:#fff!important; box-shadow:0 14px 40px rgba(17,55,78,.09); }
.home-screen form>div[style*="max-width: 900px"]::before { content:"COURT PRICING"; display:inline-flex; margin-bottom:14px; padding:6px 10px; border-radius:20px; background:var(--w-blue-soft); color:var(--w-blue); font-size:10px; font-weight:800; letter-spacing:.14em; }
.home-screen h1 { max-width:none; margin:0 0 34px!important; padding:0 0 26px!important; border-bottom:1px solid #e4edf2; color:var(--w-ink)!important; font-size:clamp(20px,3vw,30px)!important; line-height:1.35; text-align:left!important; }
.home-screen h2 { margin:22px 0 12px!important; text-align:left!important; font-size:20px!important; }
.home-screen .Tables,.home-screen .FootballTables { margin-right:0!important; }

/* Master-page fallback */
.master-screen { padding-top:76px; }
.master-screen .navbar-fixed-top { border-radius:0!important; }
.master-screen .body-content { min-height:calc(100vh - 76px); padding-top:28px; }
.master-screen .jumbotron { border:1px solid var(--w-border); border-radius:16px; background:#fff; box-shadow:var(--w-shadow); }
.master-screen footer { color:#718592; font-size:12px; }

@media (max-width:767px) {
    .portal-screen>.container,.portal-screen form>.container { width:100%!important; padding:0 12px 22px!important; }
    .portal-screen .navbar { margin:0 -12px 14px!important; }
    .auth-screen { padding:14px 10px!important; }
    .auth-screen .form-signin { width:calc(100vw - 28px)!important; padding:26px 18px!important; }
    .auth-screen .form-signin>div:first-child img,.auth-screen .form-signin img { max-width:125px!important; max-height:92px; }
    .auth-screen .button-container { grid-template-columns:1fr; }
    .data-screen .panel.panel-default>.panel { padding:10px!important; }
    .detail-screen .panel.panel-default>.panel { padding:13px 14px!important; }
    .status-screen .panel.panel-default { min-height:190px; }
}

/* Responsive booking history */
.booking-list-screen form>.container { max-width:1400px!important; }
.booking-list-screen .panel.panel-default { overflow:hidden; }
.booking-list-screen .panel-heading { position:relative; padding:24px 26px 21px!important; background:linear-gradient(115deg,var(--w-blue-deep),var(--w-blue))!important; }
.booking-list-screen .panel-heading::after { content:""; position:absolute; right:0; bottom:0; left:0; height:3px; background:linear-gradient(90deg,var(--w-burgundy) 0 22%,var(--w-gold) 22% 34%,transparent 34%); }
.booking-list-screen .panel-heading h4 { margin:0!important; color:#fff!important; }
.booking-list-screen .panel-heading p { margin:6px 0 0; color:rgba(255,255,255,.78); font-size:13px; }
.booking-list-screen .table-responsive { width:100%; overflow-x:auto; border-radius:0!important; }
.booking-list-screen .table { width:100%!important; min-width:1080px; table-layout:auto; white-space:nowrap; }
.booking-list-screen .table th { padding:15px 13px!important; font-size:11px!important; text-transform:uppercase; letter-spacing:.055em; }
.booking-list-screen .table td { padding:14px 13px!important; }
.booking-list-screen .table td:nth-last-child(-n+3) { width:1%; padding-right:7px!important; padding-left:7px!important; }
.booking-list-screen .table a { justify-content:center; min-height:38px; white-space:nowrap; transition:border-color .18s,background .18s,color .18s,transform .18s; }
.booking-list-screen .table a:hover { transform:translateY(-1px); }
.booking-list-screen .table a[id*="PaymentReoeipt"] { border-color:rgba(0,103,177,.28); background:#f2f8fc; color:var(--w-blue-deep); }
.booking-list-screen .table a[id*="Reschedule"] { border-color:rgba(186,135,72,.42); color:#805924; }
.booking-list-screen .table a[id*="Cancel"] { background:#fff8f7; }
.booking-list-screen .table tfoot { display:none; }

@media (max-width:900px) {
    .booking-list-screen .panel-heading { padding:21px 18px 18px!important; }
    .booking-list-screen .table-responsive { padding:12px!important; overflow:visible; background:#f4f8fb; }
    .booking-list-screen .table { display:block; min-width:0; border:0!important; background:transparent!important; box-shadow:none!important; white-space:normal; }
    .booking-list-screen .table tbody { display:grid; gap:12px; }
    .booking-list-screen .table .booking-list-header { display:none; }
    .booking-list-screen .table tbody>tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; border:1px solid var(--w-border); border-radius:13px; background:#fff!important; box-shadow:0 5px 16px rgba(17,55,78,.07); }
    .booking-list-screen .table tbody>tr>td { display:grid; grid-template-columns:92px minmax(0,1fr); gap:8px; padding:7px 0!important; border:0!important; background:#fff!important; text-align:left!important; white-space:normal; }
    .booking-list-screen .table tbody>tr>td::before { color:#718491; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
    .booking-list-screen .table td:nth-child(1)::before { content:"Reference"; }
    .booking-list-screen .table td:nth-child(2)::before { content:"Date"; }
    .booking-list-screen .table td:nth-child(3)::before { content:"Time"; }
    .booking-list-screen .table td:nth-child(4)::before { content:"Sport"; }
    .booking-list-screen .table td:nth-child(5)::before { content:"Location"; }
    .booking-list-screen.madinatna-list .table td:nth-child(6)::before { content:"Cluster"; }
    .booking-list-screen.madinatna-list .table td:nth-child(7)::before { content:"Court"; }
    .booking-list-screen .table td:nth-last-child(-n+3) { display:block; width:auto; padding:9px 3px 0!important; }
    .booking-list-screen .table td:nth-last-child(3) { grid-column:1; }
    .booking-list-screen .table td:nth-last-child(2) { grid-column:2; }
    .booking-list-screen .table td:nth-last-child(1) { grid-column:1 / -1; }
    .booking-list-screen .table td:nth-last-child(-n+3)::before { content:none; }
    .booking-list-screen .table a { width:100%; min-height:42px; }
}

@media (max-width:520px) {
    .booking-list-screen .table tbody>tr { grid-template-columns:1fr; padding:14px; }
    .booking-list-screen .table tbody>tr>td,.booking-list-screen .table td:nth-last-child(-n+3) { grid-column:1; }
    .booking-list-screen .table tbody>tr>td { grid-template-columns:82px minmax(0,1fr); }
}
/* Desktop booking-list fit and hierarohy */
.booking-list-screen .panel-heading { display:block!important; }
.booking-list-screen .panel-heading h4,.booking-list-screen .panel-heading p { display:block; }
.booking-list-screen .table { min-width:0; table-layout:fixed; }
.booking-list-screen .table th,.booking-list-screen .table td { overflow-wrap:anywhere; }
.booking-list-screen .table th:nth-child(1) { width:11%; }
.booking-list-screen .table th:nth-child(2) { width:10%; }
.booking-list-screen .table th:nth-child(3) { width:12%; }
.booking-list-screen .table th:nth-child(4) { width:19%; }
.booking-list-screen .table th:nth-child(5) { width:11%; }
.booking-list-screen.madinatna-list .table th:nth-child(6),.booking-list-screen.madinatna-list .table th:nth-child(7) { width:7%; }
.booking-list-screen .table th:nth-last-child(3) { width:10%; }
.booking-list-screen .table th:nth-last-child(2) { width:9%; }
.booking-list-screen .table th:nth-last-child(1) { width:8%; }
.booking-list-screen .table td:nth-child(4) { white-space:normal; line-height:1.35; }
.booking-list-screen .table td:nth-last-child(-n+3) { white-space:nowrap; }
.booking-list-screen .table td:nth-last-child(-n+3) a { width:100%; padding:7px 8px; }
@media (min-width:901px) and (max-width:1180px) {
    .booking-list-screen .table th,.booking-list-screen .table td { padding-right:8px!important; padding-left:8px!important; font-size:12px!important; }
    .booking-list-screen .table td:nth-last-child(-n+3) a { min-height:36px; padding:6px 5px; font-size:11px; }
}
/* Booking history as reservation cards */
.booking-list-screen .table-responsive { padding:18px!important; overflow:visible; background:#f3f7fa; }
.booking-list-screen .table { display:block; min-width:0; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; white-space:normal; }
.booking-list-screen .table tbody { display:grid; gap:14px; }
.booking-list-screen .table .booking-list-header { display:none; }
.booking-list-screen .table tbody>tr { position:relative; display:grid; grid-template-columns:118px 145px minmax(170px,1fr) 105px 96px 82px 72px; grid-template-rows:auto auto; gap:5px 16px; align-items:center; padding:18px 18px 18px 22px; overflow:hidden; border:1px solid #dce7ed; border-radius:14px; background:#fff!important; box-shadow:0 5px 16px rgba(17,55,78,.065); transition:border-color .18s,box-shadow .18s,transform .18s; }
.booking-list-screen .table tbody>tr::before { content:""; position:absolute; top:0; bottom:0; left:0; width:4px; background:var(--w-blue); }
.booking-list-screen .table tbody>tr:hover { transform:translateY(-1px); border-color:#bfd5e1; box-shadow:0 9px 24px rgba(17,55,78,.10); }
.booking-list-screen .table tbody>tr>td { display:flex; min-width:0; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; padding:0!important; border:0!important; background:transparent!important; color:var(--w-ink)!important; text-align:left!important; white-space:normal; overflow-wrap:anywhere; }
.booking-list-screen .table tbody>tr>td::before { color:#788b97; font-size:9px; font-weight:850; letter-spacing:.095em; line-height:1.2; text-transform:uppercase; }
.booking-list-screen .table td:nth-child(1) { grid-column:1; grid-row:2; color:#617684!important; font-size:12px!important; }
.booking-list-screen .table td:nth-child(1)::before { content:"Reference"; }
.booking-list-screen .table td:nth-child(2) { grid-column:1; grid-row:1; color:var(--w-blue-deep)!important; font-size:15px!important; font-weight:850; }
.booking-list-screen .table td:nth-child(2)::before { content:"Date"; }
.booking-list-screen .table td:nth-child(3) { grid-column:2; grid-row:1; font-size:14px!important; font-weight:800; }
.booking-list-screen .table td:nth-child(3)::before { content:"Time"; }
.booking-list-screen .table td:nth-child(4) { grid-column:3; grid-row:1; font-weight:800; }
.booking-list-screen .table td:nth-child(4)::before { content:"Sport"; }
.booking-list-screen .table td:nth-child(5) { grid-column:2; grid-row:2; color:#526a79!important; }
.booking-list-screen .table td:nth-child(5)::before { content:"Location"; }
.booking-list-screen.madinatna-list .table td:nth-child(6) { grid-column:3; grid-row:2; }
.booking-list-screen.madinatna-list .table td:nth-child(6)::before { content:"Cluster"; }
.booking-list-screen.madinatna-list .table td:nth-child(7) { grid-column:4; grid-row:2; }
.booking-list-screen.madinatna-list .table td:nth-child(7)::before { content:"Court"; }
.booking-list-screen .table td:nth-last-child(3),.booking-list-screen .table td:nth-last-child(2),.booking-list-screen .table td:nth-last-child(1) { grid-row:1 / 3; align-self:stretch; padding:0!important; }
.booking-list-screen .table td:nth-last-child(3) { grid-column:5; }
.booking-list-screen .table td:nth-last-child(2) { grid-column:6; }
.booking-list-screen .table td:nth-last-child(1) { grid-column:7; }
.booking-list-screen .table td:nth-last-child(-n+3)::before { content:none; }
.booking-list-screen .table td:nth-last-child(-n+3) a { width:100%; min-height:40px; padding:7px 8px; align-self:center; }
.booking-list-screen.mesaimeer-list .table tbody>tr { grid-template-columns:118px 145px minmax(190px,1fr) 130px 96px 82px 72px; }
.booking-list-screen.mesaimeer-list .table td:nth-last-child(3) { grid-column:5; }
.booking-list-screen.mesaimeer-list .table td:nth-last-child(2) { grid-column:6; }
.booking-list-screen.mesaimeer-list .table td:nth-last-child(1) { grid-column:7; }

@media (max-width:1050px) {
    .booking-list-screen .table tbody>tr { grid-template-columns:112px 135px minmax(150px,1fr) 82px 82px 72px 64px; gap:5px 10px; padding-right:12px; }
    .booking-list-screen.mesaimeer-list .table tbody>tr { grid-template-columns:112px 135px minmax(160px,1fr) 100px 82px 72px 64px; }
    .booking-list-screen .table td:nth-last-child(-n+3) a { padding:6px 4px; font-size:10px; }
}

@media (max-width:900px) {
    .booking-list-screen .table-responsive { padding:12px!important; }
    .booking-list-screen .table tbody>tr,.booking-list-screen.mesaimeer-list .table tbody>tr { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:0 14px; padding:16px 14px 14px 18px; }
    .booking-list-screen .table tbody>tr>td,.booking-list-screen .table td:nth-child(n) { display:grid; grid-column:auto; grid-row:auto; grid-template-columns:84px minmax(0,1fr); gap:8px; align-items:center; padding:7px 0!important; font-size:13px!important; font-weight:600; }
    .booking-list-screen .table td:nth-last-child(-n+3) { display:block; align-self:auto; padding:9px 3px 0!important; }
    .booking-list-screen .table td:nth-last-child(3) { grid-column:1; }
    .booking-list-screen .table td:nth-last-child(2) { grid-column:2; }
    .booking-list-screen .table td:nth-last-child(1) { grid-column:1 / -1; }
    .booking-list-screen .table td:nth-last-child(-n+3) a { min-height:42px; padding:7px 8px; font-size:12px; }
}

@media (max-width:520px) {
    .booking-list-screen .table tbody>tr,.booking-list-screen.mesaimeer-list .table tbody>tr { grid-template-columns:1fr; }
    .booking-list-screen .table tbody>tr>td,.booking-list-screen .table td:nth-child(n),.booking-list-screen .table td:nth-last-child(-n+3) { grid-column:1; }
}
/* Native reservation cards (ListView markup) */
.booking-list-screen .booking-card-list { display:grid; gap:14px; padding:18px; background:#f3f7fa; }
.booking-list-screen .booking-card { position:relative; display:grid; grid-template-columns:145px minmax(180px,1fr) minmax(300px,1.4fr) auto; gap:18px; align-items:center; padding:20px 20px 20px 24px; overflow:hidden; border:1px solid #dce7ed; border-radius:14px; background:#fff; box-shadow:0 5px 16px rgba(17,55,78,.065); transition:.18s; }
.booking-list-screen .booking-card::before { content:""; position:absolute; top:0; bottom:0; left:0; width:4px; background:var(--w-blue); }
.booking-list-screen .booking-card:hover { transform:translateY(-1px); border-color:#bdd5e2; box-shadow:0 10px 25px rgba(17,55,78,.10); }
.booking-card__primary { display:grid; gap:5px; }
.booking-card__date { color:var(--w-blue-deep); font-size:16px; font-weight:850; }
.booking-card__time { color:#526b7a; font-size:13px; font-weight:700; }
.booking-card__sport { justify-self:start; padding:7px 11px; border-radius:999px; background:var(--w-blue-soft); color:var(--w-blue-deep); font-size:12px; font-weight:800; line-height:1.35; }
.booking-card__details { display:grid; grid-template-columns:repeat(4,minmax(70px,1fr)); gap:12px; margin:0; }
.mesaimeer-list .booking-card__details { grid-template-columns:repeat(2,minmax(100px,1fr)); }
.booking-card__details>div { min-width:0; }
.booking-card__details dt { margin-bottom:4px; color:#7a8d99; font-size:9px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.booking-card__details dd { margin:0; color:var(--w-ink); font-size:13px; font-weight:750; overflow-wrap:anywhere; }
.booking-card__actions { display:flex; gap:7px; justify-content:flex-end; }
.booking-list-screen .booking-action { display:inline-flex; min-height:39px; align-items:center; justify-content:center; padding:7px 11px; border:1px solid #bfd3df; border-radius:9px; background:#fff; color:var(--w-blue-deep); font-size:11px; font-weight:800; text-decoration:none; white-space:nowrap; transition:.18s; }
.booking-list-screen .booking-action:hover { transform:translateY(-1px); border-color:var(--w-blue); background:var(--w-blue-soft); }
.booking-list-screen .booking-action--details { background:#f2f8fc; }
.booking-list-screen .booking-action--reschedule { border-color:rgba(186,135,72,.45); color:#805924; }
.booking-list-screen .booking-action--cancel { border-color:#efc6c2; background:#fff8f7; color:#a62b22; }
.booking-list-screen .booking-action--cancel:hover { border-color:#d4938d; background:#fff0ee; }
.booking-card-empty { padding:52px 20px; border:1px dashed #c8d8e1; border-radius:14px; background:#fff; color:#607786; font-size:15px; font-weight:700; text-align:center; }
@media (max-width:1100px) {
    .booking-list-screen .booking-card { grid-template-columns:130px minmax(160px,1fr) minmax(240px,1.2fr); }
    .booking-card__actions { grid-column:1 / -1; justify-content:flex-end; padding-top:4px; }
}
@media (max-width:700px) {
    .booking-list-screen .booking-card-list { padding:12px; }
    .booking-list-screen .booking-card { grid-template-columns:1fr 1fr; gap:16px; padding:18px 16px 16px 20px; }
    .booking-card__sport { justify-self:end; }
    .booking-card__details { grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:13px; border-top:1px solid #e7eef2; }
    .booking-card__actions { display:grid; grid-column:1 / -1; grid-template-columns:1fr 1fr; }
    .booking-card__actions .booking-action--cancel { grid-column:1 / -1; }
}
@media (max-width:420px) {
    .booking-list-screen .booking-card { grid-template-columns:1fr; }
    .booking-card__sport { justify-self:start; }
    .booking-card__details,.booking-card__actions { grid-column:1; }
}
/* Collapsible reservation cards */
.booking-card__toggle { display:inline-flex; grid-column:1 / -1; min-height:38px; align-items:center; justify-content:center; gap:7px; margin-top:2px; padding:7px 12px; border:0; border-top:1px solid #e6edf1; background:transparent; color:#446273; font-family:inherit; font-size:11px; font-weight:850; cursor:pointer; }
.booking-card__toggle:hover,.booking-card__toggle:focus { color:var(--w-blue); outline:0; }
.booking-card__chevron { display:inline-block; color:var(--w-blue); font-size:18px; line-height:1; transition:transform .2s; }
.booking-card.is-expanded .booking-card__chevron { transform:rotate(180deg); }
.booking-card:not(.is-expanded) { grid-template-columns:145px minmax(180px,1fr) auto; grid-template-rows:auto; padding-top:16px; padding-bottom:10px; }
.booking-card:not(.is-expanded) .booking-card__details,.booking-card:not(.is-expanded) .booking-card__actions { display:none; }
.booking-card:not(.is-expanded) .booking-card__toggle { grid-column:3; align-self:stretch; margin:0; padding:7px 10px; border-top:0; border-left:1px solid #e6edf1; }
@media (max-width:700px) {
    .booking-card:not(.is-expanded) { grid-template-columns:1fr auto; }
    .booking-card:not(.is-expanded) .booking-card__sport { grid-column:1; justify-self:start; }
    .booking-card:not(.is-expanded) .booking-card__toggle { grid-column:2; grid-row:1 / 3; }
    .booking-card.is-expanded .booking-card__toggle { grid-column:1 / -1; }
}
@media (max-width:420px) {
    .booking-card:not(.is-expanded) { grid-template-columns:1fr; }
    .booking-card:not(.is-expanded) .booking-card__toggle { grid-column:1; grid-row:auto; border-top:1px solid #e6edf1; border-left:0; }
}
/* Calm reservation list */
.booking-list-screen{padding:0!important}.booking-list-screen form>.container{width:min(calc(100% - 32px),1100px)!important;max-width:1100px!important;margin:0 auto 60px!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.booking-list-screen .panel.panel-default{margin:0!important;overflow:visible;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.booking-list-screen .panel-heading{padding:8px 4px 24px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--w-ink)!important}.booking-list-screen .panel-heading:after{display:none}.booking-list-screen .panel-heading h4{color:var(--w-ink)!important;font-size:clamp(26px,3.5vw,38px)!important;letter-spacing:-.025em}.booking-list-screen .panel-heading p{margin-top:7px;color:#607786;font-size:14px}.booking-list-screen .table-responsive{padding:0!important;overflow:visible;background:transparent}.booking-list-screen .booking-card-list{gap:10px;padding:0;background:transparent}.booking-list-screen .booking-card{grid-template-columns:140px minmax(180px,1fr) minmax(300px,1.4fr) auto;gap:18px;padding:18px 20px;border:1px solid #d9e5ec;border-radius:15px;box-shadow:0 4px 14px rgba(17,55,78,.05)}.booking-list-screen .booking-card:before{display:none}.booking-list-screen .booking-card:hover{transform:none;border-color:#bcd5e2;box-shadow:0 8px 22px rgba(17,55,78,.075)}.booking-card__date{font-size:17px}.booking-card__time{font-size:12px}.booking-card__sport{padding:0;border-radius:0;background:transparent;color:var(--w-blue-deep);font-size:13px}.booking-card__details{padding:0}.booking-card__details dt{color:#7b8d98}.booking-card__actions{gap:6px}.booking-list-screen .booking-action{min-height:38px;border-color:#d2e0e7;border-radius:8px;background:#fff;font-size:11px}.booking-list-screen .booking-action--details{border-color:#b8d5e4;background:#edf7fc}.booking-list-screen .booking-action--reschedule{border-color:#dfc49e;background:#fffdf9}.booking-list-screen .booking-action--cancel{border-color:transparent;background:transparent;color:#a53a32}.booking-card__toggle{min-height:36px;margin:0;padding:7px 8px;border-color:#e5edf1;color:#506a79}.booking-card__chevron{font-size:15px}.booking-card:not(.is-expanded){grid-template-columns:140px minmax(180px,1fr) auto;padding:15px 18px}.booking-card:not(.is-expanded) .booking-card__toggle{padding-left:18px}
@media(max-width:700px){.booking-list-screen form>.container{width:calc(100% - 20px)!important;margin-bottom:38px!important}.booking-list-screen .panel-heading{padding:4px 5px 18px!important}.booking-list-screen .panel-heading h4{font-size:27px!important}.booking-list-screen .panel-heading p{max-width:330px;font-size:13px;line-height:1.5}.booking-list-screen .booking-card-list{gap:9px}.booking-list-screen .booking-card,.booking-card:not(.is-expanded){grid-template-columns:minmax(0,1fr) auto;gap:11px 14px;padding:16px;border-radius:13px}.booking-card__primary{grid-column:1;gap:3px}.booking-card__sport{grid-column:1;justify-self:start}.booking-card:not(.is-expanded) .booking-card__sport{grid-column:1}.booking-card:not(.is-expanded) .booking-card__toggle{grid-column:2;grid-row:1/3;align-self:stretch;min-width:86px;padding:8px 4px 8px 14px;border-top:0;border-left:1px solid #e5edf1}.booking-card.is-expanded .booking-card__details{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:3px;padding:15px 0 0;border-top:1px solid #e5edf1}.booking-card.is-expanded .booking-card__actions{display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;padding:2px 0}.booking-card.is-expanded .booking-card__actions .booking-action--cancel{grid-column:1/-1;min-height:34px}.booking-card.is-expanded .booking-card__toggle{grid-column:1/-1;margin-top:1px;border-top:1px solid #e5edf1}.booking-list-screen .booking-action{min-height:40px}}
@media(max-width:420px){.booking-list-screen form>.container{width:calc(100% - 16px)!important}.booking-list-screen .booking-card,.booking-card:not(.is-expanded){grid-template-columns:minmax(0,1fr) auto;padding:14px}.booking-card:not(.is-expanded) .booking-card__toggle{grid-column:2;grid-row:1/3;border-top:0;border-left:1px solid #e5edf1}.booking-card.is-expanded .booking-card__details,.booking-card.is-expanded .booking-card__actions,.booking-card.is-expanded .booking-card__toggle{grid-column:1/-1}}