/* UI-V6d (Besitzer: UI-V6d) · Läden & Bank (Doku/14_ARCHITEKTUR_V6.md §17/§18):
   Typwahl-Blatt `ladentyp` (ui/shop-type-sheet.js, .v6d-ts-*/.v6d-tcard), Typ-Chip (.v6d-tchip), Laden-Panel-Ergänzungen (ui/shop-panel.js: Typzeile, Ladenlager,
   Nachfüllen, Ausbau, Versetzen, „ausverkauft“, Fraktionsladen mit Kaufknöpfen .v6d-buy*), Handelsinsel-Läden der Börse (.bo-good-row/.bo-good-buy),
   Bank-Panel `bank` (ui/bank-panel.js, .v6d-tile/.v6d-req/.v6d-loan/.v6d-hist) und Gebäude-Panel-Abschnitte (.v6d-bsec).
   Nachgeladen per <link data-sb="ui-v6d"> (ensureV6dCss), bis index.html die Zeile trägt (ANFRAGEN_UI-V6d §2).
   Creme-Blätter, weiße Karten, Trefferflächen ≥ 44 px, 360 px ohne Querscrollen, Tablet: zwei Spalten. „ausverkauft“ = Rot #B4262B. */

/* ===== gemeinsam ===== */
#ui .v6d-ts-sheet .sheet-body, #ui .v6d-bank-sheet .sheet-body { overflow-x: hidden; }
#ui [class*="v6d-"].btn-small::after, #ui [class*="v6d-"] .btn-small::after { left: 0; right: 0; top: -4px; bottom: -4px; }   /* Trefferfläche schon ≥ 44 px – kein Querscrollen am rechten Rand */
#ui .v6d-back.btn-round, #ui .v6d-back.btn-round.btn-small { width: 44px; height: 44px; min-height: 44px; flex: none; }
#ui .v6d-why { font-size: 12.5px; line-height: 1.35; color: #8A4B00; background: #FBF0D6; border-radius: 12px; padding: 7px 10px; margin-top: 6px; }
#ui .v6d-why.muted { color: var(--ink2); background: var(--card2); }
#ui .v6d-why.sold { color: #B4262B; background: #FCE8E6; }
#ui .v6d-folgt { font-size: 12px; font-weight: 700; color: var(--ink3); font-style: italic; }
#ui .v6d-empty { padding: 10px 12px; color: var(--ink3); font-size: 13px; background: var(--card2); border-radius: 14px; line-height: 1.35; }
#ui .v6d-foot { font-size: 12px; color: var(--ink2); line-height: 1.4; margin-top: 10px; padding: 0 2px; }
#ui .v6d-note { display: flex; align-items: flex-start; gap: 8px; padding: 9px 11px; border-radius: 14px; font-size: 13px; line-height: 1.35; margin-bottom: 8px; background: #FBF0D6; color: #6A4A00; }
#ui .v6d-note.info { background: var(--card2); color: var(--ink2); }
#ui .v6d-note .ico { flex: none; line-height: 0; margin-top: 1px; }
#ui .v6d-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
#ui .v6d-actions .btn { flex: 1 1 140px; min-height: 48px; }
#ui .v6d-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--fc, #9A97A6); flex: none; box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--fc, #9A97A6); }
#ui .v6d-aus-n { margin-left: auto; flex: none; font-size: 11.5px; font-weight: 800; color: #fff; background: #B4262B; border-radius: 999px; padding: 2px 8px; }
#ui .v6d-kasse { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; background: #FBF0C9; color: #6A4A00; font-size: 13px; flex: none; max-width: 42%; overflow: hidden; }

