/* Le plan de sièges garde deux paires séparées par une allée, même sur tablette.
   Les états utilisent texte, désactivation et contour en plus de la couleur. */
.seat-plan{grid-template-columns:repeat(2,minmax(0,1fr)) 12px repeat(2,minmax(0,1fr));gap:10px;max-width:340px;padding:14px 12px 22px;border:1px solid var(--border-strong);border-radius:32px 32px 14px 14px;background:linear-gradient(180deg,var(--surface-subtle),var(--surface-tint))}
.seat-plan .seat{min-height:45px;font-weight:650;border-radius:8px 8px 12px 12px;border-bottom-width:3px;transition:background .15s,transform .15s,box-shadow .15s}
.seat-plan .seat:nth-child(4n+1){grid-column:1}
.seat-plan .seat:nth-child(4n+2){grid-column:2;margin-right:0}
.seat-plan .seat:nth-child(4n+3){grid-column:4}
.seat-plan .seat:nth-child(4n){grid-column:5}
.seat-plan .seat:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 9px #064d6a15;border-color:var(--cmi-turquoise)}
.seat-plan .seat:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.seat-plan .seat.selected{border-color:var(--cmi-turquoise-strong);box-shadow:0 0 0 2px var(--surface-accent)}
.seat-plan .seat.occupied{background:repeating-linear-gradient(135deg,var(--border-soft),var(--border-soft) 5px,var(--border-soft) 5px,var(--border-soft) 6px);color:var(--text-muted);cursor:not-allowed;opacity:1;border-color:var(--border-strong)}
#passenger-form [readonly]{background:var(--surface-tint);color:var(--cmi-ocean);font-weight:700}
#passenger-form textarea{resize:vertical;min-height:68px}
#passenger-form .form-error{margin-top:15px}
#hr-search,#booking-search{max-width:460px}
#employee-form .form-grid,#time-form .form-grid,#absence-form .form-grid{align-items:start}
[data-help-player] button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:760px){.seat-plan{max-width:310px;gap:8px}.seat-plan .seat{min-height:44px}#passenger-form .form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.seat-plan .seat{transition:none}.seat-plan .seat:not(:disabled):hover{transform:none}}
