:root{--facility-blue: #001840;--facility-lighter-blue: #155dfc;--facility-white: #fdfdfd;--facility-black: #000206;--facility-light-green: #00c950;--facility-dark-green: #0d6f3c;--facility-light-red: #ffc9c9;--facility-dark-yellow: #894b00;--facility-light-yellow: #fff085;--facility-light-gray: #e5e7eb;--facility-dark-gray: #1e2939;--facility-muted: #6b7280}.facility-catalog-page{background:#f7f8fb;color:var(--facility-black);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.catalog-back-nav{max-width:var(--enc-shell-max-width, 1760px);margin:0 auto;padding:var(--enc-shell-padding-block, clamp(1.5rem, 3vw, 3.5rem)) var(--enc-shell-padding-inline, clamp(1rem, 5vw, 3.25rem)) 0}.catalog-back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--facility-blue);text-decoration:none;font-weight:600;font-size:.95rem}.catalog-back-link svg{width:16px;height:16px}.catalog-back-link:hover{color:var(--facility-lighter-blue)}.facility-hero{background:linear-gradient(135deg,#fafdff,#f5f8ff 40%,#eef6ff);border-bottom:1px solid rgba(0,24,64,.08)}.facility-hero .hero-title{color:var(--facility-blue);letter-spacing:-.02em}.facility-catalog-page .container{max-width:var(--enc-shell-max-width, 1760px);padding-left:var(--enc-shell-padding-inline, clamp(1rem, 5vw, 3.25rem));padding-right:var(--enc-shell-padding-inline, clamp(1rem, 5vw, 3.25rem))}.facility-hero .hero-pill{display:inline-flex;align-items:center;gap:.4rem;background:#00184014;color:var(--facility-blue);border-radius:999px;padding:.35rem .95rem;font-size:.85rem;font-weight:500}.facility-hero .hero-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.facility-hero .metric-card{background:var(--facility-white);border-radius:1rem;padding:1.2rem;border:1px solid rgba(0,24,64,.08);box-shadow:0 12px 30px #00184014}.facility-hero .metric-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--facility-muted);margin-bottom:.35rem}.facility-hero .metric-value{font-size:1.8rem;font-weight:600;color:var(--facility-blue)}.facility-catalog-shell{margin-top:0;padding-top:3rem;position:relative;z-index:2}.facility-catalog-shell .catalog-card{background:var(--facility-white);border-radius:24px;border:1px solid rgba(0,24,64,.08);box-shadow:0 25px 60px #0018401f;padding:2rem}.facility-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.facility-filter-bar label{font-size:.85rem;font-weight:600;color:var(--facility-dark-gray);margin-bottom:.35rem}.facility-filter-bar .form-control,.facility-filter-bar .form-select{border-radius:.9rem;padding:.75rem 1rem;border:1px solid var(--facility-light-gray)}.facility-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:2rem;margin-top:1.5rem}@media(max-width:1200px){.facility-layout{grid-template-columns:1fr}}.facility-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem}.facility-grid-placeholder{border:1px dashed rgba(0,24,64,.2);border-radius:1rem;padding:2rem;text-align:center;color:var(--facility-muted)}.facility-card{border-radius:1.5rem;border:1px solid rgba(0,24,64,.08);overflow:hidden;background:#fbfcff;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;display:flex;flex-direction:column}.facility-card:focus-visible{outline:3px solid var(--facility-lighter-blue);outline-offset:4px}.facility-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #00184026}.facility-card.is-active{border-width:2px;border-color:#155dfcb3;box-shadow:0 28px 60px #155dfc59,0 0 0 6px #155dfc26}.facility-card img{height:140px;-o-object-fit:cover;object-fit:cover;width:100%}.facility-card-body{padding:1rem 1.2rem 1.3rem;flex:1;display:flex;flex-direction:column;gap:.75rem}.facility-status{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:600}.facility-status.success{background:#00c9501f;color:var(--facility-dark-green)}.facility-status.warning{background:#fff08580;color:var(--facility-dark-yellow)}.facility-status.danger{background:#ffc9c999;color:#9f0712}.facility-status.info{background:#155dfc1f;color:var(--facility-lighter-blue)}.facility-card h3{font-size:1.05rem;margin:0;color:var(--facility-blue)}.facility-card-note{margin:0;font-size:.82rem;color:var(--facility-muted)}.facility-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;color:var(--facility-muted)}.facility-tags{display:flex;flex-wrap:wrap;gap:.4rem}.facility-tag{background:#0018400f;color:var(--facility-blue);border-radius:999px;padding:.2rem .8rem;font-size:.75rem;font-weight:500}.facility-detail-panel{border-radius:1.5rem;border:1px solid rgba(255,255,255,.2);background:linear-gradient(135deg,#062581,#000f29 35%,#004ccf 65%,#001840);background-size:220% 220%;animation:facilityDetailGradient 4s ease infinite;color:#fff;box-shadow:inset 0 1px #ffffff40,0 35px 80px #00184059;padding:1.8rem;display:flex;flex-direction:column;gap:1.2rem}@keyframes facilityDetailGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.facility-detail-media{position:relative;border-radius:1.2rem;overflow:hidden}.facility-detail-media img{width:100%;height:220px;-o-object-fit:cover;object-fit:cover;display:block}.facility-detail-media .status-pill{position:absolute;top:1rem;left:1rem;padding:.35rem .9rem;border-radius:999px;font-size:.8rem;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.facility-detail-title{margin:0;font-size:1.6rem;color:#fff}.facility-detail-desc{color:#ffffffe0;line-height:1.5}.facility-detail-statuscopy{color:#ffffffe6}.facility-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem}.facility-detail-meta .meta-box{padding:.75rem .8rem;border-radius:1rem;border:1px solid rgba(255,255,255,.25);background:#ffffff14}.facility-detail-meta .meta-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#ffffffa6;margin-bottom:.3rem}.facility-detail-meta .meta-value{font-size:1rem;font-weight:600;color:#fff}.facility-detail-section{border-top:1px solid rgba(255,255,255,.2);padding-top:1rem}.facility-detail-heading{letter-spacing:.08em;color:#fff}.facility-chip-group{display:flex;flex-wrap:wrap;gap:.5rem}.facility-chip{background:#ffffff26;color:#fff;padding:.35rem .9rem;border-radius:999px;font-size:.82rem}.facility-highlight-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}.facility-highlight-list li{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:#ffffffeb}.facility-highlight-list svg{flex-shrink:0;color:var(--facility-light-yellow)}.facility-timeline{border-left:2px solid rgba(255,255,255,.25);padding-left:1rem;display:flex;flex-direction:column;gap:.9rem}.facility-timeline-item{position:relative}.facility-timeline-item:before{content:"";position:absolute;left:-1.2rem;top:.25rem;width:.65rem;height:.65rem;background:var(--facility-light-yellow);border-radius:50%;box-shadow:0 0 0 4px #fff3}.facility-timeline-title{font-size:.85rem;font-weight:700;color:#fff9;text-transform:uppercase;letter-spacing:.08em}.facility-timeline-copy{font-size:.95rem;color:#ffffffe6}.facility-actions{display:flex;flex-wrap:wrap;gap:.75rem}.facility-actions .btn{border-radius:999px;padding:.65rem 1.4rem;font-weight:600}.btn-facility-primary{background:var(--facility-blue);color:#fff;border:none}.btn-facility-primary:hover{background:#002b7b;color:#fff}.btn-facility-secondary{border:1px solid rgba(0,24,64,.2);color:var(--facility-blue);background:transparent}.btn-facility-secondary:hover{border-color:var(--facility-blue);color:var(--facility-blue)}.facility-footnote{font-size:.8rem;color:var(--facility-muted);margin-top:.6rem}.facility-detail-panel .btn-facility-primary,.facility-detail-panel .btn-facility-secondary{background:#ffffff1f;color:#fff;border-color:#ffffff4d}.facility-detail-panel .btn-facility-primary:hover,.facility-detail-panel .btn-facility-secondary:hover{background:#ffffff40;color:#fff;border-color:#ffffff73}.facility-detail-panel .facility-footnote{color:#ffffffbf}.facility-availability-controls{display:flex;flex-direction:column;gap:.6rem}.facility-availability-toggle{border-radius:1rem;border:none;padding:.85rem 1.2rem;background:linear-gradient(135deg,#000618,#001840 35%,#033894 65%,#001840);background-size:220% 220%;animation:facilityDetailGradient 4s ease infinite;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:.75rem;box-shadow:0 12px 24px #00184040;transition:transform .2s ease,box-shadow .2s ease}.facility-availability-toggle svg{width:22px;height:22px;padding:.35rem;border-radius:999px;background:#ffffff26}.facility-availability-toggle:after{content:"▾";font-size:1rem;color:#ffffffe6;transition:transform .2s ease}.facility-availability-toggle[aria-expanded=true]:after{transform:rotate(180deg)}.facility-availability-toggle:hover{transform:translateY(-2px);box-shadow:0 16px 32px #0018404d}.facility-availability-panel{border:1px solid rgba(0,24,64,.12);border-radius:1rem;padding:.9rem;background:#00184005}.facility-availability-panel .input-group>.form-control{border-radius:999px 0 0 999px;padding-left:1rem}.facility-availability-panel .input-group>.btn{border-radius:0 999px 999px 0}.facility-availability-panel .btn-link{padding-left:0}.facility-availability-clear{border-radius:999px;border:1px solid rgba(0,24,64,.2);color:var(--facility-blue);font-weight:600;background:#00184008;padding:.4rem .85rem;transition:background .15s ease,color .15s ease,border-color .15s ease}.facility-availability-clear:hover{background:#155dfc1f;color:var(--facility-blue);border-color:var(--facility-lighter-blue)}.facility-availability-active{border-radius:1rem;border:1px solid rgba(0,24,64,.12);background:#fffaf0;display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.9rem 1rem}.facility-availability-active strong{color:var(--facility-dark-yellow)}.facility-empty{border:1px dashed rgba(0,24,64,.2);border-radius:1rem;padding:2rem;color:var(--facility-muted)}.facility-card[data-availability-state=available]{border-color:#00c95099}.facility-card[data-availability-state=limited]{border-color:var(--facility-light-yellow)}.facility-card[data-availability-state=occupied]{opacity:.55}
