﻿:root {
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-strong: #ecfeff;
  --text: #10202a;
  --muted: #667085;
  --line: #d8e1e7;
  --primary: #0f766e;
  --primary-dark: #115e59;
  --accent: #eab308;
  --danger: #b42318;
  --success: #027a48;
  --shadow: 0 14px 35px rgba(15, 23, 42, 0.1);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* 021-012: superfícies brancas da área do Jogador; mapa e media ficam fora do âmbito. */
.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice) {
  color:#111827!important;background:#fff!important;background-image:none!important;opacity:1!important;font-weight:700;
}
.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice) :is(.bag-window-bar,.bag-window-body,.bag-tabs,.bag-simple-content,.bag-category-content,.warehouse-content,.warehouse-toolbar,.warehouse-main-layout,.warehouse-item-list,.warehouse-item-card,.warehouse-item-inspect,.warehouse-operation-destination,.warehouse-destination-items,.bag-company-section,.bag-company-section>header,.bag-item,.bag-item-open,.bag-item-detail-actions,.qr-prize-facts>div,.qr-estimated-value,.qr-usage-rules,.qr-ownership-history,.qr-detail-actions,.bingo-active-qr,.bingo-qr-facts>div,.bingo-qr-detail>.bag-item-detail-actions,.game-side-panel-body,.notifications-workspace,.notification-toolbar,.notification-history,.notification-compact-row,.notification-detail-card,.notification-detail-card header,.auction-sale-top,.auction-sale-tabs,.auction-sale-workspace,.auction-sale-list,.auction-sale-card,.auction-sale-detail,.auction-buy-item-window,.auction-transaction-side-window,.auction-own-item-summary,.market-fixed-purchase-confirmation,.auction-cancellation-confirmation,.business-fixed-top,.business-player-list,.business-player-list>header,.business-three-columns,.business-resizable-pane,.business-offer>header,.business-conversation>header,.business-offer-scroll,.business-message-scroll,.business-message-scroll article,.business-message-form,.business-conversation>footer,.social-simple-body,.social-message-list,.social-message-list .message,.social-trade-side,.social-trade-offer,.social-trade-coins,.social-commerce-toolbar,.social-roster-search,.social-dialog-empty,.direct-donation-scroll,.direct-donation-confirmation>header,.direct-donation-confirmation>footer,.direct-donation-recipient-decision>header) {
  color:#111827!important;background:#fff!important;background-image:none!important;opacity:1!important;border-color:#9ca3af!important;
}
.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice) :is(h1,h2,h3,h4,h5,h6,p,label,legend,dt,dd,th,td,strong,b,small,em,span,time) {color:#111827!important;font-weight:700!important}
.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice) :is(input,textarea,select) {color:#111827!important;background:#fff!important;border:2px solid #6b7280!important;font-weight:700!important;opacity:1!important}
.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice) :is(input,textarea,select):disabled {color:#374151!important;background:#e5e7eb!important;border-color:#9ca3af!important;opacity:1!important}
.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice) button {color:#fff!important;background:#15803d!important;background-image:none!important;border-color:#166534!important;font-weight:800!important;opacity:1}
.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice) button:is(:hover,:focus,:active) {color:#fff!important;background:#166534!important;outline-color:#052e16!important}
.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice) button:disabled {color:#1f2937!important;background:#d1d5db!important;border-color:#9ca3af!important;opacity:1!important}
.game-screen :is(.warehouse-item-list,.warehouse-destination-items,.bag-item-list,.notification-history,.business-player-scroll,.business-offer-scroll,.business-message-scroll,.social-message-list) {scrollbar-color:#15803d #e5e7eb}
.game-screen .warehouse-unified .warehouse-toolbar nav button span {color:#111827!important;background:#fff!important}
@media print {.game-screen :is(.bag-inventory,.game-floating-panel,.game-side-panel,.auction-sales-panel,.business-box,.direct-donation-confirmation,.direct-donation-recipient-decision,.capture-company-window,#capture-company-window,.bag-item-detail,.bag-detail-window,.social-message-notice){color:#000!important;background:#fff!important;background-image:none!important;opacity:1!important;print-color-adjust:exact}}

/* 020-84: diretório completo e seleção canónica na Caixa de Negócio */
.game-screen .business-box,
.game-screen .business-fixed-top,
.game-screen .business-three-columns,
.game-screen .business-resizable-pane { min-width:0; min-height:0; max-width:100%; }
.game-screen .business-box { overflow:hidden; }
.game-screen .business-fixed-top { width:100%; overflow:hidden; }
.game-screen .business-player-list {
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  width:min(620px,100%);
  height:min(290px,34dvh);
  min-width:min(360px,100%);
  max-width:100%;
  overflow:hidden;
}
.game-screen .business-player-list>header {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  padding:7px 9px;
  background:#dbeef3;
}
.game-screen .business-player-list>header strong { overflow-wrap:anywhere; }
.game-screen .business-player-list form { display:block; min-width:0; padding:7px; }
.game-screen .business-player-list form input { width:100%; min-width:0; }
.game-screen .business-player-scroll {
  display:grid;
  align-content:start;
  gap:5px;
  min-width:0;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}
.game-screen .business-player-row {
  grid-template-columns:42px minmax(0,1fr) auto;
  width:100%;
  min-width:0;
}
.game-screen .business-player-row strong {
  min-width:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
  text-align:left;
}
.game-screen .business-player-row small { white-space:nowrap; }
.game-screen .business-selected-player {
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
  padding:12px;
  overflow-y:auto;
  overflow-x:hidden;
}
.game-screen .business-selected-player>span:nth-child(2) { display:grid; min-width:0; }
.game-screen .business-selected-player strong { white-space:normal; overflow-wrap:anywhere; }
.game-screen .business-selected-actions {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  min-width:0;
}
.game-screen .business-selected-actions button { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.game-screen .business-player-empty { padding:12px; text-align:center; }
.game-screen .business-conversation>header>span:nth-child(2) { display:grid; min-width:0; flex:1 1 auto; }
.game-screen .business-conversation>header>span:nth-child(2) strong { white-space:normal; overflow-wrap:anywhere; }
.game-screen .business-message-form .business-send-action { display:block; width:100%; min-height:42px; margin-top:7px; }
.game-screen .business-private-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  flex:0 0 auto;
  padding:8px;
  background:#f8fafc;
  border-top:1px solid #9ebfc8;
}
.game-screen .business-private-actions button { min-width:0; min-height:42px; white-space:normal; overflow-wrap:anywhere; }
@media(max-width:700px) {
  .game-screen .business-player-list { width:100%; min-width:0; height:min(310px,38dvh); }
  .game-screen .business-player-list>header { grid-template-columns:minmax(0,1fr) auto; }
  .game-screen .business-player-list>header span { grid-row:2; }
  .game-screen .business-selected-actions { grid-template-columns:1fr; }
  .game-screen .business-private-actions { grid-template-columns:1fr; }
  .game-screen .business-three-columns { width:100%; max-width:100%; overflow-x:hidden; }
  .game-screen .business-offer,
  .game-screen .business-conversation { width:100%; max-width:100%; }
}
@media (max-width: 520px) {
}

@media (max-width: 600px) {
  .game-screen .bag-inventory.warehouse-unified {
    left: 4px !important;
    right: auto !important;
    top: max(88px, env(safe-area-inset-top)) !important;
    bottom: auto !important;
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    height: calc(100dvh - 96px) !important;
    max-height: calc(100dvh - 96px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    transform: none !important;
  }
}

/* 021-006 V2: a pega verde e o unico mecanismo de redimensionamento do Armazem. */
.game-screen .bag-inventory.warehouse-unified {
  resize: none !important;
}

.game-screen .warehouse-unified > .managed-window-resizer {
  pointer-events: auto !important;
  touch-action: none !important;
  cursor: nwse-resize !important;
}

/* 020-58: componente canónico único do Armazém. */
.warehouse-unified { resize: both; overflow: hidden; min-width: min(560px, calc(100vw - 16px)); min-height: min(420px, calc(100vh - 110px)); max-width: calc(100vw - 16px); max-height: calc(100vh - 110px); }
.warehouse-unified .bag-window-body, .warehouse-content { min-width: 0; min-height: 0; height: 100%; overflow: hidden; }
.warehouse-content { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 10px; padding: 10px; }
.warehouse-toolbar { display: grid; gap: 8px; }
.warehouse-toolbar label { display: grid; gap: 4px; }
.warehouse-toolbar input { width: 100%; min-width: 0; }
.warehouse-toolbar nav { display: flex; flex-wrap: wrap; gap: 6px; }
.warehouse-toolbar nav button { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; }
.warehouse-toolbar nav button span { border-radius: 999px; padding: 1px 6px; background: rgba(0,0,0,.25); }
.warehouse-toolbar nav button.is-active { outline: 2px solid #ffd34d; }
.warehouse-main-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 34%); gap: 10px; min-height: 0; overflow: hidden; }
.warehouse-item-list { display: grid; align-content: start; gap: 7px; min-width: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
.warehouse-item-card { display: grid; gap: 5px; min-width: 0; padding: 7px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(4,20,27,.88); touch-action: none; }
.warehouse-item-card.is-blocked { opacity: .72; }
.warehouse-item-card.dragging { opacity: .45; outline: 2px solid #ffd34d; }
.warehouse-item-inspect { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 9px; align-items: center; width: 100%; min-width: 0; text-align: left; }
.warehouse-item-image { display: grid; place-items: center; width: 50px; height: 50px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.08); }
.warehouse-item-image img { width: 100%; height: 100%; object-fit: contain; }
.warehouse-safe-image { display: grid; width: 100%; height: 100%; place-items: center; color: #111827; font-size: 11px; line-height: 1.2; text-align: center; }
.warehouse-safe-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.warehouse-company-logo { display: grid; width: 38px; height: 38px; place-items: center; overflow: hidden; border: 1px solid #bbf7d0; border-radius: 8px; background: #fff; }
.warehouse-pec-hero { display: grid; grid-template-columns: minmax(100px, 160px) 64px minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px; border-bottom: 1px solid #d1d5db; background: #fff; color: #111; }
.warehouse-pec-prize-photo { min-height: 110px; border: 1px solid #d1d5db; border-radius: 10px; overflow: hidden; background: #f9fafb; }
.warehouse-pec-company-logo { width: 64px; height: 64px; border: 1px solid #d1d5db; border-radius: 10px; overflow: hidden; background: #fff; }
.warehouse-pec-hero > div:last-child { display: grid; gap: 6px; min-width: 0; }
.warehouse-pec-hero strong, .warehouse-pec-hero b { font-weight: 800; }
.warehouse-item-copy { display: grid; min-width: 0; }
.warehouse-item-copy strong, .warehouse-item-copy small, .warehouse-item-copy em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.warehouse-item-copy em { font-size: .72rem; font-style: normal; opacity: .8; }
.warehouse-item-quantity { white-space: nowrap; font-weight: 800; }
.warehouse-drag-hint, .warehouse-blocked-reason { padding-left: 63px; }
.warehouse-item-card.is-energy-stock { max-width: 100%; overflow: hidden; }
.warehouse-item-card.is-energy-stock .warehouse-item-inspect {
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-areas: "image copy" "quantity quantity";
  max-width: 100%;
  overflow: hidden;
}
.warehouse-item-card.is-energy-stock .warehouse-item-image { grid-area: image; width: 42px; height: 42px; }
.warehouse-item-card.is-energy-stock .warehouse-item-copy { grid-area: copy; overflow: hidden; }
.warehouse-item-card.is-energy-stock .warehouse-item-copy :is(strong, small, em) {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.warehouse-item-card.is-energy-stock .warehouse-item-quantity {
  grid-area: quantity;
  justify-self: stretch;
  max-width: 100%;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
}
.warehouse-item-card.is-energy-stock :is(.warehouse-drag-hint, .warehouse-blocked-reason) {
  max-width: 100%;
  padding-left: 0;
  overflow-wrap: anywhere;
}
.warehouse-operation-destination { display: grid; grid-template-rows: auto minmax(0,1fr); gap: 8px; min-width: 0; min-height: 130px; padding: 9px; border: 2px dashed rgba(255,211,77,.65); border-radius: 12px; overflow: hidden; }
.warehouse-operation-destination.drop-hover { background: rgba(255,211,77,.16); border-style: solid; }
.warehouse-operation-destination > header { display: flex; justify-content: space-between; gap: 8px; }
.warehouse-destination-items { display: grid; align-content: start; gap: 8px; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.warehouse-destination-items article { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 8px; padding: 7px; border-radius: 9px; background: rgba(255,255,255,.08); }
.warehouse-destination-items article button { grid-column: 1 / -1; }
.warehouse-destination-items article span:nth-child(2) { display: grid; min-width: 0; }
@media (max-width: 600px) {
  .warehouse-unified { left: 4px !important; right: 4px !important; top: max(88px, env(safe-area-inset-top)) !important; width: calc(100vw - 8px) !important; height: calc(100dvh - 96px) !important; min-width: 0; min-height: 0; resize: none; }
  .warehouse-main-layout { grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) auto; }
  .warehouse-operation-destination { max-height: 34dvh; position: sticky; bottom: 0; background: #09232d; }
  .warehouse-toolbar nav { flex-wrap: nowrap; overflow-x: auto; }
  .warehouse-item-inspect { grid-template-columns: 46px minmax(0,1fr) auto; }
  .warehouse-item-image { width: 42px; height: 42px; }
  .warehouse-drag-hint, .warehouse-blocked-reason { padding-left: 0; }
}

/* 017-61: centro de objetos inspirado em paineis de inventario de MMO, simplificado para ZAP-FLAGS */
.bag-inventory {
  --inventory-line: rgba(119, 176, 191, .38);
  --inventory-accent: #79d4df;
  color: #eaf8fa;
  background: linear-gradient(145deg, rgba(12, 20, 27, .98), rgba(28, 42, 50, .97));
  border-color: var(--inventory-line);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .48), inset 0 0 30px rgba(80, 179, 191, .06);
}
.bag-inventory .bag-window-bar { background: linear-gradient(90deg, rgba(25,49,58,.98), rgba(15,28,35,.98)); border-bottom-color: var(--inventory-line); }
.bag-inventory .bag-tabs { background: rgba(7,14,19,.72); border-right-color: var(--inventory-line); }
.bag-inventory .bag-tabs button { color:#cce4e8; border:1px solid transparent; border-radius:4px; }
.bag-inventory .bag-tabs button span { display:inline-grid; place-items:center; width:26px; height:26px; color:var(--inventory-accent); border:1px solid rgba(121,212,223,.25); background:rgba(121,212,223,.06); }
.bag-inventory .bag-tabs button.active { color:#fff; border-color:rgba(121,212,223,.42); background:linear-gradient(90deg,rgba(50,114,126,.45),rgba(20,43,51,.72)); }
.entropia-bag-home { display:grid; gap:12px; padding:14px; }
.entropia-bag-home header { display:grid; gap:3px; }
.entropia-home-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:8px; }
.entropia-home-grid button { display:grid; justify-items:start; gap:4px; min-height:90px; padding:10px; color:#eaf8fa; background:linear-gradient(145deg,rgba(35,52,60,.92),rgba(14,24,30,.95)); border:1px solid var(--inventory-line); }
.entropia-home-grid button span { color:var(--inventory-accent); font-size:22px; }
.entropia-home-grid button small { color:#9eb8bd; }
.entropia-browser-tools { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:10px; border-bottom:1px solid var(--inventory-line); }
.entropia-browser-tools label { display:grid; gap:4px; flex:1; }
.entropia-browser-tools input { width:100%; color:#eefbfc; background:#081116; border:1px solid var(--inventory-line); }
.entropia-item-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:8px; padding:10px; }
.entropia-inventory-card { display:grid; gap:5px; min-height:145px; padding:10px; border:1px solid rgba(119,176,191,.28); background:linear-gradient(145deg,rgba(35,52,60,.92),rgba(14,24,30,.95)); }
.entropia-inventory-card:hover { border-color:var(--inventory-accent); transform:translateY(-1px); }
.entropia-item-icon { display:grid; place-items:center; width:48px; height:48px; font-size:25px; color:var(--inventory-accent); border:1px solid var(--inventory-line); background:rgba(0,0,0,.24); }
.entropia-inventory-card small { color:#9eb8bd; }
.entropia-inventory-card em { color:#ffc96b; font-style:normal; }
.entropia-trade-start { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; padding:14px; }
.entropia-trade-column { display:grid; gap:8px; padding:12px; border:1px solid var(--inventory-line); background:rgba(4,11,15,.46); }
.entropia-trade-drop { display:grid; place-items:center; min-height:145px; padding:10px; color:var(--inventory-accent); border:1px dashed rgba(121,212,223,.55); }
.entropia-trade-drop.muted { color:#80959a; border-color:#4e6267; }
.entropia-trade-arrows { align-self:center; color:var(--inventory-accent); font-size:28px; }
.entropia-trade-start footer { grid-column:1/-1; display:flex; justify-content:flex-end; gap:8px; }
.entropia-dialog-launcher { display:grid; gap:12px; max-width:580px; padding:18px; }
@media (max-width:700px) { .entropia-trade-start{grid-template-columns:1fr}.entropia-trade-arrows{transform:rotate(90deg);justify-self:center}.entropia-trade-start footer{grid-column:auto} }

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--text);
}

html.map-active-root,
html.map-active-root body,
body.map-active-body {
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--primary);
  color: #ffffff;
  font-weight: 750;
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

input,
textarea,
select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: #ffffff;
  color: var(--text);
}

textarea {
  min-height: 88px;
  resize: vertical;
}

label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 650;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

.hidden {
  display: none !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.auth-screen {
  position: fixed;
  z-index: 60;
  inset: 0;
  display: grid;
  gap: 14px;
  width: min(100%, 520px);
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0 auto;
  padding: 16px 12px calc(20px + env(safe-area-inset-bottom));
  overflow-y: auto;
  align-content: start;
  background: rgba(248, 250, 252, 0.98);
}

.brand {
  display: flex;
  gap: 12px;
  align-items: center;
}

.brand h1 {
  margin-bottom: 2px;
  font-size: 1.8rem;
  letter-spacing: 0;
}

.brand p {
  margin-bottom: 0;
  color: var(--muted);
}

.brand-mark,
.avatar {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--primary);
  color: #ffffff;
  font-weight: 850;
}

.panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.secondary-panel {
  box-shadow: none;
}

.auth-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.auth-top-actions {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.checkbox-row {
  grid-template-columns: auto 1fr;
  align-items: center;
}

.checkbox-row input {
  width: auto;
  min-height: auto;
}

.upload-panel {
  display: grid;
  gap: 8px;
}

.upload-panel > span {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 750;
}

.upload-panel p,
.upload-panel small {
  margin: 0;
  color: var(--muted);
}

.places-picker {
  display: grid;
  gap: 8px;
}

.register-map-location {
  display: grid;
  gap: 10px;
}

.register-location-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.register-location-heading span {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 750;
}

.register-location-heading strong {
  color: var(--accent);
  font-size: 0.82rem;
}

.register-map-search-panel {
  display: grid;
  gap: 8px;
}

.register-map-search-panel > span {
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 750;
}

.register-map-search-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.register-map-search-full {
  grid-column: 1 / -1;
}

.register-map-search-actions {
  display: flex;
  justify-content: flex-end;
}

.register-map-search-actions button {
  width: auto;
}

.register-map {
  position: relative;
  display: block;
  width: 100%;
  height: 280px;
  min-height: 280px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #dbeafe;
}

.register-leaflet-map-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #dbeafe;
}

.register-map-unavailable {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: #e0f2fe;
  color: #0f172a;
  font-weight: 800;
  text-align: center;
  z-index: 1;
}

.register-map-unavailable.hidden,
.register-map.map-ready:not(.map-unavailable) .register-map-unavailable {
  display: none;
}

.register-map-pin-preview {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 22px;
  border: 3px solid #ffffff;
  border-radius: 50% 50% 50% 0;
  background: #dc2626;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.28);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -100%) rotate(-45deg);
  transition: opacity 0.18s ease;
  z-index: 2;
}

.register-map-pin-preview::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #ffffff;
}

.register-map.has-pin .register-map-pin-preview {
  opacity: 1;
}

.zf-leaflet-pin-icon,
.leaflet-marker-icon.zf-leaflet-pin-icon {
  width: 28px !important;
  height: 38px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.zf-leaflet-pin-icon span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 24px;
  border: 3px solid #ffffff;
  border-radius: 50% 50% 50% 0;
  background: #dc2626;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.28);
  transform: translate(-50%, -70%) rotate(-45deg);
}

.zf-leaflet-pin-icon span::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: #ffffff;
}

.register-pin-actions {
  display: flex;
  justify-content: flex-end;
}

.register-pin-actions button {
  width: auto;
}

.location-status {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff7ed;
  color: #7c2d12;
  font-size: 0.86rem;
  font-weight: 700;
}

.location-status.confirmed {
  background: #ecfdf3;
  color: var(--success);
}

.location-suggestions {
  display: grid;
  gap: 6px;
}

.location-suggestion {
  min-height: 40px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--text);
  text-align: left;
  font-weight: 650;
}

@media (max-width: 520px) {
  .register-map-search-grid {
    grid-template-columns: 1fr;
  }

  .entry-map-search-grid {
    grid-template-columns: 1fr;
  }

  .entry-map-actions {
    justify-content: stretch;
  }

  .entry-map-actions button {
    width: 100%;
  }
}

.upload-dropzone {
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 118px;
  padding: 14px;
  border: 1px dashed var(--primary);
  border-radius: 8px;
  background: var(--surface-strong);
  color: var(--text);
  text-align: center;
  cursor: pointer;
}

.upload-dropzone.drag-over {
  border-color: var(--accent);
  background: #fffbeb;
}

.upload-dropzone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.upload-preview {
  display: grid;
  gap: 8px;
  margin: 0;
}

.upload-preview img {
  width: 96px;
  height: 96px;
  border: 1px solid var(--line);
  border-radius: 50%;
  object-fit: cover;
}

.upload-preview figcaption {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 0.9rem;
}

.link-button {
  min-height: auto;
  border: 0;
  background: transparent;
  color: var(--primary-dark);
  padding: 4px 6px;
  font-weight: 750;
}

.link-button:hover {
  background: transparent;
  text-decoration: underline;
}

.app-shell {
  min-height: 100vh;
  min-height: 100dvh;
  padding: 78px 12px 96px;
}

.app-shell.map-active-shell {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #dff3ee;
}

.topbar {
  position: fixed;
  z-index: 20;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 66px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
}

.map-active-shell .topbar {
  display: none;
}

.player-card {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
}

.player-card strong,
.player-card span {
  display: block;
}

.player-card span {
  color: var(--muted);
  font-size: 0.85rem;
}

.avatar {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  background-size: cover;
  background-position: center;
}

.ghost-button,
.small-button {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--text);
}

.view {
  display: grid;
  gap: 12px;
  width: min(100%, 720px);
  margin: 0 auto;
}

.map-active-shell .view {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  min-height: 100dvh;
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.page-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.page-title h2 {
  margin-bottom: 4px;
  font-size: 1.35rem;
}

.page-title p {
  margin-bottom: 0;
  color: var(--muted);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.stat,
.card,
.list-item,
.flag-card,
.message {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.stat {
  padding: 12px;
}

.stat span {
  color: var(--muted);
  font-size: 0.82rem;
}

.stat strong {
  display: block;
  margin-top: 4px;
  font-size: 1.35rem;
}

.card,
.list-item,
.flag-card {
  padding: 14px;
}

.stack {
  display: grid;
  gap: 10px;
}

.form-grid {
  display: grid;
  gap: 10px;
}

.split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.bag-inventory {
  position: fixed;
  left: 24px;
  top: 96px;
  z-index: 26;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(310px, calc(100vw - 32px));
  height: min(620px, calc(100dvh - 116px));
  min-width: 250px;
  min-height: 320px;
  max-width: 1440px;
  overflow: auto;
  resize: both;
  padding: 0;
  border: 1px solid rgba(148, 163, 184, 0.34);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 26px 80px rgba(15, 23, 42, 0.28);
  color: #111827;
  animation: bag-window-in 160ms ease-out;
}

.bag-inventory.maximized {
  left: 7.5vw !important;
  top: 7.5dvh !important;
  width: 85vw;
  height: 85dvh;
  resize: none;
}

.bag-inventory.minimized {
  grid-template-rows: auto;
  width: min(560px, calc(100vw - 24px));
  height: auto;
  min-height: 0;
  resize: none;
}

.bag-window-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  cursor: grab;
}

.bag-window-bar > div:first-child {
  display: grid;
  gap: 2px;
}

.bag-window-bar strong {
  font-size: 1.05rem;
}

.bag-window-bar span {
  color: #64748b;
  font-size: 0.78rem;
}

.bag-window-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bag-window-controls button {
  min-height: 32px;
  padding: 5px 9px;
}

.bag-window-body {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 14px;
  overflow: auto;
  padding: 14px;
}

.bag-inventory.minimized .bag-window-body {
  display: none;
}

.bag-category-content {
  display: grid;
  gap: 10px;
}

.bag-tabs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.bag-tabs button {
  display: grid;
  align-content: center;
  grid-template-columns: 42px 1fr;
  justify-items: start;
  align-items: center;
  gap: 5px;
  min-height: 48px;
  padding: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  color: #111827;
  font-size: 0.78rem;
  font-weight: 700;
}

.bag-launcher-help {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: 0.78rem;
}

.bag-tabs button.active {
  border-color: #f59e0b;
  background: linear-gradient(180deg, #fff7ed, #ffffff);
  box-shadow: inset 0 -3px 0 #f59e0b, 0 8px 20px rgba(245, 158, 11, 0.14);
}

.bag-tabs button span,
.bag-detail-window > header strong span {
  display: grid;
  place-items: center;
  min-width: 30px;
  height: 24px;
  padding: 0 6px;
  border-radius: 7px;
  background: #fef3c7;
  color: #92400e;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0;
}

.bag-company-board {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 10px;
  min-height: 0;
}

.bag-company-board > header,
.bag-company-section header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 2px;
  border: 0;
  color: #0f172a;
}

.bag-company-board > header span,
.bag-company-section header span,
.bag-item span,
.bag-item small {
  color: #64748b;
  font-size: 0.82rem;
}

.bag-table-head {
  display: grid;
  grid-template-columns: 210px repeat(7, minmax(86px, 1fr)) 72px;
  align-items: center;
  min-width: 940px;
  min-height: 42px;
  border: 1px solid #e2e8f0;
  border-radius: 8px 8px 0 0;
  background: #f8fafc;
  color: #334155;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.bag-table-head span {
  padding: 0 10px;
}

.bag-company-rows,
.bag-item-list {
  display: grid;
  gap: 8px;
}

.bag-company-rows {
  overflow: auto;
  min-width: 940px;
  padding-bottom: 4px;
}

.bag-company-row {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 72px;
  gap: 0;
  min-height: 64px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.bag-company-identity,
.bag-value {
  border: 0;
  background: transparent;
  color: inherit;
}

.bag-company-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 8px 12px;
  text-align: left;
}

.bag-company-logo {
  display: grid;
  flex: 0 0 50px;
  place-items: center;
  width: 50px;
  height: 50px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: linear-gradient(135deg, #f8fafc, #e2e8f0);
  color: #0f172a;
  font-weight: 800;
}

.bag-company-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bag-company-identity strong {
  overflow: hidden;
  font-size: 0.98rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bag-company-values {
  display: grid;
  grid-template-columns: repeat(7, minmax(58px, 1fr));
  gap: 0;
}

.bag-value {
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: 54px;
  padding: 4px;
  border-left: 1px solid #e2e8f0;
}

.bag-value[draggable="true"],
.bag-item[draggable="true"],
.bag-wallet-lot[draggable="true"] {
  cursor: grab;
}

.bag-value.dragging,
.bag-item.dragging,
.bag-wallet-lot.dragging {
  opacity: 0.62;
  outline: 2px solid #f59e0b;
  outline-offset: 2px;
  transform: scale(0.985);
}

.bag-value span {
  color: #f59e0b;
  font-size: 1rem;
}

.bag-value strong {
  color: #0f4aa2;
  font-size: 1.08rem;
}

.bag-value small {
  color: #475569;
  font-size: 0.68rem;
}

.bag-value.coins strong {
  color: #15803d;
}

.bag-row-action {
  align-self: center;
  justify-self: center;
  width: 44px;
  min-height: 36px;
  padding: 4px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
}

.bag-company-section,
.bag-empty-state,
.bag-item {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.bag-company-section {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.bag-item {
  display: grid;
  gap: 4px;
  padding: 10px;
}

.bag-item button {
  width: fit-content;
  min-height: 32px;
  padding: 5px 10px;
}

.bag-empty-state {
  padding: 12px;
  color: #64748b;
}

.bag-detail-window {
  position: fixed;
  z-index: 30;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 24px));
  min-width: 280px;
  min-height: 240px;
  resize: both;
  max-height: min(520px, calc(100dvh - 120px));
  overflow: auto;
  padding: 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.2);
  color: #111827;
  animation: bag-panel-in 140ms ease-out;
}

.bag-detail-window > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 0 8px;
  border-bottom: 1px solid #e2e8f0;
  cursor: grab;
}

.bag-detail-window > header strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.bag-wallet-panel {
  gap: 12px;
}

.bag-coin-stack {
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 10px;
}

.bag-coin-stack img {
  width: 72px;
  height: 54px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(146, 64, 14, 0.24));
}

.bag-coin-stack strong {
  font-size: 1.55rem;
}

.bag-split-preview {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(14, 165, 233, 0.22);
  border-radius: 8px;
  background: #f0f9ff;
}

.bag-split-preview label {
  display: grid;
  gap: 5px;
  color: #334155;
  font-size: 0.84rem;
  font-weight: 700;
}

.bag-wallet-split-input {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
}

.bag-wallet-split-range {
  width: 100%;
  accent-color: #f59e0b;
}

.bag-wallet-rest {
  font-weight: 800;
  color: #15803d;
}

.bag-wallet-warning {
  margin: 0;
}

.bag-wallet-warning.error-text {
  color: #b42318;
}

.bag-wallet-lots {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #fde68a;
  border-radius: 8px;
  background: #fffbeb;
}

.bag-wallet-lots > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.bag-wallet-lot,
.bag-wallet-empty-lots {
  border: 1px solid #facc15;
  border-radius: 8px;
  background: #ffffff;
}

.bag-wallet-lot {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px;
}

.bag-wallet-lot img {
  width: 44px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 6px 8px rgba(146, 64, 14, 0.22));
}

.bag-wallet-lot div {
  display: grid;
  gap: 2px;
}

.bag-wallet-lot strong {
  color: #92400e;
}

.bag-wallet-lot span {
  color: #0f172a;
  font-weight: 900;
}

.bag-wallet-lot small,
.bag-wallet-empty-lots {
  color: #64748b;
}

.bag-wallet-empty-lots {
  padding: 10px;
}

.bag-drop-zone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.bag-drop-zone {
  display: grid;
  gap: 3px;
  min-height: 58px;
  padding: 10px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.bag-drop-zone span {
  color: #64748b;
  font-size: 0.78rem;
}

.bag-drop-zone.can-drop {
  border-color: #22c55e;
  background: #f0fdf4;
}

.bag-drop-zone.drop-hover {
  border-color: #16a34a;
  background: #dcfce7;
  transform: translateY(-1px);
}

.bag-drop-zone.cannot-drop {
  border-color: #ef4444;
  background: #fef2f2;
}

.bag-attention {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(245, 158, 11, 0.32);
  border-radius: 8px;
  background: #fffbeb;
  color: #92400e;
}

@keyframes bag-window-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes bag-panel-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.danger-button {
  background: var(--danger);
}

.map-shell {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(15, 118, 110, 0.08) 1px, transparent 1px),
    linear-gradient(rgba(15, 118, 110, 0.08) 1px, transparent 1px),
    #eefbf7;
  background-size: 34px 34px;
}

.map-flag {
  position: absolute;
  transform: translate(-50%, -50%);
}

.map-flag {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50% 50% 50% 10%;
  background: var(--accent);
  color: #422006;
  font-weight: 850;
  box-shadow: var(--shadow);
}

.map-flag.capture-ready {
  background: #22c55e;
  color: #052e16;
}

.flag-card.in-vision {
  border-color: rgba(22, 163, 74, 0.24);
}

.flag-card.capture-ready {
  border-color: rgba(34, 197, 94, 0.62);
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.2), var(--shadow);
}

.flag-card.capture-ready strong {
  color: #166534;
}

.map-entry {
  display: grid;
  gap: 16px;
  min-height: calc(100dvh - 190px);
  align-content: center;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.12), rgba(234, 179, 8, 0.12)),
    #ffffff;
  box-shadow: var(--shadow);
}

.map-entry h2 {
  margin-bottom: 0;
  font-size: clamp(1.6rem, 7vw, 2.4rem);
}

.map-entry p {
  max-width: 46rem;
  margin-bottom: 0;
  color: var(--muted);
}

.entry-official-map-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
}

.entry-official-map-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.entry-official-map-heading strong {
  color: var(--text);
}

.entry-official-map-heading span {
  color: var(--primary);
  font-size: 0.84rem;
  font-weight: 800;
}

.entry-map-search-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.entry-map-search-full {
  grid-column: 1 / -1;
}

.entry-map-primary-actions {
  display: grid;
  gap: 8px;
}

.entry-leaflet-map-shell {
  position: relative;
  display: block;
  width: 100%;
  height: 280px;
  min-height: 280px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #dbeafe;
}

.entry-leaflet-map-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #dbeafe;
}

.entry-map-unavailable {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 18px;
  background: #e0f2fe;
  color: #0f172a;
  font-weight: 800;
  text-align: center;
}

.entry-map-unavailable.hidden,
.entry-leaflet-map-shell.map-ready:not(.map-unavailable) .entry-map-unavailable {
  display: none;
}

.entry-map-pin-preview {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 22px;
  height: 22px;
  border: 3px solid #ffffff;
  border-radius: 50% 50% 50% 0;
  background: #dc2626;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.28);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -100%) rotate(-45deg);
  transition: opacity 0.18s ease;
}

.entry-map-pin-preview::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #ffffff;
}

.entry-leaflet-map-shell.has-pin .entry-map-pin-preview {
  opacity: 1;
}

.entry-map-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.entry-map-actions button {
  width: auto;
}

.mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.mode-grid button {
  display: grid;
  gap: 6px;
  min-height: 118px;
  align-content: center;
  padding: 16px;
  text-align: left;
}

.mode-grid button span {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.88rem;
}

.game-screen {
  position: fixed;
  inset: 0;
  display: block;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.game-topline {
  position: fixed;
  z-index: 34;
  top: 78px;
  left: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: min(360px, calc(100% - 20px));
  padding: 8px;
  border: 1px solid rgba(16, 32, 42, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
}

.game-topline h2 {
  margin-bottom: 0;
}

.game-hud {
  position: fixed;
  z-index: 540;
  top: calc(8px + env(safe-area-inset-top));
  left: 50%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  width: min(560px, calc(100vw - 116px));
  transform: translateX(-50%);
  pointer-events: none;
}

.game-hud article,
.game-hud .wallet-hud-button {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 30px;
  padding: 3px 7px;
  border: 1px solid rgba(15, 118, 110, 0.16);
  border-radius: 999px;
  background: rgba(7, 47, 46, 0.72);
  color: #ecfeff;
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
}

.game-hud .wallet-hud-button {
  appearance: none;
  cursor: pointer;
  pointer-events: auto;
}

.game-hud .wallet-hud-button:hover {
  border-color: rgba(250, 204, 21, 0.48);
  background: rgba(20, 83, 45, 0.86);
}

.game-hud span {
  display: inline;
  overflow: hidden;
  color: #a7f3d0;
  font-size: 0.74rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.game-hud strong {
  display: inline;
  margin-top: 0;
  color: #ffffff;
  font-size: 0.74rem;
}

.game-hud .wallet-hud-icon {
  width: 34px;
  height: 26px;
  flex: 0 0 34px;
  object-fit: contain;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.28));
}

.game-hud .wallet-hud-button small {
  color: rgba(236, 254, 255, 0.82);
  font-size: 0.62rem;
  line-height: 1;
  white-space: nowrap;
}

.game-hud .wallet-hud-button strong {
  white-space: nowrap;
}

.game-shortcuts {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.game-shortcuts button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 10px;
  background: var(--primary-dark);
}

.map-icon-dock {
  position: absolute;
  z-index: 520;
  top: 50%;
  right: 8px;
  display: grid;
  gap: 6px;
  transform: translateY(-50%);
}

.map-icon-button {
  display: grid;
  place-items: center;
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  border: 1px solid rgba(236, 254, 255, 0.22);
  border-radius: 50%;
  background: rgba(7, 47, 46, 0.82);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
  backdrop-filter: blur(12px);
}

.map-icon-button span {
  max-width: 30px;
  overflow: hidden;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-overflow: clip;
  white-space: nowrap;
}

.map-icon-button.wide-map-icon {
  width: auto;
  min-width: 76px;
  border-radius: 999px;
  padding: 0 12px;
}

.map-icon-button.gps-center-icon {
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  border-radius: 50%;
  padding: 0;
}

.map-icon-button.danger-map-icon {
  background: rgba(16, 32, 42, 0.95);
}

.game-map-panel {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #dbeafe;
}

.offline-map-body .game-map-panel {
  background: transparent !important;
}

.game-leaflet {
  position: fixed;
  z-index: 20;
  inset: 0;
  display: block;
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: filter 180ms ease;
  opacity: 1;
  visibility: visible;
  background: #dbeafe;
}

.location-pending-panel {
  position: fixed;
  z-index: 30;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  padding: 24px;
  text-align: center;
  color: #0f172a;
  background: #e0f2fe;
}

.location-pending-panel strong {
  font-size: 1.15rem;
}

.location-pending-panel span {
  max-width: 440px;
  color: #334155;
  line-height: 1.5;
}

body:not(.offline-map-body) .offline-game-canvas,
body:not(.offline-map-body) .offline-player-layer {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.offline-game-canvas {
  position: fixed !important;
  z-index: 10 !important;
  inset: 0 !important;
  display: block !important;
  width: 100vw !important;
  max-width: none;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  background: #050810 !important;
  touch-action: none;
}

.offline-player-layer {
  position: fixed;
  z-index: 40;
  inset: 0;
  pointer-events: none;
}

.offline-range-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block !important;
  border-radius: 9999px;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  aspect-ratio: 1 / 1;
  background: transparent;
  pointer-events: none;
}

.offline-vision-range {
  width: 100px !important;
  height: 100px !important;
  min-width: 100px !important;
  min-height: 100px !important;
  max-width: 100px !important;
  max-height: 100px !important;
  border: 2px dashed rgba(248, 250, 252, 0.82);
  box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.22);
}

.offline-capture-range {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  max-width: 50px !important;
  max-height: 50px !important;
  border: 2px solid rgba(253, 224, 71, 0.92);
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.22);
}

.offline-player-layer .player-dot {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.game-leaflet.offline-game-map {
  background:
    radial-gradient(circle at center, rgba(20, 184, 166, 0.2), transparent 32%),
    linear-gradient(135deg, #0f2f38, #1f5f56 48%, #102f3a);
}

.offline-game-map .leaflet-local-tile {
  image-rendering: auto;
}

.game-screen.is-moving .game-leaflet,
.game-screen.is-moving .offline-game-canvas {
  animation: none;
}

.game-screen.is-moving .leaflet-local-marker.player,
.game-screen.is-moving .walking-anchor span,
.game-screen.is-moving .player-dot-icon {
  animation: player-step 300ms ease-in-out infinite;
}

.leaflet-local-marker.range.vision-range-circle {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  max-width: 22px;
  max-height: 22px;
  border-width: 1px;
  border-color: rgba(248, 250, 252, 0.52);
  border-style: dashed;
  border-radius: 9999px;
  background: transparent;
  opacity: 0.58;
  box-shadow: none;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  transform: translate(-50%, -50%);
}

.leaflet-local-marker.range.capture-range-circle {
  width: 12px;
  height: 12px;
  min-width: 12px;
  min-height: 12px;
  max-width: 12px;
  max-height: 12px;
  border-width: 1px;
  border-color: rgba(248, 250, 252, 0.68);
  border-style: dashed;
  border-radius: 9999px;
  background: transparent;
  opacity: 0.68;
  box-shadow: none;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  transform: translate(-50%, -50%);
}

.vision-vignette {
  position: absolute;
  z-index: 30;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at center, transparent 0 82px, rgba(15, 23, 42, 0.04) 150px, rgba(15, 23, 42, 0.1) 100%);
  mix-blend-mode: multiply;
}

body:not(.offline-map-body) .vision-vignette {
  display: none;
}

.capture-alert {
  position: absolute;
  z-index: 535;
  top: calc(98px + env(safe-area-inset-top));
  left: 50%;
  width: max-content;
  max-width: min(320px, calc(100vw - 28px));
  padding: 8px 12px;
  border: 1px solid rgba(236, 254, 255, 0.26);
  border-radius: 999px;
  color: #ecfeff;
  font-size: 0.82rem;
  font-weight: 850;
  text-align: center;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18);
  transform: translateX(-50%);
  pointer-events: none;
  backdrop-filter: blur(12px);
}

.capture-alert.soft {
  background: rgba(15, 118, 110, 0.72);
}

.capture-alert.strong {
  background: rgba(22, 163, 74, 0.84);
  animation: capture-alert-pulse 900ms ease-in-out infinite;
}

.leaflet-container,
.leaflet-local-map {
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.game-leaflet .leaflet-pane,
.game-leaflet .leaflet-map-pane,
.game-leaflet .leaflet-tile-pane,
.game-leaflet .leaflet-overlay-pane,
.game-leaflet .leaflet-marker-pane,
.game-leaflet .leaflet-tile {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.map-flag-marker.in-vision,
.leaflet-local-marker.flag.in-vision {
  filter: drop-shadow(0 4px 8px rgba(22, 163, 74, 0.2));
}

.map-flag-marker.capture-ready,
.leaflet-local-marker.flag.capture-ready {
  filter: drop-shadow(0 0 8px rgba(34, 197, 94, 0.5));
}

.map-flag-marker {
  background: transparent;
  border: 0;
}

.official-map-flag {
  position: relative;
  display: block;
  width: 24px;
  height: 30px;
  transform: none;
}

.official-map-flag-pole {
  position: absolute;
  left: 4px;
  bottom: 0;
  width: 3px;
  height: 29px;
  border-radius: 2px;
  background: #166534;
}

.official-map-flag-cloth {
  position: absolute;
  z-index: 1;
  top: 1px;
  left: 6px;
  width: 17px;
  height: 12px;
  border: 1px solid #15803d;
  border-radius: 1px 3px 3px 1px;
  background: #86efac;
  color: #14532d;
  font-size: 9px;
  font-weight: 900;
  line-height: 12px;
  text-align: center;
}

.guest-map-hint {
  position: absolute;
  z-index: 520;
  right: 8px;
  bottom: calc(102px + env(safe-area-inset-bottom));
  width: min(260px, calc(100% - 20px));
  padding: 8px 10px;
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-radius: 8px;
  background: rgba(236, 254, 255, 0.94);
  color: var(--primary-dark);
  font-size: 0.78rem;
  font-weight: 750;
  box-shadow: var(--shadow);
}

.game-controls {
  position: fixed;
  z-index: 540;
  left: 8px;
  right: auto;
  bottom: calc(68px + env(safe-area-inset-bottom));
  display: grid;
  gap: 8px;
  max-width: min(260px, calc(100% - 20px));
}

.offline-joystick {
  display: grid;
  grid-template-columns: repeat(3, 34px);
  grid-template-areas:
    ". up ."
    "left run right"
    ". down .";
  gap: 5px;
  justify-content: start;
  opacity: 0.88;
}

.offline-joystick button {
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 1px solid rgba(236, 254, 255, 0.2);
  border-radius: 50%;
  background: rgba(7, 47, 46, 0.58);
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
  backdrop-filter: blur(12px);
}

.offline-joystick [data-move="forward"] {
  grid-area: up;
}

.offline-joystick [data-move="left"] {
  grid-area: left;
}

.offline-joystick [data-move="back"] {
  grid-area: down;
}

.offline-joystick [data-move="right"] {
  grid-area: right;
}

.offline-joystick [data-move="run"] {
  grid-area: run;
  background: rgba(234, 179, 8, 0.74);
  color: #111827;
}

.map-session-actions {
  position: fixed;
  z-index: 545;
  left: 8px;
  bottom: calc(8px + env(safe-area-inset-bottom));
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 4px;
  border: 1px solid rgba(16, 32, 42, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
}

.map-session-actions .ghost-button,
.map-session-actions .link-button {
  min-height: 34px;
  border-radius: 999px;
  padding: 5px 10px;
}

.game-side-panel {
  position: absolute;
  z-index: 535;
  top: 94px;
  right: 70px;
  bottom: calc(80px + env(safe-area-inset-bottom));
  display: grid;
  grid-template-rows: auto 1fr;
  width: min(360px, calc(100% - 92px));
  overflow: hidden;
  border: 1px solid rgba(16, 32, 42, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
}

.game-floating-panel {
  top: calc(74px + env(safe-area-inset-top));
  right: 54px;
  left: auto;
  bottom: calc(64px + env(safe-area-inset-bottom));
  width: min(360px, calc(100vw - 78px));
  background: rgba(255, 255, 255, 0.92);
}

.flag-stack-panel {
  top: calc(50px + env(safe-area-inset-top));
  left: 8px;
  right: auto;
  bottom: auto;
  width: min(260px, calc(100vw - 150px));
  max-height: min(28dvh, 220px);
  background: rgba(255, 255, 255, 0.82);
}

.game-side-panel header {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(16, 32, 42, 0.1);
}

.panel-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
}

.panel-actions .link-button,
.panel-actions .ghost-button {
  min-height: 30px;
  padding: 4px 8px;
  font-size: 0.78rem;
}

.game-side-panel h3 {
  margin: 0;
  font-size: 1rem;
}

.game-side-panel-body {
  display: grid;
  align-content: start;
  gap: 10px;
  overflow-y: auto;
  padding: 12px;
}

.mini-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.mini-stats article,
.panel-list-item {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid rgba(16, 32, 42, 0.1);
  border-radius: 8px;
  background: rgba(248, 250, 252, 0.92);
}

.panel-list {
  display: grid;
  gap: 8px;
}

.auction-sales-panel {
  width: min(1120px, calc(100vw - 78px));
  max-height: min(720px, calc(100vh - 120px));
  min-width: min(520px, calc(100vw - 24px));
  min-height: min(420px, calc(100vh - 84px));
  overflow: hidden;
}

.auction-sales-panel > header {
  cursor: grab;
  user-select: none;
}

.auction-sales-panel > header:active {
  cursor: grabbing;
}

.auction-sales-panel .game-side-panel-body {
  min-height: 0;
  overflow: auto;
  padding-bottom: 18px;
}

.auction-panel-resizer {
  position: absolute;
  right: 6px;
  bottom: 6px;
  width: 18px;
  height: 18px;
  cursor: nwse-resize;
}

.auction-panel-resizer::after {
  content: "";
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(15, 23, 42, 0.42);
  border-bottom: 2px solid rgba(15, 23, 42, 0.42);
  border-radius: 1px;
}

/* 020-69: controlador canónico e conteúdo adaptável de Leilões/Vendas. */
.game-screen .auction-sales-panel {
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100dvh - 84px) !important;
  overflow: hidden !important;
  touch-action: none;
}
.game-screen .auction-sales-panel > header {
  touch-action: none;
}
.game-screen .auction-sales-panel > .game-side-panel-body {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  touch-action: pan-y;
}
.game-screen .auction-sales-panel :is(.auction-sale-workspace, .auction-buy-workspace, .auction-sale-list, .auction-search-bar) {
  min-width: 0 !important;
  max-width: 100% !important;
}
.game-screen .auction-sales-panel .auction-search-bar input {
  min-width: 0 !important;
  width: 100% !important;
}
.game-screen .auction-sales-panel .auction-panel-resizer {
  width: 28px !important;
  height: 28px !important;
  touch-action: none;
}
@media (max-width: 560px) {
  .game-screen .auction-sales-panel {
    min-width: 0 !important;
    min-height: 0 !important;
  }
  .game-screen .auction-sales-panel .auction-sale-workspace,
  .game-screen .auction-sales-panel .auction-buy-workspace {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

.auction-sale-tabs,
.auction-sale-actions,
.auction-sale-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.auction-sale-tabs button {
  flex: 1 1 130px;
  min-height: 38px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--text);
}

.auction-sale-tabs button.active {
  border-color: #ca8a04;
  background: #facc15;
  color: #111827;
}

.auction-sale-top h2 {
  margin: 0;
  font-size: 1.35rem;
  letter-spacing: 0;
}

.auction-sale-workspace {
  display: grid;
  grid-template-columns: minmax(230px, 0.8fr) minmax(360px, 1.35fr);
  gap: 12px;
  min-height: 0;
}

.auction-sale-list,
.auction-sale-sell {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 0;
}

.auction-sale-list {
  max-height: min(560px, calc(100vh - 260px));
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 4px 18px 0;
}

.auction-sale-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) auto auto auto auto;
  gap: 6px 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: rgba(248, 250, 252, 0.95);
}

.auction-sale-row button {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: auto;
  padding: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.auction-sale-row > span,
.auction-sale-row > small {
  white-space: nowrap;
}

.auction-sale-row button span,
.auction-sale-row small {
  color: var(--muted);
}

.auction-row-image {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #111827;
  color: #facc15 !important;
  font-weight: 900;
}

.auction-sale-detail {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 12px;
  border: 1px solid rgba(202, 138, 4, 0.28);
  border-radius: 8px;
  background: #fffbeb;
  min-height: 100%;
}

.auction-item-bottom,
.auction-sell-workbench {
  display: grid;
  gap: 10px;
}

.auction-sell-workbench {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.auction-sale-config {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: #ffffff;
}

.auction-sale-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.auction-sale-choice label {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 6px;
}

.auction-sale-choice input {
  width: auto;
  min-height: auto;
}

.auction-drop-box,
.auction-offer-status {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 150px;
  padding: 14px;
  border: 2px dashed #60a5fa;
  border-radius: 8px;
  background: #eff6ff;
  text-align: center;
}

.auction-drop-box[data-auction-drop="coins"] {
  border-color: #facc15;
  background: #fffbeb;
}

.auction-drop-box.has-drop {
  border-style: solid;
  background: #ecfdf5;
}

.auction-drop-box.drop-hover {
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.24);
}

.auction-drop-box.cannot-drop {
  border-color: #dc2626;
  background: #fff7f7;
}

.auction-drop-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 8px;
  background: #111827;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 900;
}

.auction-offer-status {
  min-height: 112px;
  border-style: solid;
  border-color: rgba(15, 23, 42, 0.12);
  background: #ffffff;
}

.auction-sale-detail header {
  display: flex;
  gap: 10px;
  align-items: center;
}

.auction-sale-image {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border-radius: 8px;
  background: #111827;
  color: #facc15;
  font-size: 2rem;
  font-weight: 900;
}

.auction-sale-detail dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.auction-sale-detail dt {
  color: var(--muted);
  font-size: 0.76rem;
}

.auction-sale-detail dd {
  margin: 0;
  font-weight: 800;
}

.auction-sale-history,
.auction-sale-cost {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 8px;
  background: #ffffff;
}

.auction-sale-side-actions {
  display: grid;
  gap: 8px;
}

.auction-sale-side-actions button {
  min-height: 42px;
}

.auction-buy-button {
  background: #16a34a;
}

.auction-offer-button {
  background: #2563eb;
}

.auction-bid-button {
  background: #f97316;
}

.auction-sale-empty-detail {
  place-items: center;
  min-height: 260px;
  text-align: center;
}

@media (max-width: 900px) {
  .auction-sale-workspace {
    grid-template-columns: 1fr;
  }

  .auction-sale-row {
    grid-template-columns: 1fr;
  }

  .auction-sell-workbench {
    grid-template-columns: 1fr;
  }
}

.social-simple-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
  overflow: hidden;
}
.social-simple-content {
  max-height: min(500px, calc(100vh - 230px));
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.social-simple-list-panel {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  min-height: 0;
}

.social-simple-list-panel h3 {
  margin: 0;
  font-size: 0.92rem;
}

.social-status-dot {
  width: 10px;
  height: 10px;
  min-height: 10px;
  padding: 0;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #e5e7eb;
}

.social-status-dot.accepted {
  border-color: #15803d;
  background: #22c55e;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.16);
}

.social-status-dot.blocked {
  border-color: #991b1b;
  background: #dc2626;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.18);
}

.social-unread-badge,
.social-player-unread {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #dc2626;
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
}

.social-player-unread {
  grid-auto-flow: column;
  gap: 5px;
  height: 20px;
  padding: 0 7px;
  white-space: nowrap;
}

.social-unread-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #ffffff;
}

.social-unread-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  box-shadow: 0 0 0 2px #ffffff;
}

.social-message-notice {
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 70;
  display: grid;
  gap: 8px;
  width: min(280px, calc(100vw - 36px));
  padding: 12px;
  border: 1px solid rgba(220, 38, 38, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
}

.social-message-notice div {
  display: flex;
  gap: 8px;
}

.social-message-notice button {
  min-height: 32px;
  padding: 6px 10px;
}

.social-player-message-alert {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(220, 38, 38, 0.22);
  border-radius: 8px;
  background: #fff7f7;
}

.social-player-message-alert button {
  min-height: 30px;
  padding: 5px 9px;
}

.social-player-avatar-button {
  width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 0;
  border-radius: 999px;
  overflow: hidden;
  background: #e2e8f0;
}

.social-block-dot {
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  background: #e5e7eb;
}

.social-block-dot.active {
  border-color: #991b1b;
  background: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18);
}

.social-friend-request-toggle {
  border: 1px solid #cbd5e1;
  background: #f1f5f9;
  color: #334155;
}

.social-friend-request-toggle.active {
  border-color: #15803d;
  background: #22c55e;
  color: #ffffff;
}

.social-simple-content {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
}

.social-player-info-box {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 8px;
  padding: 10px;
  background: rgba(248, 250, 252, 0.9);
}

.social-confirm-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

@media (max-width: 760px) {

  .social-simple-body {
    grid-template-columns: 1fr;
  }
  .social-simple-content {
    max-height: none;
  }

}

/* 020-54: avisos legiveis, dialogo de uma vista e resultados de leilao centrados. */
.game-screen .notifications-panel,
.game-screen .notifications-panel .game-side-panel-body,
.game-screen .notifications-panel .panel-list-item,
.game-screen .notifications-panel :is(h3, p, strong, span, time, button) {
  color: #111827 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.game-screen .notifications-panel,
.game-screen .notifications-panel > header,
.game-screen .notifications-panel .game-side-panel-body,
.game-screen .notifications-panel .panel-list-item {
  background: #fff !important;
  background-image: none !important;
}
.game-screen .notifications-panel { isolation: isolate; overflow: hidden !important; }
.game-screen .notifications-panel .game-side-panel-body { min-height: 0; overflow: hidden; }
.game-screen .notifications-panel .notification-history {
  max-height: calc(100% - 48px);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
.game-screen .notifications-panel .notification-compact-row {
  min-height: 44px;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto auto !important;
  gap: 8px !important;
  align-items: center;
  padding: 7px 9px !important;
  border: 1px solid #cbd5e1 !important;
}
.game-screen .notifications-panel .notification-compact-row > :is(strong, time) {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notification-detail-overlay {
  position: fixed;
  inset: 0;
  z-index: 1700;
  display: grid;
  place-items: center;
  padding: max(82px, env(safe-area-inset-top)) 14px 18px;
  background: rgba(15, 23, 42, .32);
  pointer-events: auto;
}
.game-screen .notifications-panel .notification-detail-card {
  position: relative !important;
  inset: auto !important;
  z-index: 1701 !important;
  width: min(520px, calc(100vw - 28px));
  max-height: min(620px, calc(100dvh - 108px));
  overflow-y: auto;
  overflow-x: hidden;
  padding: 18px;
  border: 2px solid #1f5f85;
  border-radius: 12px;
  color: #111827 !important;
  background: #fff !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.notification-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.notification-detail-actions button,
.notifications-panel button {
  min-height: 38px;
  border: 2px solid #334155 !important;
  background: #f8fafc !important;
  color: #111827 !important;
  pointer-events: auto !important;
}
.social-global-open-button { margin: 8px; min-height: 40px; }
.game-screen .auction-sales-panel .auction-result-summary {
  position: fixed !important;
  left: 50% !important;
  top: max(84px, 50%) !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1650 !important;
  transform: translate(-50%, -50%) !important;
  width: min(430px, calc(100vw - 28px)) !important;
  max-height: calc(100dvh - 108px) !important;
  overflow-y: auto !important;
  color: #111827 !important;
  background: #fff !important;
  font-weight: 700 !important;
  pointer-events: auto !important;
}
.game-screen .auction-sales-panel .auction-result-summary :is(strong, span, button) {
  color: #111827 !important;
  font-weight: 700 !important;
}
@media (max-width: 520px) {
  .game-screen .notifications-panel { left: 8px !important; top: 76px !important; width: calc(100vw - 16px) !important; height: calc(100dvh - 84px) !important; }
  .game-screen .notifications-panel .notification-compact-row { grid-template-columns: auto minmax(0, 1fr) auto !important; }
  .game-screen .notifications-panel .notification-compact-row time { grid-column: 2; }
  .game-screen .notifications-panel .notification-compact-row > button { grid-column: 3; grid-row: 1 / span 2; }
}

/* 020-43: pesquisa e carregamento progressivo apenas na aba Comprar. */
.game-screen .auction-sales-panel .auction-buy-workspace {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

/* Adenda final 020-43: correcoes limitadas a Leiloes/Vendas. */
.game-screen .auction-sales-panel .auction-sale-top {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}
.game-screen .auction-sales-panel .auction-listing-total {
  color: #111111 !important;
  font-weight: 700 !important;
  white-space: nowrap;
}
.game-screen .auction-sales-panel .auction-buy-workspace,
.game-screen .auction-sales-panel .auction-sale-list {
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-x: hidden !important;
}
.game-screen .auction-sales-panel .auction-sale-list {
  overflow-y: auto !important;
  scrollbar-gutter: stable;
  align-content: start;
}
.game-screen .auction-sales-panel .auction-search-bar {
  flex: 0 0 auto;
  overflow: visible !important;
}
.game-screen .auction-sales-panel .auction-search-bar input {
  text-overflow: clip;
}
.game-screen .auction-sales-panel .auction-compact-row {
  position: relative;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.game-screen .auction-sales-panel .auction-compact-row > button {
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
}
.game-screen .auction-sales-panel .auction-own-listing-marker {
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  border: 1px solid #15803d;
  border-radius: 999px;
  background: #ffffff;
  color: #14532d !important;
  font-size: .72rem;
  font-weight: 700 !important;
  pointer-events: none;
}
.game-screen .auction-sales-panel .auction-own-listing-marker i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #16a34a;
  box-shadow: 0 0 0 2px #bbf7d0;
}
.game-screen .auction-sales-panel .auction-transaction-side-window {
  min-width: 0 !important;
  background: #ffffff !important;
  border-color: #9ca3af !important;
  color: #111111 !important;
}
.game-screen .auction-sales-panel .auction-transaction-side-window
  :is(span, label, strong, input) {
  color: #111111 !important;
  font-weight: 700 !important;
}
.game-screen .auction-sales-panel .auction-transaction-side-window button {
  min-height: 42px;
  background: #15803d !important;
  border-color: #166534 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.game-screen .auction-sales-panel .auction-small-coin-drop.has-drop {
  border-style: solid;
  border-color: #15803d;
  background: #f0fdf4;
}
.auction-drag-preview {
  position: fixed;
  z-index: 100000;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 8px;
  width: min(250px, calc(100vw - 32px));
  padding: 8px;
  border: 2px solid #16a34a;
  border-radius: 9px;
  background: #ffffff;
  color: #111111;
  box-shadow: 0 10px 28px #0005;
  pointer-events: none;
}
.auction-drag-preview.is-native {
  left: -1000px;
  top: -1000px;
}
.auction-drag-preview :is(.trade-item-visuals, img) {
  grid-row: 1 / 3;
  width: 40px;
  height: 40px;
  object-fit: contain;
}
.auction-drag-preview strong,
.auction-drag-preview span {
  min-width: 0;
  overflow: hidden;
  color: #111111;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 560px) {
  .game-screen .auction-sales-panel .auction-search-bar {
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    gap: 5px !important;
    padding: 6px !important;
  }
  .game-screen .auction-sales-panel .auction-search-bar button {
    grid-column: auto !important;
    width: auto !important;
    min-width: 58px;
    padding-inline: 7px;
  }
  .game-screen .auction-sales-panel .auction-sale-top {
    align-items: flex-start;
  }
  .game-screen .auction-sales-panel .auction-listing-total {
    max-width: 55%;
    white-space: normal;
    text-align: right;
  }
  .game-screen .auction-sales-panel .auction-buy-item-window {
    grid-template-columns: 1fr !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .game-screen .auction-sales-panel .auction-buy-item-window dl {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 620px) {
}
@media (max-width: 620px) {
}

/* Adenda 091: identidade do vendedor e pesquisa do Dialogo sempre acessiveis. */
.game-screen .auction-sales-panel .auction-compact-owner
  :is(img, .auction-seller-dialog-link[role="button"]) {
  position: relative !important;
  z-index: 2 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
.game-screen .auction-sales-panel .auction-compact-owner img {
  object-fit: contain !important;
  flex: 0 0 auto !important;
}

/* Adenda 100: imagem, identificacao, campo e botoes finais da compra/oferta. */
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  > header.auction-buyer-item-summary {
  grid-template-columns: 132px minmax(220px, 1fr) !important;
  column-gap: 14px !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-sale-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  height: 112px !important;
  min-height: 112px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid #94a3b8 !important;
  border-radius: 8px !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-market-item-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-item-summary > :last-child {
  overflow: visible !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  :is(.auction-buyer-item-name, .auction-buyer-item-reference) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  text-overflow: clip !important;
  writing-mode: horizontal-tb !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-offer-field input,
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-offer-field input:hover,
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-offer-field input:focus,
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-offer-field input:invalid,
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-offer-field input:-webkit-autofill {
  box-sizing: border-box !important;
  min-height: 46px !important;
  padding: 9px 11px !important;
  color: #111111 !important;
  caret-color: #111111 !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  opacity: 1 !important;
  background: #ffffff !important;
  -webkit-text-fill-color: #111111 !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
  border: 2px solid #475569 !important;
  border-radius: 7px !important;
  outline: none !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-offer-field input:focus {
  border-color: #15803d !important;
  box-shadow: 0 0 0 2px rgba(21, 128, 61, .22), 0 0 0 1000px #ffffff inset !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-actions button {
  box-sizing: border-box !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 7px 10px !important;
  border: 2px solid #166534 !important;
  border-radius: 7px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  background: #15803d !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  .auction-buyer-actions .ghost-button {
  border-color: #475569 !important;
  color: #111111 !important;
  background: #e2e8f0 !important;
}
@media (max-width: 560px) {
  .game-screen .auction-sales-panel > .auction-buyer-compact-window
    > header.auction-buyer-item-summary {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }
  .game-screen .auction-sales-panel > .auction-buyer-compact-window
    .auction-sale-image {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    height: 92px !important;
    min-height: 92px !important;
  }
}

.game-screen .auction-sales-panel .auction-search-bar {
  position: sticky;
  top: 0;
  z-index: 4;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
  border: 1px solid #b8c2cc;
  border-radius: 8px;
  background: #ffffff;
}
.game-screen .auction-sales-panel .auction-search-icon {
  color: #111111 !important;
  font-size: 1.1rem;
  font-weight: 700 !important;
  text-align: center;
}
.game-screen .auction-sales-panel .auction-search-bar input,
.game-screen .auction-sales-panel .auction-search-bar button,
.game-screen .auction-sales-panel .auction-browse-status,
.game-screen .auction-sales-panel .auction-browse-source-error,
.game-screen .auction-sales-panel .auction-load-more {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.game-screen .auction-sales-panel .auction-search-bar input {
  min-width: 0;
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #7d8994;
  border-radius: 6px;
  background: #ffffff;
}
.game-screen .auction-sales-panel .auction-search-bar button,
.game-screen .auction-sales-panel .auction-load-more {
  min-height: 42px;
  border: 1px solid #66727d;
  border-radius: 6px;
  background: #ffffff;
}
.game-screen .auction-sales-panel .auction-search-bar button:disabled {
  opacity: .55 !important;
}
.game-screen .auction-sales-panel .auction-browse-status,
.game-screen .auction-sales-panel .auction-browse-source-error {
  margin: 8px;
  padding: 12px;
  border-radius: 6px;
  background: #ffffff;
}
.game-screen .auction-sales-panel .auction-browse-source-error {
  color: #7f1d1d !important;
}
.game-screen .auction-sales-panel .auction-load-more {
  width: calc(100% - 16px);
  margin: 8px;
}
@media (max-width: 560px) {
  .game-screen .auction-sales-panel .auction-search-bar {
    grid-template-columns: 26px minmax(0, 1fr);
  }
  .game-screen .auction-sales-panel .auction-search-bar button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* Adenda 088: janela compacta de compra e oferta sem Porta-moedas. */
.game-screen .auction-sales-panel > .auction-buyer-compact-window {
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  bottom: auto !important;
  width: min(560px, calc(100% - 32px)) !important;
  height: auto !important;
  max-height: calc(100% - 32px) !important;
  min-height: 0 !important;
  padding: 14px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  transform: translate(-50%, -50%) !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window > .auction-buyer-item-summary {
  position: static !important;
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 0 10px !important;
  background: #ffffff !important;
}
.game-screen .auction-sales-panel .auction-buyer-item-summary .auction-sale-image {
  display: grid;
  place-items: center;
  width: 112px !important;
  height: 96px !important;
  overflow: hidden;
}
.game-screen .auction-sales-panel .auction-buyer-item-summary > div:last-child {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.game-screen .auction-sales-panel .auction-buyer-item-summary
  :is(strong, span),
.game-screen .auction-sales-panel .auction-buyer-offer-field {
  color: #111111 !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
.game-screen .auction-sales-panel .auction-buyer-offer-field {
  display: grid;
  grid-template-columns: minmax(120px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
}
.game-screen .auction-sales-panel .auction-buyer-offer-field input {
  width: 100%;
  min-width: 0;
  min-height: 42px !important;
}
.game-screen .auction-sales-panel .auction-buyer-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.game-screen .auction-sales-panel .auction-buyer-actions button {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 5px 8px !important;
  font-size: .86rem !important;
}
.game-screen .auction-sales-panel .auction-compact-confirmation {
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  width: min(360px, calc(100% - 32px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100% - 32px) !important;
  padding: 16px !important;
  transform: translate(-50%, -50%) !important;
}
.game-screen .auction-sales-panel .auction-compact-confirmation > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.game-screen .auction-sales-panel .auction-compact-confirmation button {
  min-height: 38px !important;
  padding: 5px 8px !important;
}

@media (max-width: 560px) {
  .game-screen .auction-sales-panel > .auction-buyer-compact-window {
    width: calc(100% - 16px) !important;
    max-height: calc(100% - 16px) !important;
    padding: 10px !important;
  }
  .game-screen .auction-sales-panel > .auction-buyer-compact-window > .auction-buyer-item-summary {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .game-screen .auction-sales-panel .auction-buyer-item-summary .auction-sale-image {
    width: 76px !important;
    height: 76px !important;
  }
  .game-screen .auction-sales-panel .auction-buyer-offer-field {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}

/* 020-11: cartao limpo e janela lateral da transacao. */
.auction-clean-item-card {
  min-height: 220px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 14px;
  border: 2px dashed #60a5fa;
  border-radius: 10px;
  text-align: center;
}
.auction-clean-item-card.has-drop {
  border-style: solid;
}
.auction-clean-item-card .trade-item-visuals {
  justify-content: center;
}
.auction-sale-side-window,
.auction-transaction-side-window {
  min-width: 240px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(148, 190, 214, .45);
  border-radius: 10px;
  background: rgba(7, 28, 45, .82);
}
.auction-sell-workbench > .auction-sale-config.auction-sale-side-window {
  grid-column: auto;
}
.auction-small-coin-drop {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px;
  border: 1px dashed #facc15;
  border-radius: 8px;
}
.auction-purchase-confirmation {
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 1700;
  width: min(360px, calc(100% - 24px));
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(148, 190, 214, .55);
  border-radius: 12px;
  background: #102f47;
  transform: translate(-50%, -50%);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .65);
}
.auction-purchase-confirmation > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.auction-sales-panel .auction-purchase-confirmation.auction-listing-confirmation {
  background: #ffffff !important;
  border-color: #b8d6c3 !important;
  color: #111827 !important;
  opacity: 1 !important;
}
.auction-sales-panel .auction-purchase-confirmation.auction-listing-confirmation > strong,
.auction-sales-panel .auction-purchase-confirmation.auction-listing-confirmation > span {
  color: #111827 !important;
}
.auction-sales-panel .auction-purchase-confirmation.auction-listing-confirmation > strong,
.auction-sales-panel .auction-purchase-confirmation.auction-listing-confirmation > span,
.auction-sales-panel .auction-purchase-confirmation.auction-listing-confirmation button {
  font-weight: 800 !important;
}
.auction-sales-panel .auction-purchase-confirmation.auction-listing-confirmation button,
.auction-sales-panel .auction-purchase-confirmation.auction-listing-confirmation .ghost-button {
  background: #16833f !important;
  color: #ffffff !important;
  border-color: #116a33 !important;
}
.auction-transaction-completion {
  z-index: 1900;
  pointer-events: auto;
  background: #ffffff;
  color: #111827;
  font-weight: 700;
}
.auction-transaction-completion * {
  color: #111827;
  font-weight: 700;
}

.social-message-list {
  display: grid;
  gap: 8px;
  max-height: min(52dvh, 520px);
  overflow: auto;
}

.social-avatar {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(135deg, #0f766e, #0f172a);
  color: #ffffff;
  font-weight: 800;
}

.social-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.social-window-body {
  display: grid;
  gap: 10px;
  overflow: auto;
  padding: 12px;
}

@media (max-width: 760px) {
}

@media (max-height: 620px) {
}

/* 020-18: anuncios ativos do proprietario, exclusivos do modo Vender. */
.auction-sales-panel .auction-owned-listings {
  display: grid;
  gap: 8px;
  min-height: 0;
  padding: 10px;
  border: 1px solid rgba(148, 190, 214, .32);
  border-radius: 10px;
  background: rgba(5, 24, 39, .55);
}
.auction-sales-panel .auction-owned-listings > header,
.auction-sales-panel .auction-owned-listing-selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.auction-sales-panel .auction-owned-listing-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 8px;
  max-height: 230px;
  overflow: auto;
}
.auction-sales-panel .auction-owned-listing-card {
  border: 1px solid rgba(148, 190, 214, .34);
  border-radius: 9px;
  background: rgba(18, 54, 79, .9);
}
.auction-sales-panel .auction-owned-listing-card.active {
  border-color: var(--player-green);
}
.auction-sales-panel .auction-owned-listing-card > button {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 9px;
  width: 100%;
  text-align: left;
  color: #ffffff !important;
  font-weight: 400 !important;
  background: transparent !important;
}
.auction-sales-panel .auction-owned-listing-card > button > span:last-child {
  display: grid;
  gap: 2px;
}
.auction-sales-panel .auction-owned-listing-image {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  overflow: hidden;
}
.auction-sales-panel .auction-owned-listings :is(strong, span, small),
.auction-sales-panel .auction-owned-listing-empty {
  color: #ffffff !important;
  font-weight: 400 !important;
}
.auction-sales-panel .auction-cancellation-confirmation {
  background: #ffffff !important;
}
.auction-sales-panel .auction-cancellation-confirmation,
.auction-sales-panel .auction-cancellation-confirmation :is(strong, span, button) {
  color: #111111 !important;
  font-weight: 700 !important;
}
.auction-sales-panel .auction-cancellation-image {
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  margin-inline: auto;
  overflow: hidden;
}

/* 020-17: janela simples e estável ao selecionar um item em Comprar. */
.auction-sales-panel .auction-buy-workspace {
  position: relative;
  display: block !important;
}
.auction-sales-panel .auction-buy-workspace .auction-sale-list {
  height: 100%;
}
.auction-sales-panel .auction-buy-workspace .auction-buy-item-window {
  position: absolute;
  inset: 14px;
  z-index: 12;
  width: min(720px, calc(100% - 28px));
  max-height: calc(100% - 28px);
  margin-inline: auto;
  padding: 18px !important;
  overflow: auto;
  border: 1px solid #64748b !important;
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .34);
}
.auction-sales-panel .auction-buy-workspace .auction-buy-item-window .auction-sale-image {
  width: 132px;
  min-width: 132px;
  height: 132px;
}
.auction-sales-panel .auction-buy-workspace [data-market-offer-amount] {
  width: 100%;
  min-height: 42px;
  color: #111111 !important;
  font-weight: 700 !important;
  background: #ffffff !important;
}
@media (max-width: 760px) {
  .auction-sales-panel .auction-buy-workspace .auction-buy-item-window {
    inset: 8px;
    width: calc(100% - 16px);
    max-height: calc(100% - 16px);
    padding: 12px !important;
  }
}

.mini-stats span,
.panel-list-item span {
  color: var(--muted);
  font-size: 0.82rem;
}

.offline-controls {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.offline-controls button {
  min-height: 48px;
}

.empty-game-state {
  padding: 16px;
  border: 1px dashed rgba(15, 118, 110, 0.45);
  border-radius: 8px;
  background: var(--surface-strong);
  color: var(--primary-dark);
  font-weight: 750;
}

.leaflet-flag-marker {
  display: grid;
  place-items: center;
}

.gps-player-icon,
.leaflet-marker-icon.gps-player-icon {
  display: block;
  width: 32px !important;
  height: 52px !important;
  min-width: 32px !important;
  min-height: 52px !important;
  max-width: 32px !important;
  max-height: 52px !important;
  padding: 0 !important;
  /* Leaflet posiciona o ponto geografico na ancora. A regra antiga
     margin: 0 !important anulava essa ancora e desenhava o avatar 52 px
     abaixo da sua coordenada real. */
  margin-left: -16px !important;
  margin-top: -52px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
}
.gps-player-icon.is-own-player,.leaflet-marker-icon.gps-player-icon.is-own-player{pointer-events:none!important}

.gps-player-marker {
  position: relative;
  width: 32px;
  height: 52px;
}

.gps-player-avatar {
  position: absolute !important;
  bottom: 0;
  left: 0;
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  transform: none !important;
  filter: drop-shadow(0 2px 3px rgba(15, 23, 42, 0.32));
}

.gps-player-photo {
  display: block;
  width: 32px;
  height: 32px;
  border: 2px solid #111827;
  border-radius: 9999px;
  background: #ffffff;
  object-fit: cover;
  box-sizing: border-box;
}

.gps-player-name {
  position: absolute;
  z-index: 2;
  bottom: 35px;
  left: 50%;
  display: block;
  width: max-content;
  max-width: 120px;
  padding: 2px 5px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.3);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.92);
  color: #111827;
  font-size: 11px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  transform: translateX(-50%);
}

.gps-player-icon.is-own-player .gps-player-name {
  border-color: rgba(37, 99, 235, 0.55);
}

.gps-player-icon.is-nearby-player .gps-player-head,
.gps-player-icon.is-nearby-player .gps-player-body,
.gps-player-icon.is-nearby-player .gps-player-arms {
  background: #16a34a !important;
}

.gps-player-head,
.gps-player-body,
.gps-player-arms {
  position: absolute !important;
  left: 50% !important;
  box-sizing: border-box !important;
  display: block !important;
  background: #2563eb !important;
  border: 2px solid #111827 !important;
}

.gps-player-head {
  top: 2px !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  border-radius: 9999px !important;
  transform: translateX(-50%) !important;
}

.gps-player-arms {
  top: 16px !important;
  width: 24px !important;
  height: 7px !important;
  min-width: 24px !important;
  min-height: 7px !important;
  max-width: 24px !important;
  max-height: 7px !important;
  border-radius: 9999px !important;
  transform: translateX(-50%) !important;
}

.gps-player-body {
  top: 14px !important;
  width: 14px !important;
  height: 17px !important;
  min-width: 14px !important;
  min-height: 17px !important;
  max-width: 14px !important;
  max-height: 17px !important;
  border-radius: 8px 8px 10px 10px !important;
  transform: translateX(-50%) !important;
}

.player-dot-icon,
.leaflet-marker-icon.player-dot-icon,
.leaflet-local-marker.player.player-dot-icon {
  display: block;
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  max-width: 12px !important;
  max-height: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
}

.player-dot {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  max-width: 12px !important;
  max-height: 12px !important;
  border-radius: 9999px !important;
  background: #facc15 !important;
  border: 2px solid #111827 !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  display: block !important;
  transform: none !important;
}

.game-screen.is-moving .leaflet-local-marker.player,
.game-screen.is-moving .player-dot-icon,
.game-screen.is-moving .gps-player-icon {
  animation: none;
}

.game-screen.is-moving .gps-player-icon.is-own-player .gps-player-avatar {
  animation: player-step 280ms ease-out;
  transform-origin: center;
}

.map-flag-marker,
.map-flag-marker .official-map-flag,
.game-screen.is-moving .map-flag-marker,
.game-screen.is-moving .map-flag-marker .official-map-flag {
  animation: none !important;
  transition: none !important;
}

.game-screen.is-moving .leaflet-local-marker.player {
  transform: translate(-50%, -50%) rotate(var(--player-heading));
}

@keyframes player-step {
  0% {
    filter: drop-shadow(0 4px 10px rgba(15, 23, 42, 0.2));
    scale: 1;
  }
  42% {
    filter: drop-shadow(0 8px 16px rgba(15, 23, 42, 0.3));
    scale: 1.12;
  }
  100% {
    filter: drop-shadow(0 4px 10px rgba(15, 23, 42, 0.2));
    scale: 1;
  }
}

@keyframes map-breath {
  0% {
    filter: saturate(1.02);
  }
  100% {
    filter: saturate(1);
  }
}

@keyframes flag-vision-pulse {
  0%,
  100% {
    filter: drop-shadow(0 4px 8px rgba(22, 163, 74, 0.16));
  }
  50% {
    filter: drop-shadow(0 7px 13px rgba(22, 163, 74, 0.28));
  }
}

@keyframes flag-capture-pulse {
  0%,
  100% {
    filter: drop-shadow(0 4px 10px rgba(22, 163, 74, 0.2));
  }
  50% {
    filter: drop-shadow(0 0 18px rgba(34, 197, 94, 0.48));
  }
}

.capture-company-window {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(15, 23, 42, 0.62);
}

body.capture-modal-open {
  overflow: hidden;
}

.capture-company-card {
  position: relative;
  width: min(390px, 100%);
  max-height: 88vh;
  overflow: auto;
  padding: 22px;
  border-radius: 18px;
  background: #fff;
  color: #17202a;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.34);
}

.capture-company-card > img {
  display: block;
  max-width: 96px;
  max-height: 64px;
  margin: 0 auto 12px;
  object-fit: contain;
}

.capture-company-card dl > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb;
}

.capture-company-card dd { margin: 0; font-weight: 800; text-align: right; }
.capture-company-close { position: absolute; top: 8px; right: 10px; min-width: 38px; }
.capture-company-associated { font-weight: 750; color: #166534; }

@keyframes capture-alert-pulse {
  0%,
  100% {
    transform: translateX(-50%) scale(1);
  }
  50% {
    transform: translateX(-50%) scale(1.035);
  }
}

.leaflet-flag-marker span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid #ffffff;
  border-radius: 50% 50% 50% 8px;
  background: var(--accent);
  color: #422006;
  font-weight: 900;
  box-shadow: var(--shadow);
  transform: rotate(-45deg);
}

.leaflet-flag-marker span::first-letter {
  transform: rotate(45deg);
}

.leaflet-flag-marker.ready span {
  background: #22c55e;
  color: #052e16;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--surface-strong);
  color: var(--primary-dark);
  font-size: 0.8rem;
  font-weight: 800;
}

.qr-card {
  display: grid;
  gap: 10px;
  margin: 0;
}

.qr-graphic {
  width: min(100%, 240px);
  aspect-ratio: 1;
  border: 10px solid #ffffff;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px var(--line);
}

.qr-card figcaption {
  display: grid;
  gap: 2px;
  color: var(--muted);
}

.qr-card figcaption strong {
  color: var(--text);
}

.qr-token {
  min-height: 72px;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 0.82rem;
  word-break: break-all;
}

.muted {
  color: var(--muted);
}

.message {
  max-width: 86%;
  padding: 10px;
}

.message.mine {
  justify-self: end;
  background: var(--surface-strong);
}

.bottom-nav {
  position: fixed;
  z-index: 20;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(14px);
}

.map-active-shell .bottom-nav {
  display: none;
}

.nav-button {
  flex: 0 0 76px;
  min-height: 50px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 0.77rem;
}

.map-active-shell .nav-button {
  display: grid;
  place-items: center;
  flex: initial;
  min-width: 0;
  min-height: 44px;
  border-radius: 50%;
  font-size: 0.68rem;
  font-weight: 900;
}

.nav-button.active {
  background: var(--surface-strong);
  color: var(--primary-dark);
}

.toast {
  position: fixed;
  z-index: 40;
  right: 12px;
  bottom: 92px;
  left: 12px;
  padding: 12px 14px;
  border-radius: 8px;
  background: #111827;
  color: #ffffff;
  box-shadow: var(--shadow);
}

.login-status {
  padding: 10px 12px;
  border: 1px solid #93c5fd;
  border-radius: 8px;
  background: #eff6ff;
  color: #1e3a8a;
  font-size: 0.9rem;
  font-weight: 750;
}

.login-status.error {
  border-color: #fca5a5;
  background: #fef2f2;
  color: #991b1b;
}

.loading-counter {
  position: fixed;
  top: max(10px, env(safe-area-inset-top));
  left: max(10px, env(safe-area-inset-left));
  z-index: 1000;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  min-width: min(230px, calc(100vw - 48px));
  min-height: 132px;
  padding: 54px 18px 22px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 8px;
  background: rgba(5, 16, 18, 0.84);
  color: #ffffff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(8px);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
}

.loading-counter::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 50%;
  width: 34px;
  height: 34px;
  transform: translateX(-50%);
  border: 3px solid rgba(255, 255, 255, 0.32);
  border-top-color: var(--primary);
  border-radius: 999px;
  animation: loading-spin 900ms linear infinite;
}

@keyframes loading-spin {
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}

.leaflet-map {
  width: 100%;
  min-height: 380px;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #e6f4f1;
}

.map-active-shell .game-leaflet {
  inset: 0;
  width: 100vw;
  max-width: none;
  min-height: 100vh;
  min-height: 100dvh;
  height: 100vh;
  height: 100dvh;
  border: 0;
  border-radius: 0;
}

.map-active-body .view,
.map-active-body .game-screen,
.map-active-body .game-map-panel,
.map-active-body .leaflet-map,
.map-active-body .game-leaflet,
.map-active-body .offline-game-canvas,
.map-active-body .leaflet-container,
.map-active-body .leaflet-local-map,
.offline-map-body #leaflet-map,
.offline-map-body .offline-game-map,
.offline-map-body #zf-offline-map-canvas {
  position: fixed;
  inset: 0;
  display: block;
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
}

.offline-map-body .leaflet-local-map,
.offline-map-body .leaflet-map-pane,
.offline-map-body .leaflet-tile-pane {
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  max-height: none;
}

.mobile-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.mobile-tabs button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--text);
}

.mobile-tabs button.active {
  background: var(--surface-strong);
  color: var(--primary-dark);
}

@media (min-width: 720px) {
  .app-shell {
    padding-right: 24px;
    padding-left: 24px;
  }

  .app-shell.map-active-shell {
    padding: 0;
  }

  .bottom-nav {
    right: 50%;
    left: auto;
    width: min(720px, calc(100% - 32px));
    transform: translateX(50%);
    border: 1px solid var(--line);
    border-radius: 8px 8px 0 0;
  }

  .map-active-shell .bottom-nav {
    right: 50%;
    bottom: calc(10px + env(safe-area-inset-bottom));
    left: auto;
    width: min(560px, calc(100% - 20px));
    transform: translateX(50%);
    border-radius: 8px;
  }
}

@media (max-width: 480px) {
  .panel {
    padding: 14px;
  }

  .stats-grid,
  .split {
    grid-template-columns: 1fr;
  }

  .page-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .actions button {
    flex: 1 1 140px;
  }

  .bag-inventory {
    left: 6px !important;
    top: calc(6px + env(safe-area-inset-top)) !important;
    width: calc(100vw - 12px);
    height: calc(100dvh - 12px - env(safe-area-inset-top));
    min-width: 0;
    min-height: 0;
    resize: none;
  }

  .bag-window-bar {
    align-items: flex-start;
    flex-direction: column;
    padding: 10px;
  }

  .bag-window-body {
    padding: 10px;
  }

  .bag-tabs {
    grid-template-columns: 1fr;
  }

  .bag-table-head,
  .bag-company-rows {
    min-width: 920px;
  }

  .bag-detail-window {
    left: 10px !important;
    top: calc(92px + env(safe-area-inset-top)) !important;
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 120px);
    min-width: 0;
    resize: none;
  }

  .map-shell {
    min-height: 300px;
  }

  .mode-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .game-hud,
  .map-active-shell .game-hud {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    top: calc(6px + env(safe-area-inset-top));
    width: calc(100vw - 16px);
  }

  .game-hud article,
  .game-hud .wallet-hud-button {
    padding: 3px 4px;
  }

  .game-hud strong {
    font-size: 0.66rem;
  }

  .game-hud span {
    font-size: 0.64rem;
  }

  .game-side-panel {
    top: 132px;
    right: 10px;
    bottom: calc(78px + env(safe-area-inset-bottom));
    width: calc(100% - 20px);
  }

  .game-floating-panel {
    top: calc(64px + env(safe-area-inset-top));
    right: 52px;
    bottom: calc(92px + env(safe-area-inset-bottom));
    width: min(270px, calc(100vw - 66px));
  }

  .flag-stack-panel {
    top: calc(46px + env(safe-area-inset-top));
    left: 8px;
    right: auto;
    bottom: auto;
    width: min(190px, calc(100vw - 136px));
    max-height: 22dvh;
  }

  .game-controls {
    left: 8px;
    right: auto;
    bottom: calc(66px + env(safe-area-inset-bottom));
  }

  .guest-map-hint {
    bottom: calc(140px + env(safe-area-inset-bottom));
    width: min(230px, calc(100% - 20px));
  }

  .map-session-actions {
    max-width: calc(100% - 20px);
    border-radius: 8px;
  }

  .game-leaflet {
    min-height: 100dvh;
  }

  .offline-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .leaflet-map {
    min-height: 320px;
  }

  .map-active-shell .game-leaflet {
    min-height: 100dvh;
    height: 100dvh;
  }

  .qr-graphic {
    width: min(100%, 220px);
  }
}

@media (max-width: 380px) {
  .brand h1 {
    font-size: 1.45rem;
  }

  .brand-mark,
  .avatar {
    width: 46px;
    height: 46px;
  }

  .panel {
    padding: 12px;
  }

  .nav-button {
    flex-basis: 72px;
    font-size: 0.72rem;
  }
}

/* ZAP-FLAGS 009/1 visual identity */
:root {
  --zf-forest: #0a2a18;
  --zf-deep: #031014;
  --zf-green: #3d8f24;
  --zf-lime: #79d533;
  --zf-orange: #f6a400;
  --zf-glass: rgba(4, 16, 18, 0.78);
}

/* 020-92 V4: decisão persistente e específica da Doação no destinatário. */
.direct-donation-recipient-decision{position:fixed;z-index:3200;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden;border:3px solid #e2b84d;border-radius:15px;background:#f8fafc;color:#172631;box-shadow:0 26px 90px rgba(0,0,0,.7)}
.direct-donation-recipient-decision>header{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:13px 16px;background:#173e4c;color:#fff}.direct-donation-recipient-decision>header .social-avatar{width:46px;height:46px}.direct-donation-recipient-decision>header>span:last-child{display:grid;min-width:0}.direct-donation-recipient-decision>header small{overflow-wrap:anywhere}
.direct-donation-recipient-decision>header .donation-request-close{margin-left:auto;flex:0 0 auto;color:#fff;border-color:#d7e6eb;background:#284f5c}
.direct-donation-recipient-decision>footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:0 0 auto;padding:12px;border-top:1px solid #bacbd1;background:#f8fafc}.direct-donation-recipient-decision>footer button{min-width:0;min-height:48px;white-space:normal}
.donation-request-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:9px;border:1px solid #b7ccd3;border-radius:10px;background:#fff}.donation-request-item img,.donation-request-placeholder{display:grid;place-items:center;width:72px;height:64px;object-fit:contain}.donation-request-item>span:last-child{display:grid;min-width:0}.donation-request-item :is(strong,small){overflow-wrap:anywhere}.donation-request-coins{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border-radius:9px;background:#fff2bd}.donation-request-coins img{width:48px;height:36px;object-fit:contain}
.donation-specific-actions>strong{align-self:center;grid-column:span 2;padding:8px;text-align:center;overflow-wrap:anywhere}
@media(max-width:520px){.direct-donation-recipient-decision{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.direct-donation-recipient-decision>footer{grid-template-columns:1fr}.donation-specific-actions>strong{grid-column:auto}.donation-request-item{grid-template-columns:58px minmax(0,1fr)}.donation-request-item img,.donation-request-placeholder{width:58px;height:54px}}

body {
  background:
    linear-gradient(180deg, rgba(3, 16, 20, 0.08), rgba(61, 143, 36, 0.08)),
    var(--bg);
}

.auth-screen {
  width: min(100%, 580px);
  background:
    radial-gradient(circle at 12% 8%, rgba(61, 143, 36, 0.12), transparent 26%),
    linear-gradient(180deg, #f7faf7 0%, #eef5ee 100%);
}

.brand {
  color: var(--zf-deep);
}

.brand-logo,
.app-brand-mini img,
.game-brand-chip img {
  display: block;
  width: 8px;
  height: 8px;
  min-width: 8px;
  min-height: 8px;
  max-width: 8px;
  max-height: 8px;
  object-fit: contain;
  flex: 0 0 auto;
}

.brand-logo {
  width: 8px;
  height: 8px;
  max-width: 8px;
  max-height: 8px;
  object-fit: contain;
}

.panel,
.secondary-panel {
  border: 1px solid rgba(61, 143, 36, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 22px 60px rgba(3, 16, 20, 0.14);
  backdrop-filter: blur(18px);
}

.panel h2 {
  color: var(--zf-deep);
}

button {
  background: linear-gradient(180deg, #58a936, var(--zf-green));
}

.ghost-button,
.small-button,
.link-button {
  background: rgba(255, 255, 255, 0.88);
  color: var(--zf-deep);
}

.topbar {
  min-height: 62px;
  border-bottom: 1px solid rgba(61, 143, 36, 0.18);
  background: rgba(255, 255, 255, 0.9);
}

.app-brand-mini {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  color: var(--zf-deep);
  font-weight: 900;
}

.brand-main {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.active-player-name {
  display: block;
  max-width: 34vw;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-card {
  margin-left: auto;
}

.map-active-shell .topbar {
  display: none;
}

.game-brand-chip {
  position: fixed;
  z-index: 545;
  top: calc(10px + env(safe-area-inset-top));
  left: max(12px, env(safe-area-inset-left));
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: rgba(3, 16, 20, 0.84);
  color: #ffffff;
  padding: 6px 10px 6px 7px;
  font-weight: 900;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
  pointer-events: none;
}

.game-brand-chip .active-player-name {
  max-width: min(38vw, 180px);
  color: rgba(255, 255, 255, 0.76);
}

.game-brand-chip img {
  width: 8px;
  height: 8px;
  max-width: 8px;
  max-height: 8px;
  object-fit: contain;
}

.game-hud {
  top: calc(12px + env(safe-area-inset-top));
  right: max(92px, env(safe-area-inset-right));
  left: auto;
  width: min(520px, calc(100vw - 280px));
  transform: none;
}

.game-hud article,
.game-hud .wallet-hud-button {
  border-color: rgba(121, 213, 51, 0.2);
  background: var(--zf-glass);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24);
}

.game-hud span {
  color: var(--zf-orange);
}

.map-icon-dock {
  right: max(14px, env(safe-area-inset-right));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(3, 16, 20, 0.74);
  padding: 8px;
  backdrop-filter: blur(18px);
}

.map-icon-button {
  border: 0;
  border-radius: 8px;
  background: transparent;
}

.map-icon-button:hover,
.nav-button.active {
  background: rgba(61, 143, 36, 0.78);
}

.game-map-panel::after {
  content: "";
  position: fixed;
  z-index: 30;
  inset: auto 0 0;
  height: 26vh;
  background: linear-gradient(0deg, rgba(3, 16, 20, 0.56), transparent);
  pointer-events: none;
}

.map-session-actions {
  z-index: 560;
}

.avatar-joystick {
  position: fixed;
  z-index: 555;
  width: 148px;
  height: 176px;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  overscroll-behavior: contain;
}

.avatar-joystick-ring {
  position: absolute;
  left: 16px;
  bottom: 12px;
  width: 116px;
  height: 116px;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(121, 213, 51, 0.14) 0 8%, rgba(3, 16, 20, 0.66) 10% 68%, rgba(3, 16, 20, 0.84) 70%);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.32), inset 0 0 0 8px rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(10px);
}

.avatar-joystick-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.82);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.avatar-joystick-stick {
  position: absolute;
  z-index: 2;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.86);
  border-radius: 50%;
  background: linear-gradient(145deg, #79d533, #3d8f24);
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.36);
  cursor: grab;
  touch-action: none;
  will-change: transform;
}

.avatar-joystick-stick:active {
  cursor: grabbing;
}

.avatar-joystick-drag-handle {
  position: absolute;
  top: 3px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 54px;
  height: 25px;
  min-width: 54px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 14px;
  background: rgba(3, 16, 20, 0.82);
  transform: translateX(-50%);
  cursor: move;
  touch-action: none;
}

.avatar-joystick-drag-handle span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
}

.avatar-joystick-run {
  position: absolute;
  top: 31px;
  left: 50%;
  border-radius: 10px;
  background: rgba(249, 115, 22, 0.9);
  color: #fff;
  padding: 2px 8px;
  font-size: 0.68rem;
  font-weight: 900;
  opacity: 0;
  transform: translateX(-50%) scale(0.9);
  transition: opacity 120ms ease, transform 120ms ease;
  pointer-events: none;
}

.avatar-joystick.is-running .avatar-joystick-run {
  opacity: 1;
  transform: translateX(-50%) scale(1);
}

.avatar-joystick.is-running .avatar-joystick-ring {
  border-color: #f97316;
  box-shadow: 0 0 0 5px rgba(249, 115, 22, 0.18), 0 12px 30px rgba(0, 0, 0, 0.32);
}

@media (max-width: 540px), (max-height: 560px) {
  .avatar-joystick {
    width: 132px;
    height: 154px;
  }

  .avatar-joystick-ring {
    left: 14px;
    width: 104px;
    height: 104px;
  }
}

.bottom-nav {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px 8px 0 0;
  background: rgba(3, 16, 20, 0.78);
  backdrop-filter: blur(18px);
}

@media (max-width: 720px) {
  .game-brand-chip strong,
  .app-brand-mini strong {
    display: none;
  }

  .game-hud {
    top: calc(58px + env(safe-area-inset-top));
    right: 8px;
    left: 8px;
    width: auto;
  }
}

/* 017-179: armazem unico e janela obrigatoria de aquisicao. */
.bag-inventory.warehouse-unified .bag-window-body {
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.bag-inventory.warehouse-unified .bag-simple-content {
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: 14px !important;
  overflow: auto !important;
}
.warehouse-only-content {
  display: grid;
  align-content: start;
  gap: 12px;
}
.warehouse-only-intro {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(148, 190, 214, .28);
  border-radius: 11px;
  color: #c8dbe4;
  background: rgba(5, 25, 41, .48);
}
.warehouse-acquisition-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(255, 211, 92, .62);
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(96, 70, 17, .72), rgba(16, 48, 67, .88));
}
.warehouse-acquisition-summary div { display: grid; gap: 3px; min-width: 0; }
.warehouse-acquisition-summary strong { color: #fff3b0; }
.warehouse-acquisition-summary span { color: #e5edf1; font-size: .76rem; }
.warehouse-acquisition-summary button {
  flex: 0 0 auto;
  min-height: 38px;
  border-color: rgba(255, 221, 115, .72);
  color: #102536;
  background: #ffdc69;
}
.warehouse-negotiable-sections {
  display: grid;
  gap: 12px;
}
.warehouse-negotiable-section {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(148, 190, 214, .3);
  border-radius: 13px;
  background: rgba(5, 24, 38, .58);
}
.warehouse-negotiable-section > header {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 7px 11px;
  border-bottom: 1px solid rgba(148, 190, 214, .24);
  background: linear-gradient(90deg, rgba(35, 82, 108, .92), rgba(16, 46, 67, .86));
}
.warehouse-negotiable-section > header > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: #eaf8fa;
  background: rgba(8, 30, 47, .72);
}
.warehouse-negotiable-section > header em {
  min-width: 28px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #e9f8ed;
  font-size: .72rem;
  font-style: normal;
  text-align: center;
  background: rgba(50, 136, 87, .72);
}
.warehouse-energy-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(130px, 1fr)) minmax(170px, 1.5fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
}
.warehouse-energy-card div { display: grid; gap: 2px; }
.warehouse-energy-card small,
.warehouse-energy-card span { color: #b8ced9; }
.warehouse-energy-card button { min-height: 38px; }
.direct-trade-receipt-window > header button[data-action="close-trade-receipt-window"] {
  border-color: rgba(255, 219, 98, .7) !important;
  color: #102536 !important;
  background: #ffdc69 !important;
}
@media (max-width: 720px) {
  .warehouse-acquisition-summary { align-items: stretch; flex-direction: column; }
  .warehouse-energy-card { grid-template-columns: 1fr; }
}

/* ZAP-FLAGS 009/1 visual correction: compact brand, responsive layout, redesigned auth */
html,
body {
  max-width: 100%;
  overflow-x: hidden !important;
}

.auth-screen {
  left: 50%;
  width: min(100%, 560px);
  max-width: 100%;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 12% 8%, rgba(61, 143, 36, 0.12), transparent 26%),
    linear-gradient(180deg, #f7faf7 0%, #eef5ee 100%);
}

.auth-screen::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(61, 143, 36, 0.05), transparent 34%, rgba(6, 32, 44, 0.04)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(238, 245, 238, 0.78));
  pointer-events: none;
}

.auth-screen > * {
  position: relative;
  z-index: 1;
}

.auth-screen .brand {
  align-self: start;
  width: fit-content;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  padding: 8px 10px;
  box-shadow: 0 14px 34px rgba(3, 16, 20, 0.12);
  backdrop-filter: blur(16px);
}

.auth-screen .brand-logo {
  width: 8px;
  height: 8px;
  max-width: 8px;
  max-height: 8px;
  object-fit: contain;
}

.auth-screen .brand h1 {
  font-size: 1.28rem;
}

.auth-screen .brand p {
  font-size: 0.78rem;
}

.auth-screen .panel {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 24px 64px rgba(3, 16, 20, 0.18);
}

.auth-screen .panel h2 {
  margin-bottom: 4px;
  font-size: 1.45rem;
}

.auth-screen label {
  color: #314047;
}

.auth-screen input,
.auth-screen textarea,
.auth-screen select {
  border-color: rgba(61, 143, 36, 0.22);
  background: rgba(255, 255, 255, 0.94);
}

.auth-screen button[type="submit"],
#register-map-search-button,
#confirm-register-pin-button,
.entry-map-primary-actions button {
  border-radius: 8px;
  background: linear-gradient(180deg, #58a936, var(--zf-green));
  box-shadow: 0 12px 28px rgba(61, 143, 36, 0.22);
}

.register-map-location,
.entry-official-map-panel {
  border: 1px solid rgba(61, 143, 36, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(245, 250, 244, 0.82));
  padding: 12px;
}

.register-map,
.entry-leaflet-map-shell {
  border-radius: 8px;
  border-color: rgba(61, 143, 36, 0.22);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55), 0 16px 38px rgba(3, 16, 20, 0.12);
}

.app-shell,
.app-shell.map-active-shell,
.map-active-body .view,
.map-active-body .game-screen,
.map-active-body .game-map-panel,
.map-active-body .leaflet-map,
.map-active-body .game-leaflet {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

.game-brand-chip {
  top: calc(8px + env(safe-area-inset-top));
  left: max(8px, env(safe-area-inset-left));
  gap: 5px;
  border-radius: 8px;
  padding: 4px 7px 4px 5px;
  font-size: 0.78rem;
  line-height: 1;
}

.game-brand-chip img {
  width: 8px;
  height: 8px;
  max-width: 8px;
  max-height: 8px;
  object-fit: contain;
}

.game-brand-chip strong {
  font-size: 0.78rem;
}

.game-hud {
  top: calc(8px + env(safe-area-inset-top));
  right: max(8px, env(safe-area-inset-right));
  left: auto;
  width: min(430px, calc(100vw - 158px));
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.game-hud article,
.game-hud .wallet-hud-button {
  min-height: 32px;
  border-radius: 8px;
  padding: 4px 7px;
}

.game-map-panel {
  background:
    linear-gradient(180deg, rgba(3, 16, 20, 0.22), rgba(3, 16, 20, 0.08)),
    #dbeafe;
}

.map-icon-dock {
  top: 50%;
  right: max(10px, env(safe-area-inset-right));
  gap: 8px;
  border-radius: 8px;
  padding: 8px;
}

.map-icon-button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}

.map-session-actions {
  right: max(12px, env(safe-area-inset-right));
  bottom: calc(82px + env(safe-area-inset-bottom));
  left: auto;
  width: auto;
  max-width: calc(100vw - 24px);
}

.bottom-nav {
  right: 50%;
  left: auto;
  width: min(540px, calc(100vw - 24px));
  transform: translateX(50%);
  overflow-x: auto;
}

@media (max-width: 760px) {
  .game-brand-chip strong {
    display: none;
  }

  .game-hud {
    top: calc(46px + env(safe-area-inset-top));
    right: 8px;
    left: 8px;
    width: auto;
  }

  .game-hud article,
  .game-hud .wallet-hud-button {
    gap: 3px;
    padding: 3px 5px;
  }

  .map-icon-dock {
    top: auto;
    right: max(8px, env(safe-area-inset-right));
    bottom: calc(158px + env(safe-area-inset-bottom));
    grid-template-columns: repeat(4, 44px);
    transform: none;
  }
}

@media (max-width: 420px) {
  .auth-screen {
    padding-inline: 10px;
  }

  .register-map-search-grid,
  .entry-map-search-grid {
    grid-template-columns: 1fr;
  }

  .game-hud strong,
  .game-hud span {
    font-size: 0.68rem;
  }
}

/* ZAP-FLAGS 009/1 urgent auth height correction */
.auth-screen {
  height: 100dvh;
  min-height: 0;
  align-content: start;
  gap: 10px;
  padding: 10px 10px calc(18px + env(safe-area-inset-bottom));
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-x: none;
}

.auth-screen .brand {
  position: sticky;
  top: 0;
  z-index: 5;
  gap: 6px;
  min-height: 0;
  padding: 5px 7px;
}

.auth-screen .brand-logo,
.brand-logo {
  width: 11px !important;
  height: 11px !important;
}

.auth-screen .brand h1 {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1;
}

.auth-screen .brand p {
  margin: 0;
  font-size: 0.66rem;
  line-height: 1;
}

.auth-screen .panel {
  gap: 9px;
  width: 100%;
  padding: 12px;
  overflow: visible;
}

.auth-screen .panel h2 {
  margin: 0;
  font-size: 1.22rem;
}

.auth-top-actions {
  position: sticky;
  top: 43px;
  z-index: 4;
  align-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  padding: 2px;
  backdrop-filter: blur(12px);
}

.auth-actions {
  position: relative;
  z-index: 2;
  gap: 8px;
}

.upload-panel {
  gap: 5px;
}

.upload-dropzone {
  min-height: 76px;
  padding: 10px;
}

.register-map-location,
.entry-official-map-panel {
  gap: 8px;
  padding: 10px;
}

.register-map-search-grid,
.entry-map-search-grid {
  gap: 8px;
}

.register-map,
.entry-leaflet-map-shell {
  height: clamp(150px, 28dvh, 220px);
  min-height: 150px;
}

.register-leaflet-map-canvas,
.entry-leaflet-map-canvas {
  min-height: 100%;
}

.register-pin-actions,
.entry-map-actions,
.entry-map-primary-actions,
.register-map-search-actions {
  display: flex;
  justify-content: stretch;
}

.register-pin-actions button,
.entry-map-actions button,
.entry-map-primary-actions button,
.register-map-search-actions button {
  width: 100%;
}

#register-submit-button,
#login-form button[type="submit"],
#register-company-form button[type="submit"] {
  position: sticky;
  bottom: calc(8px + env(safe-area-inset-bottom));
  z-index: 3;
}

@media (max-height: 760px) {
  .auth-screen .panel {
    gap: 7px;
  }

  .register-map,
  .entry-leaflet-map-shell {
    height: 145px;
    min-height: 145px;
  }

  input,
  textarea,
  select,
  button {
    min-height: 40px;
  }
}

@media (max-width: 420px) {
  .auth-screen .brand-logo,
  .brand-logo {
    width: 10px !important;
    height: 10px !important;
  }

  .auth-top-actions {
    top: 39px;
  }
}

/* ZAP-FLAGS 009/1 logo reduction correction */
.auth-screen .brand {
  gap: 4px;
  padding: 3px 5px;
}

.auth-screen .brand-logo,
.app-brand-mini img,
.game-brand-chip img {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 8px !important;
  max-height: 8px !important;
  object-fit: contain !important;
}

.auth-screen .brand h1,
.app-brand-mini strong,
.game-brand-chip strong {
  font-size: 0.68rem !important;
  line-height: 1 !important;
}

.auth-screen .brand p {
  display: none !important;
}

.game-brand-chip {
  gap: 4px;
  padding: 4px 6px;
  min-height: 0;
}

@media (max-width: 420px) {
  .auth-screen .brand-logo,
  .app-brand-mini img,
  .game-brand-chip img {
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    min-height: 7px !important;
    max-width: 7px !important;
    max-height: 7px !important;
  }
}

/* ZAP-FLAGS 009/1 visual UX correction: entry background and game buttons */
.auth-screen::before {
  background:
    linear-gradient(90deg, rgba(61, 143, 36, 0.05), transparent 34%, rgba(6, 32, 44, 0.04)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(238, 245, 238, 0.8)) !important;
  opacity: 1;
}

.map-entry {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background:
    radial-gradient(circle at 18% 12%, rgba(61, 143, 36, 0.1), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(245, 250, 244, 0.92));
  box-shadow: 0 22px 58px rgba(3, 16, 20, 0.16);
}

.map-entry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  width: 100%;
}

.map-entry-actions button {
  min-width: min(180px, 100%);
}

.map-session-actions {
  left: max(12px, env(safe-area-inset-left)) !important;
  right: auto !important;
  bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  display: flex;
  width: auto !important;
  max-width: min(360px, calc(100vw - 24px));
  transform: none !important;
}

.map-session-actions .ghost-button,
.map-session-actions .link-button {
  min-height: 38px;
  padding: 6px 12px;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .map-icon-dock {
    bottom: calc(112px + env(safe-area-inset-bottom)) !important;
  }

  .map-session-actions {
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    max-width: calc(100vw - 20px);
  }
}

/* ZAP-FLAGS 009/1 authorized redesign: Jogador / Registo / Entrar */
.auth-screen {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100dvh;
  transform: none !important;
  grid-template-columns: minmax(0, 720px) minmax(320px, 420px);
  grid-auto-rows: max-content;
  align-content: start;
  justify-content: center;
  gap: 18px;
  padding: max(18px, env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));
  overflow-x: hidden !important;
  overflow-y: auto;
  background:
    radial-gradient(circle at 12% 10%, rgba(61, 143, 36, 0.12), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(246, 164, 0, 0.08), transparent 28%),
    linear-gradient(180deg, #f7faf7 0%, #eef5ee 100%) !important;
}

.auth-screen::before {
  background:
    linear-gradient(90deg, rgba(61, 143, 36, 0.05), transparent 38%, rgba(6, 32, 44, 0.04)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(238, 245, 238, 0.84)) !important;
}

.auth-screen .brand {
  grid-column: 1 / -1;
  position: static !important;
  justify-self: start;
  align-self: start;
  margin: 0;
  gap: 6px;
  padding: 6px 8px;
  border: 1px solid rgba(61, 143, 36, 0.16);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 26px rgba(3, 16, 20, 0.08);
}

.auth-screen .brand h1 {
  font-size: 0.82rem !important;
}

.auth-screen .brand p {
  display: block !important;
  font-size: 0.62rem;
}

.auth-screen.auth-entry-mode #entry-spawn-map-panel,
.auth-screen:not(.auth-register-mode) #entry-spawn-map-panel {
  grid-column: 1;
  width: 100%;
}

.auth-screen.auth-entry-mode #login-form,
.auth-screen:not(.auth-register-mode) #login-form {
  grid-column: 2;
  align-self: start;
  position: sticky;
  top: 18px;
  width: 100%;
}

.auth-screen.auth-register-mode {
  grid-template-columns: minmax(0, 980px);
}

.auth-screen.auth-register-mode .brand,
.auth-screen.auth-register-mode #register-form {
  grid-column: 1;
}

.auth-screen.auth-register-mode #register-form {
  width: 100%;
}

.auth-screen .panel,
.auth-screen .secondary-panel,
.auth-screen .entry-official-map-panel,
.auth-screen .register-map-location {
  border: 1px solid rgba(61, 143, 36, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 46px rgba(3, 16, 20, 0.11);
  backdrop-filter: blur(12px);
}

.auth-screen .entry-official-map-panel,
.auth-screen #register-form {
  padding: clamp(16px, 2.4vw, 24px);
}

.auth-screen #login-form {
  padding: clamp(18px, 2.5vw, 26px);
}

.entry-official-map-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.entry-official-map-heading,
.register-location-heading {
  align-items: start;
}

.entry-official-map-heading strong,
.auth-screen .panel h2,
.register-location-heading span {
  color: var(--zf-deep);
  letter-spacing: 0;
}

.entry-map-search-grid,
.register-map-search-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.entry-map-search-full,
.register-map-search-full {
  grid-column: 1 / -1;
}

.entry-leaflet-map-shell,
.register-map {
  height: clamp(300px, 46dvh, 460px);
  min-height: 300px;
  max-height: 460px;
  border-color: rgba(61, 143, 36, 0.2);
  background: #dbeafe;
}

.auth-screen.auth-register-mode .register-map {
  height: clamp(280px, 40dvh, 420px);
}

.auth-screen.auth-register-mode #register-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
}

.auth-screen.auth-register-mode #register-form > .auth-top-actions,
.auth-screen.auth-register-mode #register-form > h2,
.auth-screen.auth-register-mode .upload-panel,
.auth-screen.auth-register-mode #register-map-location,
.auth-screen.auth-register-mode .checkbox-row,
.auth-screen.auth-register-mode #register-submit-button {
  grid-column: 1 / -1;
}

.auth-screen.auth-register-mode #register-map-location {
  display: grid;
  gap: 12px;
}

.auth-screen input,
.auth-screen textarea,
.auth-screen select,
.auth-screen button {
  max-width: 100%;
}

.auth-actions {
  gap: 10px;
}

.auth-screen button[type="submit"],
.entry-map-primary-actions button,
#register-map-search-button,
#confirm-register-pin-button {
  min-height: 46px;
}

@media (max-width: 920px) {
  .auth-screen {
    grid-template-columns: minmax(0, 680px);
    justify-content: center;
    padding-inline: 14px;
  }

  .auth-screen.auth-entry-mode #entry-spawn-map-panel,
  .auth-screen:not(.auth-register-mode) #entry-spawn-map-panel,
  .auth-screen.auth-entry-mode #login-form,
  .auth-screen:not(.auth-register-mode) #login-form {
    grid-column: 1;
  }

  .auth-screen.auth-entry-mode #login-form,
  .auth-screen:not(.auth-register-mode) #login-form {
    position: static;
  }
}

@media (max-width: 620px) {
  .auth-screen {
    gap: 12px;
    padding: 10px 10px calc(18px + env(safe-area-inset-bottom));
  }

  .auth-screen.auth-register-mode #register-form,
  .entry-map-search-grid,
  .register-map-search-grid {
    grid-template-columns: 1fr;
  }

  .entry-leaflet-map-shell,
  .register-map,
  .auth-screen.auth-register-mode .register-map {
    height: clamp(260px, 44dvh, 340px);
    min-height: 260px;
  }

  .auth-screen .brand {
    position: sticky !important;
    top: 0;
    z-index: 5;
  }
}

.social-commerce-toolbar { display:flex; gap:8px; padding:10px; border-bottom:1px solid rgba(148,163,184,.28); background:rgba(15,23,42,.06); }
.social-commerce-toolbar button { min-height:36px; }
.social-commerce-toolbar button.active { color:#fff; background:#176b78; }
.social-commerce-workspace { display:flex; align-items:center; gap:12px; padding:14px; border-top:1px solid rgba(148,163,184,.3); }
.social-commerce-stage { display:grid; grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(180px,1fr); gap:10px; padding:12px; border-top:1px solid rgba(148,163,184,.3); background:#eef4f5; color:#17212a; }
.social-trade-side,.social-commerce-bag,.social-sale-box { display:grid; align-content:start; gap:9px; padding:10px; border:1px solid #9fb4b8; background:#fff; }
.social-trade-side>div,.social-commerce-drop { display:grid; place-items:center; min-height:150px; padding:10px; border:1px dashed #5c8c94; }
.social-commerce-bag>header { display:flex; justify-content:space-between; align-items:center; }
.social-commerce-bag>div { display:grid; grid-template-columns:repeat(2,minmax(90px,1fr)); gap:6px; max-height:280px; overflow:auto; }
.social-commerce-bag>div>button { display:grid; justify-items:start; gap:3px; min-height:65px; padding:7px; }
.social-commerce-bag small { color:#64748b; }
.social-commerce-stage.sale-mode { grid-template-columns:minmax(230px,1fr) minmax(260px,1fr); }
.social-sale-box label { display:grid; gap:4px; }
.social-sale-box>div:last-child { display:flex; gap:7px; }
@media(max-width:760px){.social-commerce-toolbar{flex-wrap:wrap}.social-commerce-stage,.social-commerce-stage.sale-mode{grid-template-columns:1fr}.social-commerce-bag{order:-1}}

.persistent-wallet-button { position:fixed!important; right:calc(16px + env(safe-area-inset-right)); bottom:calc(82px + env(safe-area-inset-bottom)); left:auto!important; top:auto!important; z-index:650!important; display:grid!important; grid-template-columns:auto auto!important; align-items:center; gap:3px 7px; min-width:112px; min-height:56px; padding:8px 12px!important; color:#523313!important; background:linear-gradient(145deg,#fff7ce,#e9b94e)!important; border:2px solid #b17719!important; border-radius:28px!important; box-shadow:0 8px 22px rgba(0,0,0,.3)!important; }
.persistent-wallet-button img { grid-row:1/3; }
.persistent-wallet-button strong,.persistent-wallet-button small { color:#523313!important; }
.persistent-wallet-button.is-free-position,
.map-icon-button.is-free-position { position:fixed!important; right:auto!important; bottom:auto!important; z-index:660!important; touch-action:none; cursor:grab; }
.persistent-wallet-button.is-free-position:active,
.map-icon-button.is-free-position:active { cursor:grabbing; }
.ranking-period-buttons { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.ranking-period-buttons .active { border-color:#d59b22; background:#fff0bc; color:#55370b; }
.prize-ranking-list { max-height:52vh; overflow:auto; }
.prize-ranking-list.is-compact { max-height:42vh; }
.prize-ranking-item small { color:var(--muted,#667085); }
.social-status-dot.online { background:#20b15a!important; border-color:#087d37!important; box-shadow:0 0 0 3px rgba(32,177,90,.18); }
.social-status-dot.offline { background:#aeb5bf!important; border-color:#78818d!important; }
.social-list-help { display:flex; align-items:center; gap:8px; padding:0 12px; }
.social-friends-title { display:block; margin-top:8px; }
.social-dialog-invitation { margin:8px; padding:10px; border:2px solid #d79b21; border-radius:9px; background:#fff7d8; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.social-dialog-invitation div { display:flex; gap:7px; }
.bag-inventory { width:min(780px,calc(100vw - 32px)); height:auto; min-height:190px; max-height:72vh; }
.bag-window-body { grid-template-rows:auto auto; }
.bag-tabs { display:flex; flex-direction:row; gap:7px; overflow-x:auto; padding:3px 2px 8px; scrollbar-width:thin; }
.bag-tabs button { flex:0 0 auto; display:flex; flex-direction:column; justify-content:center; align-items:center; min-width:82px; min-height:68px; padding:7px; text-align:center; }
.bag-tabs button span { min-width:28px; }
.active-player-identity { display:flex; align-items:center; gap:7px; min-width:0; }
.active-player-face { width:34px; height:34px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,.7); flex:0 0 auto; }
.active-player-face.default-face { display:grid; place-items:center; background:#f4d29a; font-size:21px; }
.game-brand-chip.is-free-position { position:fixed!important; right:auto!important; bottom:auto!important; z-index:665!important; touch-action:none; cursor:grab; }
.game-brand-chip.is-free-position:active { cursor:grabbing; }
.persistent-wallet-button { z-index:670!important; }
.social-trade-side.is-free-position { position:fixed!important; right:auto!important; bottom:auto!important; z-index:790!important; width:min(300px,88vw); min-height:260px; touch-action:none; cursor:grab; box-shadow:0 18px 46px rgba(0,0,0,.34); }
.social-trade-side.is-free-position:active { cursor:grabbing; }
.social-simple-body{ height:100%; min-height:0; }
@media (max-width:760px) { }
.social-bilateral-trade { display:grid; grid-template-columns:minmax(190px,1fr) minmax(300px,1.8fr) minmax(190px,1fr); gap:10px; align-items:stretch; }.social-trade-side { border:1px solid #c9d2dc; border-radius:10px; padding:10px; background:#fff; min-width:0; }
.social-dialog-tools { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.social-trade-offer { min-height:150px; border:2px dashed #9eb4c5; border-radius:8px; padding:10px; display:grid; place-items:center; }
.social-trade-coins { margin-top:8px; min-height:54px; border:2px dashed #d4a437; border-radius:8px; padding:8px; display:grid; place-items:center; background:#fff9e6; }
.social-offer-summary { margin:8px 0; padding:8px; background:#f2f5f7; border-radius:7px; font-size:.88rem; }
.social-offer-item { width:100%; min-height:80px; }
.social-commerce-bag { position:fixed; z-index:780; left:16px; top:90px; width:min(360px,88vw); max-height:72vh; overflow:auto; resize:both; }
.social-trade-bag-tabs { display:flex; flex-wrap:wrap; gap:5px; padding:7px; }
.social-trade-bag-tabs span { padding:4px 7px; border-radius:12px; background:#eef2f5; font-size:.76rem; }
.social-trade-bag-item { display:grid; grid-template-columns:1fr auto; gap:6px; }
@media (max-width:760px) { .social-bilateral-trade { grid-template-columns:1fr; } }

.simple-wallet-window { width:min(360px,calc(100vw - 24px)); min-width:280px; max-height:none; overflow:visible; padding:0 14px 14px; resize:none; }
.simple-wallet-window>header { margin:0 -14px 12px; padding:10px 12px; }
.simple-wallet-close { width:34px; height:34px; padding:0; font-weight:900; border-radius:50%; }
.simple-wallet-piles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-height:125px; }
.simple-coin-pile { display:grid; place-items:center; align-content:center; gap:2px; min-height:120px; padding:10px; border:1px solid #d6b35b; border-radius:12px; background:#fff9df; color:#583815; }
.simple-coin-pile img { width:58px; height:44px; object-fit:contain; }
.simple-coin-pile strong { font-size:26px; }
.simple-coin-pile.separated { cursor:grab; border:2px solid #d38b10; box-shadow:0 5px 16px rgba(136,86,8,.2); }
.simple-wallet-split { display:grid; gap:8px; margin-top:10px; padding:10px; border:1px solid #cbd5e1; border-radius:10px; }
.simple-wallet-split label { display:grid; gap:5px; font-weight:700; }
.simple-wallet-split input { width:100%; font-size:20px; }
.simple-wallet-split button { min-height:42px; font-weight:800; }

/* ZAP-FLAGS 009/1 authorized redesign: integrated visual background */
.auth-screen {
  background:
    linear-gradient(90deg, rgba(244, 249, 244, 0.86), rgba(244, 249, 244, 0.56) 48%, rgba(244, 249, 244, 0.72)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.32), rgba(10, 43, 27, 0.18)),
    url("assets/brand/zap-flags-auth-background.png?v=zap-flags-v5-0-58-register-entry-pin") center / cover no-repeat !important;
  background-attachment: fixed;
}

.auth-screen::before {
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.58), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(5, 38, 23, 0.12)) !important;
  opacity: 1;
}

.auth-screen .brand {
  gap: 10px !important;
  padding: 8px 12px !important;
  border-color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 42px rgba(3, 16, 20, 0.12);
}

.auth-screen .brand-logo {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  object-fit: contain !important;
}

.auth-screen .brand h1 {
  font-size: 1.12rem !important;
  line-height: 1.05 !important;
}

.auth-screen .brand p {
  display: block !important;
  color: rgba(3, 16, 20, 0.68);
  font-size: 0.76rem;
  line-height: 1.1;
}

.auth-screen .panel,
.auth-screen .secondary-panel,
.auth-screen .entry-official-map-panel,
.auth-screen .register-map-location {
  border-color: rgba(255, 255, 255, 0.68);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 24px 70px rgba(3, 16, 20, 0.18);
  backdrop-filter: blur(18px);
}

.auth-screen .entry-official-map-panel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(245, 250, 244, 0.68));
}

.auth-screen #login-form,
.auth-screen #register-form {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.7));
}

.auth-screen .register-map-location {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(245, 250, 244, 0.64));
}

.auth-screen input,
.auth-screen textarea,
.auth-screen select {
  background: rgba(255, 255, 255, 0.9);
}

.entry-leaflet-map-shell,
.register-map {
  box-shadow: 0 18px 46px rgba(3, 16, 20, 0.18);
}

@supports not (background-attachment: fixed) {
  .auth-screen {
    background-attachment: scroll;
  }
}

@media (max-width: 920px) {
  .auth-screen {
    background-position: center;
    background-attachment: scroll;
  }

  .auth-screen .panel,
  .auth-screen .secondary-panel,
  .auth-screen .entry-official-map-panel,
  .auth-screen .register-map-location {
    background: rgba(255, 255, 255, 0.82);
  }
}

@media (max-width: 620px) {
  .auth-screen {
    background:
      linear-gradient(180deg, rgba(244, 249, 244, 0.88), rgba(244, 249, 244, 0.74)),
      url("assets/brand/zap-flags-auth-background.png?v=zap-flags-v5-0-58-register-entry-pin") center / cover no-repeat !important;
  }

  .auth-screen .brand-logo {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }
}

/* ZAP-FLAGS 009/1 final map window height adjustment */
.auth-screen.auth-entry-mode .entry-official-map-panel,
.auth-screen:not(.auth-register-mode) .entry-official-map-panel {
  gap: 12px;
  padding-block: clamp(14px, 2vw, 20px);
}

.auth-screen.auth-entry-mode .entry-leaflet-map-shell,
.auth-screen:not(.auth-register-mode) .entry-leaflet-map-shell {
  height: clamp(245px, 34dvh, 360px);
  min-height: 245px;
  max-height: 360px;
}

.auth-screen.auth-register-mode .register-map {
  height: clamp(235px, 32dvh, 340px);
  min-height: 235px;
  max-height: 340px;
}

@media (max-width: 620px) {
  .auth-screen.auth-entry-mode .entry-leaflet-map-shell,
  .auth-screen:not(.auth-register-mode) .entry-leaflet-map-shell,
  .auth-screen.auth-register-mode .register-map {
    height: clamp(220px, 34dvh, 290px);
    min-height: 220px;
    max-height: 290px;
  }
}

/* Mantem o tema do centro de objetos acima das regras antigas da mochila. */
.bag-inventory { color:#eaf8fa; background:linear-gradient(145deg,rgba(12,20,27,.98),rgba(28,42,50,.97)); border-color:rgba(119,176,191,.38); box-shadow:0 22px 60px rgba(0,0,0,.48),inset 0 0 30px rgba(80,179,191,.06); }
.bag-inventory:not(.maximized):not(.minimized) { resize:both; overflow:hidden; min-width:min(8cm,calc(100vw - 16px)); min-height:min(8cm,calc(100dvh - 104px)); }
.bag-inventory .bag-window-bar { background:linear-gradient(90deg,rgba(25,49,58,.98),rgba(15,28,35,.98)); border-bottom-color:rgba(119,176,191,.38); }

/* Mochila simples: uma lista limpa e uma ficha de consulta por item. */
.bag-inventory .bag-window-body {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
}
.bag-inventory .bag-launcher-help { display: none; }
.bag-simple-content {
  min-height: 0;
  overflow: auto;
  padding: 0 12px 12px;
}
.bag-simple-content > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 2px;
  color: #dce9ec;
}
.bag-simple-content > header span { color: #91a8ae; font-size: .82rem; }
.bag-item-simple { padding: 0; overflow: hidden; }
.bag-item-open {
  width: 100%;
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(120px, 1.4fr) minmax(100px, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.bag-item-open:hover { background: rgba(117,176,190,.1); }
.bag-item-open span,
.bag-item-open small { color: #9fb2b7; }
.bag-item-open small { text-align: right; }
.warehouse-only-content .bag-item-completed-qr,
.warehouse-only-content .bag-item-completed-qr .bag-item-open {
  background: #ffffff;
  color: #111827;
  font-weight: 700;
}
.warehouse-only-content .bag-item-completed-qr .bag-item-open span,
.warehouse-only-content .bag-item-completed-qr .bag-item-open small,
.warehouse-only-content .bag-item-completed-qr .bag-item-open strong {
  color: #111827;
  font-weight: 700;
}
.warehouse-only-content .bag-item-completed-qr {
  border: 2px solid #111827;
}
.bag-item-detail {
  position: fixed;
  left: max(12px, calc(50vw - 220px));
  top: max(72px, calc(50vh - 230px));
  width: min(440px, calc(100vw - 24px));
  height: min(460px, calc(100vh - 92px));
  z-index: 820;
  overflow: auto;
  resize: both;
  padding: 16px;
  border: 1px solid rgba(119,176,191,.42);
  border-radius: 12px;
  background: rgba(12,25,31,.98);
  box-shadow: 0 18px 55px rgba(0,0,0,.52);
}
.bag-item-detail > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  cursor: grab;
  touch-action: none;
}
.bag-item-detail > header div { display: grid; gap: 4px; }
.bag-item-detail > header span { color: #94aeb4; font-size: .82rem; }
.bag-item-detail dl { display: grid; gap: 0; margin: 0; }
.bag-item-detail dl > div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(119,176,191,.16);
}
.bag-item-detail dt { color: #8fa5aa; }
.bag-item-detail dd { margin: 0; color: #eef5f6; overflow-wrap: anywhere; }
.bag-item-detail-qr{
  box-sizing:border-box;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-width:min(320px,calc(100vw - 16px));
  min-height:min(260px,calc(100dvh - 80px));
  max-width:calc(100vw - 16px);
  max-height:calc(100dvh - 72px);
  padding:0;
  overflow:hidden;
  isolation:isolate;
  opacity:1;
  background:#0a2a42!important;
  box-shadow:0 24px 70px rgba(0,0,0,.78)!important;
}
.bag-item-detail-qr>.qr-detail-header{
  position:relative;
  z-index:2;
  min-width:0;
  margin:0;
  padding:12px 14px;
  border-bottom:1px solid rgba(224,184,79,.55);
  background:linear-gradient(145deg,rgba(88,64,13,.96),rgba(21,47,59,.98));
}
.qr-detail-header>div{min-width:0}.qr-detail-header strong,.qr-detail-header b,.qr-detail-header span{display:block;overflow-wrap:anywhere;word-break:break-word}.qr-detail-header b{font-size:clamp(.95rem,2.5vw,1.25rem);color:#fff}.qr-detail-header span{font-weight:800;color:#dfffe4}
.qr-detail-header>button{flex:0 0 auto;align-self:flex-start}
.qr-prize-panel{min-width:0;min-height:0;display:flex;flex-direction:column;gap:14px;padding:14px;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y}
.qr-prize-hero{display:grid;gap:8px;padding:16px;border:2px solid #e0b84f;border-radius:14px;background:linear-gradient(145deg,rgba(88,64,13,.86),rgba(34,60,69,.92));color:#fff}
.qr-prize-hero>strong{color:#ffe08a;font-size:1.15rem;letter-spacing:.05em}.qr-prize-hero>b{font-size:1.35rem;overflow-wrap:anywhere}.qr-prize-hero>span{font-weight:800;color:#dfffe4}
.qr-prize-image-frame{display:grid;place-items:center;min-width:0;min-height:150px}.qr-prize-image{display:block;width:100%;height:auto;max-height:210px;object-fit:contain;border-radius:12px;background:#243d4d}
.qr-prize-image-fallback{width:100%;min-height:170px;display:grid;place-items:center;align-content:center;gap:12px;box-sizing:border-box;padding:16px;border:1px solid rgba(224,184,79,.55);border-radius:12px;background:linear-gradient(145deg,#253f50,#172c3b)}.qr-prize-image-fallback img{display:block;width:clamp(96px,34%,148px);height:auto;max-height:148px;object-fit:contain}.qr-prize-image-fallback span{font-size:.9rem;font-weight:800;text-align:center;color:#ffe08a;overflow-wrap:anywhere}
.canonical-qr-active{position:static;display:grid;place-items:center;gap:10px;width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:clamp(10px,3vw,18px);border-radius:14px;background:#fff;color:#111827}.canonical-qr-active img{position:static;display:block;width:min(320px,100%);max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;image-rendering:pixelated}.canonical-qr-active figcaption{max-width:100%;font-weight:800;text-align:center;overflow-wrap:anywhere}.qr-image-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:12px;border:1px solid #ef4444;border-radius:10px;background:#fff1f2;color:#991b1b}.qr-image-error button{min-height:42px}
.qr-prize-facts{display:grid!important;gap:0!important}.qr-prize-facts>div{grid-template-columns:1fr!important;gap:5px!important;padding:12px!important;border:1px solid rgba(119,176,191,.24)!important;border-radius:9px;background:rgba(5,24,37,.62)}.qr-prize-facts dt{font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#a9c9d2}.qr-prize-facts dd{font-size:1rem;font-weight:750;color:#fff}.qr-generate-button{min-height:52px;border:2px solid #b8ffb5!important;font-weight:950;color:#092813!important;background:#63e65f!important;box-shadow:0 0 0 3px rgba(99,230,95,.2),0 8px 24px rgba(0,0,0,.38)}.qr-generate-button:disabled{cursor:wait;opacity:.82}
.qr-estimated-value{display:grid;gap:6px;margin-top:auto;padding:14px;border:1px solid rgba(224,184,79,.55);border-radius:12px;background:rgba(88,64,13,.28)}.qr-estimated-value>strong{color:#ffe08a}.qr-estimated-value>b{font-size:1.08rem}.qr-estimated-value>small{color:#b9cbd1}
.qr-usage-rules,.qr-ownership-history{min-width:0;padding:14px;border:1px solid rgba(119,176,191,.3);border-radius:12px;background:rgba(8,29,43,.62)}
.qr-usage-rules h3,.qr-ownership-history h3{margin:0 0 10px;color:#ffe08a;font-size:1rem;overflow-wrap:anywhere}
.qr-usage-rules p,.qr-ownership-history p,.qr-usage-rules ul,.qr-ownership-history ol{margin:0;min-width:0;padding-left:1.25rem;overflow-wrap:anywhere;word-break:break-word}
.qr-usage-rules p,.qr-ownership-history p{padding-left:0}.qr-usage-rules li,.qr-ownership-history li{margin:0 0 8px;overflow-wrap:anywhere;word-break:break-word}
.qr-ownership-history li{display:grid;gap:3px}.qr-ownership-history li span,.qr-ownership-history li time{color:#b9cbd1}
.qr-detail-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;border-top:1px solid rgba(119,176,191,.35);background:rgba(7,25,38,.98)}.qr-detail-actions>*{flex:1 1 180px}
.game-screen .bag-item-detail-qr{background:#0a2a42!important;background-image:none!important;opacity:1!important}
@media (max-width: 620px) {
  .bag-item-open { grid-template-columns: 1fr; gap: 3px; }
  .bag-item-open small { text-align: left; }
  .bag-item-detail { left:8px; top:64px; width:calc(100vw - 16px); height:min(460px,calc(100vh - 72px)); }
  .bag-item-detail dl > div { grid-template-columns: 1fr; gap: 3px; }
  .bag-item-detail-qr{left:8px!important;top:64px!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;height:calc(100dvh - 72px)!important;max-height:calc(100dvh - 72px)!important;min-width:0!important;min-height:240px!important}
  .bag-item-detail-qr>.qr-detail-header{padding:10px}.qr-prize-panel{padding:10px;scrollbar-gutter:auto}.qr-detail-actions{padding:8px 10px}
}
.bag-inventory .bag-tabs { background:rgba(7,14,19,.72); border-right-color:rgba(119,176,191,.38); }
.bag-inventory .bag-tabs button { color:#cce4e8; }
.bag-inventory .bag-tabs button.active { color:#fff; background:linear-gradient(90deg,rgba(50,114,126,.45),rgba(20,43,51,.72)); }.sales-avatar-icon{font-size:1.25rem;margin-right:6px}.sales-category-items article{display:grid;grid-template-columns:minmax(0,1fr) 72px auto;gap:6px;align-items:center}.sales-category-items article>button:first-child{display:grid;text-align:left;padding:8px;background:#21313b;border:1px solid #526b78;color:#fff}.social-bilateral-trade{display:grid;grid-template-columns:minmax(190px,1fr) minmax(300px,1.6fr) minmax(190px,1fr);height:100%;gap:8px}@media(max-width:850px){.social-bilateral-trade{grid-template-columns:1fr;overflow:auto}.sales-category-items article{grid-template-columns:1fr}}

/* 017-135: camada visual aprovada. Apenas apresentacao; nao altera regras do jogo. */
:root {
  --zf-navy-950: #07192a;
  --zf-navy-900: #0c2237;
  --zf-navy-850: #122d45;
  --zf-navy-800: #173850;
  --zf-green: #63e65f;
  --zf-green-strong: #21b94b;
  --zf-line: rgba(141, 181, 205, .48);
  --zf-text: #f5fbff;
  --zf-muted: #b7cad7;
}

.map-active-shell .game-topline,
.game-topline {
  color: var(--zf-text);
  border-color: var(--zf-line);
  background: linear-gradient(145deg, rgba(18, 45, 69, .94), rgba(12, 34, 55, .92));
  box-shadow: 0 16px 36px rgba(1, 12, 24, .34);
}

.game-topline h2,
.game-topline strong { color: #fff; }
.game-topline span,
.game-topline p { color: var(--zf-muted); }

.map-icon-dock {
  position: fixed;
  top: calc(8px + env(safe-area-inset-top));
  right: auto;
  left: 50%;
  display: flex;
  max-width: min(720px, calc(100vw - 24px));
  padding: 6px;
  overflow-x: auto;
  transform: translateX(-50%);
  border: 1px solid var(--zf-line);
  border-radius: 12px;
  background: rgba(12, 34, 55, .92);
  box-shadow: 0 14px 32px rgba(1, 12, 24, .32);
  backdrop-filter: blur(14px);
}

.map-icon-button,
.map-icon-button.wide-map-icon,
.map-icon-button.gps-center-icon {
  flex: 0 0 auto;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0 8px;
  border-color: rgba(141, 181, 205, .4);
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(30, 67, 93, .96), rgba(18, 45, 69, .96));
}
.map-icon-button:hover,
.map-icon-button:focus-visible { border-color: var(--zf-green); box-shadow: 0 0 0 2px rgba(99, 230, 95, .18); }

.game-hud article,
.game-hud .wallet-hud-button {
  border-color: var(--zf-line);
  background: rgba(18, 45, 69, .92);
}
.game-hud span { color: #bff7ca; }
.social-trade-side{
  color: var(--zf-text);
  border-color: var(--zf-line);
  background: rgba(18, 45, 69, .96);
}

.social-message-list .message { border-color: rgba(141, 181, 205, .35); background: #173850; }
.social-message-list .message.mine { border-color: rgba(99, 230, 95, .42); background: #194a46; }

@media (max-width: 760px) {
  .map-icon-dock { left: 8px; right: 8px; width: auto; max-width: none; transform: none; }
  .game-hud { top: calc(62px + env(safe-area-inset-top)); width: calc(100vw - 16px); }
  .game-topline { top: calc(102px + env(safe-area-inset-top)); }
}

/* 017-136: redesign estrutural do jogador. Esta camada e exclusivamente visual. */
.game-screen{--command-surface:rgba(18,48,71,.96);--command-border:rgba(148,190,214,.58);--command-accent:#65e968;--command-text:#f8fcff;--command-muted:#b9cfdd;background:#0b2539}
.game-command-header{position:fixed;top:max(12px,env(safe-area-inset-top));left:14px;right:14px;z-index:710;min-height:76px;display:grid;grid-template-columns:minmax(245px,auto) minmax(430px,1fr) auto;align-items:center;gap:14px;padding:8px 12px;border:1px solid var(--command-border);border-radius:16px;background:linear-gradient(120deg,rgba(20,55,81,.98),rgba(11,34,54,.96));box-shadow:0 18px 44px rgba(0,12,25,.38),inset 0 1px rgba(255,255,255,.07);backdrop-filter:blur(16px)}
.game-command-header .game-brand-chip{position:static!important;inset:auto!important;transform:none!important;width:auto;min-width:0;height:58px;display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border:1px solid rgba(148,190,214,.35);border-radius:13px;background:rgba(6,27,44,.52);box-shadow:none}
.game-command-header .game-app-mark{width:48px;height:48px;flex:0 0 48px;border-radius:11px;box-shadow:0 0 0 1px rgba(101,233,104,.38),0 7px 18px rgba(0,0,0,.3)}
.game-command-header .brand-main{display:none}.game-command-header .active-player-identity{display:flex;align-items:center;gap:9px;min-width:0}.game-command-header .active-player-face{width:42px;height:42px;flex:0 0 42px;border:2px solid var(--command-accent);border-radius:50%;object-fit:cover;background:#24465e}.game-command-header .default-face{display:grid;place-items:center;font-size:24px}
.player-identity-copy{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;min-width:0}.player-identity-copy small{grid-column:1/-1;font-size:.57rem;letter-spacing:.17em;color:#8fb0c4}.player-identity-copy strong{max-width:155px;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:.98rem;white-space:nowrap}.player-identity-copy em{display:flex;align-items:center;gap:5px;color:#bde8c5;font-size:.66rem;font-style:normal}.player-identity-copy em i{width:7px;height:7px;border-radius:50%;background:var(--command-accent);box-shadow:0 0 8px var(--command-accent)}
.game-command-header .game-hud{position:static!important;inset:auto!important;transform:none!important;min-width:0;display:grid;grid-template-columns:minmax(170px,1.5fr) repeat(3,minmax(90px,1fr));gap:7px;padding:0;border:0;background:transparent;box-shadow:none}
.game-command-header .game-hud article{position:relative;min-width:0;min-height:54px;display:grid;grid-template-columns:29px 1fr;grid-template-rows:18px 25px;align-items:center;column-gap:7px;padding:6px 10px;overflow:hidden;border:1px solid rgba(148,190,214,.3);border-radius:11px;background:linear-gradient(145deg,rgba(35,79,105,.92),rgba(19,50,74,.92))}.game-command-header .game-hud article>span{grid-row:1/3;color:var(--command-accent);font-size:1.2rem;text-align:center}.game-command-header .game-hud article>small{align-self:end;color:#91afc0;font-size:.54rem;letter-spacing:.13em}.game-command-header .game-hud article>strong{color:#fff;font-size:1rem;line-height:1}.game-command-header .game-hud article>strong b{color:#91afc0;font-size:.7rem;font-weight:500}.game-command-header .game-hud article>i{position:absolute;left:46px;right:9px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--command-accent) var(--hud-progress),rgba(255,255,255,.12) var(--hud-progress))}
.game-build-badge{display:grid;gap:2px;padding:0 4px;color:#cde0eb;font-size:.62rem;letter-spacing:.12em;text-align:right;white-space:nowrap}.game-build-badge b{color:var(--command-accent);font-size:.7rem}.game-map-panel{padding-top:0}.game-map-panel .game-leaflet{border:0;border-radius:0}
.game-map-panel .map-icon-dock{top:102px;left:50%;right:auto;width:auto;max-width:calc(100vw - 32px);height:64px;display:flex;align-items:stretch;gap:5px;padding:6px;transform:translateX(-50%);overflow-x:auto;border:1px solid var(--command-border);border-radius:14px;background:rgba(15,42,63,.94);box-shadow:0 14px 34px rgba(0,14,28,.32)}
.game-map-panel .map-icon-button,.game-map-panel .map-icon-button.wide-map-icon,.game-map-panel .map-icon-button.gps-center-icon{width:78px;min-width:78px;height:50px;min-height:50px;display:grid;grid-template-rows:25px 13px;place-items:center;gap:0;padding:4px 7px;border:1px solid transparent;border-radius:10px;color:#dbeaf2;background:transparent;box-shadow:none}.game-map-panel .map-icon-button:hover,.game-map-panel .map-icon-button:focus-visible,.game-map-panel .map-icon-button.is-active{color:#fff;border-color:rgba(101,233,104,.55);background:linear-gradient(180deg,rgba(49,101,120,.92),rgba(25,67,87,.92));box-shadow:inset 0 -2px var(--command-accent)}.map-icon-glyph{font-size:1.2rem;line-height:1}.game-map-panel .map-icon-button small{display:block;color:inherit;font-size:.6rem;letter-spacing:.02em}
.game-map-panel .wallet-hud-button.persistent-wallet-button{right:18px;bottom:18px;min-width:146px;min-height:58px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:25px 18px;padding:7px 13px;border:1px solid rgba(236,196,91,.62);border-radius:14px;background:linear-gradient(145deg,rgba(37,71,91,.97),rgba(15,42,63,.98));box-shadow:0 16px 36px rgba(0,10,22,.36)}.game-map-panel .wallet-hud-button img{grid-row:1/3;width:36px;height:34px}.game-map-panel .wallet-hud-button strong{color:#ffe183;font-size:1.08rem}.game-map-panel .wallet-hud-button small{color:#c7d6df;letter-spacing:.08em;text-transform:uppercase}
.game-floating-panel{position:fixed!important;min-width:300px;min-height:220px;resize:both;overflow:auto}
@media(max-width:980px){.game-command-header{grid-template-columns:minmax(220px,auto) 1fr}.game-build-badge{display:none}.game-command-header .game-hud{grid-template-columns:repeat(4,minmax(80px,1fr))}.game-command-header .game-hud article{grid-template-columns:22px 1fr;padding-left:6px;padding-right:6px}.game-command-header .game-hud article>i{left:35px}}
@media(max-width:720px){.game-command-header{left:8px;right:8px;min-height:66px;grid-template-columns:minmax(132px,.8fr) minmax(210px,1.5fr);gap:6px;padding:5px;border-radius:12px}.game-command-header .game-brand-chip{height:54px;gap:5px;padding:3px 7px 3px 3px}.game-command-header .game-app-mark{width:40px;height:40px;flex-basis:40px}.game-command-header .active-player-face{width:34px;height:34px;flex-basis:34px}.player-identity-copy small,.player-identity-copy em{display:none}.player-identity-copy strong{max-width:82px;font-size:.78rem}.game-command-header .game-hud{grid-template-columns:repeat(4,minmax(48px,1fr));gap:3px}.game-command-header .game-hud article{min-height:50px;display:grid;grid-template-columns:1fr;grid-template-rows:21px 21px;place-items:center;padding:4px 3px}.game-command-header .game-hud article>span{grid-row:1;font-size:.95rem}.game-command-header .game-hud article>small{display:none}.game-command-header .game-hud article>strong{font-size:.7rem}.game-command-header .game-hud article>strong b{display:none}.game-command-header .game-hud article>i{left:5px;right:5px;bottom:3px}.game-map-panel .map-icon-dock{top:86px;left:8px;right:8px;width:auto;max-width:none;height:57px;transform:none;justify-content:flex-start}.game-map-panel .map-icon-button,.game-map-panel .map-icon-button.wide-map-icon,.game-map-panel .map-icon-button.gps-center-icon{width:63px;min-width:63px;height:43px;min-height:43px;grid-template-rows:21px 12px}.map-icon-glyph{font-size:1rem}.game-map-panel .map-icon-button small{font-size:.54rem}}

/* 017-137: aplicacao integral do modelo de jogador aprovado */
:root{--player-bg:#081d2d;--player-surface:#12344d;--player-surface-2:#19445f;--player-line:#416982;--player-text:#f5fbff;--player-muted:#a9c0ce;--player-green:#65e968;--player-amber:#f5c451;--player-danger:#ff6b6b}
body{background:var(--player-bg);color:var(--player-text)}

/* Entrada e registo */
.auth-screen{min-height:100dvh;padding:clamp(18px,3vw,42px)!important;display:grid!important;grid-template-columns:minmax(300px,520px) minmax(420px,760px)!important;grid-template-rows:auto 1fr!important;align-items:center;justify-content:center;gap:22px 34px;background:linear-gradient(105deg,rgba(4,20,33,.94),rgba(10,44,61,.72)),url("assets/brand/zap-flags-auth-background.png") center/cover fixed no-repeat!important}
.auth-screen::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 76% 30%,rgba(101,233,104,.13),transparent 32%),linear-gradient(180deg,transparent 55%,rgba(2,12,22,.64))}
.auth-screen .brand{grid-column:1/-1!important;position:relative!important;inset:auto!important;display:flex!important;align-items:center;gap:14px;width:max-content;padding:10px 16px!important;border:1px solid rgba(170,210,231,.28)!important;border-radius:15px!important;background:rgba(8,29,45,.72)!important;box-shadow:0 18px 48px rgba(0,0,0,.28)!important;backdrop-filter:blur(15px)}
.auth-screen .brand-logo{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important}.auth-screen .brand h1{margin:0;color:#fff!important;font-size:1.45rem!important}.auth-screen .brand p{margin:2px 0 0;color:var(--player-green)!important;font-size:.72rem!important;letter-spacing:.15em;text-transform:uppercase}
.auth-screen .panel,.auth-screen .secondary-panel,.auth-screen .entry-official-map-panel,.auth-screen .register-map-location{position:relative!important;inset:auto!important;margin:0!important;border:1px solid rgba(148,190,214,.43)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(23,62,86,.94),rgba(8,31,49,.97))!important;box-shadow:0 28px 74px rgba(0,8,18,.52)!important;backdrop-filter:blur(22px)}
.auth-screen #login-form{grid-column:1;grid-row:2;width:100%;padding:clamp(24px,4vw,42px)!important}.auth-screen #login-form::before{content:"PORTAL DO JOGADOR";display:block;margin-bottom:8px;color:var(--player-green);font-size:.68rem;font-weight:800;letter-spacing:.2em}.auth-screen #login-form h2{margin:0 0 24px;color:#fff;font-size:2rem}
.auth-screen #entry-spawn-map-panel{grid-column:2;grid-row:2;width:100%;min-height:570px;padding:18px!important}.entry-official-map-heading{padding:4px 4px 14px}.entry-official-map-heading strong{color:#fff;font-size:1.15rem}.entry-official-map-heading span{color:var(--player-muted)}
.auth-screen label{color:#d8e7ef;font-size:.78rem;font-weight:700;letter-spacing:.03em}.auth-screen input,.auth-screen textarea,.auth-screen select{min-height:48px;color:#fff!important;border:1px solid rgba(148,190,214,.4)!important;border-radius:11px!important;background:rgba(4,23,38,.76)!important;box-shadow:inset 0 1px 6px rgba(0,0,0,.22)}.auth-screen input:focus,.auth-screen textarea:focus,.auth-screen select:focus{border-color:var(--player-green)!important;outline:3px solid rgba(101,233,104,.13)}
.auth-screen button[type="submit"],.entry-map-primary-actions button,#confirm-register-pin-button{min-height:48px;border:1px solid #78f27b!important;border-radius:11px!important;color:#062410!important;background:linear-gradient(180deg,#76ef78,#43c94a)!important;box-shadow:0 10px 26px rgba(54,211,79,.24)!important;font-weight:900}.auth-screen .link-button,.auth-screen .ghost-button{color:#d7e6ee!important;border-color:rgba(148,190,214,.35)!important;background:rgba(18,52,77,.72)!important}
.auth-screen.auth-register-mode{grid-template-columns:minmax(0,1180px)!important;align-items:start}.auth-screen.auth-register-mode .brand{grid-column:1}.auth-screen.auth-register-mode #register-form{grid-column:1!important;grid-row:2!important;width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;padding:24px!important}.auth-screen.auth-register-mode #register-form h2,.auth-screen.auth-register-mode #register-form .auth-top-actions,.auth-screen.auth-register-mode #register-form .upload-panel,.auth-screen.auth-register-mode #register-form .register-map-location,.auth-screen.auth-register-mode #register-form .checkbox-row,.auth-screen.auth-register-mode #register-form>button[type="submit"]{grid-column:1/-1}.auth-screen.auth-register-mode #register-form h2{margin:0;padding-bottom:14px;border-bottom:1px solid rgba(148,190,214,.25);font-size:1.7rem}.upload-panel{border:1px solid rgba(148,190,214,.3)!important;border-radius:15px!important;background:rgba(7,30,48,.54)!important}.upload-dropzone{border:1px dashed rgba(101,233,104,.6)!important;background:rgba(29,78,92,.38)!important}.register-map{border:1px solid rgba(148,190,214,.38)!important;border-radius:14px!important;overflow:hidden}

/* Uma unica barra superior */
.game-command-header{top:10px!important;left:12px!important;right:12px!important;min-height:76px!important;height:76px;grid-template-columns:minmax(210px,1.2fr) minmax(330px,1.7fr) minmax(360px,2fr) minmax(112px,.55fr) auto!important;gap:7px!important;padding:7px!important;border-radius:17px!important;background:linear-gradient(110deg,rgba(22,61,86,.98),rgba(7,29,47,.98))!important}
.game-command-header .game-brand-chip{height:60px!important;padding:4px 9px 4px 4px!important}.game-command-header .game-app-mark{width:48px!important;height:48px!important}.game-command-header .game-hud{grid-template-columns:minmax(150px,1.45fr) repeat(3,minmax(70px,1fr))!important}.game-command-header .game-hud article{min-height:58px!important;padding:5px 7px!important}.game-command-header .game-hud article>small{font-size:.5rem!important}.game-command-header .game-hud article>strong{font-size:.88rem!important}
.game-command-header .command-main-nav{position:static!important;inset:auto!important;transform:none!important;width:100%!important;height:60px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:3px!important;overflow-x:auto;border:1px solid rgba(148,190,214,.24)!important;border-radius:12px!important;background:rgba(5,25,41,.45)!important;box-shadow:none!important}
.game-command-header .command-main-nav .map-icon-button{position:relative!important;inset:auto!important;flex:1 0 49px!important;width:auto!important;min-width:49px!important;max-width:72px;height:52px!important;min-height:52px!important;display:grid!important;grid-template-rows:25px 13px!important;place-items:center!important;padding:4px!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;box-shadow:none!important}.game-command-header .command-main-nav .map-icon-glyph{font-size:1.02rem!important}.game-command-header .command-main-nav small{display:block!important;font-size:.5rem!important}.game-command-header .command-main-nav .is-active{border-color:rgba(101,233,104,.48)!important;background:rgba(52,111,119,.52)!important;box-shadow:inset 0 -2px var(--player-green)!important}
.command-wallet{min-width:112px}.command-wallet .persistent-wallet-button{position:static!important;inset:auto!important;width:100%!important;min-width:0!important;min-height:58px!important;height:58px!important;display:grid!important;grid-template-columns:34px 1fr!important;grid-template-rows:26px 16px!important;padding:6px 8px!important;border:1px solid rgba(245,196,81,.48)!important;border-radius:12px!important;background:linear-gradient(145deg,rgba(47,78,94,.9),rgba(14,40,60,.95))!important;box-shadow:none!important}.command-wallet .persistent-wallet-button img{grid-row:1/3;width:30px;height:30px}.command-wallet .persistent-wallet-button strong{font-size:.85rem!important;color:#ffe38a!important}.command-wallet .persistent-wallet-button small{font-size:.53rem!important;color:#b9cbd6!important}.game-build-badge{align-self:start;padding:3px 5px!important;color:#7899ad!important;font-size:.48rem!important;letter-spacing:.08em!important}
.game-map-panel{inset:0!important}.game-map-panel .game-leaflet{height:100dvh!important}.map-session-actions{z-index:750!important}.game-floating-panel h3,.game-side-panel h3,.bag-inventory strong,.auction-sales-panel strong{color:#f7fcff}.ghost-button,.link-button{border-color:rgba(148,190,214,.38)!important;color:#e3f0f6!important;background:rgba(8,31,49,.58)!important}.danger-button{border-color:rgba(255,107,107,.58)!important;color:#ffd7d7!important;background:rgba(105,34,45,.58)!important}

/* Mochila */
.bag-inventory{width:min(1040px,calc(100vw - 40px))!important;height:min(720px,calc(100dvh - 115px))!important;min-width:680px!important;min-height:430px!important;display:grid!important;grid-template-rows:auto 1fr!important;overflow:hidden!important}.bag-window-bar>div:first-child{display:flex!important;align-items:center;gap:10px}.bag-window-bar>div:first-child::before{content:"🎒";display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(101,233,104,.4);border-radius:9px;background:rgba(11,37,55,.6)}.bag-window-body{min-height:0!important;display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;grid-template-rows:1fr!important;gap:0!important;padding:0!important;overflow:hidden!important}.bag-tabs{display:flex!important;flex-direction:column!important;gap:5px!important;padding:12px!important;overflow:auto!important;border-right:1px solid rgba(148,190,214,.28);background:rgba(5,25,41,.48)}.bag-tabs button{flex:0 0 auto!important;width:100%!important;min-height:48px!important;display:grid!important;grid-template-columns:34px 1fr!important;justify-items:start!important;align-items:center!important;padding:7px 10px!important;color:#dcebf2!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important}.bag-tabs button span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(50,94,119,.55)}.bag-tabs button.active{border-color:rgba(101,233,104,.52)!important;color:#fff!important;background:linear-gradient(90deg,rgba(49,105,113,.75),rgba(24,68,89,.6))!important;box-shadow:inset 3px 0 var(--player-green)}.bag-simple-content,.bag-category-content,.entropia-inventory-home{min-width:0;overflow:auto!important;padding:14px!important}.bag-launcher-help{display:none!important}.bag-company-section{margin-bottom:14px;border:1px solid rgba(148,190,214,.26)!important;border-radius:13px!important;overflow:hidden;background:rgba(7,28,44,.48)!important}.bag-company-section>header{padding:10px 12px!important;background:rgba(31,76,101,.72)!important}.bag-item-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important;gap:9px!important;padding:10px!important}.bag-item{min-height:118px!important;border:1px solid rgba(120,164,188,.35)!important;border-radius:11px!important;background:linear-gradient(145deg,#1b4862,#12344e)!important}.bag-item:hover{border-color:var(--player-green)!important;transform:translateY(-1px)}.bag-item-open{height:100%;text-align:left!important;color:#fff!important;background:transparent!important}.bag-item-open span,.bag-item-open small{color:var(--player-muted)!important}.bag-item-detail,.bag-detail-window{color:#fff!important;background:linear-gradient(145deg,#1b4a65,#0a2a42)!important}.social-simple-body{height:calc(100% - 54px)!important;padding:0!important;overflow:hidden!important}.social-message-list{padding:12px!important}.social-message-list .message{max-width:72%;padding:9px 12px!important;border:1px solid rgba(148,190,214,.28)!important;border-radius:13px 13px 13px 4px!important;background:#1c4b66!important}.social-message-list .message.mine{margin-left:auto;border-color:rgba(101,233,104,.4)!important;border-radius:13px 13px 4px 13px!important;background:#245f55!important}.social-bilateral-trade{height:100%!important;display:grid!important;grid-template-columns:minmax(210px,.8fr) minmax(340px,1.5fr) minmax(210px,.8fr)!important;gap:8px!important;padding:8px!important}.social-trade-side{border:1px solid rgba(148,190,214,.35)!important;border-radius:12px!important;background:rgba(8,31,49,.68)!important}.social-trade-offer{border:1px dashed rgba(101,233,104,.55)!important;background:rgba(13,46,64,.55)!important}.social-trade-coins{border-color:rgba(245,196,81,.58)!important;background:rgba(87,66,20,.28)!important}

/* Vendas e leiloes */
.auction-sales-panel{width:min(1180px,calc(100vw - 42px))!important;height:min(720px,calc(100dvh - 112px))!important;min-width:760px!important;min-height:480px!important}.auction-sale-top{padding:7px 12px!important;border-bottom:1px solid rgba(148,190,214,.25)}.auction-sale-tabs{display:flex!important;gap:5px!important;padding:8px 12px!important;background:rgba(5,24,39,.55)!important}.auction-sale-tabs button{min-height:40px;padding:7px 16px!important;border:1px solid transparent!important;border-radius:9px!important;color:#c9dce6!important;background:transparent!important}.auction-sale-tabs button.active{border-color:rgba(101,233,104,.5)!important;color:#fff!important;background:rgba(43,95,105,.68)!important;box-shadow:inset 0 -2px var(--player-green)}.auction-sale-workspace{height:calc(100% - 106px)!important;display:grid!important;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.3fr)!important;gap:0!important}.auction-sale-list{padding:12px!important;overflow:auto!important;border-right:1px solid rgba(148,190,214,.28)}.auction-sale-card{border:1px solid rgba(148,190,214,.32)!important;border-radius:11px!important;background:linear-gradient(145deg,#1d4b66,#12364f)!important}.auction-sale-card:hover,.auction-sale-card.active{border-color:var(--player-green)!important}.auction-sale-detail{padding:18px!important;background:rgba(6,26,42,.36)!important}.auction-sale-detail button:not(.ghost-button){color:#072510!important;background:var(--player-green)!important}

@media(max-width:1180px){.game-command-header{grid-template-columns:minmax(180px,1fr) minmax(300px,1.5fr) minmax(310px,1.6fr) 105px!important}.game-build-badge{display:none!important}.player-identity-copy em{display:none}.game-command-header .game-hud article>small{display:none}.game-command-header .game-hud article{grid-template-rows:1fr!important}.game-command-header .game-hud article>span{grid-row:1!important}.game-command-header .game-hud article>i{bottom:5px}}
@media(max-width:860px){.auth-screen{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;padding:12px!important}.auth-screen .brand,.auth-screen #login-form,.auth-screen #entry-spawn-map-panel{grid-column:1!important;grid-row:auto!important}.auth-screen #entry-spawn-map-panel{min-height:440px}.auth-screen.auth-register-mode #register-form{grid-template-columns:1fr!important}.auth-screen.auth-register-mode #register-form>*{grid-column:1!important}.game-command-header{height:auto!important;min-height:68px!important;grid-template-columns:minmax(155px,.8fr) minmax(250px,1.4fr) minmax(280px,1.5fr) 95px!important;overflow-x:auto!important}.game-command-header .game-brand-chip{height:54px!important}.game-command-header .game-app-mark{width:40px!important;height:40px!important}.game-command-header .game-hud{height:54px}.game-command-header .command-main-nav{height:54px!important}.game-command-header .command-main-nav .map-icon-button{height:46px!important;min-height:46px!important}.command-wallet .persistent-wallet-button{height:54px!important;min-height:54px!important}.bag-inventory,.auction-sales-panel{left:8px!important;top:94px!important;width:calc(100vw - 16px)!important;height:calc(100dvh - 102px)!important;min-width:0!important;min-height:0!important;resize:none!important}.bag-window-body{grid-template-columns:132px minmax(0,1fr)!important}.bag-tabs button{grid-template-columns:28px 1fr!important;padding:6px!important;font-size:.7rem}.social-bilateral-trade{grid-template-columns:1fr!important;overflow:auto}.auction-sale-workspace{grid-template-columns:1fr!important;overflow:auto}.auction-sale-list{border-right:0;border-bottom:1px solid rgba(148,190,214,.28)}}
.social-status-dot.online{background:#4ff36b!important;box-shadow:0 0 0 3px rgba(79,243,107,.18),0 0 12px rgba(79,243,107,.9)!important}
.social-friend-request-light{position:absolute;right:8px;top:8px;width:12px;height:12px;border-radius:50%;background:#ffd447;box-shadow:0 0 0 3px rgba(255,212,71,.2),0 0 12px rgba(255,212,71,.95);z-index:3}
.social-player-friend-request{display:block;color:#ffe082;font-size:.68rem}.social-player-friend-request.sent{font-weight:700}
.social-conversation-recipient{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(126,203,232,.34);border-radius:10px;background:rgba(12,35,48,.92)}
.social-conversation-recipient .social-avatar{width:40px;height:40px}.social-conversation-recipient span:nth-child(2){display:grid;gap:1px;min-width:0}.social-conversation-recipient small{color:#91b5c7}.social-conversation-recipient strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-conversation-recipient em{font-style:normal;color:#9fd8b0}

/* 017-142: registo compacto sem botoes flutuantes sobre o mapa. */
.auth-screen.auth-register-mode #register-form {
  grid-template-columns: minmax(300px, .92fr) minmax(420px, 1.08fr) !important;
  grid-template-areas:
    "actions actions"
    "title title"
    "upload location"
    "name location"
    "email location"
    "password location"
    "confirm location"
    "terms location"
    "submit submit";
  gap: 10px 18px !important;
  align-items: start;
}

.auth-screen.auth-register-mode #register-form > .auth-top-actions {
  grid-area: actions;
  position: static !important;
  top: auto !important;
  border: 1px solid rgba(148, 190, 214, .25);
  background: rgba(5, 25, 41, .58) !important;
}

.auth-screen.auth-register-mode #register-form > h2 {
  grid-area: title;
  padding-bottom: 8px;
  color: #fff !important;
}

.auth-screen.auth-register-mode #register-form > .upload-panel { grid-area: upload; }
.auth-screen.auth-register-mode #register-form > .register-name-field { grid-area: name; }
.auth-screen.auth-register-mode #register-form > .register-email-field { grid-area: email; }
.auth-screen.auth-register-mode #register-form > #register-map-location {
  grid-area: location;
  align-self: stretch;
  gap: 8px;
  padding: 12px;
}
.auth-screen.auth-register-mode .register-location-heading span,
.auth-screen.auth-register-mode .register-map-search-panel > span,
.auth-screen.auth-register-mode .upload-panel > span {
  color: #e7f3f8 !important;
}
.auth-screen.auth-register-mode .upload-panel p,
.auth-screen.auth-register-mode .upload-panel small {
  color: #a9c1cf !important;
}
.auth-screen.auth-register-mode #register-form > .register-password-field { grid-area: password; }
.auth-screen.auth-register-mode #register-form > .register-confirm-password-field { grid-area: confirm; }
.auth-screen.auth-register-mode #register-form > .checkbox-row { grid-area: terms; }
.auth-screen.auth-register-mode #register-form > #register-submit-button {
  grid-area: submit;
  position: static !important;
  bottom: auto !important;
}

.auth-screen.auth-register-mode #register-form .register-map {
  height: clamp(210px, 25dvh, 250px) !important;
  min-height: 210px !important;
  max-height: 250px !important;
}

.auth-screen.auth-register-mode #register-form input,
.auth-screen.auth-register-mode #register-form button {
  min-height: 44px;
}

.auth-screen.auth-register-mode #register-form #register-terms {
  width: 18px;
  height: 18px;
  min-height: 18px !important;
  margin: 0;
}

.auth-screen.auth-register-mode #register-form > .checkbox-row {
  min-height: 44px;
}

.auth-screen.auth-register-mode #register-form .upload-dropzone {
  min-height: 70px;
}

@media (max-width: 860px) {
  .auth-screen.auth-register-mode #register-form {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "actions"
      "title"
      "upload"
      "name"
      "email"
      "location"
      "password"
      "confirm"
      "terms"
      "submit";
  }

  .auth-screen.auth-register-mode #register-form .register-map {
    height: clamp(220px, 32dvh, 280px) !important;
    min-height: 220px !important;
    max-height: 280px !important;
  }
}

/* 017-143: ao entrar no jogo, o ecra de autenticacao tem de desaparecer. */
.auth-screen.hidden {
  display: none !important;
}

.game-command-header {
  grid-template-columns: minmax(210px, 1.2fr) minmax(330px, 1.7fr) minmax(360px, 2fr) minmax(112px, .55fr) !important;
}
.social-roster-search{display:grid;grid-template-columns:1fr 40px;gap:5px;padding:0 9px 9px}.social-roster-search input{min-width:0;height:40px;padding:7px 9px;border:1px solid rgba(148,190,214,.36);border-radius:9px;color:#fff;background:rgba(5,24,39,.8)}.social-roster-search button{height:40px;border:1px solid rgba(148,190,214,.36);border-radius:9px;color:#fff;background:#214f6b}.social-dialog-empty{height:100%;display:grid;place-content:center;justify-items:center;padding:28px;color:var(--player-muted);text-align:center}.social-dialog-empty span{font-size:3.2rem;color:var(--player-green)}.social-dialog-empty strong{margin-top:8px;color:#fff;font-size:1.25rem}.social-dialog-empty p{max-width:430px}.social-dialog-invitation{position:absolute;top:58px;left:50%;z-index:8;transform:translateX(-50%);box-shadow:0 12px 34px rgba(0,0,0,.42)}

/* 017-144: janelas livres, redimensionaveis e perfil do jogador. */
.managed-window-resizer{
  position:absolute!important;
  right:3px!important;
  bottom:3px!important;
  z-index:30!important;
  width:32px!important;
  height:32px!important;
  cursor:nwse-resize!important;
  touch-action:none!important;
  border-right:3px solid rgba(101,233,104,.85)!important;
  border-bottom:3px solid rgba(101,233,104,.85)!important;
  border-radius:0 0 7px 0!important;
  background:transparent!important;
}

/* Celebracao do Bingo integrada na janela normal da bandeira capturada. */
.bingo-celebration {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle at center, rgba(255, 248, 196, .4), rgba(255, 255, 255, .08) 48%, transparent 76%);
  animation: bingo-celebration-in .22s ease-out both;
}

.bingo-celebration.closing {
  animation: bingo-celebration-out .22s ease-in both;
}

.bingo-celebration-trophy {
  position: relative;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 150px;
  height: 150px;
  font-size: clamp(5rem, 24vw, 8rem);
  filter: drop-shadow(0 8px 12px rgba(55, 35, 0, .35));
  animation: bingo-trophy-colours 25s linear both, bingo-trophy-pop .7s cubic-bezier(.2, 1.35, .4, 1) both;
}

.bingo-confetti {
  --hue: calc(var(--i) * 47);
  position: absolute;
  z-index: 2;
  top: -24px;
  left: var(--x);
  width: 10px;
  height: 18px;
  border-radius: 2px;
  background: hsl(var(--hue) 92% 62%);
  opacity: .95;
  animation: bingo-confetti-fall 3.8s var(--delay) cubic-bezier(.15, .7, .35, 1) infinite;
}

.bingo-confetti:nth-of-type(3n) { width: 14px; height: 9px; border-radius: 50%; }
.bingo-confetti:nth-of-type(4n) { animation-duration: 4.4s; }

.bingo-firework {
  position: absolute;
  z-index: 1;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  color: #ffe65a;
  box-shadow:
    0 -56px 0 2px currentColor, 40px -40px 0 2px #ff7a66, 56px 0 0 2px #62e6ff,
    40px 40px 0 2px #9dff7a, 0 56px 0 2px #ff74d4, -40px 40px 0 2px #ffd66b,
    -56px 0 0 2px #7ec8ff, -40px -40px 0 2px #ff8e5a;
  animation: bingo-firework-burst 1.35s ease-out infinite;
}

.bingo-firework-one { left: 18%; top: 28%; }
.bingo-firework-two { right: 18%; top: 20%; color: #77efff; animation-delay: .38s; }
.bingo-firework-three { right: 26%; bottom: 24%; color: #ff79bd; animation-delay: .75s; }

@keyframes bingo-celebration-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes bingo-celebration-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes bingo-trophy-pop {
  0% { opacity: 0; transform: scale(.62) rotate(-3deg); }
  70% { opacity: 1; transform: scale(1.05) rotate(1deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}
@keyframes bingo-trophy-colours {
  0% { color: #ffd84f; filter: hue-rotate(0deg) drop-shadow(0 0 12px rgba(255, 216, 79, .9)); }
  25% { color: #69e9ff; filter: hue-rotate(90deg) drop-shadow(0 0 18px rgba(105, 233, 255, .95)); }
  50% { color: #ff79bd; filter: hue-rotate(180deg) drop-shadow(0 0 18px rgba(255, 121, 189, .95)); }
  75% { color: #8fff7c; filter: hue-rotate(270deg) drop-shadow(0 0 18px rgba(143, 255, 124, .95)); }
  100% { color: #ffd84f; filter: hue-rotate(360deg) drop-shadow(0 0 12px rgba(255, 216, 79, .9)); }
}
@keyframes bingo-confetti-fall {
  0% { top: -24px; transform: translate3d(0, 0, 0) rotate(0); }
  100% { top: 110%; transform: translate3d(calc((var(--i) - 18) * 1.2px), 0, 0) rotate(760deg); }
}
@keyframes bingo-firework-burst {
  0% { opacity: 0; transform: scale(.12); }
  18% { opacity: 1; }
  72% { opacity: .9; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.35); }
}

@media (prefers-reduced-motion: reduce) {
  .bingo-celebration,
  .bingo-celebration-trophy,
  .bingo-confetti,
  .bingo-firework { animation: none !important; }
  .bingo-confetti,
  .bingo-firework { display: none; }
}

/* Contadores persistentes das bandeiras capturadas, separados por empresa. */
.captured-flag-company-summary { gap: 12px; }
.captured-flag-total-grid,
.flag-company-counter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.captured-flag-total-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.captured-flag-total-grid > span,
.flag-company-counter-grid > span {
  display: grid;
  place-items: center;
  min-width: 0;
  padding: 8px 5px;
  border: 1px solid rgba(101, 233, 104, .24);
  border-radius: 9px;
  background: rgba(5, 28, 42, .62);
  text-align: center;
}
.captured-flag-total-grid strong,
.flag-company-counter-grid strong { color: #f7fff8; font-size: 1rem; }
.captured-flag-total-grid small,
.flag-company-counter-grid small { color: var(--player-muted); font-size: .68rem; }
.flag-company-summary-list { display: grid; gap: 9px; }
.flag-company-summary-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.3fr) minmax(220px, 2fr);
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(148, 190, 214, .25);
  border-radius: 11px;
  background: rgba(5, 24, 39, .58);
}
.flag-company-summary-identity { display: flex; align-items: center; gap: 9px; min-width: 0; }
.flag-company-summary-identity > img,
.flag-company-summary-identity > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 9px;
  object-fit: contain;
  background: rgba(101, 233, 104, .12);
}
.flag-company-summary-identity div { display: grid; min-width: 0; }
.flag-company-summary-identity strong,
.flag-company-summary-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flag-company-summary-identity small { color: var(--player-muted); }

@media (max-width: 620px) {
  .flag-company-summary-row { grid-template-columns: 1fr; }
}

/* 017-146: rodape global e leve com os ultimos Bingos encontrados. */
.global-bingo-ticker {
  position: fixed;
  z-index: 570;
  right: max(12px, env(safe-area-inset-right));
  bottom: calc(12px + env(safe-area-inset-bottom));
  left: max(108px, calc(env(safe-area-inset-left) + 108px));
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-height: 42px;
  overflow: hidden;
  border: 1px solid rgba(255, 226, 103, .62);
  border-radius: 12px;
  color: #f8fff9;
  background: rgba(5, 27, 38, .9);
  box-shadow: 0 9px 30px rgba(0, 0, 0, .3);
  backdrop-filter: blur(14px);
  pointer-events: none;
}

.global-bingo-ticker > strong {
  position: relative;
  z-index: 2;
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 13px;
  color: #fff1a3;
  background: linear-gradient(135deg, #8a4a0c, #b76811);
  letter-spacing: .05em;
  white-space: nowrap;
}

.global-bingo-ticker-viewport { overflow: hidden; }
.global-bingo-ticker-track {
  display: flex;
  width: max-content;
  animation: global-bingo-ticker-scroll 34s linear infinite;
  will-change: transform;
}
.global-bingo-ticker-sequence {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 22px;
  padding: 0 22px 0 0;
  white-space: nowrap;
}
.global-bingo-ticker-sequence > i { color: #ffe66d; font-style: normal; }
.global-bingo-announcement { color: #ddffd0; }
.global-bingo-announcement b { color: #b8ff91; }
.global-bingo-announcement > b:first-child {
  border-radius: 5px;
  padding: 2px 6px;
  color: #062d15;
  background: #80e68a;
}
.global-pec-announcement { color: #d9f8ff; }
.global-pec-announcement b { color: #85e9ff; }
.global-pec-announcement > b:first-child {
  border-radius: 5px;
  padding: 2px 6px;
  color: #052d3a;
  background: #75d9ee;
}
.global-available-bingo { color: #fff2bd; }
.global-available-bingo b { color: #ffd96f; }
.global-available-bingo > b:first-child {
  border-radius: 5px;
  padding: 2px 6px;
  color: #452d00;
  background: #ffd15c;
}
.global-portal-announcement { color: #dff7ff; }
.global-portal-announcement b {
  display: inline-block;
  margin-right: 5px;
  border-radius: 5px;
  padding: 2px 6px;
  color: #032d40;
  background: #72dcff;
  letter-spacing: .05em;
}
.global-portal-announcement.is-warning b { color: #452600; background: #ffbd5b; }
.global-portal-announcement.is-urgent b { color: #fff; background: #dc3545; }

.prize-consultation-panel { min-width: min(8cm, calc(100vw - 16px)); }
.prize-consultation-content {
  display: grid;
  gap: 16px;
  padding: 2px;
}
.prize-consultation-content h3 { margin: 4px 0 8px; color: #f3fbff; }
.prize-consultation-available,
.prize-consultation-awarded { gap: 5px; }
.prize-consultation-available > strong > span,
.prize-consultation-awarded > strong > span {
  display: inline-block;
  margin-right: 5px;
  border-radius: 5px;
  padding: 2px 6px;
  font-size: .67rem;
  letter-spacing: .04em;
}
.prize-consultation-available > strong > span { color: #452d00; background: #ffd15c; }
.prize-consultation-available > strong { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.prize-consultation-available .new-bingo-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid #ffe082;
  border-radius: 999px;
  padding: 3px 8px;
  color: #fff8d0;
  background: #a33a00;
  font-size: .7rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .05em;
}
.prize-consultation-awarded.is-bingo > strong > span { color: #062d15; background: #80e68a; }
.prize-consultation-awarded.is-pec > strong > span { color: #052d3a; background: #75d9ee; }
.prize-consultation-available p { margin: 3px 0; color: #d5e7ef; }
.prize-consultation-available button { justify-self: start; margin-top: 4px; }
.game-side-panel[data-managed-window-id="prizes"] .panel-list-item,
.game-side-panel[data-managed-window-id="prizes"] .panel-list-item
  :is(h1, h2, h3, h4, p, span, small, strong, b, em, label, button) {
  color: #111111 !important;
  font-weight: 700 !important;
}
@keyframes global-bingo-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (max-width: 760px) {
  .global-bingo-ticker {
    right: 10px;
    bottom: calc(58px + env(safe-area-inset-bottom));
    left: 10px;
    min-height: 38px;
  }
  .global-bingo-ticker > strong { padding: 0 9px; font-size: .72rem; }
  .global-bingo-announcement,
  .global-pec-announcement,
  .global-available-bingo,
  .global-portal-announcement { font-size: .78rem; }
}

@media (prefers-reduced-motion: reduce) {
  .global-bingo-ticker-track { animation: none; }
  .global-bingo-ticker-sequence[aria-hidden="true"] { display: none; }
}
.game-screen .bag-detail-window{z-index:1400!important}
.game-screen .bag-detail-window.simple-wallet-window{
  min-width:min(5cm,calc(100vw - 16px))!important;
  min-height:min(5cm,calc(100dvh - 104px))!important;
  overflow:auto!important;
}
.game-screen .bag-item-detail{z-index:1450!important}
.player-profile-panel{min-width:340px!important;min-height:300px!important;overflow:auto!important}
.player-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;color:#eaf5fa}
.player-profile-form>label{display:grid;gap:6px;font-size:.78rem;font-weight:750}
.player-profile-form input{min-width:0;min-height:44px;padding:8px 10px;border:1px solid rgba(148,190,214,.4);border-radius:10px;color:#fff;background:rgba(4,23,38,.76)}
.player-profile-form input[readonly]{color:#a9c1cf;background:rgba(4,23,38,.45);cursor:not-allowed}
.player-profile-form label small{color:#9fb8c7;font-size:.67rem;font-weight:500}
.player-profile-avatar-card{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:12px;border:1px solid rgba(148,190,214,.3);border-radius:13px;background:rgba(6,27,44,.46)}
.player-profile-avatar-card>div{display:grid;gap:7px}
.player-profile-avatar-preview{display:grid;place-items:center;flex:0 0 92px;width:92px;height:92px;overflow:hidden;border:2px solid rgba(101,233,104,.58);border-radius:50%;background:#24465e;font-size:48px}
.player-profile-avatar-preview img{width:100%;height:100%;object-fit:cover}
.player-profile-avatar-button{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;min-height:38px;padding:7px 11px;border:1px solid rgba(101,233,104,.55);border-radius:9px;color:#dfffe4;background:rgba(39,95,83,.55);cursor:pointer}
.player-profile-avatar-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.player-profile-form fieldset{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid rgba(148,190,214,.3);border-radius:12px}
.player-profile-form fieldset label{display:grid;gap:6px;font-size:.75rem}
.player-profile-form legend{padding:0 6px;color:#dceaf1;font-size:.76rem;font-weight:800}
.player-profile-location-note{grid-column:1/-1;margin:0;color:#a9c1cf;font-size:.72rem}
.player-profile-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}
.player-profile-actions button[type="submit"]{color:#062410!important;background:var(--player-green)!important}
@media(max-width:700px){.player-profile-form{grid-template-columns:1fr}.player-profile-form>*{grid-column:1!important}.player-profile-form fieldset{grid-template-columns:1fr}}

/* 017-157: duas barras superiores alinhadas, sem sobreposicao e com botoes uniformes. */
.game-command-header {
  box-sizing: border-box !important;
  top: max(10px, env(safe-area-inset-top)) !important;
  right: 12px !important;
  left: 12px !important;
  width: auto !important;
  height: 138px !important;
  min-height: 138px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 60px 56px !important;
  gap: 6px !important;
  padding: 7px !important;
  overflow: visible !important;
}

.game-command-header .game-status-row {
  min-width: 0;
  height: 60px;
  display: grid;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(108px, 126px);
  align-items: stretch;
  gap: 6px;
}

.game-command-header .game-status-row > * { min-width: 0; }

.game-command-header .game-brand-chip,
.game-command-header .game-hud,
.game-command-header .command-wallet,
.game-command-header .command-main-nav {
  box-sizing: border-box !important;
  margin: 0 !important;
}

.game-command-header .game-brand-chip {
  width: 100% !important;
  height: 60px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.game-command-header .active-player-identity {
  min-width: 0;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 8px !important;
}

.game-command-header .active-player-face {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: grid !important;
  place-items: center;
  overflow: hidden;
  object-fit: cover;
  visibility: visible !important;
  opacity: 1 !important;
}

.game-command-header .player-identity-copy,
.game-command-header .active-player-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.game-command-header .game-hud {
  width: 100% !important;
  height: 60px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  overflow: hidden !important;
}

.game-command-header .game-hud article {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 60px !important;
  min-width: 0 !important;
  min-height: 60px !important;
}

.game-command-header .command-wallet,
.game-command-header .command-wallet .persistent-wallet-button {
  width: 100% !important;
  height: 60px !important;
  min-width: 0 !important;
  min-height: 60px !important;
}

.game-command-header .command-main-nav {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 56px !important;
  min-height: 56px !important;
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 4px !important;
  padding: 3px !important;
  transform: none !important;
  overflow: hidden !important;
}

.game-command-header .command-main-nav .map-icon-button,
.game-command-header .command-main-nav .map-icon-button.wide-map-icon,
.game-command-header .command-main-nav .map-icon-button.gps-center-icon {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 3px 2px !important;
}

@media (max-width: 760px) {
  .game-command-header {
    top: max(6px, env(safe-area-inset-top)) !important;
    right: 6px !important;
    left: 6px !important;
    height: 128px !important;
    min-height: 128px !important;
    grid-template-rows: 54px 52px !important;
    gap: 6px !important;
    padding: 5px !important;
  }

  .game-command-header .game-status-row {
    height: 54px;
    grid-template-columns: minmax(116px, 142px) minmax(0, 1fr) minmax(76px, 86px);
    gap: 4px;
  }

  .game-command-header .game-app-mark { display: none !important; }
  .game-command-header .game-brand-chip { height: 54px !important; }
  .game-command-header .active-player-identity { grid-template-columns: 36px minmax(0, 1fr); gap: 5px !important; }
  .game-command-header .active-player-face { width: 36px !important; height: 36px !important; min-width: 36px !important; }
  .game-command-header .player-identity-copy strong { display: block !important; max-width: none !important; font-size: .72rem !important; }
  .game-command-header .game-hud { height: 54px !important; gap: 3px !important; }
  .game-command-header .game-hud article { height: 54px !important; min-height: 54px !important; padding: 3px 2px !important; }
  .game-command-header .game-hud article > small,
  .game-command-header .game-hud article > strong b { display: none !important; }
  .game-command-header .game-hud article > strong { font-size: .68rem !important; }
  .game-command-header .game-hud article > span { font-size: .9rem !important; }
  .game-command-header .command-wallet,
  .game-command-header .command-wallet .persistent-wallet-button { height: 54px !important; min-height: 54px !important; }
  .game-command-header .command-wallet .persistent-wallet-button { grid-template-columns: 24px minmax(0, 1fr) !important; padding: 4px !important; }
  .game-command-header .command-wallet .persistent-wallet-button img { width: 22px; height: 22px; }
  .game-command-header .command-wallet .persistent-wallet-button strong { font-size: .68rem !important; }
  .game-command-header .command-wallet .persistent-wallet-button small { font-size: .45rem !important; }
  .game-command-header .command-main-nav { height: 52px !important; min-height: 52px !important; gap: 2px !important; padding: 2px !important; }
  .game-command-header .command-main-nav .map-icon-button { height: 46px !important; min-height: 46px !important; max-height: 46px !important; }
  .game-command-header .command-main-nav small { font-size: .44rem !important; }

  .game-screen .bag-inventory,
  .game-screen .auction-sales-panel {
    top: 142px !important;
    height: calc(100dvh - 150px) !important;
  }
}

/* 017-159: sinais sociais, pedidos de amizade e abertura sincronizada do negocio. */
.game-command-header .social-unread-badge {
  top: 2px !important;
  right: 2px !important;
  z-index: 5;
  box-shadow: 0 0 0 2px #102f49, 0 0 10px rgba(255, 78, 78, .85) !important;
}
.social-friend-request-badge {
  position: absolute;
  right: 2px;
  bottom: 2px;
  z-index: 5;
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  color: #201500;
  background: #ffd34f;
  box-shadow: 0 0 0 2px #102f49, 0 0 10px rgba(255, 211, 79, .8);
  font-size: .66rem;
  font-weight: 900;
}
.social-panel-signals b {
  padding: 4px 7px;
  overflow: hidden;
  border-radius: 999px;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .62rem;
}
.social-panel-signals .is-message { color: #fff; background: #d93d48; }
.social-panel-signals .is-friend { color: #281b00; background: #ffd34f; }
.social-friend-request-invitations {
  flex: 0 0 auto;
  display: grid;
  gap: 5px;
  max-height: 128px;
  padding: 7px;
  overflow: auto;
  border-bottom: 1px solid rgba(255, 211, 79, .36);
  background: rgba(75, 56, 12, .52);
}
.social-friend-request-invitations article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 7px;
  border: 1px solid rgba(255, 211, 79, .48);
  border-radius: 10px;
  background: rgba(18, 47, 66, .96);
}
.social-friend-request-invitations article > span:nth-child(2) { display: grid; min-width: 0; }
.social-friend-request-invitations small { color: #ffd96d; }
.social-friend-request-invitations article > div { display: flex; gap: 5px; }
.social-trade-pending {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 6px 10px;
  border: 1px solid rgba(255, 211, 79, .5);
  border-radius: 9px;
  color: #ffe487;
  background: rgba(81, 59, 10, .42);
  font-size: .72rem;
  font-weight: 750;
}
@media (max-width: 700px) {
  .social-friend-request-invitations article { grid-template-columns: 34px minmax(0, 1fr); }
  .social-friend-request-invitations article > div { grid-column: 1 / -1; }
  .social-friend-request-invitations article > div button { flex: 1 1 0; }
}

/* 017-162: limites reais da mochila, energia em stock e capacidade do armazem. */
.backpack-capacity-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(88px, 1fr));
  gap: 7px;
  padding: 9px;
  border: 1px solid rgba(129, 186, 211, .28);
  border-radius: 11px;
  background: rgba(8, 27, 39, .72);
}
.backpack-capacity-summary span { display: grid; gap: 2px; padding: 7px; border-radius: 8px; background: rgba(20, 55, 72, .75); }
.backpack-capacity-summary small { color: #b8ced9; }
.backpack-capacity-summary strong { color: #f0fbff; }
.backpack-capacity-summary em { grid-column: 1 / -1; color: #93d7ae; font-size: .76rem; font-style: normal; }
.bag-energy-stock { gap: 12px !important; }
.bag-energy-stock-detail {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: min(320px, calc(100vw - 16px));
  min-height: min(350px, calc(100dvh - 92px));
  max-width: calc(100vw - 16px);
  max-height: calc(100dvh - 16px);
  box-sizing: border-box;
  overflow: hidden;
  container: simple-energy-stock / inline-size;
}
.bag-energy-stock-detail > header { min-width: 0; cursor: move; touch-action: none; user-select: none; }
.bag-energy-stock-detail > header strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bag-energy-stock-detail > header button { flex: 0 0 auto; }
.bag-energy-stock-detail > header button { cursor: pointer; touch-action: manipulation; }
.bag-energy-stock-scroll { min-width: 0; min-height: 0; overflow: auto; padding: 4px 2px 14px; }
.energy-stock-window-resizer { display: block !important; cursor: nwse-resize; touch-action: none; }
.energy-stock-simple-box { width: 100%; min-width: 0; padding: 10px; box-sizing: border-box; gap: 10px !important; }
.energy-stock-available { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 12px; border: 1px solid #b8d6c3; border-radius: 10px; background: #f0fdf4; white-space: nowrap; }
.energy-stock-available span { color: #26352d !important; font-weight: 800; min-width: 0; }
.energy-stock-available strong { color: #126b35 !important; font-size: 1.55rem; white-space: nowrap; }
.energy-stock-summary { display: block; width: 100%; overflow-x: auto; padding: 10px 12px; border: 1px solid #b8d6c3; border-radius: 10px; background: #f0fdf4; color: #26352d; font-weight: 800; }
.energy-stock-summary span { color: #26352d !important; white-space: nowrap; }
.energy-stock-summary strong { color: #126b35 !important; font-weight: 900; }
.energy-stock-quantity-label { color: #111827 !important; }
.bag-energy-stock header, .trade-storage-capacity header, .trade-storage-wallet header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bag-energy-gauge { height: 12px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.1); }
.bag-energy-gauge i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #e2b83f, #fff178); }
.bag-energy-stock dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.bag-energy-stock dl div { padding: 9px; border-radius: 8px; background: rgba(20, 55, 72, .7); }
.bag-energy-stock dt { color: #b8ced9; font-size: .74rem; }
.bag-energy-stock dd { margin: 3px 0 0; font-weight: 800; }
.energy-quantity-picker { display:grid; grid-template-columns:44px minmax(90px,1fr) 44px; gap:8px; align-items:center; }
.energy-quantity-picker input { min-width:0; text-align:center; font-weight:800; }
.bag-energy-stock [data-energy-quantity-slider] { width:100%; accent-color:#159447; }
.energy-sale-block { padding:12px; border:2px solid #159447; border-radius:10px; background:#fff; color:#111; cursor:grab; display:flex; justify-content:space-between; gap:8px; }
.energy-stock-drag-card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; justify-content: initial; gap: 4px 10px; touch-action: none; user-select: none; }
.energy-stock-drag-card > span { grid-row: 1 / 3; font-size: 1.5rem; }
.energy-stock-drag-card strong { color: #14532d !important; white-space: nowrap; }
.energy-stock-drag-card small { color: #374151 !important; }
.energy-sale-block.dragging { opacity:.65; }
@container simple-energy-stock (max-width: 390px) {
  .energy-quantity-picker { grid-template-columns: 42px minmax(72px, 1fr) 42px; }
  .energy-stock-available { font-size: .86rem; }
  .energy-stock-available strong { font-size: 1.25rem; }
}
.trade-storage-capacity, .trade-storage-wallet, .trade-storage-return { display: grid; gap: 7px; margin: 8px; padding: 10px; border: 1px solid rgba(129, 186, 211, .28); border-radius: 9px; background: rgba(8, 29, 42, .85); }
.trade-storage-boxes, .trade-storage-return { display: grid; gap: 6px; }
.trade-storage-return { margin-top: 10px; }
.bag-send-storage, .bag-item-detail-actions button { white-space: normal; }

@media (max-width: 700px) {
  .backpack-capacity-summary { grid-template-columns: repeat(2, minmax(88px, 1fr)); }
  .bag-energy-stock dl { grid-template-columns: minmax(0, 1fr); }
}
.sales-trade-help { margin: 0; padding: 9px 11px; color: #c8dae4; font-size: .72rem; }
.sales-category-item-actions { display: flex; gap: 5px; }
.sales-category-item-actions button { flex: 1 1 0; min-width: 0; }
.social-offer-items { width: 100%; display: grid; gap: 6px; }
.social-offer-items article { display: grid; grid-template-columns: minmax(0, 1fr) 30px; gap: 5px; }
.social-offer-items .social-offer-item { min-width: 0; text-align: left; }
.social-remove-offer-item { width: 30px; min-width: 30px; padding: 0; color: #ffd8d8; background: rgba(116, 35, 45, .72); }
.social-bilateral-trade .social-trade-side {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  cursor: default !important;
}

@media (max-width: 700px) {
  .social-roster-search { grid-column: 2; grid-row: 1; padding: 4px !important; }
}

/* 017-163: barra superior unica, compacta e com todas as acoes na mesma linha. */
.game-command-header {
  box-sizing: border-box !important;
  top: max(8px, env(safe-area-inset-top)) !important;
  right: 10px !important;
  left: 10px !important;
  width: auto !important;
  height: 62px !important;
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: minmax(540px, 1.15fr) minmax(390px, .85fr) !important;
  grid-template-rows: 48px !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px !important;
  overflow: visible !important;
}

.game-command-header .game-status-row {
  width: 100%;
  height: 48px !important;
  display: grid !important;
  grid-template-columns: minmax(175px, 215px) minmax(270px, 1fr) minmax(76px, 92px) !important;
  align-items: stretch !important;
  gap: 4px !important;
}

.game-command-header .game-brand-chip,
.game-command-header .game-hud,
.game-command-header .command-wallet,
.game-command-header .command-wallet .persistent-wallet-button,
.game-command-header .command-main-nav {
  height: 48px !important;
  min-height: 48px !important;
}

.game-command-header .game-brand-chip {
  gap: 5px !important;
  padding: 3px 6px 3px 3px !important;
}
.game-command-header .game-app-mark { width: 34px !important; height: 34px !important; flex-basis: 34px !important; }
.game-command-header .active-player-identity { grid-template-columns: 32px minmax(0, 1fr) !important; gap: 5px !important; }
.game-command-header .active-player-face { width: 32px !important; height: 32px !important; min-width: 32px !important; font-size: 18px !important; }
.game-command-header .player-identity-copy small { font-size: .46rem !important; }
.game-command-header .player-identity-copy strong { font-size: .72rem !important; }
.game-command-header .player-identity-copy em { font-size: .52rem !important; }

.game-command-header .game-hud {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 3px !important;
  overflow: hidden !important;
}
.game-command-header .game-hud article {
  height: 48px !important;
  min-height: 48px !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  grid-template-rows: 13px 19px !important;
  column-gap: 3px !important;
  padding: 4px 5px !important;
  border-radius: 8px !important;
}
.game-command-header .game-hud article > span { font-size: .82rem !important; }
.game-command-header .game-hud article > small { font-size: .42rem !important; letter-spacing: .05em !important; }
.game-command-header .game-hud article > strong { font-size: .7rem !important; }
.game-command-header .game-hud article > strong b { font-size: .5rem !important; }
.game-command-header .game-hud article > i { left: 25px !important; right: 5px !important; bottom: 3px !important; }

.game-command-header .command-wallet,
.game-command-header .command-wallet .persistent-wallet-button { width: 100% !important; }
.game-command-header .command-wallet .persistent-wallet-button {
  grid-template-columns: 24px minmax(0, 1fr) !important;
  grid-template-rows: 20px 14px !important;
  padding: 4px 6px !important;
  border-radius: 9px !important;
}
.game-command-header .command-wallet .persistent-wallet-button img { width: 22px !important; height: 22px !important; }
.game-command-header .command-wallet .persistent-wallet-button strong { font-size: .68rem !important; }
.game-command-header .command-wallet .persistent-wallet-button small { font-size: .43rem !important; }

.game-command-header .command-main-nav {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  grid-template-rows: 42px !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 3px !important;
  transform: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap;
}
.game-command-header .command-main-nav .map-icon-button,
.game-command-header .command-main-nav .map-icon-button.wide-map-icon,
.game-command-header .command-main-nav .map-icon-button.gps-center-icon {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  grid-template-rows: 20px 10px !important;
  padding: 2px !important;
  border-radius: 7px !important;
}
.game-command-header .command-main-nav .map-icon-glyph { font-size: .86rem !important; }
.game-command-header .command-main-nav small { font-size: .43rem !important; }

@media (max-width: 760px) {
  .game-command-header {
    top: max(5px, env(safe-area-inset-top)) !important;
    right: 5px !important;
    left: 5px !important;
    height: 56px !important;
    min-height: 56px !important;
    grid-template-columns: minmax(220px, 2fr) minmax(96px, 1fr) !important;
    grid-template-rows: 46px !important;
    gap: 3px !important;
    padding: 4px !important;
  }
  .game-command-header .game-status-row {
    height: 46px !important;
    grid-template-columns: minmax(68px, 78px) minmax(108px, 1fr) 38px !important;
    gap: 2px !important;
  }
  .game-command-header .game-brand-chip,
  .game-command-header .game-hud,
  .game-command-header .command-wallet,
  .game-command-header .command-wallet .persistent-wallet-button,
  .game-command-header .command-main-nav { height: 46px !important; min-height: 46px !important; }
  .game-command-header .game-app-mark { display: none !important; }
  .game-command-header .active-player-identity { grid-template-columns: 27px minmax(0, 1fr) !important; gap: 3px !important; }
  .game-command-header .active-player-face { width: 27px !important; height: 27px !important; min-width: 27px !important; font-size: 15px !important; }
  .game-command-header .player-identity-copy small,
  .game-command-header .player-identity-copy em { display: none !important; }
  .game-command-header .player-identity-copy strong { display: block !important; max-width: none !important; font-size: .58rem !important; }
  .game-command-header .game-hud { gap: 1px !important; }
  .game-command-header .game-hud article {
    height: 46px !important;
    min-height: 46px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 18px 18px !important;
    place-items: center !important;
    padding: 3px 1px !important;
  }
  .game-command-header .game-hud article > span { grid-row: 1 !important; font-size: .7rem !important; }
  .game-command-header .game-hud article > small,
  .game-command-header .game-hud article > strong b { display: none !important; }
  .game-command-header .game-hud article > strong { font-size: .53rem !important; }
  .game-command-header .game-hud article > i { left: 3px !important; right: 3px !important; bottom: 2px !important; }
  .game-command-header .command-wallet .persistent-wallet-button {
    display: grid !important;
    place-items: center !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
    padding: 2px !important;
  }
  .game-command-header .command-wallet .persistent-wallet-button img { grid-row: 1 !important; width: 21px !important; height: 21px !important; }
  .game-command-header .command-wallet .persistent-wallet-button strong,
  .game-command-header .command-wallet .persistent-wallet-button small { display: none !important; }
  .game-command-header .command-main-nav {
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 31px !important;
    grid-template-rows: 40px !important;
    justify-content: start !important;
    scrollbar-width: none;
  }
  .game-command-header .command-main-nav::-webkit-scrollbar { display: none; }
  .game-command-header .command-main-nav .map-icon-button {
    width: 31px !important;
    min-width: 31px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    grid-template-rows: 1fr !important;
  }
  .game-command-header .command-main-nav .map-icon-glyph { font-size: .78rem !important; }
  .game-command-header .command-main-nav small { display: none !important; }
  .game-screen .bag-inventory,
  .game-screen .auction-sales-panel {
    top: 70px !important;
    height: calc(100dvh - 78px) !important;
  }
}
.trade-storage-workspace {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 8px;
  padding: 8px;
  overflow: hidden;
}

/* 020-90: barra superior completa, acessível e sem funções ocultas. */
.game-command-header {
  min-width: 0 !important;
  overflow: visible !important;
}
.game-command-header .game-status-row,
.game-command-header .command-main-nav {
  min-width: 0 !important;
}
.game-command-header .command-main-nav {
  position: relative !important;
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(121, 212, 223, .9) rgba(5, 25, 41, .45);
  scroll-snap-type: x proximity;
  background-image: linear-gradient(90deg, transparent calc(100% - 20px), rgba(121, 212, 223, .25)) !important;
}
.game-command-header .command-main-nav::-webkit-scrollbar { display: block; height: 4px; }
.game-command-header .command-main-nav::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(121, 212, 223, .9); }
.game-command-header .command-main-nav .map-icon-button,
.game-command-header .command-main-nav .map-icon-button.wide-map-icon,
.game-command-header .command-main-nav .map-icon-button.gps-center-icon {
  position: relative !important;
  flex: 1 0 44px !important;
  width: auto !important;
  min-width: 44px !important;
  max-width: 74px !important;
  min-height: 42px !important;
  scroll-snap-align: start;
  overflow: visible !important;
  color: #f4fbff !important;
}
.game-command-header .command-main-nav .map-icon-glyph {
  color: #ffffff !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .65));
}
.game-command-header .command-main-nav .social-unread-badge {
  top: 1px !important;
  right: 1px !important;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  font-size: .58rem;
  line-height: 1;
  pointer-events: none;
}
.social-message-notice {
  position: fixed !important;
  top: max(82px, calc(env(safe-area-inset-top) + 70px)) !important;
  right: 16px !important;
  left: auto !important;
  z-index: 705 !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100dvh - 100px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
@media (max-width: 760px) {
  .game-command-header {
    grid-template-columns: minmax(210px, 2fr) minmax(128px, 1fr) !important;
  }
  .game-command-header .game-status-row {
    grid-template-columns: minmax(66px, 76px) minmax(104px, 1fr) 38px !important;
  }
  .game-command-header .command-main-nav {
    grid-auto-flow: initial !important;
    grid-auto-columns: initial !important;
    padding-bottom: 5px !important;
  }
  .game-command-header .command-main-nav .map-icon-button,
  .game-command-header .command-main-nav .map-icon-button.wide-map-icon,
  .game-command-header .command-main-nav .map-icon-button.gps-center-icon {
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 42px !important;
    min-height: 42px !important;
    grid-template-rows: 20px 10px !important;
  }
  .game-command-header .command-main-nav small {
    display: block !important;
    max-width: 46px;
    overflow: hidden;
    font-size: .39rem !important;
    line-height: 1 !important;
    text-overflow: ellipsis;
  }
  .social-message-notice {
    top: max(68px, calc(env(safe-area-inset-top) + 62px)) !important;
    right: 6px !important;
    width: min(300px, calc(100vw - 12px)) !important;
    max-width: calc(100vw - 12px) !important;
  }
}
.trade-storage-workspace .trade-storage-capacity,
.trade-storage-workspace .trade-storage-wallet {
  margin: 0;
}
.trade-storage-workspace .trade-storage-wallet {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px auto;
  grid-template-areas:
    "wallet-heading wallet-heading wallet-heading"
    "wallet-label wallet-input wallet-actions";
  align-items: end;
  gap: 7px;
  padding: 9px 10px;
}
.trade-storage-workspace .trade-storage-wallet > header { grid-area: wallet-heading; }
.trade-storage-workspace .trade-storage-wallet > label {
  grid-area: wallet-label;
  display: contents;
}
.trade-storage-workspace .trade-storage-wallet > label > input {
  grid-area: wallet-input;
  width: 100%;
  min-width: 0;
  height: 38px;
}
.trade-storage-workspace .trade-storage-wallet > div {
  grid-area: wallet-actions;
  display: flex;
  gap: 5px;
}
.trade-storage-workspace .trade-storage-wallet button { min-height: 38px; }
.trade-storage-items {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(129, 186, 211, .28);
  border-radius: 9px;
  background: rgba(8, 29, 42, .85);
}
.trade-storage-items > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 10px;
  border-bottom: 1px solid rgba(129, 186, 211, .22);
}
.trade-storage-items .sales-trade-help { padding: 7px 10px 0; }
.trade-storage-items .sales-category-items {
  min-height: 0;
  padding: 8px 10px 12px;
  overflow: auto;
}
.trade-storage-empty {
  display: grid;
  min-height: 90px;
  place-items: center;
  padding: 14px;
  color: #b8ced9;
  text-align: center;
}

@media (max-width: 560px) {
  .trade-storage-workspace .trade-storage-wallet {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "wallet-heading"
      "wallet-input"
      "wallet-actions";
  }
  .trade-storage-workspace .trade-storage-wallet > label { display: none; }
  .trade-storage-workspace .trade-storage-wallet > div button { flex: 1 1 0; }
}

/* 017-167: aba interior esquerda da mochila ajustavel pelo jogador. */
.bag-inventory .bag-window-body {
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: var(--bag-sidebar-width, 280px) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.bag-sidebar {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-right: 1px solid rgba(148, 190, 214, .28);
  background: rgba(5, 25, 41, .55);
}
.bag-sidebar .backpack-capacity-summary {
  width: auto;
  min-width: 0;
  margin: 10px 10px 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.bag-sidebar .backpack-capacity-summary span { min-width: 0; }
.bag-sidebar .backpack-capacity-summary strong,
.bag-sidebar .backpack-capacity-summary small {
  overflow: hidden;
  text-overflow: ellipsis;
}
.bag-sidebar .bag-tabs {
  min-width: 0;
  min-height: 0;
  padding: 8px 12px 14px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border-right: 0 !important;
}
.bag-sidebar .bag-tabs button {
  min-width: 0 !important;
  overflow: hidden;
}
.bag-sidebar .bag-tabs button:not(.active) {
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bag-window-body > .bag-simple-content {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  min-height: 0;
  padding: 14px !important;
  overflow: auto !important;
}
.bag-window-body > .bag-simple-content .bag-item-open {
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start;
  gap: 6px;
}
.bag-window-body > .bag-simple-content .bag-item-open small { text-align: left !important; }
.bag-sidebar-resizer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 35;
  width: 22px;
  cursor: ew-resize;
  touch-action: none;
  user-select: none;
  outline: 0;
}
.bag-sidebar-resizer::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 9px;
  bottom: 16px;
  width: 2px;
  border-radius: 999px;
  background: rgba(101, 233, 104, .52);
  box-shadow: 0 0 10px rgba(101, 233, 104, .22);
}
.bag-sidebar-resizer:hover::before,
.bag-sidebar-resizer:focus-visible::before {
  width: 4px;
  background: rgba(101, 233, 104, .95);
}

@media (max-width: 860px) {
  .bag-inventory .bag-window-body {
    grid-template-columns: var(--bag-sidebar-width, 180px) minmax(0, 1fr) !important;
  }
  .bag-sidebar .backpack-capacity-summary {
    margin: 7px 7px 3px;
    padding: 6px;
    gap: 5px;
  }
  .bag-sidebar .backpack-capacity-summary span { padding: 5px; }
  .bag-sidebar .bag-tabs { padding: 6px 8px 10px !important; }
}

/* 017-170: armazem unico visivel na mochila e identificacao visual dos PECs. */
.bag-item-visuals {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.bag-item-company-logo,
.pec-animal-identity {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  overflow: hidden;
  border: 1px solid rgba(132, 205, 221, .45);
  border-radius: 10px;
  background: rgba(4, 25, 41, .78);
}
.bag-item-company-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.pec-animal-identity {
  width: auto;
  min-width: 68px;
  padding: 3px 7px;
  gap: 5px;
  overflow: visible;
  border-color: rgba(101, 233, 104, .48);
}
.pec-animal-identity i {
  font-style: normal;
  font-size: 22px;
  line-height: 1;
}
.pec-animal-identity small {
  color: #dff7e1 !important;
  font-size: 10px;
}
.pec-animal-identity img {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  object-fit: contain;
}
.pec-identifier-fallback {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 7px;
  color: #111;
  font-size: 9px;
  font-weight: 800;
  background: #fff;
}
.warehouse-pec-hero {
  grid-template-columns: minmax(100px, 160px) 64px minmax(86px, auto) minmax(0, 1fr);
}
.warehouse-pec-identifier .pec-animal-identity { max-width: 150px; }
@media (max-width: 720px) {
  .warehouse-pec-hero { grid-template-columns: 90px 52px minmax(72px, auto) minmax(0, 1fr); }
  .warehouse-pec-identifier .pec-animal-identity { min-width: 56px; padding: 3px 5px; }
  .warehouse-pec-identifier .pec-animal-identity small { max-width: 70px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
.bingo-prize-identities {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-bottom: 8px;
}
.bingo-trophy-identity {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  height: 38px;
  padding: 3px 8px;
  gap: 5px;
  border: 1px solid rgba(255, 205, 86, .7);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(86, 58, 8, .9), rgba(30, 40, 46, .92));
  color: #fff4bd;
}
.bingo-trophy-identity i {
  font-style: normal;
  font-size: 23px;
  line-height: 1;
}
.bingo-trophy-identity small {
  color: #fff4bd !important;
  font-size: 10px;
}

/* 017-172: confirmacao de troca sempre visivel e Bingos com logotipo e taca. */
.trade-item-visuals {
  display: flex !important;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;
}
.sales-category-items article > button:first-child .trade-item-visuals {
  justify-content: flex-start;
}
.social-offer-item .trade-item-visuals {
  justify-content: center;
}
.social-trade-side-header {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 2px;
  background: #0b2639;
}
.social-trade-side-header span {
  color: #c7dae4;
  font-size: .68rem;
}
.social-trade-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
}
.social-trade-actions button {
  min-height: 40px;
  white-space: normal;
}
.social-trade-actions-primary {
  position: sticky;
  top: 38px;
  z-index: 5;
  background: #0b2639;
}
.social-bilateral-trade .social-trade-side {
  min-height: 0;
  overflow: auto;
}
.trade-storage-wallet[data-game-wallet="true"] {
  display: grid !important;
  grid-template-areas: none !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
.trade-storage-wallet[data-game-wallet="true"] > header,
.trade-storage-wallet[data-game-wallet="true"] > .wallet-hud-button,
.trade-storage-wallet[data-game-wallet="true"] > p,
.trade-storage-wallet[data-game-wallet="true"] > .bag-wallet-lot,
.trade-storage-wallet[data-game-wallet="true"] > .bag-wallet-empty-lots {
  grid-area: auto !important;
}
.trade-storage-wallet[data-game-wallet="true"] > .wallet-hud-button {
  width: 100%;
  min-height: 48px;
}
.trade-storage-wallet[data-game-wallet="true"] > p {
  margin: 0;
  color: #c8dce5;
  font-size: 12px;
  line-height: 1.45;
}
.social-trade-completed {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid rgba(101, 233, 104, .55);
  border-radius: 9px;
  background: rgba(20, 78, 48, .9);
  color: #effff1;
}
.social-roster-resizer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  width: 22px;
  cursor: ew-resize;
  touch-action: none;
  user-select: none;
  outline: 0;
}
.social-roster-resizer::before {
  content: "";
  position: absolute;
  top: 14px;
  right: 9px;
  bottom: 14px;
  width: 2px;
  border-radius: 999px;
  background: rgba(101, 233, 104, .62);
  box-shadow: 0 0 10px rgba(101, 233, 104, .25);
}
.social-roster-resizer:hover::before,
.social-roster-resizer:focus-visible::before {
  width: 4px;
  background: rgba(101, 233, 104, .98);
}

@media (max-width: 700px) {
}

/* 017-173: uma caixa de troca, porta-moedas compacto e detalhes livres. */
.trade-storage-quickbar {
  position: sticky;
  top: 0;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "heading buttons"
    "help lots";
  align-items: center;
  gap: 6px 10px;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid rgba(129, 186, 211, .34);
  border-radius: 9px;
  background: rgba(7, 29, 43, .97);
  box-shadow: 0 8px 20px rgba(0, 6, 12, .28);
}
.trade-storage-quickbar > header {
  grid-area: heading;
  display: grid;
  gap: 1px;
  min-width: 0;
}
.trade-storage-quickbar > header strong { color: #f5fbff; font-size: .82rem; }
.trade-storage-quickbar > header span { color: #a9c2cf; font-size: .65rem; }
.trade-storage-quickbar > p {
  grid-area: help;
  margin: 0;
  color: #b7ccd6;
  font-size: .68rem;
  line-height: 1.3;
}
.trade-quick-buttons {
  grid-area: buttons;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.trade-wallet-button,
.trade-energy-button {
  width: 1.5cm !important;
  min-width: 1.5cm !important;
  max-width: 1.5cm !important;
  height: 1cm !important;
  min-height: 1cm !important;
  max-height: 1cm !important;
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  place-items: center;
  gap: 2px;
  overflow: hidden;
  padding: 2px 3px !important;
  border: 1px solid rgba(247, 206, 91, .62) !important;
  border-radius: 7px !important;
  color: #fff3b5 !important;
  background: linear-gradient(145deg, rgba(86, 61, 12, .95), rgba(36, 36, 29, .95)) !important;
  box-shadow: none !important;
}
.trade-wallet-button img { width: 20px; height: 16px; object-fit: contain; }
.trade-wallet-button strong,
.trade-energy-button strong {
  min-width: 0;
  overflow: hidden;
  font-size: .62rem;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trade-energy-button {
  border-color: rgba(255, 230, 93, .7) !important;
  color: #fff9b9 !important;
}
.trade-energy-button > span { font-size: 17px; line-height: 1; }
.trade-energy-button small { display: none; }
.trade-storage-quickbar > .bag-wallet-lot,
.trade-storage-quickbar > .bag-wallet-empty-lots {
  grid-area: lots;
  margin: 0;
}
.social-trade-unified-offer {
  display: block !important;
  min-height: 170px !important;
  padding: 8px !important;
}
.social-trade-unified-offer > span {
  min-height: 150px;
  display: grid;
  place-items: center;
  text-align: center;
}
.social-trade-value-row { min-width: 0; }
.social-trade-value {
  min-height: 58px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 1px 7px;
}
.social-trade-value > span {
  grid-row: 1 / -1;
  font-size: 24px;
}
.social-trade-value > strong,
.social-trade-value > small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trade-inspection-window {
  position: fixed !important;
  inset: auto;
  z-index: 1550;
  box-sizing: border-box;
  min-width: min(5cm, calc(100vw - 16px)) !important;
  min-height: min(5cm, calc(100dvh - 104px)) !important;
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100dvh - 104px) !important;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(112, 157, 184, .78);
  border-radius: 14px;
  color: #edf8fd;
  background: linear-gradient(145deg, rgba(25, 67, 90, .99), rgba(6, 27, 43, .99));
  box-shadow: 0 24px 65px rgba(0, 5, 12, .65);
}
.trade-inspection-window > header {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  cursor: move;
  touch-action: none;
  border-bottom: 1px solid rgba(148, 190, 214, .34);
  background: linear-gradient(90deg, #245575, #12344f);
}
.trade-inspection-window > header > div { display: grid; min-width: 0; }
.trade-inspection-window > header strong,
.trade-inspection-window > header small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trade-inspection-window > header small { color: #a9c4d1; font-size: .65rem; }
.trade-inspection-visual {
  display: flex;
  justify-content: center;
  padding: 11px;
  border-bottom: 1px solid rgba(148, 190, 214, .22);
  background: rgba(5, 24, 38, .48);
}
.trade-inspection-window dl {
  min-height: 0;
  overflow: auto;
  display: grid;
  grid-template-columns: minmax(90px, .7fr) minmax(0, 1.3fr);
  align-content: start;
  gap: 1px;
  margin: 0;
  padding: 9px 11px 36px;
}
.trade-inspection-window dl > div { display: contents; }
.trade-inspection-window dt,
.trade-inspection-window dd {
  min-width: 0;
  margin: 0;
  padding: 7px;
  border-bottom: 1px solid rgba(148, 190, 214, .15);
  overflow-wrap: anywhere;
}
.trade-inspection-window dt { color: #a9c2cf; font-size: .68rem; }
.trade-inspection-window dd { color: #f1f9fc; font-size: .76rem; }

/* 020-70 / correcao 073: destaque canonico do premio Bingo. */
.bingo-prize-hero {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(82px, 112px) minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 14px;
  overflow: hidden;
  border: 2px solid #d9ad45;
  border-radius: 14px;
  color: #fff8df;
  background: linear-gradient(135deg, rgba(104, 69, 12, .94), rgba(31, 45, 58, .98));
  box-shadow: inset 0 0 28px rgba(255, 211, 91, .11), 0 8px 24px rgba(0, 0, 0, .28);
}
.bingo-prize-hero-media {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 225, 145, .64);
  border-radius: 12px;
  background: rgba(255, 255, 255, .09);
}
.bingo-prize-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.bingo-prize-hero-fallback { font-size: clamp(2.6rem, 8vw, 4.7rem); line-height: 1; }
.bingo-prize-hero-copy { min-width: 0; display: grid; gap: 4px; overflow-wrap: anywhere; }
.bingo-prize-hero-copy strong { color: #ffe08a; font-size: clamp(.94rem, 2.2vw, 1.18rem); letter-spacing: .055em; }
.bingo-prize-hero-copy small { color: #ffefbc; font-weight: 800; letter-spacing: .16em; }
.bingo-prize-hero-copy b { color: #fff; font-size: clamp(1.2rem, 3.1vw, 1.72rem); line-height: 1.15; }
.bingo-prize-hero-copy em { color: #f6dfaa; font-style: normal; font-weight: 650; }

.trade-inspection-window > .bingo-prize-hero { border-radius: 0; border-width: 0 0 2px; }
.bingo-qr-detail {
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(430px, calc(100vw - 32px));
  min-width: min(380px, calc(100vw - 32px));
  max-width: min(460px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  opacity: 1;
  background: #0a2a42 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .78) !important;
}
.bingo-qr-detail > .bingo-qr-detail-header {
  position: relative;
  z-index: 2;
  min-width: 0;
  margin: 0;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(224, 184, 79, .58);
  background: linear-gradient(145deg, rgba(88, 64, 13, .98), rgba(21, 47, 59, .99));
}
.bingo-qr-detail-header > div { min-width: 0; }
.bingo-qr-detail-header strong,
.bingo-qr-detail-header b,
.bingo-qr-detail-header span { display: block; overflow-wrap: anywhere; word-break: break-word; }
.bingo-qr-detail-header b { color: #fff; font-size: clamp(.95rem, 2.5vw, 1.24rem); }
.bingo-qr-detail-header span { color: #dfffe4; font-weight: 850; }
.bingo-qr-detail-header > button { flex: 0 0 auto; align-self: flex-start; }
.bingo-qr-detail-scroll {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 14px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  touch-action: pan-y;
}
.bingo-qr-detail-scroll > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
.bingo-qr-detail-scroll .bingo-prize-hero { flex: 0 0 auto; }
.bingo-active-qr { display: grid; gap: 10px; padding: 12px; border-radius: 12px; background: rgba(5, 24, 37, .68); }
.bingo-active-qr h3 { margin: 0; color: #ffe08a; }
.bingo-active-qr > strong { overflow-wrap: anywhere; }
.bingo-active-qr .qr-card,
.bingo-active-qr canvas,
.bingo-active-qr img { position: static; display: block; width: min(320px, 100%); max-width: 100%; height: auto; margin-inline: auto; object-fit: contain; }
.bingo-qr-facts { display: grid !important; gap: 8px !important; }
.bingo-qr-facts > div { grid-template-columns: 1fr !important; gap: 5px !important; padding: 12px !important; border: 1px solid rgba(119, 176, 191, .24) !important; border-radius: 9px; background: rgba(5, 24, 37, .62); }
.bingo-qr-facts dt { color: #a9c9d2; font-size: .78rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.bingo-qr-facts dd { color: #fff; font-weight: 750; overflow-wrap: anywhere; word-break: break-word; }
.bingo-qr-detail > .bag-item-detail-actions { position: relative; z-index: 2; margin: 0; padding: 10px 14px; border-top: 1px solid rgba(119, 176, 191, .35); background: rgba(7, 25, 38, .99); }
.bingo-notification-detail { display: grid; grid-template-rows: auto auto minmax(0, auto) auto; overflow: hidden; }
.bingo-notification-detail > header { position: relative; z-index: 1; }
.bingo-notification-detail > .bingo-prize-hero { margin: 12px; }
.bingo-notification-detail > p { min-height: 0; margin: 0 12px; overflow-y: auto; overflow-x: hidden; }
.bingo-celebration-inline .bingo-prize-hero { position: relative; z-index: 2; width: min(560px, calc(100% - 24px)); }

@media (max-width: 520px) {
  .bingo-prize-hero { grid-template-columns: 72px minmax(0, 1fr); gap: 10px; padding: 10px; }
  .bingo-prize-hero-copy b { font-size: 1.08rem; }
  .bingo-prize-hero-copy strong { font-size: .82rem; }
}

@media (max-width: 620px) {
  .bingo-qr-detail { min-width: 0 !important; max-width: calc(100vw - 32px) !important; max-height: calc(100dvh - 32px) !important; }
  .bingo-qr-detail-scroll { padding: 10px; scrollbar-gutter: auto; }
  .bingo-qr-detail > .bingo-qr-detail-header { padding: 10px; }
  .bingo-qr-detail > .bag-item-detail-actions { padding: 8px 10px; }
}

@media (max-width: 560px) {
  .trade-storage-quickbar {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "heading buttons"
      "help help"
      "lots lots";
  }
  .trade-storage-quickbar > p { font-size: .62rem; }
}

/* 017-174: o interior do porta-moedas acompanha a janela exterior ate 5 x 5 cm. */
.game-screen .bag-detail-window.simple-wallet-window {
  container-type: size;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto minmax(50px, .72fr) minmax(84px, 1.28fr) !important;
  gap: 4px !important;
  padding: 0 8px 8px !important;
  overflow: hidden !important;
}
.game-screen .simple-wallet-window > header {
  min-height: 32px !important;
  margin: 0 -8px !important;
  padding: 4px 7px !important;
}
.game-screen .simple-wallet-window > header strong {
  font-size: clamp(.7rem, 5cqw, 1rem) !important;
}
.game-screen .simple-wallet-window .simple-wallet-close {
  width: clamp(24px, 13cqw, 34px) !important;
  height: clamp(24px, 13cqw, 34px) !important;
  min-width: 24px !important;
  min-height: 24px !important;
  font-size: clamp(.72rem, 5cqw, 1rem) !important;
}
.game-screen .simple-wallet-window .simple-wallet-piles {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  gap: clamp(2px, 2cqw, 8px) !important;
  overflow: hidden !important;
}
.game-screen .simple-wallet-window .simple-coin-pile {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  gap: 0 !important;
  padding: clamp(2px, 2cqw, 8px) !important;
  overflow: hidden !important;
}
.game-screen .simple-wallet-window .simple-coin-pile img {
  width: clamp(24px, 18cqw, 58px) !important;
  height: clamp(18px, 14cqh, 44px) !important;
}
.game-screen .simple-wallet-window .simple-coin-pile strong {
  font-size: clamp(.85rem, 8cqw, 1.625rem) !important;
  line-height: 1 !important;
}
.game-screen .simple-wallet-window .simple-coin-pile span {
  font-size: clamp(.55rem, 4.5cqw, .85rem) !important;
  line-height: 1 !important;
  text-align: center;
}
.game-screen .simple-wallet-window .simple-wallet-split {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  align-content: space-between !important;
  gap: clamp(1px, 1cqh, 6px) !important;
  margin: 0 !important;
  padding: clamp(3px, 2cqw, 9px) !important;
  overflow: hidden !important;
}
.game-screen .simple-wallet-window .simple-wallet-split label {
  min-width: 0 !important;
  gap: 2px !important;
  font-size: clamp(.55rem, 4cqw, .82rem) !important;
  line-height: 1.05 !important;
}
.game-screen .simple-wallet-window .simple-wallet-split input {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 24px !important;
  height: clamp(24px, 10cqh, 38px) !important;
  padding: 2px 5px !important;
  font-size: clamp(.75rem, 6cqw, 1.25rem) !important;
}
.game-screen .simple-wallet-window .bag-wallet-rest {
  font-size: clamp(.55rem, 4cqw, .78rem) !important;
  line-height: 1 !important;
}
.game-screen .simple-wallet-window .simple-wallet-split button {
  min-height: 24px !important;
  height: clamp(24px, 10cqh, 36px) !important;
  padding: 2px 6px !important;
  font-size: clamp(.65rem, 4.5cqw, .9rem) !important;
}
@container (max-width: 260px) {
  .game-screen .simple-wallet-window .bag-wallet-warning { display: none !important; }
}
@container (max-height: 330px) {
  .game-screen .simple-wallet-window .bag-wallet-warning { display: none !important; }
}

/* 017-175: durante a troca{
  min-width: 302px !important;
  min-height: 302px !important;
  container-type: size;
}

@container (max-width: 820px) {
}

@container (max-width: 520px) {
}

/* 017-175: propostas visiveis como lista numerada, sem a caixa branca antiga. */
.social-bilateral-trade .social-offer-items {
  width: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px !important;
}
.social-bilateral-trade .social-offer-line,
.social-bilateral-trade .social-trade-value-row {
  min-width: 0 !important;
  min-height: 52px !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 30px !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px !important;
  border: 1px solid rgba(148, 190, 214, .26) !important;
  border-radius: 7px !important;
  background: rgba(20, 59, 78, .78) !important;
}
.social-bilateral-trade .social-trade-value-row {
  grid-template-columns: 22px minmax(0, 1fr) 30px !important;
}
.social-offer-line-number {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #082410;
  font-size: .66rem;
  font-weight: 900;
  background: #65e968;
}
.social-bilateral-trade .social-offer-line .social-offer-item {
  min-width: 0 !important;
  min-height: 44px !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 3px !important;
  text-align: left !important;
  border: 0 !important;
  background: transparent !important;
}
.social-bilateral-trade .social-offer-line .trade-item-visuals {
  margin: 0 !important;
  overflow: hidden;
}
.social-bilateral-trade .social-offer-line .pec-animal-identity,
.social-bilateral-trade .social-offer-line .bingo-trophy-identity {
  display: none !important;
}
.social-offer-line-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.social-offer-line-copy strong,
.social-offer-line-copy small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.social-offer-line-copy small { color: #b7ced8; font-size: .62rem; }
.social-bilateral-trade .social-trade-side > .social-offer-summary {
  min-height: 76px !important;
  max-height: 190px !important;
  display: block !important;
  margin: 4px 0 0 !important;
  padding: 5px 7px !important;
  overflow: auto !important;
  border: 1px solid rgba(148, 190, 214, .24) !important;
  border-radius: 6px !important;
  color: #b8ced8 !important;
  font-size: .64rem !important;
  background: rgba(5, 25, 39, .48) !important;
}
.social-bilateral-trade .social-trade-side > .social-trade-offer {
  min-height: 62px !important;
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  padding: 8px !important;
}
.social-bilateral-trade .social-trade-side > .social-trade-offer > small {
  color: #afc6d1;
  font-size: .64rem;
}
.social-offer-empty {
  display: block;
  padding: 9px 5px;
  color: #a9bec8;
  text-align: center;
}
.social-bilateral-trade .social-trade-unified-offer,
.social-bilateral-trade .social-trade-side > .social-trade-offer {
  align-content: start !important;
  overflow: auto !important;
  background: rgba(10, 38, 55, .64) !important;
}
.trade-storage-item-row {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 58px !important;
  display: grid !important;
  grid-template-columns: 18px 48px minmax(0, 1fr) 54px 52px !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(148, 190, 214, .3) !important;
  border-radius: 8px !important;
  background: rgba(19, 55, 75, .82) !important;
  cursor: grab;
}
.trade-storage-item-row:hover,
.trade-storage-item-row.dragging {
  border-color: rgba(101, 233, 104, .78) !important;
  background: rgba(30, 78, 91, .92) !important;
}
.trade-storage-item-row:active { cursor: grabbing; }
.trade-storage-row-grip {
  color: #8fb0c0;
  font-size: 1rem;
  letter-spacing: -6px;
}
.trade-storage-row-visual {
  width: 48px;
  overflow: hidden;
}
.trade-storage-row-visual .trade-item-visuals {
  margin: 0 !important;
  gap: 2px !important;
}
.trade-storage-row-visual .bag-item-company-logo {
  width: 36px !important;
  height: 36px !important;
  flex-basis: 36px !important;
}
.trade-storage-row-visual .pec-animal-identity,
.trade-storage-row-visual .bingo-trophy-identity {
  display: none !important;
}
.trade-storage-row-detail {
  min-width: 0 !important;
  display: grid !important;
  justify-items: start !important;
  gap: 2px !important;
  padding: 4px !important;
  border: 0 !important;
  color: #f4fbff !important;
  text-align: left !important;
  background: transparent !important;
}
.trade-storage-row-detail strong,
.trade-storage-row-detail small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trade-storage-row-detail small { color: #aec7d3; font-size: .64rem; }
.trade-storage-item-row > label {
  display: grid !important;
  gap: 2px;
  color: #b9ced8;
  font-size: .6rem;
}
.trade-storage-item-row > label input {
  width: 52px !important;
  min-width: 0 !important;
  height: 30px !important;
  padding: 3px !important;
}
.trade-storage-row-drag {
  color: #9fe7a9;
  font-size: .64rem;
  font-weight: 750;
  text-align: center;
}

.direct-trade-receipt-window {
  position: fixed !important;
  inset: auto !important;
  min-width: min(5cm, calc(100vw - 16px)) !important;
  min-height: min(5cm, calc(100dvh - 104px)) !important;
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100dvh - 104px) !important;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(101, 233, 104, .66);
  border-radius: 15px;
  color: #eef9fd;
  background: linear-gradient(145deg, rgba(24, 66, 87, .99), rgba(6, 27, 43, .99));
  box-shadow: 0 28px 78px rgba(0, 5, 12, .72);
}
.direct-trade-receipt-window > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 11px;
  cursor: move;
  touch-action: none;
  border-bottom: 1px solid rgba(148, 190, 214, .3);
  background: linear-gradient(90deg, #286445, #123b4e);
}
.direct-trade-receipt-window > header > div { display: grid; min-width: 0; }
.direct-trade-receipt-window > header small { color: #b7d9c0; font-size: .65rem; }
/* 017-178: todas as transacoes pendentes ficam visiveis e guardadas individualmente. */
.trade-receipt-list {
  min-width: 0;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 10px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.trade-receipt-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto minmax(90px, auto) auto;
  overflow: hidden;
  border: 1px solid rgba(148, 190, 214, .34);
  border-radius: 11px;
  background: rgba(5, 24, 38, .7);
}
.trade-receipt-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(148, 190, 214, .26);
  background: linear-gradient(90deg, rgba(31, 90, 65, .92), rgba(17, 55, 74, .92));
}
.trade-receipt-card > header span {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.trade-receipt-card > header small {
  color: #bde6c5;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .08em;
}
.trade-receipt-card > header strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trade-receipt-card > header em {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  color: #2c2000;
  font-size: .6rem;
  font-style: normal;
  font-weight: 850;
  background: #ffd95e;
}
.trade-receipt-summary {
  display: grid;
  gap: 5px;
  padding: 10px;
  border-bottom: 1px solid rgba(148, 190, 214, .22);
  background: rgba(8, 31, 45, .56);
}
.trade-receipt-summary > span { color: #b9d0da; font-size: .72rem; }
.trade-receipt-summary dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin: 3px 0 0;
}
.trade-receipt-summary dl div {
  display: grid;
  gap: 2px;
  padding: 6px;
  border-radius: 7px;
  background: rgba(28, 74, 91, .72);
}
.trade-receipt-summary dt { color: #b6ccd6; font-size: .6rem; }
.trade-receipt-summary dd { margin: 0; font-weight: 800; }
.trade-receipt-items {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 8px;
  overflow: auto;
}
.trade-receipt-item > button {
  width: 100%;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 8px;
  color: #f4fbff;
  text-align: left;
  border: 1px solid rgba(148, 190, 214, .3);
  border-radius: 9px;
  background: rgba(24, 66, 87, .82);
}
.trade-receipt-item > button > span:last-child { display: grid; gap: 2px; min-width: 0; }
.trade-receipt-item small { color: #b7ced8; }
.direct-trade-receipt-window > footer {
  display: grid;
  gap: 4px;
  padding: 9px;
  border-top: 1px solid rgba(148, 190, 214, .28);
  background: rgba(7, 28, 42, .94);
}
.direct-trade-receipt-window > footer button {
  min-height: 42px;
  color: #082410;
  font-weight: 850;
  background: #65e968;
}
.direct-trade-receipt-window > footer small {
  color: #b7cbd4;
  text-align: center;
}
.trade-receipt-card > footer {
  display: grid;
  gap: 4px;
  padding: 9px;
  border-top: 1px solid rgba(148, 190, 214, .28);
  background: rgba(7, 28, 42, .94);
}
.trade-receipt-card > footer button {
  min-height: 42px;
  color: #082410;
  font-weight: 850;
  background: #65e968;
}
.trade-receipt-card > footer small {
  color: #b7cbd4;
  text-align: center;
}

@container (max-width: 820px) {
}
@container (max-width: 520px) {
  .trade-storage-item-row {
    grid-template-columns: 16px 40px minmax(0, 1fr) !important;
  }
  .trade-storage-item-row > label,
  .trade-storage-row-drag {
    grid-column: 3;
  }
}

@container (max-height: 330px) {
}

@container (max-width: 280px) {
}

/* Dialogo de troca: propostas laterais{
  width: 100% !important;
  min-width: 900px !important;
  height: 100% !important;
  min-height: 430px !important;
  display: grid !important;
  grid-template-columns: minmax(220px, .9fr) minmax(380px, 1.6fr) minmax(220px, .9fr) !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "own chat remote"
    "status status status" !important;
  gap: 8px !important;
  padding: 8px !important;
  overflow: hidden !important;
}
.social-trade-side-title {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.social-trade-side-title strong,
.social-trade-side-title small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.social-trade-side-title small {
  color: #b9ced8;
  font-size: .62rem;
}
.social-trade-remote-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  min-height: 30px;
  padding: 4px 7px;
  border: 1px solid rgba(148, 190, 214, .35);
  border-radius: 7px;
  color: #c3d5de;
  font-size: .66rem;
  font-weight: 800;
  background: rgba(33, 63, 78, .82);
}
.social-trade-remote-state.is-accepted {
  border-color: rgba(101, 233, 104, .6);
  color: #dcffe1;
  background: rgba(28, 92, 55, .82);
}
.social-trade-header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.social-trade-header-actions button {
  width: auto !important;
  min-width: 104px;
  min-height: 36px !important;
  padding: 5px 9px !important;
  font-size: .7rem !important;
  white-space: nowrap;
}
.social-trade-side-title.is-own-player small { color: #91f294 !important; }
.social-trade-side-title.is-remote-player small { color: #8dceff !important; }

@media (max-width: 720px) {
}
.trade-storage-row-add {
  width: 70px !important;
  min-width: 70px !important;
  min-height: 32px !important;
  padding: 4px 7px !important;
  border: 1px solid rgba(101, 233, 104, .72) !important;
  border-radius: 7px !important;
  color: #effff2 !important;
  background: rgba(32, 118, 65, .88) !important;
  font-size: .64rem !important;
  font-weight: 850 !important;
}
.trade-storage-row-add:hover,
.trade-storage-row-add:focus-visible {
  background: rgba(47, 152, 77, .98) !important;
}
@container (max-width: 360px) {
}

/* 017-181: ranking real, legivel e atualizavel dentro da janela do jogo. */
.player-ranking-table {
  display: grid;
  gap: 10px;
}
.player-ranking-table > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.player-ranking-table h3,
.player-ranking-table p {
  margin: 0;
}
.ranking-table-scroll {
  max-height: 310px;
  overflow: auto;
  border: 1px solid rgba(143, 189, 214, .28);
  border-radius: 10px;
}
.player-ranking-table table {
  width: 100%;
  min-width: 440px;
  border-collapse: collapse;
  font-size: .78rem;
}
.player-ranking-table th,
.player-ranking-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(143, 189, 214, .16);
  text-align: left;
  white-space: nowrap;
}
.player-ranking-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #dff8ff;
  background: #0b2639;
}
.player-ranking-table tbody tr:last-child td {
  border-bottom: 0;
}

/* 020-3: contraste tipografico do Jogador por superficie real. */
.capture-sheet,
.capture-result{
  color: #111111 !important;
  font-weight: 700 !important;
}
:is(.capture-sheet, .capture-result, h2, h3, h4, h5, h6, p, span, small, strong, b, em, label, a, input, textarea, select, option, button, li, dt, dd, th, td, code) {
  color: #111111 !important;
  font-weight: 700 !important;
}
.capture-sheet button:not(.ghost-button),
.capture-result button:not(.ghost-button) {
  color: #ffffff !important;
  font-weight: 400 !important;
}
.auth-screen,
.auth-screen .panel,
.auth-screen :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, b, em, label, a, input, textarea, select, option, button, li, dt, dd, th, td, code),
.auth-screen :is(input, textarea, select, option)::placeholder {
  color: #ffffff !important;
  font-weight: 400 !important;
}
.auth-screen button[type="submit"] {
  color: #111111 !important;
  font-weight: 700 !important;
}
.auth-screen .leaflet-control-zoom a,
.auth-screen .leaflet-control-zoom a span,
.auth-screen .leaflet-control-attribution,
.auth-screen .leaflet-control-attribution a,
.auth-screen .leaflet-control-attribution span {
  color: #111111 !important;
  font-weight: 700 !important;
} h2, h3, h4, h5, h6, p, span, small, strong, b, em, label, a, button, input, textarea, select, option, li, dt, dd, th, td, code) {
  color: #111111 !important;
  font-weight: 700 !important;
}
/* 020-4: texto dos cartoes claros da janela exclusiva de Trofeus. */
.game-side-panel[data-managed-window-id="trophies"],
.game-side-panel[data-managed-window-id="trophies"] > header,
.game-side-panel[data-managed-window-id="trophies"] > header :is(h3, button),
.game-side-panel[data-managed-window-id="trophies"] .game-side-panel-body > .muted {
  color: #ffffff !important;
  font-weight: 400 !important;
}
.game-side-panel[data-managed-window-id="trophies"] .panel-list-item,
.game-side-panel[data-managed-window-id="trophies"] .panel-list-item :is(h1, h2, h3, h4, p, span, small, strong, b, em, label, button) {
  color: #111111 !important;
  font-weight: 700 !important;
}

/* 020-5: retirar apenas a barra global de Bingo da area principal do jogo. */
.game-screen > .global-bingo-ticker {
  display: none !important;
}

/* 020-5: Ranking oficial simples, sem as duas caixas auxiliares. */
.game-side-panel[data-managed-window-id="ranking"] .official-ranking-list .panel-list-item,
.game-side-panel[data-managed-window-id="ranking"] .official-ranking-list .panel-list-item :is(strong, span) {
  color: #111111 !important;
  font-weight: 700 !important;
}
.game-side-panel[data-managed-window-id="ranking"] {
  min-height: 0 !important;
}
.game-side-panel[data-managed-window-id="ranking"] .official-ranking-tabs {
  display: flex;
  gap: 8px;
}
.game-side-panel[data-managed-window-id="ranking"] .official-ranking-tabs .small-button {
  color: #111111 !important;
  font-weight: 700 !important;
}
.game-side-panel[data-managed-window-id="ranking"] .official-ranking-tabs .small-button.active {
  border-color: #111111 !important;
  box-shadow: 0 0 0 2px #111111 !important;
}

/* 020-6: escrita das areas escuras exclusivas de Leiloes/Vendas. */
.auction-sales-panel,
.auction-sales-panel
  :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, b, em, label, a, button, input, textarea, select, option, li, dt, dd, th, td, code),
.auction-sales-panel :is(input, textarea)::placeholder {
  color: #ffffff !important;
  font-weight: 400 !important;
}
.game-screen .auction-sales-panel.auction-item-drop-active {
  z-index: 1600 !important;
}
.auction-drop-box[data-auction-drop="item"] .trade-item-visuals {
  justify-content: center;
}

/* 020-7: janela de caracteristicas aberta apenas pela consulta do cartao. */
.trade-inspection-window,
.trade-inspection-window
  :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, b, em, label, a, button, li, dt, dd, code) {
  color: #ffffff !important;
  font-weight: 400 !important;
}

/* 020-28: detalhe unico, centrado e contido na area visivel do Armazem. */
.game-screen .trade-inspection-window {
  position: fixed !important;
  right: auto !important;
  bottom: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100dvh - 104px) !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  transform: none !important;
  overflow: hidden !important;
  color: #111111 !important;
  background: #ffffff !important;
}
.game-screen .trade-inspection-window,
.game-screen .trade-inspection-window
  :is(p, span, small, strong, label, button, dt, dd) {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.game-screen .trade-inspection-window > header {
  position: sticky;
  top: 0;
  z-index: 2;
  min-width: 0;
  cursor: move;
  background: #ffffff !important;
}
.game-screen .trade-inspection-window > header button {
  flex: 0 0 auto;
  pointer-events: auto;
}
.game-screen .trade-inspection-window .trade-inspection-visual {
  min-height: 92px;
  max-height: 150px;
  overflow: hidden;
  background: #ffffff !important;
}
.game-screen .trade-inspection-window > dl {
  min-width: 0;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #ffffff !important;
}
.auction-clear-sale-item {
  margin-top: 6px;
}

/* 020-9: moedas preparadas e persistentes junto do item de Venda/Leilao. */
.auction-sale-assets {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-content: start;
}
.auction-sale-assets .auction-drop-box {
  min-width: 0;
  min-height: 180px;
}
.auction-dropped-coins-image {
  display: block;
  margin: 2px auto;
  object-fit: contain;
}
.auction-dropped-coins-amount {
  display: block;
}
.auction-clear-sale-coins {
  margin-top: 6px;
}
.simple-wallet-window .simple-coin-pile.separated[data-bag-draggable="wallet-lot"] {
  touch-action: none;
}
@media (max-width: 760px) {
  .auction-sale-assets {
    grid-template-columns: 1fr;
  }
}
/* 020-16: apenas Comprar e Vender ocupam igualmente a barra de separadores. */
.auction-sales-panel .auction-sale-tabs > button {
  flex: 1 1 0;
  min-width: 0;
}

/* 020-14: itens reais e contraste da vista exclusiva Comprar. */
.auction-sales-panel .auction-buy-workspace,
.auction-sales-panel .auction-buy-workspace .auction-sale-list,
.auction-sales-panel .auction-buy-workspace .auction-sale-detail,
.auction-sales-panel .auction-buy-workspace .auction-sale-row {
  background: #ffffff !important;
}
.auction-sales-panel .auction-buy-workspace {
  min-height: 0;
  overflow: hidden;
}
.auction-sales-panel .auction-buy-workspace .auction-sale-list {
  max-height: 100% !important;
  padding: 12px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.auction-sales-panel .auction-buy-workspace .auction-sale-row {
  grid-template-columns: minmax(250px, 1fr);
  align-items: stretch;
  gap: 6px;
  border-color: #94a3b8 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .12);
}
.auction-sales-panel .auction-buy-workspace .auction-sale-row > button {
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  width: 100%;
}
.auction-sales-panel .auction-buy-workspace .auction-row-image,
.auction-sales-panel .auction-buy-workspace .auction-sale-image,
.auction-sales-panel .auction-transaction-item-image {
  display: grid;
  place-items: center;
  width: 92px;
  min-width: 92px;
  height: 92px;
  overflow: hidden;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #f8fafc !important;
}
.auction-sales-panel .auction-buy-workspace .trade-item-visuals,
.auction-sales-panel .auction-transaction-item-image .trade-item-visuals {
  transform: scale(1.35);
}
.auction-sales-panel .auction-buy-workspace,
.auction-sales-panel .auction-buy-workspace
  :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, b, em, label, a, button, input, textarea, select, option, li, dt, dd),
.auction-sales-panel .auction-buy-workspace :is(input, textarea)::placeholder {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.auction-sales-panel .auction-buy-workspace .auction-transaction-side-window {
  background: #ffffff !important;
  border-color: #94a3b8 !important;
}
.auction-sales-panel .auction-buy-workspace .auction-transaction-side-window button {
  color: #111111 !important;
  font-weight: 700 !important;
}
.auction-sales-panel .auction-transaction-completion .auction-transaction-item-image {
  width: 112px;
  height: 112px;
  margin-inline: auto;
}
@media (max-width: 760px) {
  .auction-sales-panel .auction-buy-workspace .auction-sale-row > button {
    grid-template-columns: 76px minmax(0, 1fr);
  }
  .auction-sales-panel .auction-buy-workspace .auction-row-image {
    width: 72px;
    min-width: 72px;
    height: 72px;
  }
}

/* 020-18 final: contraste calculado da confirmação branca. */
.auction-sales-panel .auction-cancellation-confirmation {
  background: #ffffff !important;
}
.auction-sales-panel .auction-cancellation-confirmation,
.auction-sales-panel .auction-cancellation-confirmation :is(strong, span, button) {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* 020-19: configurador simples aberto depois de escolher o item em Vender. */
.auction-sales-panel .auction-seller-config-window {
  position: absolute;
  inset: 118px 18px 18px;
  z-index: 11;
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr);
  gap: 14px;
  width: min(760px, calc(100% - 36px));
  max-height: calc(100% - 136px);
  margin-inline: auto;
  padding: 18px;
  overflow: auto;
  border: 1px solid #64748b;
  border-radius: 12px;
  color: #111111 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .38);
}
.auction-sales-panel .auction-seller-config-window,
.auction-sales-panel .auction-seller-config-window :is(strong, span, small, label, button, input, select, option) {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.auction-sales-panel .auction-seller-config-window :is(input, select) {
  min-height: 42px;
  background: #ffffff !important;
}
.auction-sales-panel .auction-seller-config-window .auction-clean-item-card {
  align-content: start;
  background: #ffffff !important;
}
.auction-sales-panel .auction-seller-config-window .trade-item-visuals {
  transform: scale(1.35);
  transform-origin: center;
}
.auction-sales-panel .auction-seller-config-window .auction-sale-side-window {
  display: grid;
  gap: 10px;
  background: #ffffff !important;
}
.auction-sales-panel .auction-seller-config-actions {
  display: flex;
  gap: 8px;
}
.auction-sales-panel .auction-seller-config-actions > button {
  flex: 1 1 0;
}
@media (max-width: 760px) {
  .auction-sales-panel .auction-seller-config-window {
    inset: 104px 8px 8px;
    grid-template-columns: 1fr;
    width: calc(100% - 16px);
    max-height: calc(100% - 112px);
    padding: 12px;
  }
}

/* 020-20: confirmação e recibo final da compra fixa em superfície branca. */
.auction-sales-panel :is(.market-fixed-purchase-confirmation, .market-fixed-purchase-completion) {
  background: #ffffff !important;
}
.auction-sales-panel :is(.market-fixed-purchase-confirmation, .market-fixed-purchase-completion),
.auction-sales-panel :is(.market-fixed-purchase-confirmation, .market-fixed-purchase-completion)
  :is(strong, span, button) {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.auction-sales-panel .market-fixed-purchase-completion .auction-transaction-item-image {
  width: 132px;
  height: 132px;
  overflow: hidden;
  background: #ffffff !important;
}

/* 020-21: confirmação e recibo da oferta em leilão. */
.auction-sales-panel .auction-bid-receipt {
  background: #ffffff !important;
}
.auction-sales-panel .auction-bid-receipt,
.auction-sales-panel .auction-bid-receipt :is(strong, span, button) {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* 020-23: uma linha compacta por anuncio; os detalhes ficam na janela do item. */
.auction-sales-panel .auction-sale-workspace {
  display: block !important;
  min-height: 0;
  overflow: hidden !important;
}
.auction-sales-panel .auction-sale-list,
.auction-sales-panel .auction-owned-listing-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start;
  gap: 6px !important;
  max-width: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
.auction-sales-panel .auction-compact-row {
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px;
  background: #ffffff !important;
}
.auction-sales-panel .auction-compact-row.active {
  border-color: #166534 !important;
  box-shadow: 0 0 0 2px rgba(22, 101, 52, .2);
}
.auction-sales-panel .auction-compact-row > button {
  display: grid !important;
  grid-template-columns: 48px minmax(120px, 1fr) minmax(90px, .65fr) auto auto !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 54px;
  padding: 4px 10px !important;
  text-align: left;
  color: #111111 !important;
  font-weight: 700 !important;
  background: #ffffff !important;
}
.auction-sales-panel .auction-compact-row :is(strong, span) {
  min-width: 0;
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.auction-sales-panel .auction-compact-image {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border-radius: 6px;
  background: #f8fafc !important;
}
.auction-sales-panel .auction-compact-image .trade-item-visuals {
  max-width: 100%;
  max-height: 100%;
  transform: scale(.72) !important;
  transform-origin: center;
}
.auction-sales-panel .auction-compact-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.auction-sales-panel .auction-compact-type,
.auction-sales-panel .auction-compact-quantity,
.auction-sales-panel .auction-compact-modality {
  white-space: nowrap;
}
.auction-sales-panel .auction-owned-listings {
  min-height: 0;
  overflow: hidden;
  background: #ffffff !important;
}
.auction-sales-panel .auction-owned-listings > header,
.auction-sales-panel .auction-owned-listing-empty {
  color: #111111 !important;
  font-weight: 700 !important;
}
.auction-sales-panel .auction-owned-listing-list {
  max-height: 260px !important;
}
.auction-sales-panel .auction-buy-item-window {
  position: absolute;
  inset: 112px 18px 18px;
  z-index: 12;
  width: auto;
  max-width: none;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #94a3b8;
  border-radius: 12px;
  background: #ffffff !important;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .38);
}
.auction-sales-panel .auction-buy-item-window,
.auction-sales-panel .auction-buy-item-window
  :is(strong, span, small, p, dt, dd, label, button, input) {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.auction-sales-panel > .auction-buy-item-window {
  min-height: 0 !important;
  max-height: calc(100% - 130px);
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.auction-sales-panel > .auction-buy-item-window :is(header, dl, p, aside, section) {
  max-width: 100%;
}
.auction-sales-panel > .auction-buy-item-window .auction-transaction-side-window {
  overflow: visible !important;
}
/* PDF 052: escrita branca apenas no bloco escuro desde Valor pedido ate Fechar. */
.auction-sales-panel > .auction-buy-item-window .auction-transaction-side-window,
.auction-sales-panel > .auction-buy-item-window .auction-transaction-side-window
  :is(label, span, button, input),
.auction-sales-panel > .auction-buy-item-window .auction-transaction-side-window input::placeholder {
  color: #ffffff !important;
}
/* PDF 053: linhas 1,5 vezes mais altas e conteudo centrado verticalmente. */
.auction-sales-panel .auction-compact-row > button {
  min-height: 81px;
  padding-block: 8px !important;
  align-items: center !important;
}
.auction-sales-panel .auction-compact-image {
  place-self: center;
}
.auction-sales-panel .auction-compact-row
  :is(.auction-compact-name, .auction-compact-type, .auction-compact-quantity, .auction-compact-modality) {
  align-self: center;
}
/* PDF 054: garantir identificacao minima totalmente visivel apenas em Comprar. */
.auction-sales-panel .auction-buy-workspace .auction-sale-list {
  grid-auto-rows: 81px !important;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-row {
  height: 81px !important;
  min-height: 81px !important;
  max-height: none !important;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-row > button {
  box-sizing: border-box;
  height: 81px !important;
  min-height: 81px !important;
  max-height: none !important;
  overflow: hidden;
  align-content: center;
  align-items: center !important;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-row
  :is(.auction-compact-name, .auction-compact-type, .auction-compact-quantity, .auction-compact-modality) {
  display: block;
  overflow: hidden;
  line-height: 1.2 !important;
  text-overflow: ellipsis;
}
/* PDF 055: cabecalho do item sem imagens ou identificacao sobrepostas. */
.auction-sales-panel > .auction-buy-item-window > header {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}
.auction-sales-panel > .auction-buy-item-window > header .auction-sale-image {
  display: grid;
  place-items: center;
  width: 150px;
  min-width: 150px;
  height: 112px;
  overflow: hidden;
}
.auction-sales-panel > .auction-buy-item-window > header .trade-item-visuals {
  justify-content: center;
  flex-wrap: nowrap;
  max-width: 100%;
  margin: 0;
}
.auction-sales-panel > .auction-buy-item-window > header > div:last-child {
  display: grid;
  min-width: 0;
  gap: 6px;
}
.auction-sales-panel > .auction-buy-item-window > header
  :is(strong, span) {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.25 !important;
}
/* PDF 056: segunda linha informativa visivel no anuncio fechado de Comprar. */
.auction-sales-panel .auction-buy-workspace .auction-sale-list {
  grid-auto-rows: minmax(112px, auto) !important;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-row {
  height: auto !important;
  min-height: 112px !important;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-row > button {
  height: auto !important;
  min-height: 112px !important;
  grid-template-rows: auto auto;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-image {
  grid-row: 1 / span 2;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-summary {
  grid-column: 2 / -1;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  min-width: 0;
  white-space: normal;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-summary small {
  color: #111111 !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  opacity: 1 !important;
}
/* Correcao 020-24: a lista usa toda a area, uma coluna e uma unica rolagem. */
.auction-sales-panel .game-side-panel-body {
  min-height: 0 !important;
}
.auction-sales-panel .auction-buy-workspace {
  display: block !important;
  height: calc(100% - 106px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.auction-sales-panel .auction-buy-workspace .auction-sale-list {
  box-sizing: border-box;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-row {
  width: 100% !important;
  max-width: 100% !important;
}
/* 020-26: uma linha compacta por anuncio, sem resumo comercial na lista. */
.auction-sales-panel .auction-buy-workspace .auction-sale-list {
  grid-auto-rows: 66px !important;
  overflow-x: hidden !important;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-row {
  height: 66px !important;
  min-height: 66px !important;
  max-height: 66px !important;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-row > button {
  grid-template-columns: 48px minmax(120px, 1fr) minmax(70px, .45fr) auto auto minmax(130px, .75fr) !important;
  grid-template-rows: 1fr !important;
  box-sizing: border-box;
  height: 66px !important;
  min-height: 66px !important;
  max-height: 66px !important;
  padding: 6px 10px !important;
  overflow: hidden;
  white-space: nowrap;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-image {
  grid-row: 1 !important;
  width: 40px;
  height: 40px;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-name {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.auction-sales-panel .auction-buy-workspace .auction-compact-owner {
  min-width: 0;
  overflow: hidden;
  color: #111111 !important;
  font-weight: 700 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .auction-sales-panel .auction-compact-row > button {
    grid-template-columns: 42px minmax(90px, 1fr) auto !important;
  }
  .auction-sales-panel .auction-compact-type {
    display: none;
  }
  .auction-sales-panel .auction-compact-quantity {
    grid-column: 2;
  }
  .auction-sales-panel .auction-compact-modality {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
  .auction-sales-panel .auction-buy-item-window {
    inset: 104px 8px 8px;
  }
}

/* 020-40 adenda: anuncios de Comprar separados, completos e rolaveis. */
.game-screen .auction-sales-panel .auction-buy-workspace {
  box-sizing: border-box;
  min-height: 0 !important;
  padding-top: 8px;
  overflow: hidden !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-sale-list {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-content: normal !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 4px 12px 12px 10px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scroll-padding-block: 4px 12px;
  touch-action: pan-y;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row {
  box-sizing: border-box;
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 92px !important;
  max-height: none !important;
  overflow: hidden;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row > button {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 48px minmax(150px, 1fr) minmax(72px, auto) minmax(76px, auto) !important;
  grid-template-rows: minmax(34px, auto) minmax(34px, auto) !important;
  gap: 4px 12px;
  width: 100%;
  height: auto !important;
  min-height: 92px !important;
  max-height: none !important;
  padding: 8px 10px !important;
  overflow: hidden;
  align-content: center;
  align-items: center !important;
  color: #111111 !important;
  font-weight: 700 !important;
  white-space: normal;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-image {
  grid-column: 1;
  grid-row: 1 / 3 !important;
  align-self: center;
  width: 46px;
  height: 46px;
  overflow: hidden;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-name {
  grid-column: 2;
  grid-row: 1;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-type {
  grid-column: 3;
  grid-row: 1;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-modality {
  grid-column: 4;
  grid-row: 1;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-quantity {
  grid-column: 2;
  grid-row: 2;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-owner {
  grid-column: 3 / 5;
  grid-row: 2;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row
  :is(.auction-compact-name, .auction-compact-type, .auction-compact-quantity, .auction-compact-modality, .auction-compact-owner) {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: #111111 !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row {
    min-height: 128px !important;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row > button {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    grid-template-rows: repeat(4, minmax(24px, auto)) !important;
    min-height: 128px !important;
    gap: 2px 8px;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-image {
    grid-column: 1;
    grid-row: 1 / 5 !important;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-name {
    grid-column: 2 / 4;
    grid-row: 1;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-type {
    display: block;
    grid-column: 2;
    grid-row: 2;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-modality {
    grid-column: 3;
    grid-row: 2;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-quantity {
    grid-column: 2 / 4;
    grid-row: 3;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-owner {
    grid-column: 2 / 4;
    grid-row: 4;
  }
}

/* 020-42 completo: cartões públicos, identidade e janelas seguras. */
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row {
  min-height: 170px !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row > button {
  grid-template-columns: 54px minmax(220px, 1fr) minmax(210px, .85fr) !important;
  grid-template-rows: repeat(5, minmax(27px, auto)) !important;
  min-height: 170px !important;
  gap: 4px 14px !important;
  padding: 10px 12px !important;
  background: #ffffff !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-image {
  grid-column: 1 !important;
  grid-row: 1 / 6 !important;
  width: 48px !important;
  height: 48px !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-name {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-type {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-prize {
  grid-column: 2 !important;
  grid-row: 3 !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-prize-value {
  grid-column: 2 !important;
  grid-row: 4 !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-modality {
  grid-column: 3 !important;
  grid-row: 1 !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-price {
  grid-column: 3 !important;
  grid-row: 2 !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-end {
  grid-column: 3 !important;
  grid-row: 4 !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-current-offer {
  grid-column: 3 !important;
  grid-row: 3 !important;
}
.game-screen .auction-sales-panel .auction-listing-countdown {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: #111111 !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-listing-countdown {
  grid-column: 3 !important;
  grid-row: 4 !important;
}
.game-screen .auction-sales-panel .auction-buy-item-window .auction-listing-countdown {
  display: block !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100%;
}
.game-screen .auction-sales-panel .auction-buy-item-window
  .auction-buyer-item-summary > div:last-child {
  display: flex !important;
  flex-direction: column !important;
}
.game-screen .auction-sales-panel .auction-listing-countdown.is-warning { color: #b45309 !important; }
.game-screen .auction-sales-panel .auction-listing-countdown.is-danger { color: #dc2626 !important; }
.game-screen .auction-sales-panel .auction-listing-countdown.is-ended { color: #7f1d1d !important; }
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-owner {
  grid-column: 3 !important;
  grid-row: 5 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-owner img {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  object-fit: cover;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-seller-dialog-link {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: auto;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-seller-dialog-link[role="button"] {
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row
  :is(.auction-compact-name, .auction-compact-type, .auction-compact-prize,
    .auction-compact-prize-value, .auction-compact-modality, .auction-compact-price,
    .auction-compact-end, .auction-compact-current-offer, .auction-listing-countdown, .auction-compact-owner,
    .auction-seller-dialog-link) {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: #111111 !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.game-screen .auction-sales-panel :is(
  .auction-buy-item-window,
  .auction-transaction-completion,
  .market-fixed-purchase-confirmation,
  .auction-cancellation-confirmation
),
.game-screen .auction-sales-panel :is(
  .auction-buy-item-window,
  .auction-transaction-completion,
  .market-fixed-purchase-confirmation,
  .auction-cancellation-confirmation
) :is(h1, h2, h3, h4, p, span, small, strong, label, button, input, dt, dd) {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.game-screen .auction-sales-panel .auction-transaction-completion {
  top: 58px !important;
  bottom: 14px !important;
  left: 50% !important;
  width: min(520px, calc(100% - 28px)) !important;
  max-height: calc(100% - 72px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  transform: translateX(-50%) !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.game-screen .auction-sales-panel .auction-transaction-completion > strong {
  position: sticky;
  top: -16px;
  z-index: 2;
  padding-block: 8px;
  background: #ffffff !important;
}
.game-screen .auction-sales-panel .auction-transaction-completion > button[data-action="close-transaction-completion"] {
  position: sticky;
  bottom: -16px;
  z-index: 2;
  min-height: 42px;
  background: #ffffff !important;
}

@media (max-width: 760px) {
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row {
    min-height: 280px !important;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row > button {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    grid-template-rows: repeat(9, minmax(25px, auto)) !important;
    min-height: 280px !important;
    gap: 3px 9px !important;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-image {
    grid-column: 1 !important;
    grid-row: 1 / 10 !important;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-row
    :is(.auction-compact-name, .auction-compact-type, .auction-compact-prize,
      .auction-compact-prize-value, .auction-compact-modality, .auction-compact-price,
      .auction-compact-end, .auction-compact-current-offer, .auction-listing-countdown, .auction-compact-owner) {
    grid-column: 2 !important;
  }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-name { grid-row: 1 !important; }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-type { grid-row: 2 !important; }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-prize { grid-row: 3 !important; }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-prize-value { grid-row: 4 !important; }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-modality { grid-row: 5 !important; }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-price { grid-row: 6 !important; }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-current-offer { grid-row: 7 !important; }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-listing-countdown { grid-row: 8 !important; }
  .game-screen .auction-sales-panel .auction-buy-workspace .auction-compact-owner { grid-row: 9 !important; }
  .game-screen .auction-sales-panel .auction-transaction-completion {
    top: 58px !important;
    bottom: 8px !important;
    width: calc(100% - 16px) !important;
    max-height: calc(100% - 66px) !important;
  }
}

/* 020-43: reserve one row for search/status and the remaining height for results. */
.game-screen .auction-sales-panel .auction-buy-workspace {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

/* Erros 084/085: Comprar usa toda a altura restante sem alterar a pesquisa. */
.game-screen .auction-sales-panel .game-side-panel-body {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  align-content: stretch !important;
  overflow: hidden !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: auto !important;
  min-height: 0 !important;
}
.game-screen .auction-sales-panel .auction-buy-workspace .auction-sale-list {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
}

/* Adenda final 073-087: correcoes locais de legibilidade e janelas. */
.game-screen .auction-sales-panel .auction-buy-item-window,
.game-screen .auction-sales-panel .auction-buy-item-window .auction-transaction-side-window,
.game-screen .auction-sales-panel .auction-buy-item-window .auction-own-item-summary {
  background: #ffffff !important;
  color: #111111 !important;
}
.game-screen .auction-sales-panel .auction-buy-item-window
  :is(.auction-transaction-side-window, .auction-own-item-summary)
  :is(strong, span, label, input) {
  color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.game-screen .auction-sales-panel .auction-buy-item-window
  :is(input[type="text"], input[type="number"], input[type="search"]) {
  box-sizing: border-box;
  min-height: 44px !important;
  padding-block: 8px !important;
  line-height: 1.35 !important;
  overflow: visible !important;
}

/* Adendas 106/107: campos monetarios legiveis em todos os estados. */
.game-screen .auction-sales-panel
  :is(.auction-buyer-offer-field, .auction-sale-side-window, .auction-seller-config-window, .auction-transaction-side-window)
  input[type="number"],
.game-screen .auction-sales-panel
  :is(.auction-buyer-offer-field, .auction-sale-side-window, .auction-seller-config-window, .auction-transaction-side-window)
  input[type="number"]:is(:hover, :focus, :active, :invalid),
.game-screen .auction-sales-panel
  :is(.auction-buyer-offer-field, .auction-sale-side-window, .auction-seller-config-window, .auction-transaction-side-window)
  input[type="number"]:-webkit-autofill {
  color: #111111 !important;
  caret-color: #111111 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  background-color: #ffffff !important;
  -webkit-text-fill-color: #111111 !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
  border: 2px solid #475569 !important;
  outline-color: #15803d !important;
  color-scheme: light !important;
}
.game-screen .auction-sales-panel
  :is(.auction-buyer-offer-field, .auction-sale-side-window, .auction-seller-config-window, .auction-transaction-side-window)
  input[type="number"]::selection {
  color: #111111 !important;
  background: #bbf7d0 !important;
}
.game-screen .auction-sales-panel
  :is(.auction-buyer-offer-field, .auction-sale-side-window, .auction-seller-config-window, .auction-transaction-side-window)
  input[type="number"]::-webkit-inner-spin-button {
  opacity: 1 !important;
  color-scheme: light !important;
}
.game-screen .auction-sales-panel .auction-buy-item-window .auction-transaction-side-window button:not(:disabled) {
  background: #15803d !important;
  border-color: #166534 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}
.game-screen .auction-sales-panel .auction-buy-item-window .auction-transaction-side-window button:disabled {
  cursor: not-allowed;
  opacity: .55 !important;
}
.game-screen .auction-sales-panel .auction-own-item-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 14px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
}
.game-screen .auction-sales-panel .auction-compact-row.is-own-listing > button {
  padding-top: 34px !important;
}
.game-screen .auction-sales-panel .auction-buy-item-window {
  top: 76px !important;
  bottom: 10px !important;
  max-height: calc(100% - 86px) !important;
  scrollbar-gutter: stable;
}
.game-screen .auction-sales-panel .auction-buy-item-window > header {
  position: sticky;
  top: 0;
  z-index: 3;
  padding-block: 8px;
  background: #ffffff !important;
}
.game-screen .auction-sales-panel .auction-buy-item-window
  [data-action="auction-close-item"] {
  position: sticky;
  bottom: 0;
  z-index: 3;
}

@media (max-width: 560px) {
  .game-screen .auction-sales-panel .auction-own-item-summary {
    grid-template-columns: minmax(0, 1fr);
  }
  .game-screen .auction-sales-panel .auction-buy-item-window {
    inset: 66px 8px 8px !important;
    width: auto !important;
    max-height: calc(100% - 74px) !important;
  }
}

/* Adenda 088 final: esta regra fica por ultimo para vencer dimensoes historicas. */
.game-screen .auction-sales-panel > .auction-buy-item-window.auction-buyer-compact-window {
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  bottom: auto !important;
  width: min(560px, calc(100% - 32px)) !important;
  height: max-content !important;
  min-height: 0 !important;
  max-height: calc(100% - 32px) !important;
  grid-template-rows: max-content max-content max-content !important;
  align-content: start !important;
  transform: translate(-50%, -50%) !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  > header.auction-buyer-item-summary {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  grid-template-rows: max-content !important;
  align-items: start !important;
  overflow: visible !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  > header.auction-buyer-item-summary > .auction-sale-image {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 96px !important;
  min-height: 96px !important;
  margin: 0 !important;
  transform: none !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  > header.auction-buyer-item-summary > :last-child {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
}
.game-screen .auction-sales-panel > .auction-buyer-compact-window
  > header.auction-buyer-item-summary > :last-child > * {
  max-width: 100% !important;
  margin-inline: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 560px) {
  .game-screen .auction-sales-panel > .auction-buy-item-window.auction-buyer-compact-window {
    inset: auto !important;
    top: 50% !important;
    left: 50% !important;
    width: calc(100% - 16px) !important;
    height: max-content !important;
    max-height: calc(100% - 16px) !important;
  }
  .game-screen .auction-sales-panel > .auction-buyer-compact-window
    > header.auction-buyer-item-summary {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }
  .game-screen .auction-sales-panel > .auction-buyer-compact-window
    > header.auction-buyer-item-summary > .auction-sale-image {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
  }
}
@media (max-width: 620px) {
}

/* Adenda 113/020-50: faixa interna larga sem alterar a caixa exterior. */
.game-screen .auction-sales-panel .auction-compact-row.is-own-listing {
  isolation: isolate;
  border-color: transparent !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}
.game-screen .auction-sales-panel .auction-compact-row.is-own-listing::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5;
  box-sizing: border-box;
  border: 16px solid #15803d;
  border-radius: inherit;
  box-shadow: none;
  pointer-events: none;
}
.game-screen .auction-sales-panel .auction-compact-row.is-own-listing > button {
  padding-right: 20px !important;
  padding-bottom: 18px !important;
  padding-left: 20px !important;
  color: #111111 !important;
  font-weight: 700 !important;
  background: #ffffff !important;
  transform: none !important;
}
.game-screen .auction-sales-panel .auction-compact-row.is-own-listing:is(:hover, :focus-within, :active) {
  border-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
/* 020-53: dialogo central{
  width: min(454px, calc(100vw - 20px)) !important;
  height: min(529px, calc(100dvh - 84px)) !important;
  min-width: min(320px, calc(100vw - 20px)) !important;
  min-height: min(390px, calc(100dvh - 84px)) !important;
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100dvh - 76px) !important;
  resize: none !important;
  overflow: hidden !important;
}
.social-player-row-actions { display: flex; grid-column: 1 / -1; gap: 4px; }
.social-player-row-actions button { flex: 1 1 0; min-width: 0; padding: 3px 5px; font-size: .66rem; }
.social-trade-player-identity { display: flex; align-items: center; gap: 8px; min-width: 0; }
.social-trade-player-identity .social-avatar { flex: 0 0 40px; width: 40px; height: 40px; }
.social-bilateral-trade .social-trade-side-header { position: sticky; top: 0; z-index: 3; }
.social-bilateral-trade .social-trade-side { min-height: 0; overflow-y: auto; }
.social-bilateral-trade .social-trade-unified-offer { margin-bottom: 0 !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.social-bilateral-trade .social-trade-unified-offer + .social-offer-summary { margin-top: 0 !important; border-top: 0 !important; border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; max-height: 230px; overflow-y: auto; }
.notification-history { max-height: min(56vh, 520px); overflow-y: auto; overflow-x: hidden; }
.notification-compact-row { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; gap: 5px 8px; align-items: center; }
.notification-compact-row > span:nth-of-type(2) { grid-column: 2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.notification-row-actions { display: flex; gap: 5px; grid-column: 3; grid-row: 1 / span 2; }
.notification-detail-card { position: absolute; inset: 54px 12px 12px; z-index: 8; overflow-y: auto; padding: 12px; border: 2px solid #1f5f85; border-radius: 10px; color: #111827; background: #fff; font-weight: 700; }
.notification-detail-card header { position: sticky; top: -12px; display: flex; justify-content: space-between; gap: 8px; padding: 8px 0; background: #fff; }
.notification-detail-card dl > div { display: grid; grid-template-columns: minmax(110px, .7fr) 1fr; gap: 8px; }
@media (max-width: 760px) {
  .notification-compact-row { grid-template-columns: auto minmax(0, 1fr); }
  .notification-row-actions { grid-column: 1 / -1; grid-row: auto; }
}
.game-screen .notifications-panel .notification-compact-row {
  grid-template-columns: auto minmax(0, 1fr) auto auto !important;
}
.game-screen .notifications-panel .notification-detail-card {
  position: relative !important;
  inset: auto !important;
  z-index: 1701 !important;
}
@media (max-width: 520px) {
  .game-screen .notifications-panel .notification-compact-row { grid-template-columns: auto minmax(0, 1fr) auto !important; }
}
.game-screen .notifications-panel :is(h3, p, strong, span, time, button),
.game-screen .notifications-panel .notification-detail-card :is(p, strong, span, button) {
  color: #111827 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.game-screen .notifications-panel :is(button, button:hover, button:focus, button:active),
.game-screen .notifications-panel .notification-detail-card :is(button, button:hover, button:focus, button:active) {
  color: #111827 !important;
  background: #f8fafc !important;
  border: 2px solid #334155 !important;
  pointer-events: auto !important;
}
.game-screen .notifications-panel .notification-compact-row.is-read > :is(strong, time),
.game-screen .notifications-panel .notification-compact-row.is-read > .status-pill {
  color: #111827 !important;
  font-weight: 400 !important;
}

/* 020-83: cabeçalho e ações fixos; apenas a lista de avisos desloca. */
.game-screen .notifications-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}
.game-screen .notifications-panel .game-side-panel-body {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  padding-bottom: 10px !important;
}
.game-screen .notifications-panel .notifications-workspace {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 10px;
  overflow: hidden;
}
.game-screen .notifications-panel .notifications-workspace > .muted { margin: 0; }
.game-screen .notifications-panel .notification-toolbar {
  display: flex;
  flex: 0 0 auto;
}
.game-screen .notifications-panel .notification-toolbar button {
  width: 100%;
  min-height: 42px;
  white-space: normal;
}
.game-screen .notifications-panel .notification-toolbar button:disabled {
  opacity: .5 !important;
  cursor: default;
}
.game-screen .notifications-panel .notification-history {
  min-width: 0;
  min-height: 0;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}
.game-screen .notifications-panel .notification-compact-row button { min-width: 64px; }
.game-screen .notifications-panel .notification-compact-row.is-unread { border-left: 5px solid #dc8b00 !important; }
.game-screen .notifications-panel .notification-compact-row.is-read { opacity: .76; }
.game-screen .notifications-panel .notification-detail-image {
  display: block;
  width: min(100%, 320px);
  max-height: 240px;
  margin: 12px auto;
  object-fit: contain;
}
.game-screen .notifications-panel .notification-detail-message { overflow-wrap: anywhere; }
.game-screen .notifications-panel .notification-detail-facts { display: grid; gap: 8px; }
.game-screen .notifications-panel .notification-detail-facts > div {
  display: grid;
  grid-template-columns: minmax(110px, .7fr) minmax(0, 1fr);
  gap: 8px;
  border-bottom: 1px solid #cbd5e1;
  padding-bottom: 6px;
}
.game-screen .notifications-panel .notification-detail-facts dt { font-weight: 800; }
.game-screen .notifications-panel .notification-detail-facts dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 520px) {
  .game-screen .notifications-panel .notification-compact-row {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }
  .game-screen .notifications-panel .notification-compact-row time { grid-column: 2; }
  .game-screen .notifications-panel .notification-compact-row button { grid-column: 3; grid-row: 1 / span 2; }
  .game-screen .notifications-panel .notification-detail-facts > div { grid-template-columns: 1fr; gap: 3px; }
}
.game-screen .notifications-panel .notification-compact-row.is-unread > :is(strong, time),
.game-screen .notifications-panel .notification-compact-row.is-unread > .status-pill {
  color: #111827 !important;
  font-weight: 700 !important;
}

/* 020-56: Dialogo normal isolado{
  width: min(302px, calc(100vw - 16px)) !important;
  height: min(378px, calc(100dvh - 16px)) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 310px !important;
  max-height: 390px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: 38px minmax(0, 1fr) !important;
  overflow: hidden !important;
  resize: none !important;
  color: #111827 !important;
  background: #ffffff !important;
} strong, em), span, strong), button) {
  color: #111827 !important;
  font-weight: 700 !important;
}
@media (max-width: 390px), (max-height: 394px) {
}
@media (max-width: 760px) { small, span, p, button, textarea) {
    writing-mode: horizontal-tb !important;
    overflow-wrap: break-word !important;
  }
}

@media (max-width: 600px) {
  .game-screen .bag-inventory.warehouse-unified {
    left: 4px !important;
    right: auto !important;
    top: max(88px, env(safe-area-inset-top)) !important;
    bottom: auto !important;
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    height: calc(100dvh - 96px) !important;
    max-height: calc(100dvh - 96px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    transform: none !important;
  }
}
/* 020-70: Caixa de Negocio compacta canónica. */
.business-box{position:fixed;display:flex;flex-direction:column;min-width:min(720px,calc(100vw - 16px));min-height:min(560px,calc(100dvh - 82px));max-width:calc(100vw - 16px);max-height:calc(100dvh - 82px);overflow:hidden;border:2px solid #5ea9bd;border-radius:14px;color:#effbff;background:#0d2d3d;box-shadow:0 18px 56px rgba(0,0,0,.5)}
.business-box>header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:8px 12px;background:#123c4e;cursor:move;touch-action:none}.business-box>header button{flex:0 0 auto}.business-fixed-top{display:grid;justify-items:center;min-height:0;padding:8px 12px}.business-player-list{display:flex;flex-direction:column;width:min(520px,100%);height:180px;min-width:280px;min-height:130px;max-width:100%;max-height:260px;overflow:hidden;border:1px solid #79b9ca;border-radius:10px;background:#f8fafc;color:#13202b;resize:both}.business-player-list>header{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#dbeef3}.business-player-list form{display:flex;gap:6px;padding:6px}.business-player-list form input{min-width:0;flex:1}.business-player-scroll{display:grid;gap:5px;min-width:0;min-height:0;padding:6px;overflow-y:auto;overflow-x:hidden}.business-player-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;text-align:left}.business-player-row strong{white-space:normal;overflow-wrap:anywhere}.business-three-columns{display:grid;grid-template-columns:minmax(190px,1fr) minmax(250px,1.25fr) minmax(190px,1fr);gap:10px;min-width:0;min-height:0;flex:1;padding:8px 12px 16px;overflow:hidden}.business-resizable-pane{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(130,207,225,.68);border-radius:10px;background:#f8fafc;color:#162631}.business-offer,.business-conversation{display:flex;flex-direction:column}.business-offer>header,.business-conversation>header{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-height:48px;padding:7px;background:#dbeef3}.business-offer-scroll,.business-message-scroll{min-width:0;min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;scrollbar-gutter:stable}.business-item-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;width:100%;margin-bottom:6px;text-align:left}.business-item-row>span:first-child{display:grid;place-items:center;width:54px;height:50px;overflow:hidden}.business-item-row img{width:100%;height:100%;object-fit:contain}.business-item-row>span:last-child{display:grid;min-width:0}.business-item-row :is(strong,small){overflow-wrap:anywhere}.business-message-scroll article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;margin:6px 0;padding:6px;border-radius:8px;background:#e8f1f4}.business-message-scroll article.mine{background:#d9f2dc}.business-message-scroll article p{margin:2px 0;overflow-wrap:anywhere}.business-message-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;flex:0 0 auto;padding:8px;border-top:1px solid #9ebfc8}.business-message-form textarea{min-width:0;min-height:58px;max-height:110px;resize:vertical}.business-conversation>footer{display:flex;flex-wrap:wrap;gap:7px;flex:0 0 auto;padding:8px}.business-conversation>footer button{flex:1 1 120px}.business-waiting{display:grid;place-items:center;min-height:180px;padding:20px}.business-box>.managed-window-resizer{position:absolute;right:2px;bottom:2px;z-index:20;width:30px;height:30px;border-right:4px solid #70f087;border-bottom:4px solid #70f087;cursor:nwse-resize;touch-action:none}.business-pane-resizer{position:absolute;right:0;bottom:0;width:18px;height:18px;border-right:3px solid #28798c;border-bottom:3px solid #28798c;cursor:nwse-resize;touch-action:none}
@media(max-width:700px){.business-box{left:8px!important;top:74px!important;width:calc(100vw - 16px)!important;height:calc(100dvh - 82px)!important;min-width:0;min-height:0}.business-fixed-top{display:block;overflow-y:auto}.business-player-list{width:100%;height:170px;resize:none}.business-three-columns{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.business-offer,.business-conversation{flex:0 0 min(420px,70dvh);min-height:300px}.business-conversation{order:3}.business-offer:last-child{order:2}.business-message-form{grid-template-columns:1fr}.business-pane-resizer{display:none}}

/* 020-70/072: leitura flexivel, escrita propria e tres decisoes fixas. */
.business-message-scroll{flex:1 1 auto;min-height:140px}
.business-message-form{display:block;flex:0 0 auto;padding:8px;border-top:1px solid #9ebfc8}
.business-message-form textarea{display:block;width:100%;min-width:0;min-height:64px;max-height:110px;resize:vertical}
.business-conversation>footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;flex:0 0 auto;padding:8px}
.business-conversation>footer button{width:100%;min-width:0;min-height:44px;padding:6px;font-size:.84rem;white-space:normal}
.business-send-action{background:#2f7cc0}
@media(max-width:700px){
  .business-offer,.business-conversation{flex-basis:min(460px,74dvh);min-height:330px}
  .business-conversation>footer{gap:4px;padding:6px}
  .business-conversation>footer button{padding:5px 2px;font-size:clamp(.65rem,2.7vw,.78rem)}
}

/* 021-003: dimensoes e cores isoladas do Armazem do Jogador. */
.game-screen .bag-inventory.warehouse-unified {
  width: min(12cm, calc(100vw - 16px)) !important;
  height: min(12cm, calc(100dvh - 110px)) !important;
  min-width: min(12cm, calc(100vw - 16px)) !important;
  min-height: min(12cm, calc(100dvh - 110px)) !important;
  max-width: min(30cm, calc(100vw - 16px)) !important;
  max-height: min(30cm, calc(100dvh - 110px)) !important;
  overflow: hidden !important;
}
.game-screen .warehouse-unified .bag-window-body,
.game-screen .warehouse-unified .warehouse-content,
.game-screen .warehouse-unified .warehouse-main-layout,
.game-screen .warehouse-unified .warehouse-item-list {
  min-width: 0 !important;
  min-height: 0 !important;
}
.game-screen .warehouse-unified .warehouse-item-list {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.game-screen .warehouse-unified button {
  border: 1px solid #166534 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  background: #15803d !important;
}
.game-screen .warehouse-unified button:hover:not(:disabled) { background: #166534 !important; }
.game-screen .warehouse-unified button:disabled {
  opacity: .58 !important;
  cursor: not-allowed !important;
  filter: saturate(.55) !important;
}
.game-screen .warehouse-unified .warehouse-toolbar nav button.is-active {
  outline: 2px solid #86efac !important;
  background: #166534 !important;
}
.game-screen .warehouse-unified .warehouse-item-card,
.game-screen .warehouse-unified .warehouse-destination-items article {
  border: 1px solid #86efac !important;
  color: #111111 !important;
  font-weight: 700 !important;
  background: #dcfce7 !important;
}
.game-screen .warehouse-unified .warehouse-item-card :is(strong, small, em, span),
.game-screen .warehouse-unified .warehouse-destination-items article :is(strong, small, em, span) {
  color: #111111 !important;
}
.game-screen .warehouse-unified .warehouse-item-copy :is(strong, small, em) {
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
}
.game-screen .warehouse-unified > .managed-window-resizer {
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  border-right: 5px solid #15803d !important;
  border-bottom: 5px solid #15803d !important;
  touch-action: none !important;
}
@media (max-width: 600px) {
  .game-screen .bag-inventory.warehouse-unified {
    width: calc(100vw - 8px) !important;
    height: calc(100dvh - 96px) !important;
    min-width: calc(100vw - 8px) !important;
    min-height: min(12cm, calc(100dvh - 96px)) !important;
    max-width: calc(100vw - 8px) !important;
    max-height: calc(100dvh - 96px) !important;
  }
  .game-screen .warehouse-unified .warehouse-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
  }
}

/* 020-90 final cascade: mantém todas as ações do topo visíveis ou deslocáveis. */
.game-command-header{min-width:0!important;overflow:visible!important}
.game-command-header .game-status-row,.game-command-header .command-main-nav{min-width:0!important}
.game-command-header .command-main-nav{position:relative!important;display:flex!important;grid-template-columns:none!important;align-items:center!important;justify-content:flex-start!important;gap:2px!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:rgba(121,212,223,.9) rgba(5,25,41,.45);scroll-snap-type:x proximity;background-image:linear-gradient(90deg,transparent calc(100% - 20px),rgba(121,212,223,.25))!important}
.game-command-header .command-main-nav::-webkit-scrollbar{display:block!important;height:4px}.game-command-header .command-main-nav::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(121,212,223,.9)}
.game-command-header .command-main-nav .map-icon-button,.game-command-header .command-main-nav .map-icon-button.wide-map-icon,.game-command-header .command-main-nav .map-icon-button.gps-center-icon{position:relative!important;flex:1 0 44px!important;width:auto!important;min-width:44px!important;max-width:74px!important;min-height:42px!important;scroll-snap-align:start;overflow:visible!important;color:#f4fbff!important}
.game-command-header .command-main-nav .map-icon-glyph{color:#fff!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}.game-command-header .command-main-nav .social-unread-badge{top:1px!important;right:1px!important;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;font-size:.58rem;line-height:1;pointer-events:none}
.social-message-notice{position:fixed!important;top:max(82px,calc(env(safe-area-inset-top) + 70px))!important;right:16px!important;left:auto!important;z-index:705!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 100px)!important;overflow-y:auto!important;overflow-x:hidden!important}
@media(max-width:760px){.game-command-header{grid-template-columns:minmax(210px,2fr) minmax(128px,1fr)!important}.game-command-header .game-status-row{grid-template-columns:minmax(66px,76px) minmax(104px,1fr) 38px!important}.game-command-header .command-main-nav{grid-auto-flow:initial!important;grid-auto-columns:initial!important;padding-bottom:5px!important}.game-command-header .command-main-nav .map-icon-button,.game-command-header .command-main-nav .map-icon-button.wide-map-icon,.game-command-header .command-main-nav .map-icon-button.gps-center-icon{flex:0 0 48px!important;width:48px!important;min-width:48px!important;height:42px!important;min-height:42px!important;grid-template-rows:20px 10px!important}.game-command-header .command-main-nav small{display:block!important;max-width:46px;overflow:hidden;font-size:.39rem!important;line-height:1!important;text-overflow:ellipsis}.social-message-notice{top:max(68px,calc(env(safe-area-inset-top) + 62px))!important;right:6px!important;width:min(300px,calc(100vw - 12px))!important;max-width:calc(100vw - 12px)!important}}

@media(min-width:701px){.business-three-columns{display:flex}.business-offer{flex:1 1 0}.business-conversation{flex:1.25 1 0}.business-resizable-pane{max-width:100%;max-height:100%}}
.business-pane-resizer{width:24px;height:24px}
.business-player-row.is-selected{outline:3px solid #0f766e;background:#d8f5ee}.business-open-list{align-self:center;min-width:160px}
.social-avatar-stack{position:relative;display:grid!important;place-items:center;width:100%;height:100%;overflow:hidden;border-radius:50%}.social-avatar-stack>span{grid-area:1/1;font-weight:800}.social-avatar-stack>img{grid-area:1/1;position:relative;width:100%!important;height:100%!important;object-fit:cover}
.business-player-row strong{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;overflow-wrap:anywhere}
.business-final-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;flex:0 0 auto;padding:8px;background:#f8fafc;border-top:1px solid #9ebfc8}
.business-final-actions button{width:100%;min-width:0;min-height:44px;font-weight:800;white-space:normal}
.business-dialog-actions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;flex:0 0 auto;padding:8px;background:#f8fafc;border-top:1px solid #9ebfc8}
.business-dialog-actions button{width:100%;min-width:0;min-height:44px;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.business-dialog-waiting{display:grid;place-items:center;min-height:180px;padding:20px;text-align:center;font-weight:700}
.business-dialog-title{margin-left:auto;font-weight:800;white-space:normal;text-align:center}.business-conversation>header>button{margin-left:auto}
.business-cancel-action{color:#fff!important;background:#b42318!important;border-color:#7a271a!important}
.business-accept-action{color:#fff!important;background:#15803d!important;border-color:#166534!important}
@media(max-width:390px){.business-final-actions{grid-template-columns:1fr}}
.direct-donation-confirmation{position:fixed;z-index:2400;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:hidden;border:2px solid #e2b84d;border-radius:14px;background:#f8fafc;color:#172631;box-shadow:0 22px 70px rgba(0,0,0,.58)}
.direct-donation-confirmation>header{padding:14px 16px;background:#173e4c;color:#fff}.direct-donation-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px}.direct-donation-no-return{display:block;margin:10px 0;padding:9px;border-radius:8px;background:#fff1bf;color:#6a4700;text-align:center}.direct-donation-items{display:grid;gap:7px}.direct-donation-confirmation dl{display:grid;gap:6px}.direct-donation-confirmation dl div{display:flex;justify-content:space-between;gap:12px}.direct-donation-confirmation dd{margin:0;font-weight:800}.direct-donation-confirmation>footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-top:1px solid #bacbd1}.direct-donation-confirmation button{min-height:46px;white-space:normal}
@media(max-width:390px){.direct-donation-confirmation>footer{grid-template-columns:1fr}.direct-donation-confirmation{max-height:calc(100dvh - 16px)}}
.donation-receipt{display:flex;flex-direction:column;min-height:0;gap:10px}.donation-receipt>dl{display:grid;gap:6px;margin:0}.donation-receipt>dl div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px}.donation-receipt dd{margin:0;font-weight:800;overflow-wrap:anywhere}.donation-receipt-content{display:grid;gap:8px;max-height:min(48dvh,430px);overflow-y:auto;overflow-x:hidden;padding-right:4px}.donation-receipt-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:9px;padding:8px;border:1px solid #b7ccd3;border-radius:9px;background:#f7fbfc}.donation-receipt-item img,.donation-receipt-placeholder{display:grid;place-items:center;width:64px;height:58px;object-fit:contain}.donation-receipt-item>span:last-child{display:grid;min-width:0}.donation-receipt-item :is(strong,small){overflow-wrap:anywhere}.donation-receipt-coins{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;background:#fff2bd}.donation-receipt-coins img{width:48px;height:36px;object-fit:contain}.donation-receipt details{font-size:.78rem;color:#52656d}.donation-receipt details small{overflow-wrap:anywhere}

/* 020-70: um bloco único com quatro áreas e divisores coordenados. */
.business-box{--business-list-height:180px}
.business-box{box-sizing:border-box}
.business-box .business-three-columns.has-own.has-remote{width:100%;max-width:100%}
.business-fixed-top{flex:0 0 var(--business-list-height);height:var(--business-list-height);overflow:hidden}
.business-player-list{height:100%;max-height:100%;resize:none}
.business-horizontal-divider,.business-vertical-divider{z-index:8;flex:0 0 10px;background:#123c4e;touch-action:none;user-select:none}
.business-horizontal-divider{width:100%;height:10px;cursor:ns-resize;border-top:1px solid #78bdcc;border-bottom:1px solid #78bdcc}
.business-vertical-divider{width:10px;height:100%;cursor:ew-resize;border-left:1px solid #78bdcc;border-right:1px solid #78bdcc}
.business-horizontal-divider:focus-visible,.business-vertical-divider:focus-visible{outline:3px solid #70f087;outline-offset:-3px}
.business-pane-resizer{display:none!important}
@media(min-width:701px){
  .business-three-columns{display:grid!important;gap:0!important;overflow:hidden}
  .business-three-columns:not(.has-own){grid-template-columns:minmax(240px,1fr)}
  .business-three-columns.has-own:not(.has-remote){grid-template-columns:minmax(180px,var(--business-own-width,32%)) 10px minmax(240px,1fr)}
  .business-three-columns.has-own.has-remote{grid-template-columns:minmax(180px,min(var(--business-own-width,28%),34%)) 10px minmax(240px,1fr) 10px minmax(180px,min(var(--business-remote-width,28%),34%))}
  .business-resizable-pane{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}
}
@media(max-width:700px){
  .business-fixed-top{display:block;flex-basis:min(var(--business-list-height),32dvh);height:min(var(--business-list-height),32dvh);overflow:hidden}
  .business-three-columns{display:flex!important;flex-direction:column!important;gap:0!important;overflow-y:auto;overflow-x:hidden}
  .business-three-columns>*{order:initial!important}
  .business-vertical-divider{width:100%;height:10px;min-height:10px;cursor:ns-resize;border:0;border-top:1px solid #78bdcc;border-bottom:1px solid #78bdcc}
  .business-offer,.business-conversation{flex:0 0 min(390px,62dvh);min-height:280px;width:100%}
}

/* Ajuste visual: topo compacto, pesquisa retratil e negociacao sem faixa redundante. */
.business-box > header {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 4px 10px;
}
.business-box > header strong { line-height: 1.15; }
.business-box > header button { min-height: 32px; padding-block: 4px; }
.business-fixed-top {
  flex: 0 0 auto;
  height: auto;
  min-height: 0;
  padding: 6px 10px;
  overflow: hidden;
}
.business-fixed-top.is-compact { max-height: 62px; }
.business-fixed-top.is-expanded { max-height: min(240px, 34dvh); }
.business-player-list {
  width: min(620px, 100%);
  height: auto;
  min-height: 0;
  max-height: min(228px, 32dvh);
}
.business-player-list form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
}
.business-player-list.is-search-collapsed .business-player-scroll { display: none; }
.business-player-list.is-search-expanded { height: min(228px, 32dvh); }
.business-player-list.is-search-expanded .business-player-scroll { min-height: 0; }

/* 020-88: a pesquisa e o Diálogo são janelas independentes. */
.game-screen .business-player-search-window {
  position: fixed;
  z-index: 2100;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  width: min(460px, calc(100vw - 32px));
  height: min(520px, calc(100dvh - 96px));
  min-width: min(320px, calc(100vw - 32px));
  min-height: 280px;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 80px);
  overflow: hidden;
  resize: none;
  border: 1px solid #79b9ca;
  border-radius: 12px;
  background: #f8fafc;
  color: #13202b;
  box-shadow: 0 18px 48px rgba(0,0,0,.38);
}
.game-screen .business-player-search-window > header {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 8px 10px;
  cursor: move;
  touch-action: none;
}
.game-screen .business-player-search-window > form { padding: 8px 10px; }
.game-screen .business-player-search-window .business-player-scroll {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
.game-screen .business-player-search-window > .managed-window-resizer {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 28px;
  height: 28px;
  border-right: 4px solid #28798c;
  border-bottom: 4px solid #28798c;
  cursor: nwse-resize;
  touch-action: none;
}
@media(max-width:700px) {
  .game-screen .business-player-search-window {
    left: 8px !important;
    top: 72px !important;
    width: calc(100vw - 16px) !important;
    height: min(520px, calc(100dvh - 80px)) !important;
    min-width: 0;
    max-width: calc(100vw - 16px);
    max-height: calc(100dvh - 80px);
  }
}
.business-box.is-negotiation-active .business-three-columns {
  flex: 1 1 auto;
  height: auto;
  padding-top: 6px;
}
.business-box.is-negotiation-active .business-conversation { min-height: 0; }
.business-box.is-negotiation-active .business-message-scroll { min-height: 0; }
.business-box.is-negotiation-active .business-final-actions { flex: 0 0 auto; }

@media(max-width:700px){
  .business-fixed-top.is-compact,
  .business-fixed-top.is-expanded { height:auto; flex-basis:auto; max-height:min(240px,34dvh); overflow:hidden; }
  .business-player-list { height:auto; min-height:0; max-height:min(228px,32dvh); }
  .business-player-list.is-search-expanded { height:min(228px,32dvh); }
  .business-player-list form { grid-template-columns:minmax(0,1fr) auto; }
  .business-player-list form .ghost-button { grid-column:1 / -1; min-height:32px; }
  .business-box.is-negotiation-active .business-three-columns { flex:1 1 auto; }
  .business-box.is-negotiation-active .business-three-columns {
    overflow-y: hidden;
  }
  .business-box.is-negotiation-active .business-offer {
    flex: 1 1 0;
    min-height: 110px;
  }
  .business-box.is-negotiation-active .business-conversation {
    flex: 2 1 260px;
    min-height: 250px;
  }
}

/* 021-003 V2 final cascade: interior responsivo, limitado exclusivamente ao Armazem. */
.game-screen .warehouse-unified,
.game-screen .warehouse-unified .warehouse-header,
.game-screen .warehouse-unified .bag-window-body,
.game-screen .warehouse-unified .warehouse-content,
.game-screen .warehouse-unified .warehouse-toolbar,
.game-screen .warehouse-unified .warehouse-toolbar > label,
.game-screen .warehouse-unified .warehouse-toolbar > nav,
.game-screen .warehouse-unified .warehouse-main-layout,
.game-screen .warehouse-unified .warehouse-item-list,
.game-screen .warehouse-unified .warehouse-item-card,
.game-screen .warehouse-unified .warehouse-item-inspect,
.game-screen .warehouse-unified .warehouse-operation-destination,
.game-screen .warehouse-unified .warehouse-destination-items,
.game-screen .warehouse-unified .warehouse-destination-items article {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.game-screen .warehouse-unified .warehouse-header {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  overflow: hidden;
}
.game-screen .warehouse-unified .warehouse-header-title {
  display: flex !important;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  white-space: nowrap;
}
.game-screen .warehouse-unified .warehouse-header-title :is(strong, span) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.game-screen .warehouse-unified .warehouse-header-actions {
  display: flex !important;
  flex: 0 0 auto;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  margin-left: auto;
}
.game-screen .warehouse-unified .warehouse-header-actions button {
  flex: 0 0 auto;
  min-width: 0;
  white-space: nowrap;
}
.game-screen .warehouse-unified .warehouse-content {
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}
.game-screen .warehouse-unified .warehouse-toolbar {
  grid-template-rows: auto auto;
  overflow: hidden;
}
.game-screen .warehouse-unified .warehouse-toolbar > nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
}
.game-screen .warehouse-unified .warehouse-toolbar > nav button {
  flex: 0 0 auto;
  min-width: 0;
  white-space: nowrap;
}
.game-screen .warehouse-unified .warehouse-main-layout { overflow: hidden; }
.game-screen .warehouse-unified .warehouse-item-list {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.game-screen .warehouse-unified .warehouse-item-card,
.game-screen .warehouse-unified .warehouse-item-inspect { align-self: stretch; }

/* 021-006: a grelha de itens acompanha a largura real do Armazem. */
.game-screen .warehouse-unified .warehouse-main-layout,
.game-screen .warehouse-unified .warehouse-item-list,
.game-screen .warehouse-unified .warehouse-item-card,
.game-screen .warehouse-unified .warehouse-item-inspect,
.game-screen .warehouse-unified .warehouse-item-copy {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.game-screen .warehouse-unified .warehouse-content[data-mode="consult"] .warehouse-main-layout,
.game-screen .warehouse-unified .warehouse-content[data-mode="negotiation"] .warehouse-main-layout {
  grid-template-columns: minmax(0, 1fr);
}

.game-screen .warehouse-unified .warehouse-item-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  align-content: start;
  gap: 10px;
  overflow-y: auto;
  overflow-x: hidden;
}

.game-screen .warehouse-unified .warehouse-item-inspect {
  grid-template-columns: 72px minmax(0, 1fr) auto;
}

.game-screen .warehouse-unified .warehouse-item-image {
  width: 68px;
  height: 68px;
}

.game-screen .warehouse-unified .warehouse-item-copy strong {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.game-screen .warehouse-unified .warehouse-item-copy small {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.game-screen .warehouse-unified .warehouse-item-copy em {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

@media (max-width: 600px) {
  .game-screen .warehouse-unified .warehouse-item-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .game-screen .warehouse-unified .warehouse-item-inspect {
    grid-template-columns: 56px minmax(0, 1fr) auto;
  }

  .game-screen .warehouse-unified .warehouse-item-image {
    width: 52px;
    height: 52px;
  }
}
