/* Same native gold/brown artwork and numeric flow approved in Shop Dược 102. */
.nx203-quantity-field { cursor: pointer; caret-color: transparent; touch-action: manipulation; }
.nx203-quantity-layer { position: fixed; inset: 0; z-index: 2147483000; display: block; background: #08050344; touch-action: manipulation; }
.nx203-quantity-layer.is-in-host { position: absolute; z-index: 40; background: transparent; display: block; }
.nx203-quantity-pad { position: absolute; left: 50%; top: 50%; width: 505px; box-sizing: border-box; padding: 24px 27px; border: 17px solid transparent; border-image: url("assets/ui-shops-200/forge-rule-frame.png") 20 fill stretch; background: url("assets/ui-shops-200/shop-panel-fill.png") repeat; box-shadow: 0 10px 30px #100900aa; color: #f9e9c5; text-align: center; font-family: Georgia, "Times New Roman", serif; transform: translate(-50%,-50%) scale(var(--quantity-scale,.5)); transform-origin: center; }
.is-in-host > .nx203-quantity-pad { position: absolute; left: var(--quantity-left); top: var(--quantity-top); transform: none; }
.nx203-quantity-pad * { box-sizing: border-box; }
.nx203-quantity-pad h3 { margin: 0 0 14px; max-height: 73.6px; overflow: auto; overflow-wrap: anywhere; font: 32px/1.15 Georgia,serif; }
.nx203-quantity-pad output { display: block; padding: 13px; border: 1px solid #ae8449; border-radius: 10px; background: #1c1209; color: #ffe4a0; font-size: 38px; line-height: 1; font-variant-numeric: tabular-nums; }
.nx203-quantity-pad p { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 11px 0 14px; font-size: 22px; line-height: 1.15; }
.nx203-quantity-digits { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.nx203-quantity-layer .nx203-quantity-pad button { cursor: pointer; min-height: 68px; margin: 0; padding: 0; border: 10px solid transparent; border-image: url("assets/ui-shops-200/gems-btn-max-rim.png") 17 fill stretch; border-radius: 10px; background: url("assets/ui-shops-200/shop-panel-fill.png") repeat; box-shadow: none; color: #f9e9c5; font: 31px/1 Georgia,serif; text-shadow: 0 2px 3px #000; touch-action: manipulation; }
.nx203-quantity-layer .nx203-quantity-pad button:hover { filter: brightness(1.15); }
.nx203-quantity-layer .nx203-quantity-pad button:focus-visible { outline: 3px solid #ffe39a; outline-offset: 2px; }
.nx203-quantity-layer .nx203-quantity-pad [data-quantity-key="clear"] { font-size: 24px; }
.nx203-quantity-layer .nx203-quantity-pad [data-quantity-key="max"] { min-height: 37px; margin-left: auto; font-size: 19px; border-width: 6px; padding: 2px 4px; }
.nx203-quantity-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.nx203-quantity-layer .nx203-quantity-actions button { font-size: 27px; }
/* Prompt proximity remains controlled by game.js. The matching service panel
   merely suppresses its label; closing only reveals labels still in range. */
body:has(:is(#nexoriaBlacksmithPanel,#nexoriaEnchantPanel,#nexoriaStarPanel):not([hidden])) #blacksmithPrompt,
body:has(#nexoriaPotionShopPanel:not([hidden])) #potionShopPrompt,
body:has(#nexoriaJewelryShopPanel:not([hidden])) #jewelryShopPrompt,
body:has(#nexoriaGemShopPanel:not([hidden])) #gemShopPrompt,
body:has(:is(#nexoriaPvpPanel,#nexoriaPvpShopPanel):not([hidden])) #pvpHousePrompt,
body:has(#nexoriaPawnPanel:not([hidden])) #pawnShopPrompt,
body:has(#nexoriaSpellShopPanel:not([hidden])) #spellShopPrompt,
body:has(#nexoriaGuildPanel:not([hidden])) #guildHousePrompt,
body:has(:is(#nx200AdventureBoard,#nexoriaAdventureChest):not([hidden])) #adventureChestPrompt,
body:has(#nx198PetModal:not([hidden])) #petHousePrompt,
body:has(#nexoriaHouse203Panel:not([hidden])) #playerHousePrompt { visibility: hidden !important; pointer-events: none !important; }

.is-in-host .nx203-quantity-pad p { display: block; }
.nx203-quantity-layer.is-in-host .nx203-quantity-pad [data-quantity-key="max"] { display: none; }
