.filter-search { flex: 1.35; min-width: 170px; border: 1px solid #dbe5ea; background: #fff; border-radius: 9px; padding: .7rem .85rem; color: #38536a; outline: none; }
.filter-bar input:focus, .filter-bar select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22,133,255,.1); outline: none; }
.results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: -1rem 0 1.4rem; color: #7790a3; font-size: .8rem; }
.results-toolbar p { margin: 0; }.results-toolbar strong { color: var(--ink); }
.featured-section { background: #0a1929; }.featured-section .section-heading h2 { color: #f5f9fc; }
.dark-ground-card { background: #102337; border-color: rgba(255,255,255,.08); }.dark-ground-card .ground-body { color: #f4f8fb; }.dark-ground-card .ground-body p { color: #8fa6b8; }.dark-ground-card .rating { color: #d7e4ed; }.ground-sports-line { margin-top: .8rem!important; color: #7890a0!important; font-size: .72rem!important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.homepage-empty { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: linear-gradient(120deg, rgba(22,133,255,.13), rgba(140,240,74,.05)); }.homepage-empty h3 { margin: .6rem 0; font-size: 1.5rem; }.homepage-empty p { color: #8fa7b9; margin: 0; max-width: 480px; }
.location-strip { background: #e8f1f4; color: var(--ink); padding: 4.5rem 0; }.location-strip .container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }.location-strip h2 { font-size: 2.3rem; margin: .55rem 0 0; }.location-pills { display: flex; gap: .7rem; flex-wrap: wrap; justify-content: end; }.location-pills a { display: flex; align-items: center; gap: .6rem; border: 1px solid #cbdde4; background: rgba(255,255,255,.64); border-radius: 12px; padding: .75rem .9rem; color: var(--ink); font-weight: 700; font-size: .8rem; }.location-pills a:hover { border-color: var(--blue); }.location-pills i { color: var(--blue); }.location-pills span { display: block; color: #7590a0; font-size: .66rem; font-weight: 400; }
.back-link { display: inline-flex; align-items: center; gap: .4rem; color: #93aec0; font-size: .78rem; margin-bottom: 2rem; }.back-link:hover { color: var(--green); }.detail-hero p { margin: 0; }
.detail-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 1.4rem; align-items: start; }.detail-gallery { min-height: 360px; border-radius: 20px; overflow: hidden; background: linear-gradient(135deg,#083c5c,#157d83); }.detail-gallery img { width: 100%; height: 360px; object-fit: cover; display: block; }.detail-placeholder { min-height: 360px; display: grid; place-items: center; align-content: center; gap: .5rem; color: rgba(255,255,255,.65); font-size: 3.5rem; }.detail-placeholder span { font-size: .8rem; }.detail-copy { padding: 2rem .2rem; }.detail-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.detail-heading h2 { font-size: 2rem; margin: .55rem 0 .9rem; }.detail-copy > p { color: #7891a2; max-width: 680px; }.chip-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.3rem 0; }.sport-chip { border-radius: 20px; padding: .42rem .7rem; background: #e4f1f7; color: #28749a; font-size: .72rem; font-weight: 700; }.sport-chip i { margin-right: .2rem; }.address-card { display: flex; align-items: center; gap: .8rem; border-top: 1px solid #dfe8ec; border-bottom: 1px solid #dfe8ec; padding: 1rem 0; }.address-card > i { color: var(--blue); font-size: 1.3rem; }.address-card strong,.address-card span { display: block; }.address-card strong { font-size: .83rem; }.address-card span { color: #7e95a5; font-size: .73rem; }.address-card .text-link { margin-left: auto; font-size: .75rem; }
.booking-panel { position: sticky; top: 1.5rem; background: #fff; border: 1px solid #dfe9ed; border-radius: 20px; padding: 1.4rem; box-shadow: 0 20px 40px rgba(15,50,72,.07); }.booking-panel-head h2 { font-size: 2rem; margin: .6rem 0 .5rem; }.booking-panel-head p { color: #8096a5; font-size: .78rem; }.date-picker { margin: 1.2rem 0; }.date-picker label { display: block; color: #7890a2; font-size: .72rem; margin-bottom: .35rem; }.date-picker > div { display: flex; gap: .5rem; }.date-picker input { width: 100%; border: 1px solid #dbe5ea; border-radius: 9px; padding: .7rem; color: #38536a; }.date-picker .btn { padding: .7rem .75rem; white-space: nowrap; }.slot-list { border-top: 1px solid #e2eaee; }.slot-row { display: flex; align-items: center; justify-content: space-between; gap: .7rem; border-bottom: 1px solid #e2eaee; padding: .85rem 0; }.slot-row strong,.slot-row span { display: block; }.slot-row > div:first-child strong { font-size: .85rem; }.slot-row > div:first-child span { color: #8197a5; font-size: .7rem; }.slot-price { text-align: right; }.slot-price strong { color: var(--ink); font-size: .75rem; margin-bottom: .4rem; }.slot-price .btn { padding: .38rem .55rem; font-size: .7rem; }
.narrow-container { max-width: 820px; }.review-card { border: 1px solid #dfe8ec; border-radius: 20px; padding: 1.6rem; background: #fff; color: var(--ink); box-shadow: 0 16px 35px rgba(15,50,72,.06); }.review-card-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.review-card-head h2 { margin: .55rem 0 .25rem; font-size: 1.75rem; }.review-card-head p { color: #7890a0; margin: 0; font-size: .78rem; }.review-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #e3f2fc; color: var(--blue); font-size: 1.4rem; }.review-details { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 1.5rem 0; padding: 1rem 0; border-top: 1px solid #e5edf0; border-bottom: 1px solid #e5edf0; }.review-details span,.price-breakdown span { display: block; color: #8499a7; font-size: .7rem; }.review-details strong { display: block; font-size: .8rem; margin-top: .25rem; }.price-breakdown > div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; color: #587285; font-size: .8rem; }.price-breakdown strong { color: var(--ink); }.price-advance { margin: .45rem -.65rem; padding: .8rem .65rem!important; border-radius: 10px; background: #e8f8df; color: #246d3c!important; }.price-advance strong { color: #246d3c; }.price-advance small { display: inline-block; margin-left: .25rem; color: #438353; font-weight: 700; }.secure-note { color: #8299a8; font-size: .7rem; text-align: center; margin: 1rem 0 0; }.secure-note i { color: #39a969; margin-right: .25rem; }
.payment-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 1rem; align-items: start; }.payment-instructions { background: #09233a; border-radius: 20px; padding: 1.5rem; color: #f4f8fb; }.payment-instructions .review-card-head h2 { color: #fff; }.payment-instructions .review-card-head p { color: #94aec0; }.advance-callout { margin: 1.6rem 0; padding: 1.2rem; border-radius: 15px; background: linear-gradient(130deg,#1685ff,#0d4878); }.advance-callout span,.advance-callout small { display: block; color: #bad8ee; font-size: .72rem; }.advance-callout strong { display: block; color: #fff; font: 700 2rem "Space Grotesk"; margin: .2rem 0; }.manual-methods { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.1rem; }.manual-methods h3 { font-size: 1rem; }.manual-methods > div { display: flex; flex-wrap: wrap; gap: .45rem; }.manual-methods span { padding: .45rem .6rem; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; color: #c4d9e7; font-size: .7rem; }.manual-methods i { color: var(--green); }.manual-methods p { color: #809aab; font-size: .7rem; margin: .9rem 0 0; }.payment-form { display: flex; flex-direction: column; gap: .45rem; }.payment-form label { color: #7890a2; font-size: .73rem; margin-top: .45rem; }.payment-form input,.payment-form select { width: 100%; border: 1px solid #d7e3e8; border-radius: 9px; padding: .75rem; color: #38536a; outline: none; background: #fff; }.payment-form input:focus,.payment-form select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22,133,255,.1); }.field-help { color: #8197a5; font-size: .68rem; margin: .2rem 0 .35rem; }
.booking-detail-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); gap: 1rem; align-items: start; }.payment-summary { display: flex; align-items: center; gap: .7rem; background: #eaf5f8; border-radius: 11px; padding: .75rem; margin-top: 1rem; }.payment-summary > i { color: var(--blue); font-size: 1.25rem; }.payment-summary strong,.payment-summary span { display: block; }.payment-summary strong { font-size: .75rem; }.payment-summary span { color: #7890a0; font-size: .7rem; }.qr-pass-card { border-radius: 20px; padding: 1.5rem; text-align: center; background: #fff; color: var(--ink); border: 1px solid #dfe8ec; }.qr-pass-heading { text-align: left; }.qr-pass-heading h2 { font-size: 1.7rem; margin: .5rem 0 1rem; }.qr-active { box-shadow: 0 16px 35px rgba(15,50,72,.06); }.qr-code { display: grid; place-items: center; width: 220px; height: 220px; margin: .5rem auto 1rem; padding: 15px; background: #fff; border-radius: 12px; }.qr-code img { max-width: 100%; }.qr-pass-card p { color: #7b91a0; font-size: .7rem; }.qr-inactive { background: #eef4f6; }.qr-locked { display: grid; place-items: center; padding: 3rem 1rem; color: #7d93a0; }.qr-locked i { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #dbe8ed; color: #6e8997; font-size: 1.4rem; margin-bottom: 1rem; }.qr-locked strong { font-size: .85rem; }.qr-locked p { margin: .5rem 0 0; }
.customer-overview { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-bottom: 1rem; }.avatar-large { width: 48px; height: 48px; font-size: 1.1rem; }.profile-card { display: flex; align-items: center; gap: .8rem; padding: 1.2rem; border-radius: 18px; background: #09243c; color: #fff; }.profile-card > div:not(.avatar) { flex: 1; }.profile-card span,.profile-card small { display: block; color: #9eb4c4; font-size: .7rem; }.profile-card strong { display: block; font-size: .9rem; margin: .2rem 0; }.profile-card .text-link { color: var(--green); }.dashboard-columns { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 1rem; margin-bottom: 1rem; }.booking-row-link { color: inherit; text-decoration: none; }.booking-row-link:hover { background: #f6fafc; margin: 0 -.7rem; padding-left: .7rem; padding-right: .7rem; border-radius: 10px; }.row-chevron { color: #a2b5c0; }.notifications-card { min-height: 100%; }.notification-row { display: flex; gap: .7rem; padding: .9rem 0; border-top: 1px solid #edf1f3; }.notification-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: .35rem; border-radius: 50%; background: var(--blue); }.notification-dot.read { background: #c2d2db; }.notification-row strong,.notification-row p,.notification-row small { display: block; }.notification-row strong { font-size: .78rem; }.notification-row p { color: #7f94a2; font-size: .72rem; margin: .2rem 0; }.notification-row small { color: #a0b1ba; font-size: .65rem; }.notification-empty { min-height: 150px; display: grid; place-items: center; align-content: center; color: #96aab5; text-align: center; }.notification-empty i { font-size: 1.6rem; color: #6f91a3; }.notification-empty p { max-width: 210px; font-size: .75rem; }.history-card,.account-card { margin-top: 1rem; }.sportonom-table { width: 100%; border-collapse: collapse; color: var(--ink); font-size: .8rem; }.sportonom-table th { color: #8096a3; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; text-align: left; padding: .7rem; border-bottom: 1px solid #e4ecef; }.sportonom-table td { padding: .9rem .7rem; border-bottom: 1px solid #edf1f3; }.sportonom-table td small { display: block; color: #8297a4; font-size: .68rem; margin-top: .2rem; }.account-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }.account-grid span,.account-grid strong { display: block; }.account-grid span { color: #8096a3; font-size: .7rem; }.account-grid strong { font-size: .8rem; margin-top: .25rem; }
.decision-actions { display: flex; gap: .35rem; flex-wrap: wrap; }.decision-actions form { margin: 0; }
.customer-layout { display: grid; grid-template-columns: minmax(210px, 240px) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.customer-sidebar { position: sticky; top: 1.3rem; border-radius: 22px; padding: 1.15rem .8rem; background: linear-gradient(165deg, #0a1a2b, #10283c); color: #fff; box-shadow: 0 18px 42px rgba(13,34,52,.14); border: 1px solid rgba(255,255,255,.06); }
.customer-sidebar-brand { display: flex; align-items: center; gap: .7rem; padding: .65rem .6rem 1.3rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.customer-sidebar-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: linear-gradient(135deg, #63b7ff, #b5f36d); color: #07111f; }
.customer-sidebar-brand strong, .customer-sidebar-brand small { display: block; }.customer-sidebar-brand strong { font: 700 .9rem "Space Grotesk"; }.customer-sidebar-brand small { color: #7890a6; font-size: .63rem; margin-top: .12rem; }
.customer-sidebar nav { display: grid; gap: .25rem; padding: 1rem 0; }
.customer-sidebar a { display: flex; align-items: center; gap: .7rem; border-radius: 11px; padding: .75rem .7rem; color: #8fa6b8; font-size: .8rem; font-weight: 700; text-decoration: none; border: 1px solid transparent; transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.customer-sidebar a:hover { transform: translateX(2px); color: #fff; background: rgba(22,133,255,.12); }
.customer-sidebar a.active { border-color: rgba(73,163,255,.15); background: linear-gradient(100deg, rgba(22,133,255,.22), rgba(22,133,255,.08)); color: #fff; }
.customer-sidebar a.active i { color: #b5f36d; }.customer-sidebar a i { width: 18px; color: #6f8da3; font-size: 1rem; }
.customer-sidebar-foot { border-top: 1px solid rgba(255,255,255,.1); padding-top: .8rem; display: grid; gap: .2rem; }
.customer-main { min-width: 0; animation: workspace-enter 420ms var(--sport-ease) both; }
.customer-sidebar .workspace-nav-toggle { display: none; align-items: center; justify-content: center; gap: .4rem; min-height: 46px; padding: .6rem .85rem; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.07); color: #e9f2f8; font: 700 .88rem "DM Sans", sans-serif; }
.customer-settings-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 1rem; align-items: start; }
.customer-settings-card { min-width: 0; }
.customer-settings-icon, .customer-security-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #e4f2fb; color: var(--blue); font-size: 1.3rem; }
.customer-settings-form label { display: block; color: #587186; font-size: .74rem; font-weight: 700; margin: .8rem 0 .35rem; }
.customer-settings-form input { width: 100%; border: 1px solid #dce7ed; border-radius: 10px; background: #fff; color: #17334b; outline: none; padding: .72rem .8rem; }
.customer-settings-form input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22,133,255,.12); }
.customer-settings-form input:disabled { background: #f2f6f8; color: #7e93a1; cursor: not-allowed; }
.customer-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 .85rem; }
.customer-settings-help { display: flex; gap: .4rem; color: #7890a1; font-size: .72rem; margin: 1rem 0 0; }
.customer-settings-help i { color: var(--blue); }
.customer-settings-actions { display: flex; justify-content: flex-end; gap: .6rem; padding-top: 1.1rem; }
.customer-security-card { background: linear-gradient(145deg,#09243c,#0b5262); color: #fff; min-height: 100%; }
.customer-security-card p { color: #b4ced5; font-size: .82rem; }
.customer-security-icon { margin: 1.5rem 0 1rem; background: rgba(140,240,74,.15); color: #8cf04a; }
.customer-security-card h2 { font-size: 1.55rem; margin-bottom: .7rem; }
.customer-security-card .btn { margin-top: .8rem; }
@media (max-width: 991.98px) { .detail-grid,.payment-layout,.booking-detail-grid { grid-template-columns: 1fr; }.booking-panel { position: static; }.customer-overview { grid-template-columns: repeat(2,1fr); }.profile-card { grid-column: span 2; }.dashboard-columns { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) { .explore-filters { display: grid; }.explore-filters .filter-search,.explore-filters select,.explore-filters input,.explore-filters .btn { width: 100%; min-width: 0; margin-bottom: 0; }.results-toolbar { align-items: start; }.homepage-empty,.location-strip .container { display: block; }.homepage-empty .btn { margin-top: 1.2rem; }.location-pills { justify-content: start; margin-top: 1.5rem; }.location-pills a { width: 100%; flex-wrap: wrap; }.location-pills span { width: 100%; margin-left: 1.5rem; }.detail-gallery,.detail-gallery img,.detail-placeholder { min-height: 260px; height: 260px; }.detail-copy { padding: 1.5rem 0; }.date-picker > div { display: block; }.date-picker .btn { width: 100%; margin-top: .5rem; }.review-card,.payment-instructions,.qr-pass-card { padding: 1.1rem; }.review-details { grid-template-columns: 1fr; }.customer-overview { grid-template-columns: 1fr; }.profile-card { grid-column: auto; }.booking-row { align-items: start; }.booking-row .status-badge { max-width: 110px; text-align: center; }.account-grid { grid-template-columns: 1fr 1fr; } }
@media print { .site-header,.site-footer,.mobile-bottom-nav,.page-hero,.flash-wrap,.qr-pass-card button { display: none!important; }.section-light { padding: 0; }.booking-detail-grid { display: block; }.review-card { box-shadow: none; } }
@media (max-width: 991.98px) {
    .customer-layout { grid-template-columns: 1fr; gap: 1.2rem; }
    .customer-sidebar { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .55rem; padding: .7rem; border-radius: 18px; }
    .customer-sidebar .workspace-nav-toggle { display: inline-flex; }
    .customer-settings-grid { grid-template-columns: 1fr; }
    .customer-sidebar-brand { min-width: 0; padding: .3rem .25rem; border: 0; }
    .customer-sidebar nav { display: none !important; grid-column: 1 / -1; width: 100%; max-height: min(58dvh, 420px); overflow-y: auto; padding: .65rem 0 .2rem; border-top: 1px solid rgba(255,255,255,.1); }
    .customer-sidebar.is-open nav { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .35rem; }
    .customer-sidebar nav a { min-height: 46px; padding: .65rem .7rem; white-space: normal; }
    .customer-sidebar nav a span { display: block; line-height: 1.25; }
    .customer-sidebar nav a i { flex: 0 0 19px; }
    .customer-sidebar-foot { display: none; grid-column: 1 / -1; padding-top: .55rem; }
    .customer-sidebar.is-open .customer-sidebar-foot { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .35rem; }
    .customer-sidebar-foot a { min-height: 42px; padding: .6rem .7rem; }
}
@media (max-width: 575.98px) {
    .customer-sidebar { margin-inline: 0; }
    .customer-sidebar-brand small { display: none; }
    .customer-sidebar.is-open nav { grid-template-columns: 1fr; }
    .customer-sidebar nav a { min-height: 50px; font-size: .9rem; }
    .customer-form-grid, .customer-settings-grid { grid-template-columns: 1fr; }
    .customer-settings-actions { justify-content: stretch; }
    .customer-settings-actions .btn { flex: 1; }
}