/* One storefront for inventory management and customer preview. Existing forms
   and APIs remain the single source for categories, stock and product review. */
#hotelInventory .hv-category-entry{flex-shrink:0;border-radius:18px;overflow:hidden}
#hotelInventory .hv-category-actions{display:flex;justify-content:center;gap:8px;padding:0 2px 10px}
#hotelInventory .hv-category-actions button{border:0;background:#ffffffa6;color:#486182;border-radius:8px;padding:5px 9px;font-size:11px;cursor:pointer}
#hotelInventory .hv-category-actions button:last-child{color:#b02e46}
#hotelInventory .hv-mode{display:flex;align-items:center;gap:8px;font-size:12px;color:#617188;margin:0}
#hotelInventory .hv-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
#hotelInventory .hv-summary>div{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border:1px solid #fff;border-radius:18px;background:linear-gradient(130deg,#fffdf8db,#ffffff90);box-shadow:0 6px 20px #365d8710}
#hotelInventory .hv-summary small{font-size:12px;color:#718094}#hotelInventory .hv-summary strong{font-size:24px;color:#254469}
#hotelInventory .hv-storefront{border:1px solid #fff;border-radius:26px;background:linear-gradient(135deg,#f5f8fd,#fcf8f1);box-shadow:0 15px 44px #345c851a;overflow:hidden}
#hotelInventory .hv-storefront-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px;border-bottom:1px solid #fff}
#hotelInventory .hv-storefront-header>div{display:flex;align-items:center;gap:12px;color:#0f46c8}
#hotelInventory .hv-storefront-header img{width:40px;height:40px;object-fit:contain;border-radius:12px}
#hotelInventory .hv-room-label{border:1px solid #fff;padding:10px 18px;border-radius:25px;color:#a92b3b;background:linear-gradient(130deg,#fff7f5ed,#f8cfd3ad);box-shadow:inset 0 1px 2px #fff,0 5px 15px #b22c4317;font-size:13px}
#hotelInventory .hv-storefront-body{display:grid;grid-template-columns:150px minmax(0,1fr);height:clamp(460px,65dvh,850px);min-height:0}
#hotelInventory #hotelCategoryOverview{display:flex;flex-direction:column;gap:10px;align-items:stretch;overflow-y:auto;overflow-x:hidden;padding:16px 10px;margin:0;border-right:1px solid white;background:#e9edf590;border-radius:0;min-height:0}
#hotelInventory .hotel-category-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:95px;width:100%;padding:24px 8px 14px;border-radius:18px;border:1px solid transparent;background:transparent;box-shadow:none;text-align:center;transition:background .2s,box-shadow .2s,transform .2s}
#hotelInventory .hotel-category-tile strong{font-size:14px;color:#45526a;white-space:normal;word-break:break-word}
#hotelInventory .hotel-category-tile small{font-size:11px;color:#8b96a6}
#hotelInventory .hotel-category-tile[aria-pressed=true]{background:linear-gradient(130deg,#fffdf9ed,#fff5eed4);border-color:#fff;box-shadow:0 6px 18px #47628317}
#hotelInventory .hotel-category-tile .category-badge-preview{position:absolute;left:0;top:0;font-size:10px;border-radius:13px 2px 10px 2px;background:linear-gradient(130deg,#e0525c,#ad1e37);padding:3px 7px;color:white}
#hotelInventory #hotelInventoryGrid{display:block;overflow-y:auto;overflow-x:hidden;padding:20px;min-height:0;margin:0}
#hotelInventory .hotel-inventory-group{padding:0;margin:0 0 24px;border:0;background:none;border-radius:0;box-shadow:none}
#hotelInventory .hotel-inventory-group-heading{padding:0 2px 12px;margin:0;border:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
#hotelInventory .hotel-inventory-group-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#hotelInventory .hotel-inventory-group-heading h3{font-size:15px;color:#354962;margin:0}
#hotelInventory .hotel-inventory-group-origin,#hotelInventory .hotel-inventory-group-count{font-size:11px;color:#8491a0}
#hotelInventory .hotel-inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px}
#hotelInventory .hotel-inventory-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:start;border-radius:24px;padding:18px;background:linear-gradient(135deg,#ffffffed,#fff9f1bd);border:1px solid #fff;box-shadow:inset 0 1px 1px #fff,0 9px 24px #365a8012;backdrop-filter:blur(14px);min-width:0}
#hotelInventory .hotel-inventory-item>img{width:110px;height:130px;object-fit:contain;max-width:100%;border-radius:16px;background:#fff}
#hotelInventory .hotel-inventory-item h4{font-size:16px;line-height:1.5;white-space:normal;overflow:visible;margin:6px 0 12px;color:#293b51;word-break:break-word}
#hotelInventory .catalog-item-category{font-size:11px;color:#8290a0;background:none;padding:0}
#hotelInventory .hv-price-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
#hotelInventory .hv-price-line strong{color:#ba243c;font-size:24px;letter-spacing:-.5px}
#hotelInventory .hv-price-line del{font-size:12px;color:#9b9eaa}
#hotelInventory .hv-buy{margin-left:auto;color:white;padding:6px 16px;font-size:12px;border-radius:22px;background:linear-gradient(135deg,#e9626c,#b3213a);border:1px solid #ffe7e5;box-shadow:inset 0 1px 1px #ffffff70,0 5px 13px #ba253b30;user-select:none}
#hotelInventory .hotel-inventory-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:10px}
#hotelInventory .hotel-inventory-actions>div:first-child{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
#hotelInventory .hotel-inventory-count{font-size:12px;font-weight:500}
#hotelInventory .hotel-inventory-status{font-size:11px;padding:3px 8px;border-radius:12px;background:#e9f0f4;color:#657a8b}
#hotelInventory .hv-status-pending{color:#a36b26;background:#fff0d8}
#hotelInventory .hv-status-rejected{color:#af2a43;background:#fbe3e8}
#hotelInventory .hv-rejection{font-size:12px;color:#b03247;line-height:1.7;margin:10px 0 0}
#hotelInventory .hotel-inventory-actions .product-actions{display:flex;flex-wrap:wrap;gap:6px}
#hotelInventory .hotel-inventory-actions .small-btn{font-size:11px;padding:6px 9px;border-radius:10px}
#hotelInventory .is-drop-target{outline:2px dashed #c23d4d;outline-offset:-3px;background:#ffe8e1b8!important;transform:translateY(-2px)}
#hotelInventory .hv-preview-note{font-size:12px;line-height:1.9;margin:16px 0 0}
#hotelInventory.hv-customer-preview .hotel-inventory-grid{grid-template-columns:1fr}
#hotelInventory.hv-customer-preview .hotel-inventory-item{cursor:default}
@media(max-width:800px){#hotelInventory .hv-summary{gap:7px}#hotelInventory .hv-summary>div{padding:12px 8px;flex-direction:column;gap:6px}#hotelInventory .hv-summary strong{font-size:21px}#hotelInventory .hv-summary small{font-size:10px}#hotelInventory .hv-storefront-body{grid-template-columns:100px minmax(0,1fr)}#hotelInventory #hotelInventoryGrid{padding:12px}#hotelInventory .hotel-inventory-item{grid-template-columns:80px minmax(0,1fr);gap:12px;padding:14px}#hotelInventory .hotel-inventory-item>img{width:80px;height:100px}#hotelInventory .hv-storefront-header{padding:16px}#hotelInventory .hv-room-label{font-size:11px;padding:9px 12px}}
@media(max-width:480px){#hotelInventory .hv-storefront-body{grid-template-columns:82px minmax(0,1fr);height:65dvh}#hotelInventory #hotelCategoryOverview{padding:10px 5px}#hotelInventory .hotel-category-tile strong{font-size:12px}#hotelInventory .hotel-category-tile small{font-size:10px}#hotelInventory .hotel-inventory-item{display:flex;flex-direction:column;gap:10px}#hotelInventory .hotel-inventory-item>img{width:100%;height:135px}#hotelInventory .hv-product-main{width:100%}#hotelInventory .hotel-inventory-item h4{font-size:14px}#hotelInventory .hv-price-line strong{font-size:21px}#hotelInventory .hv-buy{padding:5px 11px}#hotelInventory .hv-room-label{max-width:55%;overflow-wrap:anywhere}}
