:root{--sr-primary:#1e4fad;--sr-primary-dark:#163d8a;--sr-primary-soft:#eef4ff;--sr-ink:#111318;--sr-muted:#64748b;--sr-subtle:#f8f9fb;--sr-surface:#ffffff;--sr-line:#e8edf4;--sr-line-strong:#d6deea;--sr-success:#16a34a;--sr-warning:#d97706;--sr-danger:#dc2626;--sr-radius-sm:0.5rem;--sr-radius:0.75rem;--sr-radius-lg:1rem;--sr-shadow-sm:0 1px 2px rgba(17,19,24,0.04);--sr-shadow:0 8px 24px rgba(30,79,173,0.08);--sr-shadow-lg:0 18px 48px rgba(17,19,24,0.12);--bs-primary:var(--sr-primary);--bs-primary-rgb:30,79,173;--bs-body-font-family:"Noto Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--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:radial-gradient(circle at top left,rgba(30,79,173,0.08),transparent 30rem),linear-gradient(180deg,#ffffff 0,var(--sr-subtle) 18rem);color:var(--sr-ink);text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,.navbar-brand,.btn{font-family:"Plus Jakarta Sans",var(--bs-body-font-family)}h1,.h1{font-weight:800;letter-spacing:0}h2,h3,.h2,.h3{font-weight:750}a{text-decoration-thickness:0.08em;text-underline-offset:0.18em}.text-muted{color:var(--sr-muted)!important}.app-navbar{min-height:4.75rem;background:rgba(255,255,255,0.92);border-bottom:1px solid #f0f2f4;backdrop-filter:blur(14px)}.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:800;letter-spacing:0}.navbar-brand:hover,.navbar-brand:focus{color:var(--sr-primary)}.brand-logo{width:8.75rem;height:8.75rem;flex:0 0 auto;margin:-3.45rem 0;object-fit:contain}.navbar-nav{gap:0.15rem}.navbar .nav-link{border-radius:var(--sr-radius-sm);color:#475569;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}.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;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:800;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:#fbfcfe}.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:800;letter-spacing:0.06em}.btn{--bs-btn-border-radius:var(--sr-radius-sm);--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-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;box-shadow:0 10px 20px rgba(30,79,173,0.16)}.btn-primary:hover,.btn-primary:focus{box-shadow:0 12px 26px rgba(30,79,173,0.24)}.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)}.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:#f3f6fb;--bs-btn-hover-border-color:#c8d3e2}.btn-success{--bs-btn-bg:var(--sr-success);--bs-btn-border-color:var(--sr-success)}.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-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:#17438f;--bs-alert-bg:#eff6ff;--bs-alert-border-color:#cfe0ff}.alert-secondary{--bs-alert-color:#334155;--bs-alert-bg:#f8fafc;--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-stack{position:fixed;z-index:1080;top:5.25rem;right:1rem;display:flex;width:min(100% - 2rem,26rem);flex-direction:column;gap:0.75rem;pointer-events:none}.app-message{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0.75rem;align-items:center;min-height:3.75rem;margin:0;padding:0.85rem 0.95rem;border:1px solid rgba(17,19,24,0.1);border-left:0;border-radius:var(--sr-radius);background:var(--sr-ink);color:#fff;box-shadow:0 18px 45px rgba(17,19,24,0.16);pointer-events:auto}.app-message::before{position:absolute;top:0.7rem;bottom:0.7rem;left:0;width:4px;border-radius:0 999px 999px 0;background:var(--sr-primary);content:""}.app-message-icon{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,0.14);color:#fff;font-size:1.25rem}.app-message-text{color:#fff;font-weight:700;line-height:1.35}.app-message-close{width:1rem;height:1rem;padding:0.75rem;border-radius:999px;filter:invert(1) grayscale(100%) brightness(200%);opacity:0.78}.app-message-close:hover,.app-message-close:focus{opacity:1}.app-message-success::before{background:#22c55e}.app-message-warning::before{background:#f59e0b}.app-message-error::before,.app-message-danger::before{background:var(--sr-danger)}.app-message-info::before,.app-message-debug::before{background:var(--sr-primary)}.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:#e0f2fe!important;color:#075985!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:#fbfcff}.table{--bs-table-color:var(--sr-ink);--bs-table-border-color:var(--sr-line);margin-bottom:0}.table thead th{background:#f8fafc;color:#64748b;font-size:0.75rem;font-weight:800;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:#fbfcff}.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:#fbfcfe}.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:800;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:#f8fafc;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:800}.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:#f8fafc;font-size:0.78rem;font-weight:750}.booking-calendar-event--approved{color:var(--sr-success);background:#ecfdf3}.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:800}.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-discount,.facility-list-status{display:inline-flex;min-height:1.45rem;align-items:center;border-radius:999px;font-size:0.8rem;font-weight:800;line-height:1.1}.facility-list-discount{color:var(--sr-success)}.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}.location-card{cursor:pointer;transition:border-color 0.18s ease,box-shadow 0.18s ease,transform 0.18s ease}.location-card:hover,.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-card-media{height:13.75rem;object-fit:cover}.location-card-placeholder{height:13.75rem;background:linear-gradient(135deg,#eef4ff,#f8fafc)}.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:800}.stepper-dot.is-active{border-color:var(--sr-primary);background:var(--sr-primary);color:#fff}.stepper-dot.is-complete{border-color:var(--sr-success);background:var(--sr-success);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-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(30,79,173,0.14),transparent 26rem),var(--sr-subtle)}.auth-card{width:min(100%,28rem)}.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:#475569;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:#fbfcff}.account-info-label{color:var(--sr-muted);font-size:0.74rem;font-weight:800;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:800}.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:#fbfcff}.account-settings-actions{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:flex-end;flex:0 0 auto}@media (max-width:767.98px){.app-navbar{min-height:4rem}.app-shell{padding-top:1rem}.app-toast-stack{top:4.5rem;right:0.75rem;left:0.75rem;width:auto}.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-card-media,.location-card-placeholder{height:11rem}.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%}}