/* Room creation: clear play modes and account-owned hardware choices. */
.create-room-dialog [hidden] { display:none!important; }
.create-room-dialog .room-mode-picker,
.create-room-dialog .hardware-fieldset { min-width:0; margin:0; padding:0; border:0; }
.create-room-dialog .room-mode-picker > legend,
.create-room-dialog .hardware-fieldset > legend { margin-bottom:10px; padding:0; font-size:13px; color:#c8cad6; font-weight:600; }
.room-mode-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.create-room-dialog label.room-mode-choice { position:relative; display:block; cursor:pointer; }
.create-room-dialog .room-mode-choice > input { position:absolute; inset:0; z-index:1; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.room-mode-choice-body { position:relative; display:flex; min-height:152px; flex-direction:column; align-items:flex-start; gap:7px; border:1px solid #3b3e4c; border-radius:12px; padding:15px; background:#141620; transition:background .15s,border-color .15s; }
.room-mode-choice-body::after { content:''; position:absolute; right:13px; top:14px; width:15px; height:15px; border:1px solid #666d7a; border-radius:50%; }
.room-mode-choice input:checked + .room-mode-choice-body { border-color:#a6c96e; background:#c8ed830a; box-shadow:inset 0 0 0 1px #a6c96e44; }
.room-mode-choice input:checked + .room-mode-choice-body::after { border-color:#c8ed83; box-shadow:inset 0 0 0 4px #20291b; background:#c8ed83; }
.room-mode-choice input:focus-visible + .room-mode-choice-body { outline:2px solid var(--accent); outline-offset:3px; }
.room-mode-choice input:disabled + .room-mode-choice-body { opacity:.55; cursor:default; }
.room-mode-choice-body strong { color:#f0f1f5; font-size:16px; font-weight:650; }
.room-mode-choice-body small { color:#a8aebd; font-size:11px; line-height:1.7; font-weight:400; }
.room-mode-icon { display:grid; place-items:center; width:31px; height:31px; margin-bottom:2px; border-radius:8px; color:#c8ed83; background:#c8ed8310; font-size:24px; }
.room-mode-icon svg { width:23px; height:23px; }
.create-room-dialog #rfid-create-options { display:grid; gap:20px; padding:18px; border:1px solid #3c4650; border-radius:12px; background:#13151e; }
.physical-options-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:12px; }
.physical-options-heading > div { flex:1 1 160px; }
.physical-options-heading h3 { margin:0; color:#e5e9e1; font-size:15px; font-weight:650; }
.create-room-dialog .physical-options-heading p { margin:7px 0 0; color:#989faf; font-size:11px; line-height:1.7; }
.create-room-dialog .physical-options-heading button { flex:0 0 auto; margin:0; font-size:11px; min-height:36px; padding:7px 10px; }
.hardware-device-list { display:grid; gap:8px; }
.create-room-dialog label.hardware-device-choice { display:flex; align-items:center; gap:10px; min-height:76px; margin:0; padding:12px; border:1px solid #39434a; border-radius:9px; background:#1c2228; cursor:pointer; }
.create-room-dialog label.hardware-device-choice:has(input:checked) { border-color:#a2c46e; background:#c8ed830c; }
.create-room-dialog label.hardware-device-choice:has(input:focus-visible) { outline:2px solid var(--accent); outline-offset:3px; }
.create-room-dialog label.hardware-device-choice.unavailable { border-color:#30333e; background:#191b24; cursor:default; }
.create-room-dialog .hardware-device-choice input,
.create-room-dialog .hardware-deck-choice input { flex:none; width:17px; height:17px; min-height:0; margin:0; padding:0; accent-color:var(--accent); }
.hardware-device-copy { display:grid; flex:1; min-width:0; gap:4px; }
.hardware-device-copy strong { font-size:13px; color:#e7ebdf; overflow-wrap:anywhere; }
.hardware-device-copy small { font-size:11px; color:#b0bca5; line-height:1.7; overflow-wrap:anywhere; }
.unavailable .hardware-device-copy strong { color:#a4a8b5; }
.unavailable .hardware-device-copy small { color:#9299a8; }
.hardware-device-state { flex:none; border:1px solid #48583b; border-radius:5px; padding:2px 7px; color:#c0dd9e; font-size:10px; white-space:nowrap; }
.unavailable .hardware-device-state { border-color:#3c414d; color:#9299a8; }
.create-room-dialog #hardware-status,
.create-room-dialog #rfid-options-status { margin:9px 0 0; color:#a9b0bf; font-size:11px; line-height:1.8; }
.create-room-dialog #rfid-options-status:empty { display:none; }
.hardware-manage-link { display:inline-block; margin-top:8px; font-size:11px; line-height:1.7; text-underline-offset:3px; }
.create-room-dialog .hardware-field-help { margin:0 0 9px; color:#929aab; font-size:11px; }
.hardware-deck-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.create-room-dialog label.hardware-deck-choice { display:flex; align-items:center; gap:9px; padding:11px; border:1px solid #343b46; border-radius:8px; background:#1b1e29; cursor:pointer; }
.hardware-deck-choice:has(input:checked) { border-color:#819b5e!important; background:#c8ed8309!important; }
.hardware-deck-choice > span { display:grid; min-width:0; gap:3px; }
.hardware-deck-choice strong { font-size:12px; font-weight:550; overflow-wrap:anywhere; color:#dce1d6; }
.hardware-deck-choice small { color:#989faf; font-size:10px; }
.deck-import-details { border-top:1px solid #303541; padding-top:14px; }
.deck-import-details summary { color:#aeb6c5; cursor:pointer; font-size:11px; line-height:1.7; }
.deck-import-fields { display:grid; gap:12px; padding-top:14px; }
.create-room-dialog .deck-import-fields input[type=file] { min-width:0; font-size:11px; padding:8px; }
.create-room-dialog .deck-import-fields input::file-selector-button { border:0; border-radius:4px; background:#303a2b; color:#d6e7c4; padding:6px 8px; margin-right:8px; font-family:inherit; }
@media(max-width:420px) {
  .room-mode-choice-body { min-height:150px; padding:12px; gap:6px; }
  .room-mode-choice-body strong { font-size:15px; }
  .room-mode-choice-body small { font-size:10px; }
  .create-room-dialog #rfid-create-options { padding:14px; }
  .hardware-deck-list { grid-template-columns:1fr; }
  .hardware-device-state { display:none; }
}