/* ===== Typ-Chip ===== */
#ui .v6d-tchip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 12px 4px 8px; border-radius: 999px; border: 0; font: inherit; color: var(--ink);
  background: color-mix(in srgb, var(--tc, #9A97A6) 14%, #fff); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--tc, #9A97A6) 45%, transparent); max-width: 100%; min-width: 0; }
#ui button.v6d-tchip { min-height: 44px; cursor: pointer; }
#ui button.v6d-tchip:active { transform: scale(.98); }
#ui .v6d-tchip .ico { flex: none; line-height: 0; }
#ui .v6d-tchip-n { font-weight: 800; font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
#ui .v6d-tchip-s { font-size: 11.5px; color: var(--ink2); white-space: nowrap; }

/* ===== Typwahl-Blatt ===== */
#ui .v6d-ts-sheet .panel-head { gap: 8px; }
#ui .v6d-ts-intro { font-size: 13px; color: var(--ink2); line-height: 1.4; margin: 2px 2px 10px; }
#ui .v6d-ts-grid { display: flex; flex-direction: column; gap: 10px; }
#ui .v6d-tcard { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 96px; padding: 12px 10px 12px 12px; border: 0; border-radius: 18px; background: #fff; color: var(--ink); font: inherit; text-align: left; cursor: pointer;
  box-shadow: 0 1px 3px rgba(43, 42, 51, .08), inset 5px 0 0 var(--tc, #9A97A6); min-width: 0; }
#ui .v6d-tcard:active { transform: scale(.985); }
#ui .v6d-tcard-ic { flex: none; width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; line-height: 0; background: color-mix(in srgb, var(--tc, #9A97A6) 14%, #fff); }
#ui .v6d-tcard-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
#ui .v6d-tcard-name { font-weight: 900; font-size: 16px; }
#ui .v6d-tcard-desc { font-size: 12.5px; color: var(--ink2); line-height: 1.35; }
#ui .v6d-tcard-waren { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
#ui .v6d-ware { display: inline-flex; align-items: center; gap: 3px; padding: 2px 7px 2px 4px; border-radius: 999px; background: var(--card); font-size: 11.5px; font-weight: 700; color: var(--ink2); white-space: nowrap; }
#ui .v6d-ware .ico { line-height: 0; }
#ui .v6d-ware.more { padding: 2px 8px; color: var(--ink3); }
#ui .v6d-tcard-go { flex: none; color: var(--ink3); line-height: 0; }
#ui .v6d-ts-foot { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding: 10px 12px; border-radius: 16px; background: var(--card2); }
#ui .v6d-ts-kap { display: flex; align-items: flex-start; gap: 6px; font-size: 12.5px; color: var(--ink2); line-height: 1.35; }
#ui .v6d-ts-kap .ico { line-height: 0; flex: none; margin-top: 1px; }
#ui .v6d-ts-cost { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; font-weight: 700; color: var(--ink2); }

/* ===== Gebäude-Panel-Abschnitt ===== */
#ui .v6d-bsec-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
#ui .v6d-bsec-btn { margin-top: 8px; min-height: 48px; }
#ui .v6d-bchip { display: inline-flex; align-items: baseline; gap: 5px; min-height: 36px; align-items: center; padding: 4px 12px; border-radius: 999px; background: var(--card2); font-size: 13px; color: var(--ink2); }
#ui .v6d-bchip b { color: var(--ink); font-size: 15px; }
#ui .v6d-bchip.hot { background: #FFE6C4; color: #7A3E00; }
#ui .v6d-bchip .coins { font-size: 13px; }

/* ===== Laden-Panel: Typzeile ===== */
#ui .v6d-typwrap { margin-bottom: 8px; }
#ui .v6d-typrow { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
#ui .v6d-typrow-l { font-size: 12px; font-weight: 800; color: var(--ink2); text-transform: uppercase; letter-spacing: .04em; }
#ui .v6d-typrow-s { flex: 1 1 180px; min-width: 0; font-size: 12px; color: var(--ink2); line-height: 1.3; }
#ui .v6d-typpick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
#ui .v6d-typopt { display: flex; flex-direction: column; align-items: center; gap: 2px; min-height: 76px; padding: 8px 4px; border: 0; border-radius: 14px; background: #fff; box-shadow: var(--shadow-soft); color: var(--ink); font: inherit; cursor: pointer; min-width: 0; }
#ui .v6d-typopt.on { box-shadow: inset 0 0 0 2px var(--primary), var(--shadow-soft); }
#ui .v6d-typopt .ico { line-height: 0; }
#ui .v6d-typopt-n { font-size: 12.5px; font-weight: 800; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ui .v6d-typopt small { font-size: 11px; color: var(--ink2); }

/* ===== Laden-Panel: Sortiment „ausverkauft“, Füllstand ===== */
#ui .ld-item.v6d-sold { box-shadow: 0 1px 3px rgba(43, 42, 51, .08), inset 4px 0 0 #B4262B; }
#ui .v6d-sold-chip { display: inline-block; margin-left: 6px; vertical-align: 1px; font-size: 10.5px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; color: #fff; background: #B4262B; border-radius: 999px; padding: 1px 7px; }
#ui .ld-item-name { display: block; }
#ui .v6d-sold-hint { color: #B4262B; }
#ui .v6d-fill { height: 6px; border-radius: 999px; background: var(--card3); overflow: hidden; margin: 0 2px; }
#ui .v6d-fill i { display: block; height: 100%; border-radius: inherit; background: var(--success); }
#ui .v6d-fill.leer { background: #F6D3D0; }
#ui .ld-pick.v6d-leer { opacity: .7; }

/* ===== Laden-Panel: Ladenlager, Nachfüllen, Ausbau, Versetzen ===== */
#ui .v6d-store { background: #fff; border-radius: 16px; padding: 8px 10px 10px; box-shadow: 0 1px 3px rgba(43, 42, 51, .08); display: flex; flex-direction: column; gap: 8px; min-width: 0; }
#ui .v6d-kap { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 4px; }
#ui .v6d-kap-s { display: flex; flex-direction: column; align-items: center; padding: 6px 2px; border-radius: 12px; background: var(--card2); color: var(--ink3); min-width: 0; }
#ui .v6d-kap-s b { font-size: 15px; font-variant-numeric: tabular-nums; }
#ui .v6d-kap-s small { font-size: 10.5px; font-weight: 700; }
#ui .v6d-kap-s.done { color: var(--ink2); }
#ui .v6d-kap-s.cur { background: #E7F5EA; color: #1F6F35; box-shadow: inset 0 0 0 2px #3FAE5A; }
#ui .v6d-store-t { font-size: 12.5px; color: var(--ink); font-weight: 700; padding: 0 2px; }
#ui .v6d-store-t.muted { font-weight: 500; color: var(--ink2); font-size: 12px; }
#ui .v6d-switch { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 6px 10px; border: 0; border-radius: 14px; background: var(--card2); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
#ui .v6d-switch:disabled { opacity: .6; cursor: default; }
#ui .v6d-switch .ico { flex: none; line-height: 0; color: var(--ink2); }
#ui .v6d-switch-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
#ui .v6d-switch-main b { font-size: 13.5px; }
#ui .v6d-switch-main small { font-size: 11.5px; color: var(--ink2); line-height: 1.3; }
#ui .v6d-switch-track { flex: none; width: 46px; height: 28px; border-radius: 999px; background: var(--card3); position: relative; transition: background .15s; }
#ui .v6d-switch-knob { position: absolute; left: 3px; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .15s; }
#ui .v6d-switch.on .v6d-switch-track { background: var(--success); }
#ui .v6d-switch.on .v6d-switch-knob { transform: translateX(18px); }
#ui .v6d-up { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 8px 10px; border: 0; border-radius: 14px; background: var(--card2); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
#ui button.v6d-up.ok { background: #E7F5EA; }
#ui .v6d-up .ico { flex: none; line-height: 0; }
#ui .v6d-up-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
#ui .v6d-up-main b { font-size: 13.5px; }
#ui .v6d-up.busy, #ui .v6d-up.max { cursor: default; font-size: 13px; font-weight: 700; color: var(--ink2); }
#ui .v6d-move { width: 100%; min-height: 48px; }

/* ===== Fraktionsladen / Marktstand ===== */
#ui .v6d-fhead { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 10px; margin-bottom: 8px; border-radius: 16px; background: #fff; box-shadow: 0 1px 3px rgba(43, 42, 51, .08), inset 5px 0 0 var(--fc, #9A97A6); min-width: 0; }
#ui .v6d-fhead-main { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; }
#ui .v6d-fhead-main b { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ui .v6d-fhead-main small { font-size: 12px; color: var(--ink2); }
#ui .v6d-buylist { margin-bottom: 4px; }
#ui .v6d-buy.v6d-focus { box-shadow: 0 0 0 3px rgba(82, 79, 254, .45), 0 1px 3px rgba(43, 42, 51, .08); }
#ui .v6d-unit { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
#ui .v6d-unit small { font-size: 10.5px; color: var(--ink3); font-weight: 700; }
#ui .v6d-unit .coins { font-size: 14px; }
#ui .v6d-buyrow { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 48px; }
#ui .v6d-step { display: inline-flex; align-items: center; gap: 4px; background: var(--card2); border-radius: 14px; padding: 2px; flex: none; }
#ui .v6d-pm { width: 48px; min-width: 48px; height: 44px; min-height: 44px; padding: 0; border-radius: 12px; background: #fff; box-shadow: var(--shadow-soft); color: var(--ink); }
#ui .v6d-pm .btn-label { display: none; }
#ui .v6d-qty { min-width: 40px; text-align: center; font-size: 16px; font-variant-numeric: tabular-nums; }
#ui .v6d-max.btn-small { min-height: 44px; min-width: 52px; padding: 0 10px; }
#ui .v6d-buyright { margin-left: auto; display: flex; align-items: center; gap: 8px; min-width: 0; }
#ui .v6d-total { font-weight: 800; font-size: 14px; white-space: nowrap; }
#ui .v6d-total .coins { font-size: 14px; }
#ui .v6d-buybtn { min-height: 48px; padding: 0 14px; }

/* ===== Börse · Handelsinsel-Läden ===== */
#ui .bo-goods.v6d-goods { grid-template-columns: minmax(0, 1fr); }
#ui .bo-good-row { display: flex; align-items: stretch; gap: 6px; min-width: 0; }
#ui .bo-good-row .bo-good { flex: 1 1 auto; }
#ui .bo-good-row.v6d-sold .bo-good { background: #FCE8E6; }
#ui .bo-good-n.v6d-sold-n { color: #B4262B; font-weight: 900; font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
#ui .bo-good-buy { flex: none; width: 48px; min-height: 48px; border: 0; border-radius: 12px; background: var(--primary); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; line-height: 0; }
#ui .bo-good-buy:active { transform: scale(.96); }
#ui .bo-good-buy:disabled { background: var(--card3); color: var(--ink3); cursor: default; }
#ui .bo-good-buy .ico { --ic2: rgba(255, 255, 255, .35); }

/* ===== Bank ===== */
#ui .v6d-bank-sheet .panel-head .panel-icon { flex: none; }
#ui .v6d-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 8px; }
#ui .v6d-tile { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 64px; padding: 7px 9px; border-radius: 14px; background: var(--card2); min-width: 0; }
#ui .v6d-tile.gold { background: #FBF0D6; }
#ui .v6d-tile.ok { background: #E7F5EA; }
#ui .v6d-tile.bad { background: #FCE8E6; }
#ui .v6d-tile .ico { color: var(--ink2); line-height: 0; }
#ui .v6d-tile-v { font-size: 15px; font-weight: 800; line-height: 1.2; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#ui .v6d-tile-v small { font-size: 11px; font-weight: 700; color: var(--ink2); }
#ui .v6d-tile-l { font-size: 11px; font-weight: 600; color: var(--ink2); line-height: 1.15; }
#ui .v6d-rahmen { display: flex; align-items: flex-start; gap: 6px; font-size: 12.5px; color: var(--ink2); line-height: 1.35; padding: 0 2px 4px; }
#ui .v6d-rahmen .ico { line-height: 0; flex: none; margin-top: 1px; }
#ui .v6d-bank-cols { display: flex; flex-direction: column; gap: 4px; }
#ui .v6d-bank-main, #ui .v6d-bank-side { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
#ui .v6d-bank-main > .section-title, #ui .v6d-bank-side > .section-title { margin: 8px 0 0; }
#ui .v6d-req, #ui .v6d-loan { background: #fff; border-radius: 16px; padding: 8px 10px 10px 14px; box-shadow: 0 1px 3px rgba(43, 42, 51, .08), inset 5px 0 0 var(--fc, #9A97A6); display: flex; flex-direction: column; gap: 6px; min-width: 0; }
#ui .v6d-req-head { display: flex; align-items: center; gap: 8px; min-height: 44px; min-width: 0; }
#ui .v6d-req-titles { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
#ui .v6d-req-name { font-weight: 800; font-size: 15px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#ui .v6d-req-sub { font-size: 12px; color: var(--ink2); }
#ui .v6d-req-sum { flex: none; font-weight: 900; font-size: 15px; }
#ui .v6d-req-sum .coins { font-size: 15px; }
#ui .v6d-risk { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; padding: 4px 8px; border-radius: 10px; }
#ui .v6d-risk-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; background: currentColor; }
#ui .v6d-risk.r0 { color: #1F6F35; background: #E7F5EA; }
#ui .v6d-risk.r1 { color: #8A4B00; background: #FBF0D6; }
#ui .v6d-risk.r2 { color: #B4262B; background: #FCE8E6; }
#ui .v6d-zins { display: flex; flex-direction: column; gap: 4px; background: var(--card2); border-radius: 14px; padding: 6px 8px 8px; }
#ui .v6d-zins-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 44px; }
#ui .v6d-zins-l { font-size: 12px; font-weight: 800; color: var(--ink2); }
#ui .v6d-zins-v { font-size: 15px; font-variant-numeric: tabular-nums; }
#ui .v6d-vors.btn-small { margin-left: auto; min-height: 44px; font-size: 12px; padding: 0 10px; }
#ui .v6d-vors.same { opacity: .55; }
#ui .v6d-zins-row { display: flex; align-items: center; gap: 6px; }
#ui input[type=range].v6d-slider { -webkit-appearance: none; appearance: none; flex: 1 1 auto; width: auto; min-width: 0; height: 44px; margin: 0; background: transparent; cursor: pointer; touch-action: none; }
#ui input[type=range].v6d-slider::-webkit-slider-runnable-track { height: 10px; border-radius: 999px; background: var(--card3); }
#ui input[type=range].v6d-slider::-moz-range-track { height: 10px; border-radius: 999px; background: var(--card3); }
#ui input[type=range].v6d-slider::-moz-range-progress { height: 10px; border-radius: 999px; background: var(--primary); }
#ui input[type=range].v6d-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 32px; height: 32px; margin-top: -11px; border-radius: 50%; background: #fff; border: 4px solid var(--primary); box-shadow: 0 2px 6px rgba(43, 42, 51, .25); }
#ui input[type=range].v6d-slider::-moz-range-thumb { width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 4px solid var(--primary); box-shadow: 0 2px 6px rgba(43, 42, 51, .25); }
#ui input[type=range].v6d-slider:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 12px; }
#ui .v6d-zins-est { font-size: 12px; color: var(--ink2); display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
#ui .v6d-zins-est .coins { font-size: 12px; }
#ui .v6d-req .v6d-actions { margin-top: 2px; }
#ui .v6d-confirm { background: #EEF0FF; border-radius: 14px; padding: 8px 10px; display: flex; flex-direction: column; gap: 4px; }
#ui .v6d-confirm-t { font-size: 13.5px; line-height: 1.4; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
#ui .v6d-confirm-t .coins { font-size: 13.5px; }
#ui .v6d-confirm-s { font-size: 12px; color: var(--ink2); }
#ui .v6d-offen { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 10px; border-radius: 12px; background: #FBF0D6; font-size: 12.5px; font-weight: 700; color: #6A4A00; }
#ui .v6d-bar.bar { height: 20px; }
#ui .v6d-bar .bar-fill { background: var(--success); }
#ui .v6d-loan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
#ui .v6d-loan-grid > span { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
#ui .v6d-loan-grid small { font-size: 11px; color: var(--ink2); font-weight: 700; }
#ui .v6d-loan-grid b { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#ui .v6d-loan-grid b .coins { font-size: 13px; }
#ui .v6d-loan-grid .soon b { color: #B4570A; }
#ui .v6d-hist { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 6px 10px; border-radius: 12px; background: #fff; box-shadow: inset 4px 0 0 var(--fc, #9A97A6); }
#ui .v6d-hist.aus { background: #FCE8E6; }
#ui .v6d-hist-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
#ui .v6d-hist-name { font-weight: 800; font-size: 13.5px; display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
#ui .v6d-hist-name .coins { font-size: 13px; }
#ui .v6d-hist-sub { font-size: 12px; color: var(--ink2); line-height: 1.3; }
#ui .v6d-hist.aus .v6d-hist-sub { color: #8E1F23; }
#ui .v6d-hist-st { flex: none; line-height: 0; color: var(--success); }
#ui .v6d-hist.aus .v6d-hist-st { color: #B4262B; }
#ui .v6d-more.btn-small { min-height: 44px; align-self: center; }
#ui .v6d-nobank { display: flex; align-items: flex-start; gap: 12px; padding: 12px; border-radius: 18px; background: #fff; box-shadow: 0 1px 3px rgba(43, 42, 51, .08); margin-bottom: 10px; }
#ui .v6d-nobank > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 13px; color: var(--ink2); line-height: 1.4; }
#ui .v6d-nobank b { color: var(--ink); font-size: 16px; }
#ui .v6d-nobank .ico { flex: none; line-height: 0; }
#ui .v6d-build { min-height: 52px; }

/* ===== schmal ===== */
@media (max-width: 380px) {
  #ui .v6d-tcard { gap: 10px; padding: 10px 8px 10px 10px; }
  #ui .v6d-tcard-ic { width: 46px; height: 46px; }
  #ui .v6d-tiles { gap: 4px; }
  #ui .v6d-tile { padding: 6px 7px; }
  #ui .v6d-tile-v { font-size: 13.5px; }
  #ui .v6d-buyright { margin-left: 0; flex: 1 1 100%; justify-content: space-between; }
  #ui .v6d-buyright .v6d-buybtn { flex: 1 1 auto; }
  #ui .v6d-pm { width: 44px; min-width: 44px; }
  #ui .v6d-typopt-n { font-size: 11.5px; }
}
/* ===== Tablet ===== */
@media (min-width: 900px) {
  #ui .v6d-ts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #ui .v6d-tcard { flex-direction: column; align-items: flex-start; min-height: 240px; padding: 16px; }
  #ui .v6d-tcard-go { align-self: flex-end; margin-top: auto; }
  #ui .v6d-bank-cols { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 14px; align-items: start; }
  #ui .bo-goods.v6d-goods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #ui .v6d-buylist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: start; }
}
/* Zielbestand („Vorrat bis“), Ziel der Ware beim Fraktionsladen */
#ui .v6d-ziel .ld-step .v6d-pm { width: 48px; min-width: 48px; height: 44px; min-height: 44px; }
#ui .v6d-ziel-k { font-size: 12px; color: var(--ink2); font-weight: 700; }
#ui .v6d-ziel-info { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ink2); padding: 0 2px 8px; }
#ui .v6d-ziel-info .ico { line-height: 0; flex: none; }
#ui .v6d-tcard-plus { display: inline-block; margin-left: 8px; vertical-align: 2px; font-size: 11px; font-weight: 800; color: #1F6F35; background: #E7F5EA; border-radius: 999px; padding: 1px 8px; }
#ui .ld-picker-head .btn-round.btn-small { width: 44px; height: 44px; min-height: 44px; }   /* Warenauswahl schließen: 44 px (war 36) */

/* ===== Koordinator V7: Kaufen gut auffindbar ===== */
#ui .bo-shop-head .bo-shop-buy { flex: none; min-height: 44px; padding: 0 14px; gap: 6px; }
#ui .bo-shop-head .bo-shop-buy .ico { line-height: 0; --ic2: rgba(255, 255, 255, .35); }
#ui .v6d-shopcard { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 84px; margin-bottom: 10px; padding: 12px 10px 12px 14px; border: 0; border-radius: 18px; cursor: pointer; text-align: left; font: inherit;
  color: #fff; background: var(--primary); box-shadow: 0 4px 14px rgba(82, 79, 254, .35), inset 6px 0 0 var(--fc, #9A97A6); min-width: 0; }
#ui .v6d-shopcard:active { transform: scale(.985); }
#ui .v6d-shopcard-ic { flex: none; width: 50px; height: 50px; border-radius: 14px; background: rgba(255, 255, 255, .18); display: flex; align-items: center; justify-content: center; line-height: 0; --ic2: rgba(255, 255, 255, .35); }
#ui .v6d-shopcard-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
#ui .v6d-shopcard-main b { font-size: 16px; }
#ui .v6d-shopcard-main small { font-size: 12.5px; opacity: .9; }
#ui .v6d-shopcard-waren { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
#ui .v6d-shopcard .v6d-ware { background: rgba(255, 255, 255, .92); color: var(--ink); }
#ui .v6d-shopcard .v6d-ware.sold { background: #FCE8E6; color: #B4262B; text-decoration: line-through; }
#ui .v6d-shopcard-go { flex: none; line-height: 0; opacity: .9; }

/* ===== V7 §9: Händlerhütte ===== */
#ui .v6d-hh { display: flex; flex-direction: column; gap: 8px; }
#ui .v6d-hh-leer { display: flex; align-items: flex-start; gap: 6px; }
#ui .v6d-hh-leer .ico { line-height: 0; flex: none; }
#ui .v6d-hh-row { display: flex; align-items: center; gap: 8px; min-height: 36px; }
#ui .v6d-hh-row .ico { line-height: 0; flex: none; }
#ui .v6d-hh-l { flex: 0 0 64px; font-size: 13px; font-weight: 700; }
#ui .v6d-hh-row .bar { flex: 1 1 auto; height: 22px; min-width: 0; }
#ui .v6d-hh-bar.nahrung .bar-fill { background: #E8A33D; }
#ui .v6d-hh-bar.wasser .bar-fill { background: #3FA7E0; }
#ui .v6d-hh-reicht, #ui .v6d-hh-ecken { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ink2); }
#ui .v6d-hh-reicht .ico, #ui .v6d-hh-ecken .ico { line-height: 0; flex: none; }
#ui .v6d-hh-sub { font-size: 12px; font-weight: 800; color: var(--ink2); text-transform: uppercase; letter-spacing: .04em; margin-top: 4px; }
#ui .v6d-hh-haendler { display: flex; gap: 6px; flex-wrap: wrap; }
#ui .v6d-hh-h { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 2px; min-width: 64px; min-height: 64px; padding: 4px 6px; border: 0; border-radius: 14px; background: #fff; box-shadow: var(--shadow-soft); font: inherit; font-size: 11px; font-weight: 700; color: var(--ink); cursor: pointer; }
#ui .v6d-hh-h.frei { box-shadow: none; background: transparent; border: 2px dashed var(--card3); color: var(--ink3); cursor: default; }
#ui .v6d-hh-av { line-height: 0; }
#ui .v6d-hh-plus { width: 30px; height: 30px; border-radius: 50%; background: var(--card2); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 800; }
#ui .v6d-hh-ziel { display: flex; align-items: center; gap: 8px; min-height: 48px; }
#ui .v6d-hh-zl { flex: 0 0 72px; font-size: 13px; font-weight: 700; }
#ui .v6d-hh-ziel small { font-size: 12px; color: var(--ink2); }
#ui .v6d-hh-ship { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; border-radius: 14px; background: #E8F3FC; font-size: 12.5px; color: #1F4F7A; line-height: 1.35; }
#ui .v6d-hh-ship > span:not(.ico) { flex: 1 1 180px; min-width: 0; }
#ui .v6d-hh-ship .ico { line-height: 0; flex: none; }
#ui .v6d-hh-shipbtn { flex: none; min-height: 44px; }
#ui .v6d-trade-hint { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; margin-bottom: 8px; border-radius: 16px; background: #FBF0D6; color: #6A4A00; font-size: 13px; line-height: 1.4; }
#ui .v6d-trade-hint > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#ui .v6d-trade-hint .ico { line-height: 0; flex: none; }
#ui .v6d-ts-hh > div { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
#ui .v6d-ts-hhbtn.btn-small { min-height: 44px; }
