/* Neon Poker v0.9.40 targeted UI fixes */
.password-visibility-toggle,
.password-visibility-toggle:hover,
.password-visibility-toggle:focus,
.password-visibility-toggle:active {
  width: 42px !important; min-width: 42px !important; height: 42px !important;
  transform: none !important; translate: none !important; scale: 1 !important;
  animation: none !important; transition: color .15s ease, background-color .15s ease !important;
  box-shadow: none !important; margin: 0 !important; inset-inline-end: 4px !important;
}
.password-visibility-toggle svg,
.password-visibility-toggle:hover svg,
.password-visibility-toggle:focus svg { width: 21px !important; height: 21px !important; transform: none !important; animation: none !important; }

#joinTableCodeInput,#joinPokerCodeInput,#rouletteRoomJoinCode,#joinAnyTableCodeInput {
  font-family: inherit !important; font-style: normal !important; font-weight: 600 !important; letter-spacing: .08em !important;
}

/* The social drawer does not dim or blur the game behind it. */
#socialOverlay .social-backdrop { background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; filter: none !important; }
body:has(#socialOverlay:not(.hidden)) #app,
body:has(#socialOverlay:not(.hidden)) .app-shell { filter: none !important; opacity: 1 !important; transform: none !important; }

/* Stable seats: keep the highlighted state while hovered without restarting motion. */
#pokerApp .poker-seat,
#pokerApp .poker-seat-panel,
#pokerApp .poker-avatar { animation: none !important; }
#pokerApp .poker-seat:hover { transform: translate(-50%, -50%) !important; }
#pokerApp .poker-seat:hover .poker-seat-panel,
#pokerApp .poker-seat:hover .poker-avatar { transform: none !important; animation: none !important; }
#pokerApp .poker-seat-panel { transition: box-shadow .16s ease, border-color .16s ease, background-color .16s ease !important; }

/* Correct modal layering inside the observer. */
#developerObserverOverlay { z-index: 3600 !important; }
#adminProfileOverlay { z-index: 3800 !important; }
#adminPermissionsOverlay { z-index: 4000 !important; }
#developerObserverOverlay .observer-card-section { display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:10px !important; }
#developerObserverOverlay .observer-card-section > * { margin:0 !important; }

.table-level-picker:has(.table-level-open) { display:flex !important; flex-direction:column !important; gap:8px !important; }
.table-level-picker:has(.table-level-open) > span:first-child { display:none !important; }
.table-level-open { width:100% !important; min-height:58px !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; justify-content:center !important; gap:3px !important; text-align:left !important; }
.table-level-open span { font-weight:900 !important; }
.table-level-open small { opacity:.74 !important; white-space:normal !important; }

.v040-modal-overlay { position:fixed; inset:0; z-index:5200; display:grid; place-items:center; padding:20px; }
.v040-modal-overlay.hidden { display:none !important; }
.v040-modal-backdrop { position:absolute; inset:0; border:0; background:rgba(5,8,18,.72); backdrop-filter:blur(7px); }
.v040-modal-panel { position:relative; z-index:1; width:min(680px,100%); max-height:min(90vh,900px); overflow:auto; padding:28px; border-radius:24px; }
.v040-modal-panel h2 { margin:.25rem 0 1rem; }
.v040-modal-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:22px; }
.v040-level-preview { min-height:100px; display:flex; flex-direction:column; gap:5px; align-items:center; justify-content:center; text-align:center; padding:16px; border:1px solid rgba(255,255,255,.12); border-radius:18px; }
.v040-level-preview strong { font-size:1.3rem; }
.v040-level-preview span { opacity:.82; }
.v040-level-preview small { opacity:.6; }
.v040-snap-slider { position:relative; padding:36px 12px 54px; }
.v040-snap-slider input { width:100%; --level-progress:0%; }
.v040-level-stops { position:absolute; left:16px; right:16px; top:70px; height:44px; pointer-events:none; }
.v040-level-stops span { position:absolute; left:var(--stop); transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; max-width:100px; text-align:center; }
.v040-level-stops i { width:8px; height:8px; border-radius:50%; background:currentColor; }
.v040-level-stops b { font-size:.68rem; line-height:1.15; opacity:.76; }

.developer-v040-panel { padding:18px !important; }
.v040-level-admin-group { display:block; margin-bottom:24px; padding:18px; border:1px solid rgba(255,255,255,.1); border-radius:18px; }
.v040-level-admin-group > header,.v040-shop-price-head,.v040-security-case-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.v040-level-admin-group h3,.v040-shop-price-head h3,.v040-security-case-head h3 { margin:0; }
.v040-level-admin-group p,.v040-shop-price-head p { margin:4px 0 0; opacity:.7; }
.v040-level-admin-list,.v040-shop-price-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.v040-level-admin-card,.v040-shop-price-card,.v040-security-case { display:grid; gap:10px; padding:15px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(0,0,0,.16); }
.v040-level-card-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.v040-config-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin-bottom:20px; }
.v040-shop-price-card > span { font-weight:800; }
.v040-shop-price-card small { opacity:.62; overflow-wrap:anywhere; }
.v040-security-cases { display:grid; gap:12px; max-height:520px; overflow:auto; padding-right:4px; }
.v040-security-case header { display:flex; justify-content:space-between; gap:12px; }
.v040-security-case header span,.v040-security-case small { opacity:.65; }
.v040-security-case p,.v040-security-case blockquote { margin:0; }
.v040-security-case blockquote { padding:10px 12px; border-inline-start:3px solid currentColor; background:rgba(255,255,255,.05); }
.v040-security-case > div:last-child { display:flex; gap:9px; flex-wrap:wrap; }
.v040-private-rules-panel { width:min(900px,100%); }
.v040-bot-gift { margin-top:8px !important; }

/* Backup accordion inherits the same spacing as all other Developer Center tabs. */
details.developer-backup-panel { margin:16px 0 !important; padding:0 !important; background:transparent !important; border:0 !important; }
details.developer-backup-panel > .developer-game-panel { background:rgba(10,14,24,.76); border-radius:0 0 18px 18px; }

@media (max-width: 760px) {
  .v040-modal-panel { padding:20px 16px; }
  .v040-level-admin-group > header,.v040-shop-price-head,.v040-security-case-head { align-items:flex-start; flex-direction:column; }
}
