/* Misma base negro mate de Canchas. Halo detrás de cada tarjeta, sin
   pulsaciones, escalas ni cambios de tamaño al enfocar/completar. */
#detailModal:has(#openFormSection[style*="block"]){background:linear-gradient(145deg,#0b1016,#06090d);border-color:#27323e}
#openForm .open-reservation-person{--open-step-rgb:99 173 255}
#openForm .open-reservation-deposit{--open-step-rgb:155 92 255}
#openForm .open-reservation-repeat{--open-step-rgb:97 233 160}
#openForm :is(.open-reservation-person,.open-reservation-deposit,.open-reservation-repeat){position:relative;border-color:#27313d;background:linear-gradient(145deg,#0b1016,#070b10);box-shadow:inset 0 1px #ffffff04;outline:none;transition:box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
#openForm .open-reservation-heading{justify-content:flex-start;gap:8px;flex-wrap:wrap}
#openForm .open-reservation-heading .open-step-number{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;padding:0;border:1px solid rgb(var(--open-step-rgb)/.3);border-radius:8px;background:rgb(var(--open-step-rgb)/.07);color:rgb(var(--open-step-rgb));font:700 11px/1 Inter,sans-serif;letter-spacing:.5px}
#openForm .open-reservation-heading .open-step-title{flex:1;min-width:95px;padding:0;border:0;border-radius:0;background:none;color:#e1e8f2;font:650 13px/1.4 Inter,sans-serif;white-space:normal}
#openForm .open-reservation-heading .open-step-status{min-width:82px;margin-left:auto;padding:3px 6px;border-color:#303a46;color:#9aabbd;text-align:center;font:500 9px/1.4 Inter,sans-serif;font-variant-numeric:tabular-nums}
#openForm.open-steps-enabled .is-step-complete{border-color:rgb(var(--open-step-rgb)/.4);box-shadow:0 0 17px 1px rgb(var(--open-step-rgb)/.11),inset 0 1px rgb(var(--open-step-rgb)/.08)}
#openForm.open-steps-enabled .is-step-complete .open-step-status{color:rgb(var(--open-step-rgb));border-color:rgb(var(--open-step-rgb)/.3);background:rgb(var(--open-step-rgb)/.06)}
#openForm.open-steps-enabled .is-step-active,#openForm.open-steps-enabled :is(.open-reservation-person,.open-reservation-deposit,.open-reservation-repeat):focus-within{border-color:rgb(var(--open-step-rgb)/.8);box-shadow:0 0 25px 3px rgb(var(--open-step-rgb)/.21),inset 0 0 24px rgb(var(--open-step-rgb)/.035)}
#openForm.open-steps-enabled .is-step-active .open-step-number{border-color:rgb(var(--open-step-rgb)/.7);background:rgb(var(--open-step-rgb)/.18);color:#f1f6ff}
#openForm .is-step-review .open-step-status{color:#ddc1aa}
#openForm :is(.open-reservation-person,.open-reservation-deposit,.open-reservation-repeat):focus-visible{outline:2px solid rgb(var(--open-step-rgb)/.7);outline-offset:3px}
#openForm :is(.open-reservation-person,.open-reservation-deposit,.open-reservation-repeat) :is(input,select):focus{outline-color:rgb(var(--open-step-rgb));border-color:rgb(var(--open-step-rgb)/.8);box-shadow:0 0 0 3px rgb(var(--open-step-rgb)/.12)}
#openForm .open-deposit-toggle input{accent-color:#9b5cff}
#openForm .field :is(input,select){background:#070c12;border-color:#293440}
#openForm .field :is(input,select):disabled{background:#090d13;border-color:#222b36}
#openForm #openAvailabilityHint{background:#0a1119!important;border-color:#2a3844!important}
#openReservationPreview{background:linear-gradient(145deg,#0b1016,#070c11);border-color:#293743}
@media(hover:hover){#openForm.open-steps-enabled :is(.open-reservation-person,.open-reservation-deposit,.open-reservation-repeat):not(.is-step-active):not(.is-step-complete):hover{border-color:rgb(var(--open-step-rgb)/.55)}}
@media(prefers-reduced-motion:reduce){#openForm :is(.open-reservation-person,.open-reservation-deposit,.open-reservation-repeat){transition:none}}
