/* Progressive enhancement for the User Bookies table only. Load this layer
   before the density layer so its important 34px/30px controls retain their size. */
@layer wuim-user-bookie-controls {
  #bookiesView #bookiesTable .bookie-current-limitation[hidden],
  #bookiesView #bookiesTable .bookie-history-button[hidden],
  #bookiesView #bookiesTable .user-bookie-limitation-control[hidden],
  #bookiesView #bookiesTable .user-bookie-row-trigger[hidden],
  #userBookieLimitationMenu [hidden],
  #userBookieLimitationMenu [role="option"][hidden],
  #userBookieRowMenu [hidden],
  #userBookieRowMenu [role="menuitem"][hidden],
  #userBookieLimitationMenu[hidden],
  #userBookieRowMenu[hidden] {
    display:none !important;
  }

  #bookiesView #bookiesTable .user-bookie-limitation-control {
    display:inline-flex !important;
    height:34px !important;
    align-items:center !important;
    vertical-align:middle !important;
  }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger {
    display:grid !important;
    width:142px !important;
    min-width:142px !important;
    height:34px !important;
    min-height:34px !important;
    grid-template-columns:9px minmax(0,1fr) 12px !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
    padding:6px 9px !important;
    box-sizing:border-box !important;
    border:1px solid !important;
    border-radius:8px !important;
    font:inherit !important;
    font-size:11px !important;
    font-weight:760 !important;
    line-height:20px !important;
    text-align:left !important;
    white-space:nowrap !important;
    cursor:pointer !important;
    box-shadow:none !important;
    transform:none !important;
  }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-full { border-color:#a7e9c4 !important; background:#e8f8ef !important; color:#087443 !important; }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-half { border-color:#b2ddff !important; background:#eff8ff !important; color:#175cd3 !important; }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-low { border-color:#f5d88b !important; background:#fff7df !important; color:#9a5a00 !important; }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-zero { border-color:#f4c7a3 !important; background:#fff3e8 !important; color:#b54708 !important; }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-blocked { border-color:#f3b7b2 !important; background:#fff1f0 !important; color:#b42318 !important; }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger:hover:not(:disabled):not([aria-busy="true"]),
  #bookiesView #bookiesTable .user-bookie-limitation-trigger[aria-expanded="true"] {
    filter:brightness(.985) !important;
    box-shadow:none !important;
    transform:none !important;
  }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger:disabled,
  #bookiesView #bookiesTable .user-bookie-row-trigger:disabled {
    opacity:.68 !important;
    cursor:not-allowed !important;
  }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger[aria-busy="true"] {
    opacity:.68 !important;
    cursor:wait !important;
  }
  #bookiesView #bookiesTable .user-bookie-limitation-dot {
    width:9px !important;
    height:9px !important;
    border-radius:50% !important;
    background:currentColor !important;
  }
  #bookiesView #bookiesTable .user-bookie-limitation-chevron {
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:center !important;
    width:10px !important;
    height:7px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    transition:transform .16s ease !important;
  }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger[aria-expanded="true"] .user-bookie-limitation-chevron {
    transform:rotate(180deg) !important;
  }

  #bookiesView #bookiesTable .user-bookie-row-trigger {
    display:inline-grid !important;
    width:30px !important;
    min-width:30px !important;
    height:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
    place-items:center !important;
    box-sizing:border-box !important;
    border:1px solid #dfe3ea !important;
    border-radius:7px !important;
    background:#fff !important;
    color:#596579 !important;
    font:inherit !important;
    font-size:11px !important;
    line-height:1 !important;
    cursor:pointer !important;
    box-shadow:none !important;
    transform:none !important;
  }
  #bookiesView #bookiesTable .user-bookie-row-trigger svg {
    display:block !important;
    width:14px !important;
    height:14px !important;
    fill:currentColor !important;
    stroke:none !important;
  }
  #bookiesView #bookiesTable .user-bookie-row-trigger:hover:not(:disabled),
  #bookiesView #bookiesTable .user-bookie-row-trigger[aria-expanded="true"] {
    border-color:#c7cdd8 !important;
    background:#f6f9fc !important;
    color:#1f2937 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  #userBookieLimitationMenu,
  #userBookieRowMenu {
    position:fixed !important;
    z-index:1500 !important;
    display:grid !important;
    box-sizing:border-box !important;
    max-width:calc(100vw - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
    overflow:auto !important;
    margin:0 !important;
    border:1px solid #e3e7ee !important;
    background:#fff !important;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    text-align:left !important;
  }
  #userBookieLimitationMenu {
    width:292px !important;
    padding:6px !important;
    border-radius:10px !important;
    box-shadow:0 16px 36px rgba(50,50,93,.16),0 4px 10px rgba(0,0,0,.07) !important;
  }
  #userBookieRowMenu {
    width:220px !important;
    padding:4px !important;
    border-radius:8px !important;
    box-shadow:0 12px 28px rgba(50,50,93,.13),0 3px 8px rgba(0,0,0,.06) !important;
  }
  #userBookieLimitationMenu .user-bookie-menu-label,
  #userBookieRowMenu .user-bookie-menu-label {
    padding:6px 8px 7px !important;
    color:#697386 !important;
    font-size:9px !important;
    font-weight:800 !important;
    line-height:1.3 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }
  #userBookieLimitationMenu [role="option"] {
    display:grid !important;
    width:100% !important;
    min-height:48px !important;
    grid-template-columns:12px minmax(0,1fr) 16px !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 !important;
    padding:7px 9px !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:7px !important;
    background:transparent !important;
    color:#3c4257 !important;
    font:inherit !important;
    text-align:left !important;
    cursor:pointer !important;
    box-shadow:none !important;
    transform:none !important;
  }
  #userBookieLimitationMenu [role="option"]:hover:not(:disabled),
  #userBookieLimitationMenu [role="option"]:focus-visible {
    outline:0 !important;
    background:#f6f9fc !important;
    box-shadow:none !important;
    transform:none !important;
  }
  #userBookieLimitationMenu [role="option"][aria-selected="true"] { background:#f4f3ff !important; }
  #userBookieLimitationMenu [role="option"]:disabled,
  #userBookieRowMenu [role="menuitem"]:disabled { opacity:.68 !important; cursor:not-allowed !important; }
  #userBookieLimitationMenu .user-bookie-option-dot { width:9px !important; height:9px !important; border-radius:50% !important; background:currentColor !important; }
  #userBookieLimitationMenu .user-bookie-option-dot.is-full { color:#087443 !important; }
  #userBookieLimitationMenu .user-bookie-option-dot.is-half { color:#175cd3 !important; }
  #userBookieLimitationMenu .user-bookie-option-dot.is-low { color:#9a5a00 !important; }
  #userBookieLimitationMenu .user-bookie-option-dot.is-zero { color:#b54708 !important; }
  #userBookieLimitationMenu .user-bookie-option-dot.is-blocked { color:#b42318 !important; }
  #userBookieLimitationMenu .user-bookie-option-copy { display:grid !important; gap:1px !important; min-width:0 !important; }
  #userBookieLimitationMenu .user-bookie-option-copy strong { color:#1f2937 !important; font-size:12px !important; font-weight:700 !important; line-height:1.25 !important; }
  #userBookieLimitationMenu .user-bookie-option-copy small { color:#697386 !important; font-size:10px !important; font-weight:520 !important; line-height:1.3 !important; white-space:normal !important; }
  #userBookieLimitationMenu .user-bookie-option-check { justify-self:end !important; color:#635bff !important; font-size:13px !important; font-weight:900 !important; opacity:0 !important; }
  #userBookieLimitationMenu .user-bookie-option-check svg { display:block !important; width:14px !important; height:14px !important; fill:none !important; stroke:currentColor !important; stroke-width:2 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
  #userBookieLimitationMenu [role="option"][aria-selected="true"] .user-bookie-option-check { opacity:1 !important; }
  #userBookieLimitationMenu .user-bookie-menu-separator,
  #userBookieRowMenu .user-bookie-menu-separator { height:1px !important; margin:5px 8px !important; background:#e6e8ee !important; }
  #userBookieRowMenu [role="menuitem"] {
    display:flex !important;
    width:100% !important;
    min-height:32px !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
    padding:6px 9px !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:5px !important;
    background:transparent !important;
    color:#3c4257 !important;
    font:inherit !important;
    font-size:12px !important;
    font-weight:680 !important;
    line-height:1.3 !important;
    text-align:left !important;
    cursor:pointer !important;
    box-shadow:none !important;
    transform:none !important;
  }
  #userBookieRowMenu [role="menuitem"] svg { flex:0 0 15px !important; width:15px !important; height:15px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.7 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
  #userBookieRowMenu [role="menuitem"]:hover:not(:disabled),
  #userBookieRowMenu [role="menuitem"]:focus-visible { outline:0 !important; background:#f6f9fc !important; color:#1f2937 !important; box-shadow:none !important; transform:none !important; }

  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-full { background:#163b31 !important; border-color:#286d54 !important; color:#6ee7b7 !important; }
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-half { background:#172f4f !important; border-color:#315f99 !important; color:#84adff !important; }
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-low { background:#3b321b !important; border-color:#786027 !important; color:#fbbf24 !important; }
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-zero { background:#42281b !important; border-color:#8a4d2c !important; color:#ff9b63 !important; }
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-limitation-trigger.is-blocked { background:#401f25 !important; border-color:#823b46 !important; color:#ff8585 !important; }
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-row-trigger { background:#182335 !important; border-color:#2f3b4a !important; color:#d9e3ef !important; box-shadow:none !important; }
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-row-trigger:hover:not(:disabled),
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-row-trigger[aria-expanded="true"] { background:#223047 !important; border-color:#3b4a5e !important; color:#f6f9fc !important; }
  html[data-theme="dark"] #userBookieLimitationMenu,
  html[data-theme="dark"] #userBookieRowMenu { border-color:#30415b !important; background:#182335 !important; box-shadow:0 14px 32px rgba(0,0,0,.35) !important; }
  html[data-theme="dark"] #userBookieLimitationMenu .user-bookie-menu-label,
  html[data-theme="dark"] #userBookieRowMenu .user-bookie-menu-label,
  html[data-theme="dark"] #userBookieLimitationMenu .user-bookie-option-copy small { color:#9aa8ba !important; }
  html[data-theme="dark"] #userBookieLimitationMenu [role="option"],
  html[data-theme="dark"] #userBookieRowMenu [role="menuitem"] { color:#d9e3ef !important; }
  html[data-theme="dark"] #userBookieLimitationMenu [role="option"]:hover:not(:disabled),
  html[data-theme="dark"] #userBookieLimitationMenu [role="option"]:focus-visible,
  html[data-theme="dark"] #userBookieRowMenu [role="menuitem"]:hover:not(:disabled),
  html[data-theme="dark"] #userBookieRowMenu [role="menuitem"]:focus-visible { background:#223047 !important; color:#f6f9fc !important; }
  html[data-theme="dark"] #userBookieLimitationMenu [role="option"][aria-selected="true"] { background:#292653 !important; }
  html[data-theme="dark"] #userBookieLimitationMenu .user-bookie-option-copy strong { color:#f6f9fc !important; }
  html[data-theme="dark"] #userBookieLimitationMenu .user-bookie-menu-separator,
  html[data-theme="dark"] #userBookieRowMenu .user-bookie-menu-separator { background:#34465f !important; }
  #bookiesView #bookiesTable .user-bookie-limitation-trigger:focus-visible:not(:disabled):not([aria-busy="true"]),
  #bookiesView #bookiesTable .user-bookie-row-trigger:focus-visible:not(:disabled),
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-limitation-trigger:focus-visible:not(:disabled):not([aria-busy="true"]),
  html[data-theme="dark"] #bookiesView #bookiesTable .user-bookie-row-trigger:focus-visible:not(:disabled) {
    outline:0 !important;
    border-color:#9b95ff !important;
    box-shadow:0 0 0 3px rgba(99,91,255,.16) !important;
  }

  @media (prefers-reduced-motion:reduce) {
    #bookiesView #bookiesTable .user-bookie-limitation-chevron { transition:none !important; }
  }
}
