/* Shop item table (assets/vendor-table.js). Real table, sticky header, zebra rows, 44px rows on touch.
   Text is 13px or larger. The table scrolls inside its own box, so the page never scrolls sideways. */
.vt-wrap{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%}
.vt-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vt-search{flex:1 1 180px;min-width:0;min-height:40px;padding:4px 8px;border:1px solid #6e5a35;border-radius:5px;background:#070b09;color:#f4e6c8;font:15.5px Grenze Gotisch,Georgia,serif}
.vt-filter{display:inline-flex;align-items:center;gap:6px;min-height:40px;font:14.5px Grenze Gotisch,Georgia,serif;color:#e6d9b6}
.vt-scroll{overflow:auto;max-height:min(62vh,560px);max-width:100%;border:1px solid #4d4630;border-radius:6px;background:#0c120f;-webkit-overflow-scrolling:touch}
.vt{width:100%;min-width:540px;border-collapse:separate;border-spacing:0;font:15.5px Grenze Gotisch,Georgia,serif;color:#f4e6c8}
.vt thead th{position:sticky;top:0;z-index:1;background:#1d2a22;color:#f1d48c;text-align:left;padding:0;border-bottom:1px solid #b9954f;font-size:14.5px;font-weight:700;white-space:nowrap}
.vt th.vt-act-head{padding:8px 10px}
.vt .vt-sort{display:block;width:100%;min-height:40px;padding:8px 10px;border:0;background:none;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.vt .vt-sort:focus-visible{outline:3px solid #f1d48c;outline-offset:-3px}
.vt .vt-arrow{color:#f1d48c}
.vt tbody td{padding:4px 8px;border-bottom:1px solid #2c3a30;vertical-align:middle;font-size:15.5px}
.vt tr.vt-row>td{height:40px}
.vt tr.vt-alt>td{background:#15211b}
.vt tr.vt-row:hover>td{background:#1f3129}
.vt tr.vt-drawer[hidden]{display:none}
@media (pointer:coarse){.vt tr.vt-row>td{height:44px}}
.vt-itemwrap{display:flex;align-items:center;gap:6px;min-width:0}
.vt-icon{flex:none;width:32px;height:32px;padding:2px;object-fit:contain;border:1px solid #6e5a35;border-radius:5px;background:radial-gradient(circle,#2b3b31,#0c120f)}
.vt-icon[hidden]{display:none}
.vt-namewrap{display:flex;flex-direction:column;min-width:0}
.vt-name{font-weight:700;color:#f4e6c8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.vt-sub{display:block;font-size:14.5px;color:#c9d6c4}
.vt-sub[hidden]{display:none}
.vt-extra{display:inline-flex;align-items:center}
.vt-lv{font-weight:700;color:#f4e6c8}
.vt-lv.vt-ok{color:#9fe0a0}
.vt-lv.vt-low{color:#ffb86b}
.vt-num{font-weight:700;color:#f4e6c8;display:block}
.vt-req-cell .vt-sub,.vt-num-cell .vt-sub{white-space:nowrap}
.vt-action-cell{min-width:250px}
.vt-act{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.vt-qlabel{display:inline-flex;align-items:center;gap:4px;font:14.5px Grenze Gotisch,Georgia,serif;color:#e6d9b6}
.vt-qty{width:58px;min-height:40px;padding:2px 4px;text-align:center;border:1px solid #6e5a35;border-radius:5px;background:#070b09;color:#f4e6c8;font:700 15.5px Grenze Gotisch,Georgia,serif}
.vt-total{font-size:14.5px;color:#e6d9b6;white-space:nowrap}
.vt-why{display:block;width:100%;font-size:14.5px;color:#c9d6c4}
.vt-why[hidden]{display:none}
.vt button{min-height:40px;min-width:40px;padding:4px 10px;border:1px solid #6e5a35;border-radius:5px;font:700 15.5px Grenze Gotisch,Georgia,serif;cursor:pointer}
.vt button:focus-visible{outline:3px solid #f1d48c;outline-offset:2px}
.vt .vt-buy{background:linear-gradient(#d7b36a,#a98043);color:#1b140a;min-width:84px}
.vt .vt-max{background:#14201a;color:#e6d9b6}
.vt .vt-chev{flex:none;min-width:40px;background:#14201a;color:#e6d9b6;font-size:17.5px;line-height:1;padding:2px 6px}
.vt button:disabled{background:#141b17;color:#8f8a76;border-style:dashed;cursor:not-allowed}
.vt-drawer>td{background:#101a15;padding:10px 14px 12px 52px;border-bottom:1px solid #4d4630}
.vt-drawer-body{display:flex;flex-direction:column;gap:6px;max-width:620px}
.vt-d-name{margin:0;font:700 17.5px Grenze Gotisch,Georgia,serif;color:#f1d48c}
.vt-d-summary,.vt-d-text{margin:0;font-size:15.5px;color:#f4e6c8}
.vt-d-tags{display:flex;flex-wrap:wrap;gap:4px}
.vt-tag{padding:2px 8px;border:1px solid #6e5a35;border-radius:999px;font-size:14.5px;color:#e6d9b6}
.vt-d-lines{display:flex;flex-direction:column;gap:3px;margin:0}
.vt-d-row{display:flex;gap:10px;font-size:15.5px}
.vt-d-row dt{min-width:132px;color:#c9d6c4}
.vt-d-row dd{margin:0;color:#f4e6c8;font-weight:700}
.vt-d-row.vt-tone-good dd{color:#9fe0a0}
.vt-d-row.vt-tone-warn dd{color:#ffb86b}
.vt-d-row.vt-tone-bad dd{color:#ff9d9d}
.vt-d-sec{display:flex;flex-direction:column;gap:3px}
.vt-d-h{margin:4px 0 0;font:700 15.5px Grenze Gotisch,Georgia,serif;color:#f1d48c}
.vt-empty{margin:8px 0;font-size:15.5px;color:#e6d9b6}
.vt-empty[hidden]{display:none}
@media (max-width:560px){.vt-toolbar{flex-direction:column;align-items:stretch}.vt-search{flex:none}}
/* The buy list wrapper is a plain block in the Shop window (the sell list keeps its own grid). */
.merchant-vendor-list{display:block;min-width:0;width:100%}
