:root{--sr-primary:var(--schoolroom-blue);--sr-primary-dark:#163d8a;--sr-primary-soft:var(--schoolroom-mist);--sr-ink:var(--schoolroom-ink);--sr-muted:var(--schoolroom-muted);--sr-subtle:#f7f9fd;--sr-surface:var(--schoolroom-white);--sr-line:#e8edf4;--sr-line-strong:#d6deea;--sr-success:var(--schoolroom-green);--sr-success-text:var(--schoolroom-green-text);--sr-success-soft:var(--schoolroom-mint);--sr-warning:#d97706;--sr-danger:#dc2626;--sr-radius-sm:0.5rem;--sr-radius:var(--schoolroom-radius);--sr-radius-lg:var(--schoolroom-radius);--sr-shadow-sm:0 1px 2px rgba(20,43,69,0.04);--sr-shadow:0 8px 24px rgba(30,79,173,0.08);--sr-shadow-lg:0 18px 48px rgba(20,43,69,0.12);--bs-primary:var(--sr-primary);--bs-primary-rgb:30,79,173;--bs-success:var(--sr-success-text);--bs-success-rgb:19,115,54;--bs-secondary-rgb:83,101,124;--bs-dark-rgb:20,43,69;--bs-body-font-family:var(--schoolroom-font-body);--bs-body-color:var(--sr-ink);--bs-body-bg:var(--sr-subtle);--bs-link-color:var(--sr-primary);--bs-link-hover-color:var(--sr-primary-dark);--bs-border-color:var(--sr-line)}html{min-height:100%;scroll-behavior:smooth}body{min-height:100vh;background:var(--sr-subtle);color:var(--sr-ink);text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,.navbar-brand,.btn{font-family:var(--schoolroom-font-display)}h1,.h1{font-weight:750;letter-spacing:-0.035em}h2,h3,.h2,.h3{font-weight:750}a{text-decoration-thickness:0.08em;text-underline-offset:0.18em}a.icon-link,a.icon-link:hover,a.icon-link:focus{text-decoration:none}.icon-link:hover>.icon-link-label,.icon-link:focus>.icon-link-label{text-decoration:underline;text-decoration-thickness:inherit}.text-muted{color:var(--sr-muted)!important}.app-navbar{min-height:4.75rem;background:var(--sr-surface);border-bottom:1px solid var(--sr-line)}.app-navbar .container-fluid{max-width:1280px;padding-left:1rem;padding-right:1rem}.navbar-brand{display:inline-flex;align-items:center;gap:0.65rem;color:var(--sr-ink);font-weight:750;letter-spacing:0;padding:0.625rem;margin-left:-0.625rem}.navbar-brand:hover,.navbar-brand:focus{color:var(--sr-primary)}.brand-logo{display:block;width:12.25rem;height:auto;flex:0 0 auto;object-fit:contain}.navbar-nav{gap:0.15rem}.navbar .nav-link{border-radius:var(--sr-radius-sm);color:var(--sr-muted);font-size:0.92rem;font-weight:650;padding:0.55rem 0.75rem;transition:background-color 0.16s ease,color 0.16s ease}.navbar .nav-link:hover,.navbar .nav-link:focus,.navbar .nav-link.active{background:var(--sr-primary-soft);color:var(--sr-primary)}.navbar-toggler{border:1px solid var(--sr-line);border-radius:var(--sr-radius-sm);box-shadow:none!important}:where(a,button,summary,input,select,textarea):focus-visible,.btn:focus-visible,.navbar-toggler:focus-visible{outline:3px solid var(--sr-primary);outline-offset:3px}@media (max-width:1199.98px){.app-navbar .navbar-collapse{padding-block:0.75rem;border-top:1px solid var(--sr-line)}.app-navbar .navbar-nav{gap:0.375rem}.app-navbar .navbar-nav + .navbar-nav{margin-top:0.375rem}}.app-shell{padding:1.75rem 0 3.5rem}.app-container{max-width:1280px}.app-container>.container{max-width:none;padding-left:0;padding-right:0}.page-shell{padding-top:0.5rem;padding-bottom:2rem}.page-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.page-title{margin-bottom:0.35rem;color:var(--sr-ink)}.page-kicker{display:inline-flex;align-items:center;gap:0.4rem;margin-bottom:0.55rem;color:var(--sr-primary);font-size:0.78rem;font-weight:750;letter-spacing:0.06em;text-transform:uppercase}.page-description{max-width:42rem;margin-bottom:0;color:var(--sr-muted)}.app-card,.card{border:1px solid var(--sr-line);border-radius:var(--sr-radius);background:var(--sr-surface);box-shadow:var(--sr-shadow-sm)}.card{overflow:hidden}.card.shadow-sm,.shadow-sm{box-shadow:var(--sr-shadow-sm)!important}.card:hover.shadow-sm{box-shadow:var(--sr-shadow)!important}.card-header,.card-footer{border-color:var(--sr-line);background:var(--sr-subtle)}.card-header{font-weight:750}.card-body{padding:1.35rem}.section-label,.card-subtitle,.text-uppercase.text-muted{color:var(--sr-muted)!important;font-size:0.74rem;font-weight:750;letter-spacing:0.06em}.btn{--bs-btn-border-radius:var(--sr-radius);--bs-btn-font-weight:750;display:inline-flex;min-height:2.45rem;align-items:center;justify-content:center;gap:0.4rem;border-width:1px;box-shadow:none;transition:background-color 0.15s ease,border-color 0.15s ease,color 0.15s ease,box-shadow 0.15s ease}.btn-sm{min-height:2rem;border-radius:0.45rem;font-size:0.82rem}.btn-lg{min-height:3rem;border-radius:0.7rem}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:var(--sr-primary);--bs-btn-border-color:var(--sr-primary);--bs-btn-hover-bg:var(--sr-primary-dark);--bs-btn-hover-border-color:var(--sr-primary-dark);--bs-btn-active-bg:#123578;--bs-btn-active-border-color:#123578;--bs-btn-disabled-bg:var(--sr-primary);--bs-btn-disabled-border-color:var(--sr-primary);--bs-btn-focus-shadow-rgb:30,79,173}.btn-primary:hover,.btn-primary:focus{box-shadow:var(--sr-shadow-sm)}.btn-outline-primary{--bs-btn-color:var(--sr-primary);--bs-btn-border-color:rgba(30,79,173,0.32);--bs-btn-hover-bg:var(--sr-primary);--bs-btn-hover-border-color:var(--sr-primary);--bs-btn-active-bg:var(--sr-primary-dark);--bs-btn-active-border-color:var(--sr-primary-dark);--bs-btn-disabled-color:var(--sr-primary);--bs-btn-disabled-border-color:var(--sr-primary);--bs-btn-focus-shadow-rgb:30,79,173}.btn-outline-secondary,.btn-secondary{--bs-btn-color:var(--sr-ink);--bs-btn-border-color:var(--sr-line-strong);--bs-btn-bg:#fff;--bs-btn-hover-color:var(--sr-ink);--bs-btn-hover-bg:var(--sr-primary-soft);--bs-btn-hover-border-color:#c8d3e2;--bs-btn-active-color:var(--sr-primary);--bs-btn-active-bg:var(--sr-primary-soft);--bs-btn-active-border-color:var(--sr-primary);--bs-btn-disabled-color:var(--sr-muted);--bs-btn-disabled-bg:var(--sr-subtle);--bs-btn-disabled-border-color:var(--sr-line-strong);--bs-btn-focus-shadow-rgb:30,79,173}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:var(--sr-success-text);--bs-btn-border-color:var(--sr-success-text);--bs-btn-hover-bg:#0f5e2c;--bs-btn-hover-border-color:#0f5e2c;--bs-btn-active-bg:#0c4b23;--bs-btn-active-border-color:#0c4b23;--bs-btn-disabled-bg:var(--sr-success-text);--bs-btn-disabled-border-color:var(--sr-success-text);--bs-btn-focus-shadow-rgb:19,115,54}.btn-outline-success{--bs-btn-color:var(--sr-success-text);--bs-btn-border-color:var(--sr-success-text);--bs-btn-hover-bg:var(--sr-success-text);--bs-btn-hover-border-color:var(--sr-success-text);--bs-btn-active-bg:#0f5e2c;--bs-btn-active-border-color:#0f5e2c;--bs-btn-disabled-color:var(--sr-success-text);--bs-btn-disabled-border-color:var(--sr-success-text);--bs-btn-focus-shadow-rgb:19,115,54}.btn-link{min-height:0;color:var(--sr-primary);font-weight:750;text-decoration:none}.btn-link:hover,.btn-link:focus{color:var(--sr-primary-dark);text-decoration:underline}.form-delete-toggle{position:relative;display:inline-flex}.form-delete-toggle input[type="checkbox"]{display:none}.form-delete-button{width:2rem;min-width:2rem;height:2rem;padding:0}.form-label,label{color:var(--sr-ink);font-size:0.9rem;font-weight:650}.form-control,.form-select{border-color:var(--sr-line-strong);border-radius:var(--sr-radius-sm);color:var(--sr-ink);min-height:2.45rem}.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--sr-primary);box-shadow:0 0 0 0.2rem rgba(30,79,173,0.14)}.form-check-input:checked{background-color:var(--sr-primary);border-color:var(--sr-primary)}.form-text,.helptext{color:var(--sr-muted);font-size:0.82rem}.errorlist{margin:0.35rem 0 0;padding-left:0;color:var(--sr-danger);font-size:0.82rem;list-style:none}.alert{border-radius:var(--sr-radius);border-width:1px;box-shadow:var(--sr-shadow-sm)}.alert-info{--bs-alert-color:var(--sr-primary);--bs-alert-bg:var(--sr-primary-soft);--bs-alert-border-color:#cfe0ff}.alert-success{--bs-alert-color:var(--sr-success-text);--bs-alert-bg:var(--sr-success-soft);--bs-alert-border-color:#c4e6ce}.alert-secondary{--bs-alert-color:var(--sr-ink);--bs-alert-bg:var(--sr-subtle);--bs-alert-border-color:var(--sr-line)}.alert-warning{--bs-alert-color:#854d0e;--bs-alert-bg:#fffbeb;--bs-alert-border-color:#fde68a}.alert-danger,.alert-error{--bs-alert-color:#991b1b;--bs-alert-bg:#fef2f2;--bs-alert-border-color:#fecaca}.alert-debug{color:var(--sr-ink);background-color:#fff;border-color:var(--sr-line)}.app-toast-viewport{position:fixed;z-index:1080;inset:4.75rem 0 auto;pointer-events:none}.app-toast-stack{display:flex;width:min(calc(100% + 2rem),28rem);max-height:calc(100vh - 7.25rem);max-height:calc(100dvh - 7.25rem);margin-left:auto;margin-right:-1rem;padding:1rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:0.75rem;pointer-events:auto}.app-toast-stack:empty{display:none}.app-toast{--toast-accent:var(--sr-primary);--toast-tint:var(--sr-primary-soft);position:relative;display:grid;grid-template-columns:2.5rem minmax(0,1fr) 2rem;flex-shrink:0;gap:0.875rem;align-items:start;padding:1rem;border:1px solid rgba(148,163,184,0.25);border-radius:1rem;background:var(--sr-surface);color:var(--sr-ink);box-shadow:0 2px 5px rgba(20,43,69,0.04),0 12px 32px -12px rgba(20,43,69,0.2);animation:app-toast-enter 220ms ease-out both}.app-toast-icon{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--toast-accent) 12%,transparent);border-radius:0.75rem;background:var(--toast-tint);color:var(--toast-accent)}.app-toast-text{min-width:0;padding-block:0.5rem;font-size:0.875rem;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.app-toast-text a{color:var(--sr-primary);text-decoration:underline}.app-toast-text>:last-child{margin-bottom:0}.app-toast-close{display:inline-flex;width:2rem;height:2rem;margin-top:0.25rem;padding:0;align-items:center;justify-content:center;border:0;border-radius:0.5rem;background:transparent;color:var(--sr-muted);cursor:pointer;transition:background-color 150ms ease,color 150ms ease}.app-toast-close:hover{background:var(--sr-primary-soft);color:var(--sr-ink)}.app-toast-close:focus-visible{outline:2px solid var(--sr-primary);outline-offset:2px}.app-toast-success{--toast-accent:var(--sr-success-text);--toast-tint:var(--sr-success-soft)}.app-toast-warning{--toast-accent:#b45309;--toast-tint:#fff7e6}.app-toast-error{--toast-accent:#b91c1c;--toast-tint:#fff0f0}@keyframes app-toast-enter{from{opacity:0;transform:translateY(-0.5rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.app-toast{animation:none}.app-toast-close{transition:none}}.badge{border-radius:999px;font-weight:750;letter-spacing:0;padding:0.42em 0.65em}.bg-primary,.text-bg-primary{background-color:var(--sr-primary)!important}.text-primary{color:var(--sr-primary)!important}.bg-info,.text-bg-info{background-color:var(--sr-primary-soft)!important;color:var(--sr-primary)!important}.text-bg-success,.badge.bg-success{background-color:var(--sr-success-soft)!important;color:var(--sr-success-text)!important}.bg-light{background-color:var(--sr-subtle)!important}.list-group{border-radius:var(--sr-radius);box-shadow:var(--sr-shadow-sm)}.list-group-item{border-color:var(--sr-line);color:var(--sr-ink)}.list-group-item:first-child{border-top-left-radius:var(--sr-radius);border-top-right-radius:var(--sr-radius)}.list-group-item:last-child{border-bottom-right-radius:var(--sr-radius);border-bottom-left-radius:var(--sr-radius)}.list-group-item-action:hover,.list-group-item:hover{background:var(--sr-subtle)}.table{--bs-table-color:var(--sr-ink);--bs-table-border-color:var(--sr-line);margin-bottom:0}.table thead th{background:var(--sr-subtle);color:var(--sr-muted);font-size:0.75rem;font-weight:750;letter-spacing:0.05em;text-transform:uppercase;white-space:nowrap}.table>:not(caption)>*>*{padding:0.85rem}.table-sm>:not(caption)>*>*{padding:0.62rem}.table-responsive{border:1px solid var(--sr-line);border-radius:var(--sr-radius);background:#fff}.table-responsive>.table{margin-bottom:0}.pagination{max-width:100%;flex-wrap:wrap;gap:0.35rem}.page-link{min-width:2.35rem;border-color:var(--sr-line);border-radius:var(--sr-radius-sm)!important;color:var(--sr-primary);font-weight:650;text-align:center}.active>.page-link,.page-link.active{background-color:var(--sr-primary);border-color:var(--sr-primary)}.nav-tabs{gap:0.35rem;border-bottom-color:var(--sr-line)}.nav-tabs .nav-link{border:0;border-radius:var(--sr-radius-sm) var(--sr-radius-sm) 0 0;color:var(--sr-muted);font-weight:750}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{background:var(--sr-primary-soft);color:var(--sr-primary)}.nav-tabs .nav-link.active{background:#fff;border:1px solid var(--sr-line);border-bottom-color:#fff;color:var(--sr-primary)}.modal-content{border:1px solid var(--sr-line);border-radius:var(--sr-radius-lg);box-shadow:var(--sr-shadow-lg)}.modal-header,.modal-footer{border-color:var(--sr-line)}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem;padding:2rem;border:1px dashed #cbd5e1;border-radius:var(--sr-radius);background:#fff}.empty-state-icon{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:var(--sr-radius);background:var(--sr-primary-soft);color:var(--sr-primary)}.soft-panel{border:1px solid var(--sr-line);border-radius:var(--sr-radius);background:var(--sr-subtle)}.booking-calendar-controls .form-label{color:var(--sr-muted);font-size:0.78rem;font-weight:750}.booking-calendar-toolbar,.booking-calendar-summary{display:flex;gap:1rem;align-items:center;justify-content:space-between}.booking-calendar-actions,.booking-calendar-legend{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center}.booking-calendar-scope{flex-wrap:wrap}.booking-calendar-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.85rem}.booking-calendar-legend{color:var(--sr-muted);font-size:0.84rem;font-weight:700}.booking-calendar-legend span{display:inline-flex;gap:0.35rem;align-items:center}.booking-calendar-dot{width:0.7rem;height:0.7rem;border-radius:999px}.booking-calendar-dot--approved{background:var(--sr-success)}.booking-calendar-dot--open{background:var(--sr-warning)}.booking-calendar-dot--rejected{background:var(--sr-danger)}.booking-calendar-months{display:grid;gap:1rem}.booking-calendar-month{overflow-x:auto;border:1px solid var(--sr-line);border-radius:var(--sr-radius);background:#fff;box-shadow:var(--sr-shadow-sm)}.booking-calendar-month-header{min-width:58rem;padding:1rem;border-bottom:1px solid var(--sr-line);background:var(--sr-subtle)}.booking-calendar-grid{display:grid;min-width:58rem;grid-template-columns:repeat(7,minmax(0,1fr))}.booking-calendar-weekday{padding:0.65rem 0.75rem;border-bottom:1px solid var(--sr-line);color:var(--sr-muted);font-size:0.76rem;font-weight:750;text-transform:uppercase}.booking-calendar-day{min-height:8.75rem;padding:0.6rem;border-right:1px solid var(--sr-line);border-bottom:1px solid var(--sr-line);background:#fff}.booking-calendar-day:nth-child(7n){border-right:0}.booking-calendar-day--muted{background:var(--sr-subtle);color:var(--sr-muted)}.booking-calendar-day--today{box-shadow:inset 0 0 0 2px rgba(30,79,173,0.28)}.booking-calendar-date{display:inline-flex;width:1.8rem;height:1.8rem;align-items:center;justify-content:center;border-radius:999px;font-size:0.86rem;font-weight:750}.booking-calendar-day--today .booking-calendar-date{background:var(--sr-primary);color:#fff}.booking-calendar-events{display:grid;gap:0.35rem;margin-top:0.45rem}.booking-calendar-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0.35rem;align-items:center;min-height:1.7rem;padding:0.25rem 0.4rem;border-left:0.22rem solid currentColor;border-radius:var(--sr-radius-sm);background:var(--sr-subtle);font-size:0.78rem;font-weight:750}.booking-calendar-event--approved{color:var(--sr-success-text);background:var(--sr-success-soft)}.booking-calendar-event--open{color:var(--sr-warning);background:#fff7ed}.booking-calendar-event--rejected{color:var(--sr-danger);background:#fef2f2}.booking-calendar-event-time{color:inherit;font-variant-numeric:tabular-nums}.booking-calendar-event-title{overflow:hidden;color:var(--sr-ink);text-overflow:ellipsis;white-space:nowrap}.icon-pill{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:var(--sr-radius-sm);background:var(--sr-primary-soft);color:var(--sr-primary);flex:0 0 auto}.display-icon{font-size:3.5rem}.white-space-pre-line{white-space:pre-line}.facility-list{--facility-list-gap:0.9rem}.facility-list-item{padding-top:0.95rem;padding-bottom:0.95rem}.facility-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--facility-list-gap);align-items:start}.facility-list-trigger{display:block;width:100%;min-width:0;color:var(--sr-ink);line-height:1.35}.facility-list-trigger:hover,.facility-list-trigger:focus{color:var(--sr-primary);text-decoration:none}.facility-list-name{display:block;overflow-wrap:anywhere;font-weight:750}.facility-list-description{display:-webkit-box;margin-top:0.25rem;overflow:hidden;color:var(--sr-muted);font-size:0.88rem;font-weight:650;-webkit-box-orient:vertical;-webkit-line-clamp:2}.facility-list-meta{display:flex;flex-wrap:wrap;gap:0.35rem;margin-top:0.45rem}.facility-list-type,.facility-list-discount,.facility-list-status{display:inline-flex;min-height:1.45rem;align-items:center;border-radius:999px;font-size:0.8rem;font-weight:750;line-height:1.1}.facility-list-type{color:var(--sr-primary)}.facility-list-discount{color:var(--sr-success-text)}.facility-list-status{color:var(--sr-muted)}.facility-list-action{flex:0 0 auto;white-space:nowrap}.facility-modal-image{max-height:25rem;object-fit:cover}.organisation-logo{max-height:9.5rem;max-width:100%;border-radius:var(--sr-radius)}.filter-select{max-width:14rem}.material-symbols-outlined{font-size:1.2em;line-height:1;vertical-align:-0.18em}.feature-card:hover,.target-card:hover{border-color:rgba(30,79,173,0.18)!important;box-shadow:var(--sr-shadow)!important;transform:translateY(-2px)}.location-list{overflow:hidden}.location-list-item{padding:1rem}.location-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.location-list-main{display:grid;min-width:0;grid-template-columns:5rem minmax(0,1fr);gap:1rem;align-items:center}.location-list-main:hover .location-list-title,.location-list-main:focus .location-list-title{color:var(--sr-primary)}.location-list-thumbnail,.location-list-image,.location-list-placeholder{width:5rem;height:5rem;border-radius:var(--sr-radius-sm)}.location-list-thumbnail{display:block;overflow:hidden;background:#fff;flex:0 0 auto}.location-list-image{object-fit:cover}.location-list-placeholder{display:flex;background:var(--sr-primary-soft)}.location-list-placeholder .material-symbols-outlined{font-size:2rem}.location-list-content{display:block;min-width:0}.location-list-title{display:block;color:var(--sr-ink);font-weight:750;line-height:1.25;transition:color 0.16s ease}.location-list-address,.location-list-description{display:block;margin-top:0.3rem;font-size:0.88rem;line-height:1.4}.location-list-address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-list-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.location-list-actions{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:flex-end}.profile-avatar,.location-avatar{width:6rem;height:6rem;border:1px solid var(--sr-line);border-radius:var(--sr-radius-lg);object-fit:cover;background:#fff}.stepper{margin-bottom:1.5rem}.stepper-line{position:absolute;top:1rem;left:0;z-index:0;width:100%;border-bottom:1px solid var(--sr-line)}.stepper-item{position:relative;z-index:1;min-width:5rem;background:var(--sr-subtle)}.stepper-dot{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--sr-line-strong);background:#fff;color:var(--sr-muted);font-size:0.85rem;font-weight:750}.stepper-dot.is-active{border-color:var(--sr-primary);background:var(--sr-primary);color:#fff}.stepper-dot.is-complete{border-color:var(--sr-success-text);background:var(--sr-success-text);color:#fff}.slot-btn{min-width:6.8rem;align-items:flex-start;flex-direction:column;gap:0}.uploaded-image-name,.location-main-image-name{height:2.4rem;line-height:1.2;overflow:hidden}.location-main-image,.location-thumb-image{max-width:100%;max-height:100%;width:auto;height:auto}.gallery-thumb{width:6.875rem;height:6.875rem;border-radius:var(--sr-radius-sm)}.uploaded-thumb{width:5rem;height:5rem;border-radius:var(--sr-radius-sm);object-fit:cover}.auth-page{background:#fff}.auth-page .app-toast-stack{width:min(100%,28rem);margin-inline:auto 0}.auth-shell{display:grid;min-height:100vh;min-height:100svh;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr)}.auth-aside{position:relative;display:flex;overflow:hidden;flex-direction:column;gap:2rem;padding:2.875rem clamp(2rem,5vw,5.5rem);color:#fff;background:var(--sr-ink)}.auth-aside::after{position:absolute;inset:auto 0 0;height:15rem;background:url("/static/brand/patterns/court-pattern-dark.fcbe38670888.svg?4cd6d2b6da0a") center / cover;opacity:0.3;content:"";pointer-events:none}.auth-brand{position:relative;z-index:1;display:flex;width:16rem;max-width:100%;padding:0.75rem;margin-left:-0.75rem;flex:0 0 auto;align-items:center}.auth-brand img{width:100%;height:auto;flex:0 0 auto}.auth-aside-copy{position:relative;z-index:1;max-width:32.5rem;margin-block:auto}.auth-eyebrow{margin-bottom:1.125rem;color:#bed5ff;font-size:0.72rem;font-weight:700;letter-spacing:0.09em;line-height:1.8;text-transform:uppercase}.auth-aside-copy h2{margin:0;font-size:clamp(2.25rem,3.6vw,3.5rem);font-weight:750;letter-spacing:-0.045em;line-height:1.12;text-wrap:balance}.auth-aside-copy h2 span{display:block;margin-top:0.3em;color:#bed5ff}.auth-lead{margin:1.5rem 0 1.75rem;color:#d7e4fb;font-size:1rem;line-height:1.75}.auth-benefits{display:grid;gap:0.875rem;margin:0;padding:0;list-style:none}.auth-benefits li{display:flex;align-items:center;gap:0.75rem;font-size:0.875rem;font-weight:600}.auth-benefits li span{display:grid;width:1.25rem;height:1.25rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--sr-success);color:var(--sr-ink);font-size:0.75rem;font-weight:750}.auth-aside-note{position:relative;z-index:1;margin:0;color:#bed5ff;font-size:0.75rem}.auth-content{display:grid;min-width:0;padding:3rem 1.75rem;place-items:center;background:var(--sr-primary-soft)}.auth-card{position:relative;width:min(100%,29rem);min-width:0;overflow:hidden;padding:2.375rem;border:1px solid var(--sr-line);border-radius:var(--sr-radius-lg);background:#fff;box-shadow:0 24px 60px rgba(22,61,138,0.09);overflow-wrap:anywhere}.auth-card h1{margin:0 0 0.75rem;color:var(--sr-ink);font-size:clamp(1.875rem,3vw,2.5rem);letter-spacing:-0.04em;line-height:1.15}.auth-card>p{color:var(--sr-muted);font-size:0.9375rem;line-height:1.7}.auth-card form{margin-top:1.75rem}.auth-card .form-control,.auth-card .form-select{min-height:3rem;padding:0.6875rem 0.8125rem}.auth-card .form-text{margin-top:0.5rem;font-size:0.8rem;line-height:1.65}.auth-card .form-text ul{margin-bottom:0;padding-left:1.125rem}.auth-card .form-check-label{font-size:0.8125rem;line-height:1.65}.auth-card .btn{width:100%;min-height:3rem}.auth-card a:not(.auth-brand):not(.btn){color:var(--sr-primary);font-weight:650}.auth-page a:focus-visible,.auth-page .btn:focus-visible{outline:3px solid #85aaf0;outline-offset:4px}.auth-footer{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--sr-line);text-align:center;font-size:0.8125rem}.auth-footer a{text-decoration:none}.auth-mobile-brand{display:none}@media (max-width:991.98px){.auth-aside{padding-inline:2rem}.auth-aside-copy h2{font-size:2.5rem}.auth-card{padding:1.75rem}}@media (max-width:767.98px){.auth-shell{grid-template-columns:minmax(0,1fr)}.auth-aside{display:none}.auth-content{padding:1.75rem 1.125rem}.auth-card{box-shadow:0 16px 42px rgba(22,61,138,0.08)}.auth-mobile-brand{display:flex;margin-bottom:2rem}}@media (max-width:420px){.auth-content{padding:1rem 0.75rem}.auth-card{padding:1.5rem 1.25rem}}.account-sidebar{position:sticky;top:6rem}.account-sidebar .card-body{padding:1rem}.account-avatar{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:var(--sr-radius);background:var(--sr-primary);color:#fff;flex:0 0 auto;box-shadow:0 10px 22px rgba(30,79,173,0.18)}.account-avatar .material-symbols-outlined{font-size:1.55rem}.min-width-0{min-width:0}.account-nav{margin-right:-1rem;margin-bottom:-1rem;margin-left:-1rem;box-shadow:none}.account-nav .list-group-item{display:flex;gap:0.65rem;align-items:center;border-right:0;border-left:0;color:var(--sr-muted);font-weight:750;padding:0.85rem 1rem}.account-nav .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.account-nav .list-group-item:last-child{border-bottom-right-radius:var(--sr-radius);border-bottom-left-radius:var(--sr-radius)}.account-nav .list-group-item.active{border-color:rgba(30,79,173,0.16);background:var(--sr-primary-soft);color:var(--sr-primary)}.account-content-card .card-body{padding:1.5rem}.account-panel-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--sr-line)}.account-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.account-info-card{display:flex;gap:1rem;align-items:center;min-width:0;padding:1rem;border:1px solid var(--sr-line);border-radius:var(--sr-radius);background:var(--sr-subtle)}.account-info-label{color:var(--sr-muted);font-size:0.74rem;font-weight:750;letter-spacing:0.06em;text-transform:uppercase}.account-info-value{color:var(--sr-ink);font-size:1rem;font-weight:750;overflow-wrap:anywhere}.account-action-card{display:flex;gap:1rem;align-items:center;height:100%;padding:1rem;border:1px solid var(--sr-line);border-radius:var(--sr-radius);background:#fff;color:var(--sr-ink);transition:border-color 0.18s ease,box-shadow 0.18s ease,transform 0.18s ease}.account-action-card:hover,.account-action-card:focus{border-color:rgba(30,79,173,0.26);box-shadow:var(--sr-shadow);color:var(--sr-ink);transform:translateY(-1px)}.account-action-icon,.account-settings-icon{display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:var(--sr-radius-sm);background:var(--sr-primary-soft);color:var(--sr-primary);flex:0 0 auto}.account-action-title{display:block;color:var(--sr-ink);font-weight:750}.account-action-copy{display:block;color:var(--sr-muted);font-size:0.88rem}.account-list-item{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem}.account-settings-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--sr-line)}.account-settings-stack{display:flex;flex-direction:column;gap:1rem}.account-settings-panel{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem;border:1px solid var(--sr-line);border-radius:var(--sr-radius);background:var(--sr-subtle)}.account-settings-actions{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:flex-end;flex:0 0 auto}.finder-filter-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;padding:1rem;color:var(--sr-primary);font-weight:700;cursor:pointer;list-style:none}.finder-filter-toggle::-webkit-details-marker{display:none}.finder-filters[open]>.finder-filter-toggle{border-bottom:1px solid var(--sr-line)}.finder-filters[open]>.finder-filter-toggle .material-symbols-outlined{transform:rotate(180deg)}.finder-filter-toggle:focus-visible,.finder-type-option:focus-within{outline:3px solid var(--sr-primary);outline-offset:-3px}.finder-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem}.finder-type-option{display:flex;align-items:center;gap:0.65rem;min-height:48px;margin:0;padding:0.65rem;border:1px solid var(--sr-line-strong);border-radius:var(--sr-radius-sm);font-size:0.875rem;line-height:1.4;overflow-wrap:anywhere;cursor:pointer}.finder-type-option .form-check-input{flex:0 0 1.15rem;width:1.15rem;height:1.15rem;margin:0}.finder-type-option:has(:checked){border-color:var(--sr-primary);background:var(--sr-primary-soft);color:var(--sr-primary-dark)}.facility-finder .form-control,.facility-finder .form-select{min-width:0;min-height:48px;font-size:1rem}.facility-finder .btn,.facility-finder .page-link{min-height:44px}.facility-finder .location-list-content{overflow-wrap:anywhere}.facility-finder .location-list-address{white-space:normal}.facility-finder #results-heading{scroll-margin-top:6rem}@media (min-width:992px){.finder-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767.98px){.facility-finder .form-label{font-size:0.875rem}.finder-form-actions .btn,.facility-finder .location-list-actions .btn{width:100%;justify-content:center}.facility-finder .pagination{flex-wrap:wrap;row-gap:0.5rem}.app-navbar{min-height:4rem}.app-shell{padding-top:1rem}.app-toast-viewport{top:4.5rem}.app-toast-stack{width:calc(100% + 2rem);margin-left:-1rem;max-height:calc(100vh - 5.75rem);max-height:calc(100dvh - 5.75rem)}.app-toast{gap:0.625rem;padding:0.875rem}.page-header{flex-direction:column}.page-header .btn,.page-header .btn-group,.page-header>div:last-child{width:100%}.card-body{padding:1rem}.table-responsive{border-radius:var(--sr-radius-sm)}.location-list-row{grid-template-columns:1fr}.location-list-main{grid-template-columns:4.25rem minmax(0,1fr);gap:0.85rem}.location-list-thumbnail,.location-list-image,.location-list-placeholder{width:4.25rem;height:4.25rem}.location-list-actions{justify-content:flex-start}.account-sidebar{position:static}.account-content-card .card-body{padding:1rem}.account-panel-header,.account-settings-panel,.account-list-item{flex-direction:column;align-items:stretch}.booking-calendar-toolbar,.booking-calendar-summary{flex-direction:column;align-items:stretch}.booking-calendar-actions .btn,.booking-calendar-scope,.booking-calendar-scope .btn{width:100%}.booking-calendar-filter-grid{grid-template-columns:1fr}.account-summary-grid{grid-template-columns:1fr}.account-settings-actions{justify-content:stretch}.account-settings-actions .btn{width:100%}}.booking-summary{position:fixed;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 2rem));bottom:1rem;z-index:1020;background:#fff;border:2px solid var(--sr-primary);box-shadow:0 4px 24px #16366a22;max-height:42vh;overflow-y:auto}#booking-form{padding-bottom:12rem}.slot-btn[aria-pressed="true"]{outline:3px solid #123578;outline-offset:2px}.slot-btn .slot-check{visibility:hidden}.slot-btn[aria-pressed="true"] .slot-check{visibility:visible}.booking-steps li{color:var(--sr-muted)}.booking-steps [aria-current="step"]{color:var(--sr-primary)}.subscription-preview-month{min-width:0}.subscription-preview-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.subscription-preview-day{min-height:3.5rem;padding:.25rem;border:1px solid var(--sr-line);font-size:.75rem;overflow-wrap:anywhere}.subscription-preview-day.has-event{background:var(--sr-primary-soft)}.subscription-preview-day.has-conflict{background:#fff0df}.damage-reports{max-width:1120px}.damage-booking-fields{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:0.5rem 1rem}.damage-booking-fields dt,.damage-booking-fields dd{min-width:0;margin:0}.damage-report-photo{object-fit:cover}.damage-reports #report-form,.damage-reports article{scroll-margin-top:6rem}@media (max-width:575px){.damage-booking-fields{grid-template-columns:minmax(0,1fr);gap:0.125rem}.damage-booking-fields dd{margin-bottom:0.625rem}.booking-summary{bottom:.5rem}.subscription-preview-day{font-size:.65rem}}